(57)【特許請求の範囲】
【請求項１】
複数のアクティブネットワークノードの各々が、少なくとも１つの内容オントロジーインスタンスツリー及び少なくとも１つの問合せオントロジーインスタンスツリーを含み、前記複数のアクティブネットワークノードの間に情報ルートを作成する方法において、
ａ）  前記複数のアクティブネットワークノードのうちの１つにおいて、一時的に残留する常駐内容データを含む情報内容パケットを受信するステップと、
ｂ）  前記複数のアクティブネットワークノードのうちの１つにおいて、前記少なくとも１つの内容オントロジーインスタンスツリーを、前記情報内容パケットからの常駐内容データで更新するステップと、
ｃ）  前記少なくとも１つの問合せオントロジーインスタンスツリーを検索し、前記情報内容パケットの次のホップを決定するステップと、
ｄ）  前記複数のアクティブネットワークノードのうちの１つにおいて、一時的に残留する常駐問合せデータを含む情報問合せパケットを受信するステップと、
ｅ）  前記複数のアクティブネットワークノードのうちの１つにおいて、前記少なくとも１つの問合せオントロジーインスタンスツリーを、前記情報問合せパケットからの常駐問合せデータで更新するステップと、
ｆ）  前記少なくとも１つの内容オントロジーインスタンスツリーを検索し、前記情報問合せパケットの次のホップを決定するステップと、
からなることを特徴とする情報ルート作成方法。
【請求項２】
前記ステップ（ｂ）は、前記内容オントロジーインスタンスツリー内のノードに対して、葉ノードの信頼度を基準とし、葉ノードからのボトムアップにより信頼度を割り当てるステップを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記ステップ（ｂ）は、ノードの信頼度に基づいて、内容オントロジーインスタンスツリーの枝を枝刈りするステップを更に含むことを特徴とする請求項２記載の方法。
【請求項４】
枝刈りされた内容オントロジーインスタンスツリーは、１つのアクティブネットワークノードから当該アクティブネットワークにルーティングツリー上でリンクされたアクティブネットワークノードへ送られることを特徴とする請求項３記載の方法。
【請求項５】
前記少なくとも１つの問合せオントロジーインスタンスツリーにおける前記情報内容パケットの検索の結果が次のホップを決定することを特徴とする請求項２記載の方法。
【請求項６】
前記ステップ（ｅ）は、前記問合せオントロジーインスタンスツリー内のノードに対して、葉ノードの信頼度を基準とし、葉ノードからのボトムアップにより信頼度を割り当てるステップを含むことを特徴とする請求項１記載の方法。
【請求項７】
前記ステップ（ｅ）は、ノードの信頼度に基づいて、問合せオントロジーインスタンスツリーの枝を枝刈りするステップを更に含むことを特徴とする請求項６記載の方法。
【請求項８】
枝刈りされた問合せオントロジーインスタンスツリーは、１つのアクティブネットワークノードから当該アクティブネットワークにルーティングツリー上でリンクされたアクティブネットワークノードへ送られることを特徴とする請求項７記載の方法。
【請求項９】
前記少なくとも１つの内容オントロジーインスタンスツリーにおける前記情報問合せパケットの検索の結果が次のホップを決定することを特徴とする請求項６記載の方法。
【請求項１０】
更に、
前記情報内容パケットと別の情報内容パケットとの間でリソースクレジット配分を決定するステップを含むことを特徴とする請求項１記載の方法。
【請求項１１】
更に、
前記情報問合せパケットと別の情報問合せパケットとの間でリソースクレジット配分を決定するステップを含むことを特徴とする請求項１記載の方法。
【請求項１２】
前記情報内容パケットによって置かれる常駐内容データは、破棄されるまで所定期間とどまることを特徴とする請求項１記載の方法。
【請求項１３】
前記情報問合せパケットによって置かれる常駐問合せデータは、破棄されるまで所定期間とどまることを特徴とする請求項１記載の方法。
【請求項１４】
前記情報問合せパケットのリソースクレジット配分は、アクティブネットワークノードを通ると増減することを特徴とする請求項１記載の方法。
【請求項１５】
前記情報内容パケットのリソースクレジット配分は、アクティブネットワークノードを通ると増減することを特徴とする請求項１記載の方法。
【請求項１６】
複数の情報問合せパケットが新しい単一の情報問合せパケットに結合し、すべてのリソースクレジット配分が該新しい単一の情報問合せパケットに結合することを特徴とする請求項２５記載の方法。
【請求項１７】
複数の情報内容パケットが新しい単一の情報内容パケットに結合し、すべてのリソースクレジット配分が該新しい単一の情報内容パケットに結合することを特徴とする請求項１４記載の方法。
【請求項１８】
前記情報内容パケットは、前記少なくとも１つの内容オントロジーインスタンスツリーを変更するプリロードされた関数を呼び出し、各アクティブネットワークノードにおいて前記少なくとも１つの問合せオントロジーインスタンスツリーを検索することを特徴とする請求項１記載の方法。
【請求項１９】
前記情報問合せパケットは、前記少なくとも１つの問合せオントロジーインスタンスツリーを変更するプリロードされた関数を呼び出し、各アクティブネットワークノードにおいて前記少なくとも１つの内容オントロジーインスタンスツリーを検索することを特徴とする請求項１記載の方法。
【請求項２０】
複数のアクティブネットワークノードの各々が、少なくとも１つの内容オントロジーインスタンスツリー及び少なくとも１つの問合せオントロジーインスタンスツリーを含み、前記複数のアクティブネットワークノードの間に情報ルートを作成するためのコンピュータシステムにおいて、
プロセッサと、
ソフトウェア命令を含むメモリと、を有し、
前記ソフトウェア命令は、コンピュータが、
前記複数のアクティブネットワークノードのうちの１つにおいて、一時的に残留する常駐内容データを含む情報内容パケットを受信すること、
前記複数のアクティブネットワークノードのうちの１つにおいて、前記少なくとも１つの内容オントロジーインスタンスツリーを、前記情報内容パケットからの常駐内容データで更新すること、
前記少なくとも１つの問合せオントロジーインスタンスツリーを検索し、前記情報内容パケットの次のホップを決定すること、
前記複数のアクティブネットワークノードのうちの１つにおいて、一時的に残留する常駐問合せデータを含む情報問合せパケットを受信すること、
前記複数のアクティブネットワークノードのうちの１つにおいて、前記少なくとも１つの問合せオントロジーインスタンスツリーを、前記情報問合せパケットからの常駐問合せデータで更新すること、
前記少なくとも１つの内容オントロジーインスタンスツリーを検索し、前記情報問合せパケットの次のホップを決定すること、
を実行することを可能にすることを特徴とするコンピュータシステム。
【請求項２１】
コンピュータが複数のアクティブネットワークノードの間に情報ルートを作成することを可能にするコンピュータプログラムを格納した記録媒体において、
各アクティブネットワークノードは、少なくとも１つの内容オントロジーインスタンスツリー及び少なくとも１つの問合せオントロジーインスタンスツリーを含み、
前記コンピュータプログラムは、
前記複数のアクティブネットワークノードのうちの１つにおいて、一時的に残留する常駐内容データを含む情報内容パケットを受信するステップと、
前記複数のアクティブネットワークノードのうちの１つにおいて、前記少なくとも１つの内容オントロジーインスタンスツリーを、前記情報内容パケットからの常駐内容データで更新するステップと、
前記少なくとも１つの問合せオントロジーインスタンスツリーを検索し、前記情報内容パケットの次のホップを決定するステップと、
前記複数のアクティブネットワークノードのうちの１つにおいて、一時的に残留する常駐問合せデータを含む情報問合せパケットを受信するステップと、
前記複数のアクティブネットワークノードのうちの１つにおいて、前記少なくとも１つの問合せオントロジーインスタンスツリーを、前記情報問合せパケットからの常駐問合せデータで更新するステップと、
前記少なくとも１つの内容オントロジーインスタンスツリーを検索し、前記情報問合せパケットの次のホップを決定するステップとを含むことを特徴とするコンピュータプログラムを格納した記録媒体。
【請求項２２】
それぞれが複数の格納情報を有する複数の情報プロバイダノードと、
複数の情報リクエスタノードと、
複数のアクティブネットワークノードとを有する、情報検索のためのノードのネットワークにおいて、
各アクティブネットワークノードは、前記複数の情報プロバイダノードのサブセット、前記複数の情報リクエスタノードのサブセット及び前記複数のアクティブネットワークノードのサブセットに接続され、
各アクティブネットワークノードは、少なくとも１つの内容オントロジーインスタンスツリー及び少なくとも１つの問合せオントロジーインスタンスツリーを有し、各内容オントロジーインスタンスツリーは、情報内容パケットからの内容データを含み、各問合せオントロジーインスタンスツリーは、情報問合せパケットからの問合せデータを含み、
各アクティブネットワークノードは、前記情報問合せパケット及び前記情報内容パケット内に埋め込まれたコマンドを処理するアクティブノードサービスパッケージを有することを特徴とするネットワーク。
【請求項２３】
前記ネットワークは、物理ネットワークを通じて相互接続された複数のコンピュータを有することを特徴とする請求項２２記載のネットワーク。
【請求項２４】
前記ネットワークは、仮想ネットワークを通じて相互接続された複数のコンピュータを有することを特徴とする請求項２２記載のネットワーク。
【請求項２５】
前記ネットワークはイントラネットを含むことを特徴とする請求項２２記載のネットワーク。
【請求項２６】
前記ネットワークは、インターネットを通じて相互接続された複数のコンピュータを有することを特徴とする請求項２２記載のネットワーク。
【請求項２７】
前記複数のアクティブネットワークノードの間でのルーティングを制御するルーティングツリーをさらに有することを特徴とする請求項２２記載のネットワーク。
【請求項２８】
前記ルーティングツリーは、前記複数のアクティブネットワークノードの間のループを含まないことを特徴とする請求項２７記載のネットワーク。
【請求項２９】
前記アクティブノードサービスパッケージは、各アクティブネットワークノードにおいて呼出し可能なプリロードされた関数を含むことを特徴とする請求項２２記載のネットワーク。
【請求項３０】
前記呼出し可能なプリロードされた関数は、各アクティブネットワークノードにおいて前記少なくとも１つの内容オントロジーインスタンスツリー及び前記少なくとも１つの問合せオントロジーインスタンスツリーに作用することを特徴とする請求項２９記載のネットワーク。
【請求項３１】
前記呼出し可能なプリロードされた関数は、各アクティブネットワークノードにおいて前記少なくとも１つの内容オントロジーインスタンスツリー及び前記少なくとも１つの問合せオントロジーインスタンスツリーの検索及び変更をサポートすることを特徴とする請求項２９記載のネットワーク。
【請求項３２】
各アクティブネットワークノードにおける前記少なくとも１つの内容オントロジーインスタンスツリーは、前記情報内容パケットの出所への経路を示すルーティング情報を含むことを特徴とする請求項２２記載のネットワーク。
【請求項３３】
各アクティブネットワークノードにおける前記少なくとも１つの内容オントロジーインスタンスツリーの枝は、該枝の内容に基づいて該内容オントロジーインスタンスツリーのノードに割り当てられた信頼度を有することを特徴とする請求項３２記載のネットワーク。
【請求項３４】
各アクティブネットワークノードは、前記内容オントロジーインスタンスツリーのノードの信頼度に基づいて、内容オントロジーインスタンスツリーの枝を枝刈りすることを特徴とする請求項３３記載のネットワーク。
【請求項３５】
枝刈りされた内容オントロジーインスタンスツリーは、１つのアクティブネットワークノードから当該アクティブネットワークにルーティングツリー上でリンクされたアクティブネットワークノードへ送られることを特徴とする請求項３４記載のネットワーク。
【請求項３６】
各アクティブネットワークノードにおける前記少なくとも１つの問合せオントロジーインスタンスツリーは、前記情報問合せパケットの出所への経路を示すルーティング情報を含むことを特徴とする請求項２２記載のネットワーク。
【請求項３７】
各アクティブネットワークノードにおける前記少なくとも１つの問合せオントロジーインスタンスツリーの枝は、該枝の内容に基づいて該問合せオントロジーインスタンスツリーのノードに割り当てられた信頼度を有することを特徴とする請求項３６記載のネットワーク。
【請求項３８】
各アクティブネットワークノードは、前記問合せオントロジーインスタンスツリーのノードの信頼度に基づいて、問合せオントロジーインスタンスツリーの枝を枝刈りすることを特徴とする請求項３７記載のネットワーク。
【請求項３９】
枝刈りされた問合せオントロジーインスタンスツリーは、１つのアクティブネットワークノードから当該アクティブネットワークにルーティングツリー上でリンクされたアクティブネットワークノードへ送られることを特徴とする請求項３８記載のネットワーク。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報の検索に係り、特に、コンピュータシステム内あるいは複数の相互接続されたコンピュータ内に含まれる情報を検索するためのアーキテクチャに関する。本発明は、複数の相互接続されたコンピュータ内に含まれる情報を検索するためのネットワークアーキテクチャ、システム、方法及びコンピュータプログラム製品として実現される。
【０００２】
【従来の技術】
ネットワーク接続されたコンピュータの使用の急速な増大とともに、アクセス可能な情報の量も絶え間なく増え続けている。しかし、このような情報爆発により、ユーザは、探しているものを見つけることが非常に困難になっている。特に、現在のウェブには、情報検索プロセスを長く、柔軟性が無く、人間に依存したものにする次のようないくつかの基本的な問題点が存在する。
【０００３】
１）ネットワークの端（エッジ）にあるコンピュータのみが、コンテンツ（内容）記憶及びユーザ対話に関与している。情報検索パス（従って遅延）は通常長い（例えば、ユーザは、関心のあるサイトに到達するまでにいくつかのリモート検索エンジンを通らなければならないことがある）。
【０００４】
２）ドキュメントは一般に意味論的（セマンティック）構造を有していないため、情報検索プロセスを自動化することが困難である。ユーザは、検索結果（その多くは無関係である）を手動で取捨選択しなければならない。
【０００５】
３）検索エンジン及びポータルサイトの商業的な動作モデルは、競合者間のオープンな標準的インタフェースを欠いている。このことは、ユーザがカスタム化された検索（例えば、カテゴリ関連フィールドに対して特殊な条件を課した、特定のカテゴリを目標とする検索）を指定することが実質的に不可能であることを意味する。
【０００６】
４）検索エンジンの「這い回る（ｃｒａｗｌｉｎｇ）」動作モデルの場合、単一のエンジンのカバレジ（到達範囲）は非常に制限される。文献には、ウェブ上で利用可能なデータの３０％以下しか検索エンジンによってアクセスされていないことが報告されている。さらに、このようなエンジンが、情報更新に応じることは、不可能ではなくても、極端に時間がかかるため、検索エンジンのインデックスにおける古いリンクの割合が増大する。
【０００７】
図１は、現在の検索動作モデルを示す模式図である。例として、現在の検索動作モデルは、インターネットをパケットルーティングブラックボックスとして扱い、ほとんどの情報をネットワークの外に置くとする。クライアントは、情報項目をＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｉｏｎ）の形式で明示的に要求する。
【０００８】
図１に示すように、複数のクライアントステーションが、ルータ（図示せず）を介してウェブを通じてさまざまなサーバにリンクされる。サーバは、クライアントステーションによって要求される情報を含む。しかし、検索エンジンは、通常、クライアントステーションがサーバ上に含まれる情報を発見することを要求する。
【０００９】
ＡｌｔａＶｉｓｔａ（Ｒ）、Ｙａｈｏｏ！（Ｒ）、及びＩｎｆｏｓｅｅｋ（Ｒ）のような検索エンジン及びポータルは、ウェブ上の情報を見つける主な手段として使用される。これらの検索エンジンは、内容プロバイダの網羅的探索によって構築されたインデックス化データベースとして作用する。このような動作モデルは、インターネットが現在の状態に到達するのに寄与したが、情報を発見するのには不十分であることが分かっている。上記のように、さらに好ましい検索動作モデルは、情報ルーティングに必要な構造及び機構を有していなければならない。
【００１０】
図２において、従来のルーティングテーブルは、比較的安定で管理可能な到達可能性情報に基づいて構築されている。データパケット１０は、ネットワークを通ると、各ルータでルーティングテーブルを参照する。パケットが第１のルータ１１に到達すると、このルータは、パケットヘッダを読み、適当なリンクを調べるためにそのルーティングテーブル１６を参照する。このプロセスは、第２のルータ１３でも繰り返される。データパケット１０は、宛先以外の情報を備えていないため、ルータノードは、データパケットを所望の宛先へルーティングすること以外の動作はしない。
【００１１】
一般に、検索エンジンは、インターネットに接続されたサーバ上に存在するドキュメントあるいはページへのリンクを含む大規模なデータベースを構築することによって動作する。特定のページあるいはドキュメントに到達するには、特定の開始点からリンクをたどらなければならない。特定のページあるいはドキュメントへのパスは、そのパス内のリンクが無効であるか、あるいは削除されている場合には、失われる。到達可能な情報のテーブルを各ノードに構築することは、スペース（空間）的にのみならず、時間的にも不可能である。このようなテーブルが構築されるときまでに、情報は既に古くなっている可能性がある。
【００１２】
情報プロバイダが情報をインターネットに送り込みたい場合、検索エンジンがその情報に戻ることができるように、その情報のロケーションを検索エンジンに登録しなければならない。しかし、検索エンジンは、インターネットの大きさのためにその特定の情報を見落とすことがあり、あるいは、検索エンジンは、何らかの理由で、そのデータベースに情報を登録することを拒否することもある。
【００１３】
【発明が解決しようとする課題】
より有効で効率的な情報発見方式を利用した、さらにフレキシブルな検索動作モデルが必要とされる。理想的には、新しい検索動作モデルは、次のように動作するものである。
【００１４】
・ユーザは、さまざまなレベルの複雑さで、できれば領域ごとの詳細さで、関心領域をシステムに対して指定する。
【００１５】
・このような指定は、関連する情報ロケーションに自動的に送られる。
【００１６】
・検索された情報は、比較、組合せあるいはその他のさらに複雑な意思決定法のようなユーザが提供する操作によって、処理されることも可能である。
【００１７】
・最後に、結果は、表示のためにユーザに返される。
【００１８】
この理想モデルの本質は、「情報ルーティング」と呼ばれる概念である。簡単にいえば、「情報ルーティング」は、情報発見機構を有する従来のネットワークルーティング機能に対する拡張である。従って、「情報ルーティング」が可能なネットワークは、特定の宛先アドレスを有するパケットのみならず、関心領域の指定を含むだけのパケットもルーティングすることができる。
【００１９】
【課題を解決するための手段】
本発明は、上記の状況に鑑みてなされたものであり、従来技術の上記の課題及び制限を克服する目的を有するとともに、さらに、複数の相互接続されたコンピュータ及びそこに格納されたファイルを検索し、検索要求に合わせて作成された検索応答を提供することができるようにするという目的を有する。
【００２０】
本発明のその他の目的及び効果は、一部は以下の発明の詳細な説明に記載されており、一部は発明の詳細な説明の記載から明らかであるか、あるいは、本発明の実施によって知られる。本発明の目的及び効果は、特許請求の範囲に記載された構成によって実現される。
【００２３】
本発明の目的は、複数のアクティブネットワークノードにおいて情報ルートを作成する方法を提供することである。各アクティブノードは、内容オントロジーインスタンスツリー及び問合せオントロジーインスタンスツリーを含む。この方法は、アクティブネットワークノードにおいて情報内容パケットを受信するステップを有する。情報内容パケットは、残留内容データを含む。この方法は、さらに、アクティブネットワークノードの内容オントロジーインスタンスツリーを、情報内容パケットからの残留データで更新するステップと、情報内容パケットの次のホップを決定するために問合せオントロジーインスタンスツリーを検索するステップとを有する。
【００２４】
この方法は、さらに、アクティブネットワークノードにおいて情報問合せパケットを受信するステップを有する。情報問合せパケットは、残留問合せデータを含む。この方法は、さらに、アクティブネットワークノードの問合せオントロジーインスタンスツリーを、情報問合せパケットからの問合せデータで更新するステップを有する。この方法は、さらに、情報問合せパケットの次のホップを決定するために内容オントロジーインスタンスツリーを検索するステップを有する。
【００２５】
上記の目的は、さらに、アクティブネットワークノード間に情報ルートを作成するためのコンピュータシステムによって実現される。各アクティブネットワークノードは、内容オントロジーインスタンスツリー及び問合せオントロジーインスタンスツリーを含む。このコンピュータシステムは、さらに、プロセッサと、このコンピュータシステムがいくつかの特定のステップを実行することを可能にするためのソフトウェア命令を含むメモリとを有する。
【００２６】
これらのステップは、アクティブネットワークノードにおいて情報内容パケットを受信するステップを含む。情報内容パケットは、残留内容データを含む。これらのステップは、さらに、アクティブネットワークノードの内容オントロジーインスタンスツリーを、情報内容パケットからの残留データで更新するステップと、情報内容パケットの次のホップを決定するために問合せオントロジーインスタンスツリーを検索するステップとを含む。
【００２７】
これらのステップは、さらに、アクティブネットワークノードにおいて情報問合せパケットを受信するステップを含む。情報問合せパケットは、残留問合せデータを含む。これらのステップは、さらに、アクティブネットワークノードの問合せオントロジーインスタンスツリーを、情報問合せパケットからの問合せデータで更新するステップを含む。これらのステップは、さらに、情報問合せパケットの次のホップを決定するために内容オントロジーインスタンスツリーを検索するステップを含む。
【００２８】
上記の目的は、さらに、コンピュータがアクティブネットワークノード間に情報ルートを作成することを可能にするコンピュータプログラム製品によって実現される。各アクティブネットワークノードは、内容オントロジーインスタンスツリー及び問合せオントロジーインスタンスツリーを含む。このコンピュータプログラム製品は、さらに、コンピュータが所定の動作を実行することを可能にするソフトウェア命令を含む。このソフトウェア命令は、コンピュータで読み取り可能な媒体に含まれる。
【００２９】
所定の動作は、アクティブネットワークノードにおいて情報内容パケットを受信するステップを含む。情報内容パケットは、残留内容データを含む。所定の動作は、さらに、アクティブネットワークノードの内容オントロジーインスタンスツリーを、情報内容パケットからの残留データで更新するステップと、情報内容パケットの次のホップを決定するために問合せオントロジーインスタンスツリーを検索するステップとを含む。
【００３０】
所定の動作は、さらに、アクティブネットワークノードにおいて情報問合せパケットを受信するステップを含む。情報問合せパケットは、残留問合せデータを含む。所定の動作は、さらに、アクティブネットワークノードの問合せオントロジーインスタンスツリーを、情報問合せパケットからの問合せデータで更新するステップを含む。所定の動作は、さらに、情報問合せパケットの次のホップを決定するために内容オントロジーインスタンスツリーを検索するステップを含む。
【００３１】
本発明のさらにもう１つの目的は、情報検索のためのノードのネットワークを提供することである。このネットワークは、複数の情報プロバイダノードを有する。各情報プロバイダノードは、複数の格納情報を有する。このネットワークは、さらに、複数の情報リクエスタノードを有する。このネットワークは、さらに、アクティブネットワークノードを有する。各アクティブネットワークノードは、情報プロバイダノードのサブセット、情報リクエスタノードのサブセット、及びアクティブネットワークノードのサブセットに接続される。このネットワークは、さらに、オントロジーインスタンスツリーを有する。各アクティブネットワークノードは、内容オントロジーインスタンスツリー及び問合せオントロジーインスタンスツリーを有する。各内容オントロジーインスタンスツリーは、情報内容パケットからの内容データを含み、各問合せオントロジーインスタンスツリーは、情報問合せパケットからの問合せデータを含む。
【００３２】
このネットワークは、さらに、各アクティブネットワークノードに、情報問合せパケット及び情報内容パケット内に埋め込まれたコマンドを処理するアクティブノードサービスパッケージを有する。
【００３３】
【発明の実施の形態】
以下、添付の図面を参照して、本発明の好ましい実施例の詳細な説明を行う。
【００３４】
情報ルーティングと、ＩＰルーティングのような従来のルーティングとの間の根本的な相違点の１つは、それぞれのルーティング方式で要求される情報のタイプ及び量である。本発明における情報ルーティングは、非常に大きな動的で揮発性のデータセットを扱わなければならない。本発明は、ネットワーキング環境における情報発見を意図しており、ネットワークトポロジーはしばしば任意に複雑である。到達可能な情報のテーブルを各ノードに構築することは、スペース（空間）的にのみならず、時間的にも不可能である。このようなテーブルが構築されるときまでに、情報は既に古くなっている可能性がある。
【００３５】
本発明は、意味論的構造化のためにオントロジーに基づく情報階層を使用するとともに、情報ルーティングのためにアクティブネットワークアーキテクチャを使用する。情報プロバイダ及び情報リクエスタはいずれも、それらの対応するメッセージをシステム内に注入することによって、本発明の動作に関与する。情報プロバイダは、適当に構造化された方法で自己の情報を広告し、情報リクエスタは、検索基準を指定し、おそらくは、自己の検索プログラムを提供する。こうして、システムは、関心領域指定及びリソース制限に基づく情報のフィルタリング（選別）及びバインディング（結合）のための場所として作用する。本発明の１つの特徴は、情報プロバイダと情報リクエスタの対称的な挙動である。すなわち、プロバイダ及びコンシューマ（消費者）のいずれのメッセージも、他方のタイプのメッセージによってシステムに残された痕跡（トレース）に基づいてルーティングされる。
【００３６】
本発明において、情報ルーティングは、ネットワークノードのアクティブな関与と、情報のプロバイダ及びリクエスタの両方が従う適切に編成された意味論的構造とに基づく。具体的には、アクティブネットワークアーキテクチャと、オントロジーに基づく情報階層は、それぞれ、本発明のためのネットワーク及び意味論的フレームワークとして使用される。
【００３７】
次に、アクティブネットワークについてさらに詳細に説明する。アクティブネットワークアーキテクチャとは、従来のパケットネットワークに比べて、その「アクティブネス（ａｃｔｉｖｅｎｅｓｓ）」がネットワークノード内の高度な「インテリジェンス（ｉｎｔｅｌｌｉｇｅｎｃｅ）」に反映されるようなネットワークパラダイムである。このネットワークノードは、従来のＩＰの場合のようなパケット転送を行うのみならず、到着するアクティブパケットによって呼び出されるプログラムを実行することも可能である。このプログラムは、ノードにプリロードされるか、または、パケット内を運ばれる。この機能は、新しいプロトコルの配備や、ネットワークとのアプリケーション固有の相互作用において、非常に高いフレキシビリティを与える。しかし、このようなフレキシビリティは、ネットワーク設計において、セキュリティ及びリソースの問題を注意深く考慮することを要求する。
【００３８】
近年、いくつかのアクティブネットワークパッケージが開発され、文献で詳細に議論されている。アクティブネットワークは、プログラム可能なネットワークインフラストラクチャを用いることによりＩＰレベルでフレキシビリティを高めるアプローチである。ＩＰヘッダのビットに注力する代わりに、より一般的なプログラミング言語が進化することにより、ネットワーク技術がより急速に進歩している。実際の進歩は、プログラミング言語レベルではなく、プログラムレベルで起こる。一般に、アクティブネットワークパッケージは、プログラミング言語と、ノード常駐のサービスとからなる。ノード常駐サービスは、汎用言語から構築することが可能である。アクティブネットワークノードを通る各パケットは、ＩＰヘッダ及びペイロードを有していない。その代わりに、これらの項目は、ノード常駐サービスを利用するプログラムで置換されている。ノード常駐サービスの使用は、より複雑なネットワーク機能を互いに結び付ける。このようなパッケージのほとんどは、アクティブノードへのオンザフライコードローディングと、アクティブパケットによる動的呼出しが可能である。
【００３９】
本発明の好ましい実施例では、Ｐｅｎｎｓｙｌｖａｎｉａ大学によって開発されたＰＬＡＮ（Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ  ｆｏｒ  Ａｃｔｉｖｅ  Ｎｅｔｗｏｒｋｓ）パッケージを、その全体的な効率性と相対的な完全性の理由で用いる。このパッケージは、アクティブノード上で配備され呼び出されるリモート評価プリミティブ及びサービス関数を有する単純なＭＬライクな関数型言語からなる。
【００４０】
ＰＬＡＮプログラムをパケットにバンドルすると、アクティブＰＬＡＮパケットが作成される。これは、ネットワークに注入され、アクティブネットワークノードで評価される。その評価の結果として、新しいアクティブＰＬＡＮパケットが作成され、転送され、ネットワーク内の他のノードで評価されることが可能である。重要なＰＬＡＮプリミティブにＯｎＲｅｍｏｔｅ（Ｅ，Ｈ，Ｒｂ，  Ｒｔ）がある。これは、プログラムＥをノードＨ上で、リソース限界をＲｂとし、ルーティングファンクションをＲｔとして、評価するために使用される。このプリミティブは、ネットワーク内のアクティブノード上のプログラムを読み出すための一般的方法を与える。
【００４１】
ＰＬＡＮでは、セキュリティの実施は、信頼されたコード及び制限された呼出しインタフェースにより行われる。アクティブＰＬＡＮパケットのリソース消費は、主に、ホップカウントにより制御される。ネットワークに注入された後、各アクティブＰＬＡＮパケットには、それが移動することができる最大ホップ数に対応するカウントが割り当てられる。アクティブＰＬＡＮパケットは、このカウントが０に等しくなっても目的とする宛先に到達していないとき、捨てられることになる。さらに、全体のネットワークリソース消費を制御するために、アプリケーションごとのリソース限界が設定される。
【００４２】
ＰＬＡＮのもう１つの重要な特徴は、アクティブＰＬＡＮパケットが一時的に「常駐データ」を残すための「ソフトストア」をアクティブノードに設けることが可能であることである。これは、アクティブＰＬＡＮパケットが互いに相互作用して、ネットワーク内での有状態プロトコルの動作を可能にする手段を提供する。ネットワークノードにおける「ソフトストア」は、本発明において情報ルーティングツリーを構築するために本質的である。
【００４３】
次に、本発明におけるオントロジーインスタンスツリーの使用について、さらに詳細に説明する。「オントロジー」は、知識共有のコンテクストでは、「概念化の仕様」を意味するために用いられる。換言すれば、オントロジーは、１つあるいは複数のエージェントに対して存在し得る概念及び関係を記述する。オントロジーは、語彙の形式的定義のセットとして表現される。ソフトウェアエージェントどうしは、共通の語彙を使用し、一貫性のある方法で相互に通信することに合意するように、オントロジーにコミットすることが可能である。このような通信は、対応するオントロジーにすべてが従うクエリ（問合せ）及び表明の形式でなされる。共通のオントロジーにコミットすることは、エージェントどうしが、共通の知識ベースを共有することなく、整合的に相互作用することを保証する。同じオントロジーにコミットする複数のエージェントにおいて、あるエージェントが、他のエージェントの知らないことを知っていることもあり、また、あるエージェントが、他のエージェントからのすべての問合せへの回答を知っている必要もない。このように、オントロジーにコミットすることは、整合性を保証するが、完全性は保証しない。このことにより、オントロジー構造は、知識発見のためのよい候補となる。
【００４４】
次に、オントロジーインスタンスツリーに作用するために使用される言語拡張について、さらに詳細に説明する。オントロジー定義はさまざまな形式をとることが可能であるが、最も普通の形式は、各クラスが公理定義を含むようなクラスの階層を採用している。Ｓｔａｎｆｏｒｄ  Ｏｎｔｏｌｉｎｇｕａサーバ、及び、Ｍａｒｙｌａｎｄ大学によって提案されたＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）への拡張であるＳＨＯＥ（Ｓｉｍｐｌｅ  ＨＴＭＬ  Ｏｎｔｏｌｏｇｙ  Ｅｘｔｅｎｓｉｏｎｓ）は、このような階層構造の２つの例である。ＳＨＯＥは特にウェブのために設計されており、本発明における意味論的モデルはＳＨＯＥの原理に従うため、ＳＨＯＥ拡張について簡単に説明するのが適当である。
【００４５】
人間は、ドキュメントを読むとき、自己の一般言語の知識に頼って個々の文を解釈する。人間の読者が容易に答えることができる問合せは、問合せソフトウェアにとっては困難である。ソフトウェアは、暗黙の知識の利益を有しないからである。
【００４６】
ＳＨＯＥインスタンスが特定のオントロジーに基づいて特定の主張を行うとき、ソフトウェアエージェントは、その特定のオントロジーに頼って、直接には主張されていない知識を推論することができる。このオントロジーは、暗黙の知識としてコンテクストを提供する。例として、「大学オントロジー」と「演説オントロジー」の両方において「読む」と呼ばれる関係があると仮定する。「大学オントロジー」では、「読む」は、「講議のために必要なテキストを読む」を意味する。「演説オントロジー」では、「読む」は、「聴衆に対して大声で読む」を意味する。従来の問合せ言語であれば、単語の多くの意味を分類しなければならず、その作業を実行するために、文の構造を使用しなければならない。ＳＨＯＥインスタンスであれば、使用されているオントロジーを知っており、従ってコンテクストを知っているため、混乱することはない。さらに、ＳＨＯＥは、類別（ｃａｔｅｇｏｒｉｚａｔｉｏｎ）及び多重継承を可能にする分類法を提供する。
【００４７】
ＨＴＭＬは、もともと、人間用にのみ設計されたため、自動知識発見のために必要な情報構造を欠いている。ＳＨＯＥは、ドキュメントに機械読み取り可能な知識の注釈をつけることを可能にする少数のタグをＨＴＭＬに追加する。そして、よりインテリジェントなソフトウェアエージェントを、このような注釈に基づいて設計し、さらに複雑なユーザ問合せに答えるために使用することができる。２つのタイプのＳＨＯＥタグがある。オントロジーを作成するために用いられるタグと、ドキュメントに注釈をつけるために用いられるタグである。オブジェクト指向の用語とのアナロジーでいえば、第１のタイプのタグは、クラスを定義するために使用され、第２のタイプのタグは、これらのクラスからオブジェクトをインスタンス化するために使用される。このように、新しいオントロジーは、クラス構成における継承プロセスと同様に、既存のオントロジーに基づいて定義される。この発展プロセス及びオントロジー階層は、一般の知識表現及び分類構造によく似ている。
【００４８】
その単純さ及び表現力のため、オントロジー階層は、本発明においても、意味論的構造化及び自動情報バインディングのために使用される。曖昧さを避けるため、混乱がある場合には、「ｎノード」及び「ｏノード」という語で、「ネットワークノード」及び「オントロジーツリーノード」をそれぞれ表すことにする。
【００４９】
次に、本発明によって実行される情報ルーティングについてさらに詳細に説明する。情報ルーティングとは、ネットワーク（仮想的あるいは物理的のいずれも）が、プロトコルデータユニットを、その関心領域の指定に基づいてルーティングする機能のことである。このような指定は、必ずしも、明示的な宛先アドレスを含まない。２つのタイプの情報ルーティングを区別することができる。第１のタイプでは、特定の情報分野を検索するパケットが、関連する情報プロバイダへルーティングされる。これを問合せルーティングという。第２のタイプでは、ある情報を含むパケットが、ターゲットとする受信者、あるいは関心のある情報リクエスタへ分配される。これを分配ルーティング（ｄｉｓｔｒｉｂｕｔｉｏｎ  ｒｏｕｔｉｎｇ）という。
【００５０】
本発明は、問合せルーティング及び分配ルーティングの両方をサポートし、これは、協調的で対称的な方法で実現される。これは、情報プロバイダと情報リクエスタが相互作用する方法に反映される。両者とも、内容記述または情報要求を含むアクティブパケットをアクティブネットワークに注入することを選択することが可能である。この場合、情報ルーティングは、対応するエンティティへのブリッジとして作用する。便宜上、内容情報を提供するエンティティを情報プロバイダという。これは、内容パケットをアクティブネットワークに注入する。内容要求を問合せパケットの形式でネットワークに注入するエンティティを情報リクエスタという。こうして、本発明における問合せルーティングは、システム内の内容パケット関心トレースに基づいて問合せパケットをルーティングする。同様に、内容パケットは、問合せパケットによって残された関心トレースを用いて、分配ルーティングにより分配される。
【００５１】
図３に、本発明の一般的な動作モデルを例示する。注意すべき点であるが、情報内容パケット及び情報問合せパケットは、本発明では同時に動作する。ステップＳ３００〜Ｓ１０００に示すように、パケットは、それらのパケットのために構築されたアクティブネットワークを連続的にたどる。以下で説明するように、パケットの到達範囲は、そのパケットのリソースによって制限される。
【００５２】
内容パケット及び問合せパケットは、ランダムに分配されるのではなく、ある組織的な方式に基づいてルーティングされる。アクティブネットワークは、複数の情報プロバイダノード及び情報リクエスタノードを有するが、それらのすべてについては図示しない。これらのノードが相互に接続されて、アクティブネットワークを形成する。各ノードは、アクティブネットワーク内で接続される各ノードごとに、内容オントロジーインスタンスツリー及び問合せオントロジーインスタンスツリーの両方を有する。
【００５３】
図４において、情報プロバイダノード３８は、ネットワークに内容パケットを注入し、これはルータ３５で受信される。この内容パケットは、ルータ３５のアクティブノードの問合せオントロジーインスタンスツリー（ΔＱ）を検索した後、アクティブネットワーク上の他のルータ３３、３６にホップすべきかどうかを決定する。ルータ３５の問合せオントロジーインスタンスツリーは、ルータ３５が接続されるアクティブノードから受信された情報問合せパケットによって残された痕跡（トレース）を含む。情報パケットは、次のアクティブネットワークノードに到達すると、再び、問合せオントロジーインスタンスツリーを検索し、適当な内容オントロジーインスタンスツリーにトレースを残す。
【００５４】
情報リクエスタ３０は、アクティブネットワークに情報問合せパケットを注入し、これはルータ３１で受信される。この問合せパケットは、ルータ３１のアクティブノードの内容オントロジーインスタンスツリー（ΔＣ）を検索した後、アクティブネットワーク上の他のルータ３３にホップすべきかどうかを決定する。ルータ３１の内容オントロジーインスタンスツリーは、ルータ３１が接続される他のアクティブノードから受信された情報内容パケットによって残されたトレースを含む。このルータ３３で、情報問合せパケットは、内容オントロジーインスタンスツリーを検索した後、情報内容プロバイダによって送出された情報内容パケットによって残されたトレースを発見する。情報内容パケットによって残されたトレースが、情報問合せパケットの関心のあるデータを含む場合、情報問合せパケットは、この情報を用いて、情報リクエスタから情報内容プロバイダへの情報ルートを確立する。
【００５５】
パケット及びネットワークノードのアクティブな性質のため、情報のフィルタリング及びバインディングの機構の豊富なセットが実装される。これらの機構のうちの一方の極には、現在の検索動作モデルがある。この場合、情報問合せパケット及び情報内容パケットはそれぞれ、対応するサーバと検索エンジンへの直接ルートに従う。反対の極では、あらゆる情報問合せパケットは、関連する情報を求めて本発明の全システムを探索する一方、あらゆる内容パケットは、あたかも積極的な直販業者が、見つけたそれぞれのドアをノックするようにして、動作する。なお、Ｙａｈｏｏ！（Ｒ）やＥｘｃｉｔｅ（Ｒ）のようなポータルは、本発明においては特有の役割を果たすことになる。一方では、ポータルは、自己のインデックスデータベースを構築する際の補助手段として情報内容パケットを引き寄せてフィルタリングする情報リクエスタとして作用することが必要となる。他方ではまた、ポータルは、その訪問者基盤を拡大するために、本発明にそのインデックス内容を供給しなければならない。本発明におけるポータルの関与は、トラフィックを減少させ、内容パケットをネットワークに注入しないことを選択したサイトを補完する。こうして、ポータルは、本発明の情報内容プロバイダと、情報リクエスタとの間の重要なブリッジとして作用することになる。
【００５６】
基礎となるアクティブネットワークアーキテクチャは特有の利益を本発明にもたらす。第１に、カスタム設計されたフィルタリング法（例えば、最高データ相関、特定の領域の回避など）は、アクティブパケットで運ばれ、ネットワークに登録されることが可能である。これは、本発明のユーザが、正しい情報を検索し正しい受信者をターゲットとする際に、高いフレキシビリティを提供する。第２に、新しいバインディング制限は、アクティブノードに容易にロードされる。これは、本発明の配備及び展開を非常に容易にする。
【００５７】
しかし、本発明で注意すべき点の１つは、本発明の情報問合せパケットまたは情報内容パケットによって、空間的（通るリンク）及び時間的（ノードにとどまること）の両方の点で、ネットワークリソースが乱用される可能性があることである。他方、本発明の有効性は、個々のパケットにとってのネットワークリソースの利用可能性に直接基づいている。
【００５８】
上記のように、本発明の本質は、ネットワークが、情報プロバイダ及び情報リクエスタの両方のために、情報のフローをフィルタリングし配送し、その結果、バインディングプロセスを完了することが可能となることである。このように、本発明を実現するシステムは、これらの情報ルーティングタスクが有効かつ効率的に実行されるように注意深く設計されることが本質的である。本発明は、以下のプロセスによってこれを実現する。
・グローバルルーティングアーキテクチャを構築する。
・パケットの意味論的構造化。
・問合せパケット及び内容パケットによって消費されるシステムリソースを効果的に制御する。
・各アクティブノードを通る問合せパケット及び内容パケットからの情報を抽出し格納する。
・各ノードで発見された関連する情報に基づいてそれらの情報を組織的に管理しルーティング判断を行う。
【００５９】
本発明は、効率的な分散アーキテクチャ及び情報抽出のプロセスの構築により、これらの課題を解決する。
【００６０】
基礎となるネットワークの任意のトポロジーと、各パケットの制限されたリソースが与えられた場合、情報の分配経路は、ループがないものであると同時に、広範囲のノードカバレジを有することが好ましい。非巡回経路は、冗長なノード訪問を除去し、ルーティング情報収集プロセスを単純化することによって、対応する情報の効率的な分配を行う。このような、効率と広範囲の要求の組合せは、ＩＰマルチキャスティングにみられるものによく似ている。
【００６１】
次に、本発明におけるマルチキャストツリーの使用についてさらに詳細に説明する。マルチキャストツリーは、本発明におけるルーティングの基盤であるが、情報ルーティングの特徴は、このようなツリーが単純なマルチキャスティングとは異なる目的及び異なる方法で使用されるという点にある。ＩＰネットワークにおいてマルチキャストツリーを構築するには２つのアプローチがある。それらは、ソース（発信元）ベースのアプローチと、共有ツリーのアプローチである。ソースベースのアプローチでは、各ソースごとにマルチキャストツリーを構築する。これは、各ソースにとっては最良の分配経路となるが、大きいグループの場合、関与するルータが維持しなければならない状態の数は膨大になる。
【００６２】
共有ツリーのアプローチは、各マルチキャストグループごとに１個のマルチキャストツリーを構築し、すべてのソースは分配のために同じツリーを使用する。このようなツリーは、あらゆるソースにとって最良の経路とはならない可能性があるが、非常にスケーラブルであり、大規模で密なマルチキャストグループには好ましい。
【００６３】
ＣＢＴ（Ｃｏｒｅ  Ｂａｓｅｄ  Ｔｒｅｅ）アルゴリズムが、そのスケーラビリティ及びロバスト性のために、本発明で用いられる。ＣＢＴプロトコルは、マルチキャストグループにおける多対多通信のためのネットワーク層マルチキャストプロトコルである。共有ツリーは、「コア（ｃｏｒｅ）」と呼ばれる集中ポイントのセットの助けにより、各グループごとに構築され管理される。そのうちで、１つのノードが「一次コア（ｐｒｉｍａｒｙ  ｃｏｒｅ）」と呼ばれ、残りのノードが「二次コア（ｓｅｃｏｎｄａｒｙ  ｃｏｒｅ）」と呼ばれる。ネットワークルータには、静的コンフィグレーションまたは動的キャッシングにより、付近のコアのことが知らされる。あるノードが、マルチキャストグループに加入したいとき、そのノードは、付近の二次コアへ加入リクエストを送る。そのリクエストがツリー上のノードまたはツリー外の二次コアに到達した場合、そのノードはツリーに加入したとみなされる（そして、その加入が通知される）。リクエストがツリー外の二次コアに到達した場合、その二次コアは、同様のプロセスに従って一次コアへ加入を試みる。通知プロセス中に、その経路上のすべてのノードはツリーのメンバとなる。このプロトコルでは、ループの形成を回避し、コネクションの切断に対処するために、さまざまな考慮がなされる。
【００６４】
図５において、例として、いくつかのルータがネットワークを構成している。各ルータは複数のコネクションを有し、そのため、同じ２個のルータの間に複数のルートが存在する。
【００６５】
図６に、深さ優先サーチ（ＤＦＳ：Ｄｅｐｔｈ  Ｆｉｒｓｔ  Ｓｅａｒｃｈ）を用いてＣＢＴが実装された後のルータネットワークを示す。各ルータへの単一の経路が確立されている。
【００６６】
本発明のすべてのノード間で利用可能な共通ツリーにより、冗長性なしにパケットを分配することが可能となる。本発明は、情報抽出（ｉｎｆｏｒｍａｔｉｏｎ  ｄｉｓｔｉｌｌａｔｉｏｎ）として知られる効率改善機構を含む。これは、情報自体をほとんど希釈することなく、情報を運ぶデータの量を縮小するプロセスである。本発明では、これは、主に、パケット結合（ｐａｃｋｅｔ  ｃｏｍｂｉｎａｔｉｏｎ）によって実現される。このパケット結合では、関連する情報を有するいくつかのパケットが単一のパケットに併合される。これは、パケットの適当な意味論的構造化と、ネットワークにおけるインテリジェントルーティングにより可能となる。
【００６７】
本発明におけるパケットの自動的な処理及びルーティングを実現するために、これらのパケットにいくつかの意味論的構造を付ける必要がある。情報内容パケット及び情報問合せパケットのフォーマットは、本発明の有効性を直接に決定する。
【００６８】
本発明では、オントロジーアプローチにみられる単純な階層的フォーマットを使用する。その単純さとは別に、このような構造は記述的で、フレキシブルでもある。新しいオントロジーは、既存のオントロジーから必要に応じて導出されるため、ユーザは、既存のオントロジー階層を容易に拡張することができる。領域固有の動作は、詳細なオントロジーごとの処理のために、各パケット内で定義され運ばれる。
【００６９】
注意すべき点であるが、情報問合せパケット及び情報内容パケットはいずれもオントロジーフォーマットに従う。両方のタイプのパケットの構築を容易にするために、便利なユーザインタフェースが提供される。例として、要求インタフェースは、ユーザに対して、単に、関心領域のカテゴリ階層と、いくつかの検索基準を選択するよう要求することが可能である。同様に、内容インタフェースでは、ユーザは、単に、オントロジーパスと、いくつかのキーワードを入力するだけでよい。すると、基本的なバインディングプロセスを、対応するオントロジーと照合し、必要なときに検索を行うことによって、実行することができる。カスタム設計されたフィルタリング法もまた、この階層構造を利用して、フィルタリングプロセスをはかどらせることになる。
【００７０】
次に、複数のパケットを単一のパケットに結合することについて説明する。オントロジー構造は、本発明におけるパケット分配にも有益である。本発明のパケットがネットワークを探索することができる範囲は、パケットに対するリソース制限によって非常に制限されるため、共通の関心領域を有するパケットがそれらのリソースを統合してそれらのカバレジをさらに拡大することが好ましい。これが、前述の情報抽出プロセスであり、階層的オントロジーフォーマットがこのプロセスを容易にし有効にする。
【００７１】
例として、「バス」、「列車」及び「地下鉄」に関する情報（またはその情報の位置）をそれぞれ含む内容パケットが、あるアクティブノードに存在する場合、「公共輸送機関」に関する知識を主張する新しい内容パケットが作成される。その後、この新しい内容パケットは、もとの３個の内容パケットの代わりに他のノードへ送られる。オントロジーツリーインスタンスが作成された後、そのようなインスタンスに枝刈り手続きが適用される。このプロセスについてさらに説明するためには、いくつかの定義が必要である。
【００７２】
ｏノードの条件付きアクセス確率（ＣＡＰ：Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｐｒｏｂａｂｉｌｉｔｙ）とは、ツリーにおけるその親ノードがアクセスされた場合にこのｏノードがアクセスされる確率である。
【００７３】
例えば、問合せが、公共輸送機関に関する情報を探している場合、バスｏノードの条件付きアクセス確率は、この問合せがバス情報に関心がある確率である。
【００７４】
一般に、オントロジーインスタンスツリーにおけるＣＡＰは、ツリーのアクセス履歴情報に基づいて評価される。例えば、長期間にわたって、公共輸送機関オントロジーインスタンスツリーへのアクセスの６０％がバスに関係する場合、バスｏノードのＣＡＰは約０．６である。
【００７５】
オントロジーインスタンスツリー内のノードの信頼度（ＣＬ：Ｃｏｎｆｉｄｅｎｃｅ  Ｌｅｖｅｌ）とは、そのノードが対応する主題に関してそのノードが有する信頼性の程度のことである。厳密には、ノードｉの信頼度ＣＬｉは次のように定義される。
【数１】
0003627599.tif 000002
ただし、ｋは、ノードｉがインスタンスツリーにおいて有する子ノードの数であり、ｌｍは、ノードｉのｍ番目の子ノードである。このように、インスタンスツリー内のノードのＣＬは、ボトムアップ式に構成される。
【００７６】
次に、オントロジーインスタンスツリーの枝刈りについてさらに詳細に説明する。オントロジーインスタンスツリー内のノードのＣＬ値は、ツリー枝刈り判定に使用することができる。例えば、ノードが高いＣＬを有する場合、そのサブツリーは枝刈りされる。このような判定は、前述の情報抽出すなわちパケット結合プロセスに対応する。ＣＬ計算プロセスとは異なり、ツリー枝刈りはトップダウンに行われる。適当な枝刈りは、本発明の各ｎノードにおけるネットワークトラフィック及び記憶要求条件を大幅に縮小することが可能である。
【００７７】
図７に、枝刈りされたオントロジーインスタンスツリーを例示する。なお、いくつかのｏノードのサブツリーの枝のＣＡＰは足し合わせても１にならない。これは、これらのＣＡＰは統計から得られており、情報のいくつかの枝は古くなっている可能性があるためである。このような枝は、依然としてＣＡＰ統計に寄与するが、それらに付いている葉ノードのＣＬは０に等しいとみなされる。こうして、ツリーからこれらがなくなることは、ＣＬ計算プロセスの正確さに影響しない。
【００７８】
葉ノードのＣＬを、それらの対応するトピックをカバーするページ数で置き換えた場合、内部ノードにおけるページ数の期待値及び分散も同様に計算される。このような情報も、オントロジーインスタンスツリーに与えられ、本発明のパケットによって、定量的にルーティング判断を行うために使用されることが可能である。特に、この情報は、パケットが、いくつかの方向に沿って遭遇する関連ドキュメントの推定数と、分布の歪みを判断する助けとなり得る。
【００７９】
次に、アクティブノードにおけるオントロジーインスタンスツリーの変更と、変更されたオントロジーインスタンスツリーを近傍のアクティブノードへ転送することについてさらに詳細に説明する。特定のアクティブネットワークノードに記憶されたオントロジーインスタンスツリーを枝刈りするという考え方は、オントロジーインスタンスツリーを近傍のアクティブネットワークノードと交換するときに使用される最適化である。内容パケットが特定のアクティブネットワークノードで受信されると、その内容パケットは、その内容パケットが到着したポートに対応するオントロジーインスタンスツリーと相互作用する。内容パケットは、いくつかの方法でオントロジーインスタンスツリーと相互作用する。第１に、内容パケットは、相互作用しているオントロジーインスタンスツリー及びその他のオントロジーインスタンスツリーの現在の状態を反映するように変更された後、ルーティングツリー上の他のすべての近傍ノードに転送されることが可能である。第２に、内容パケットは、対応するオントロジーインスタンスツリーを更新した後、移動を終了する。アクティブネットワークノード自体は、その近傍のすべてのアクティブネットワークノードのオントロジーインスタンスツリーを更新するために、更新されたオントロジーインスタンスツリーまたはその一部を、それらの近傍ノードへ転送する責任を有する。第３に、オントロジーインスタンスツリー更新、内容パケット転送及びオントロジーインスタンスツリー転送の組合せも可能である。
【００８０】
次に、情報問合せパケット及び情報内容パケットに対するリソースの制御及び限界についてさらに詳細に説明する。前述のように、本発明の個々のパケットのアクティビティは、システムの安全で効率的な動作を保証するように規制されなければならない。このような規制は、システム制御の２つの点をカバーする必要がある。パケットはネットワーク内で何をすることが許されるかという点（アクセス制御）と、パケットはどのくらいの量のネットワークリソースを消費することができるかという点（リソース制御）である。アクセス制御に関して、本発明は、ＰＬＡＮパッケージによって提供される機構に基づいて、ネットワーク内のアクティブノードの状態に対する各パケットの効果を制限する。一般に、本発明のパケットは、２つのタイプの関数を呼び出すことができる。ＰＬＡＮ言語に埋め込まれている関数と、本発明のサービスパッケージで拡張された関数である。後者の関数は、基本ＰＬＡＮ関数の上に構築されているため、パケットに対する関数的影響は有効に制限される。
【００８１】
リソース制御は、本発明のもう１つの重要な点である。本発明のアクティブな性質により、ノード記憶スペース及びリンク帯域幅のようなシステムリソースは、正しく設計され制御されることが重要である。ＰＬＡＮ及びその他のほとんどのアクティブネットワークパッケージで用いられるホップカウントに基づくリソース制御は、本発明で要求されるいくつかの重要な機能を欠いているため、不十分である。これらの機能には次のものがある。
・リソースの結合。
・リソースの補給（ｒｅｆｕｅｌｉｎｇ）。
・ネットワークノードのリソース制御。
【００８２】
これらの機能を実装するため、ＰＬＡＮパッケージを、追加のリソース制御機構により拡張する。このような新しい機構の１つの重要な点は、「リソースドネーション（リソース寄付、ｒｅｓｏｕｒｃｅ  ｄｏｎａｔｉｏｎ）」と呼ばれる概念である。リソースドネーションは、アクティブパケットが、そのリソース限界の一部または全部を他のアクティブパケットに移転する機構である。この用語は、混乱のおそれがない場合には、移転される量も指す。
【００８３】
リソースドネーション判断は、ドネーションを行う側のパケット内のいくつかのフラグによって、または、そのパケットによって呼び出されるプログラムの実行によって、行われる。リソースドネーションは、本発明のさらにアクティブな動作の多くの新たな可能性を開く。
【００８４】
例として、いくつかのパケットを１つのパケットに併合して、それらの分配や検索範囲を拡大することができる。特殊なソフトウェアエージェントが、パケットへのデータ挿入のためのリソースを交換することが可能である。ポータルサイトは、そのサイトへのパケットに対して、必要なリソースを提供することにより、そのパケットを引き付けることが可能である。
【００８５】
ノードごとのリソース制御において、アクティブノードタイムリミット（ＡＮＴＬ：Ａｃｔｉｖｅ  Ｎｏｄｅ  Ｔｉｍｅ  Ｌｉｍｉｔ）フィールドが、本発明の各パケットに追加される。このフィールドは、対応するパケットによってノードに残される常駐データの寿命を制御するために使用される。問合せパケットあるいは内容パケットが、ノードに到着して、そのノードにデータを常駐させると決定し、そのようにすることが（アクセス制御により）許される場合、満了時刻がそのデータにタグづけされる。各ノード上の常駐データは周期的にチェックされ、タイムリミットが満了したデータはそのノードから消去される。
【００８６】
指摘しておかなければならない点であるが、パケットのリソース限界及びＡＮＴＬフィールドにはいずれも、パケットがシステムに入るときに、本発明のインタフェースによって値が割り当てられる。すなわち、これらの値は、本発明のプロトコルの一部であり、個々のパケットまたはアプリケーションによって任意に決定することはできない。これらの値割当てをより安全に制御するためには、クレジットに基づくリソース管理方式を本発明に追加する。クレジットは、システム全体にわたり配置される信頼された機関から付与あるいは「購入」される。例えば、本発明の動作モデルは次のようになる。
【００８７】
・それぞれの問合せパケットあるいは内容パケットは、システムに注入されると、オントロジー普及度分布（ｏｎｔｏｌｏｇｙ  ｐｏｐｕｌａｒｉｔｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ）に基づいて、ある量の無料のクレジットが割り当てられる。
【００８８】
・問合せパケットあるいは内容パケットは、到達範囲を拡大することができるように、購入またはクレジット移転により追加のクレジットを取得することを決定することが可能である。
【００８９】
・ポータルサイト及びソフトウェアエージェントは、クレジットを購入し、問合せパケットまたは内容パケットを引き付けるため、あるいは、これらのパケットにデータを入れるため、クレジット移転用にそのクレジットを使用することができる。
【００９０】
本発明では、さまざまな問合せパケット及び内容パケットがシステムに注入された後、分配ツリーに従って関連するｎノードに到達する。ネットワークに入ると、それぞれの問合せパケットあるいは内容パケットは、できるだけ遠くまでネットワークを通って移動し、パケット内に運ぶフィルタをインストールし、通過する各アクティブノードで適合するフィルタとバインドする。フィルタは、アクティブノードにインストールされると、現在の時刻と、フィルタとともに運ばれるＡＮＴＬとの和である満了時刻が関連づけられる。各アクティブノードは、時刻が満了したフィルタを周期的に消去する。この時刻はノードごとのリソース制限であるため、パケット発信者は、別の手段によって、自己のパケットのために、より多くの時間を「購入」することができる。
【００９１】
単純なマルチキャスティングとは異なり、本発明における情報ルーティングプロセスは、アクティブノードにおけるシステム固有の意思決定と、個々のパケットによって呼び出されるカスタム化された選択プロセスが関わる。以下、本発明の動作の詳細についてさらに詳しく説明するため、単一のノードの構造及び動作について説明する（すなわち、単一のノードにおける情報ツリー構築プロセスと単一の問合せルーティングプロセスを例示する）。
【００９２】
内容及び問合せのオントロジーインスタンスツリーの変更及び転送についてさらに詳細に説明する。分配ツリーが決定されると、各ノードは、ツリー近傍に接続されたいくつかのインタフェースを有する。図８に、３本のリンクＡ、Ｂ、Ｃを有するｎノードを例示する。各リンクＡ、Ｂ、Ｃには、そのリンクから到着する情報内容パケットから構築され、そのリンクを通じて到達可能な情報を表す、オントロジーに基づく情報ツリーが関連づけられる。図８に示すように、情報内容パケットがインタフェースＡに到着すると、これはまず、対応する情報ツリーＴＡに挿入される。ツリー構造に対するその影響に依存して、これは、ツリーに吸収されるか（すなわち、Ｐ１で例示されるように、ツリーが表している知識をこのパケットがあまり変化させない場合）、または、さらに他のノードによって処理されるように他のインタフェースを通じて送出される（すなわち、Ｐ２及びＰ３で例示されるように、このパケットがツリーの一部を実質的に更新した場合）。リンクＢ及びリンクＣで起こる同様のプロセスは、読みやすくするため、図示していない。
【００９３】
図９において、アクティブノードＡＮＡに関連づけられたオントロジーインスタンスツリーＢＣＴは、アクティブノードＡＮ１へ向かうすべての知識を要約する。これは、アクティブノードＡＮ１上のＢＴ及びＣＴのオントロジーインスタンスツリーに格納された内容の併合である。内容パケットがアクティブノードＡＮ１のリンクＡに到着したと仮定する。この情報パケットは、アクティブノードＡＮ１にとってリンクＡからみたすべての情報を要約するオントロジーインスタンスツリーＡＴの状態を変化させる。この内容パケットがこの状態を大きく変える場合、アクティブノードＡＮＢのオントロジーインスタンスツリーもまた更新する必要がある。しかし、アクティブノードＡＮＢへ送られる内容パケットは、リンクＣに対応するオントロジーインスタンスツリー内の情報を考慮する必要がある。
【００９４】
さらに、内容パケットが、特定の情報を要求したリクエスタノードへもルーティングされることを要求する場合、問合せパケットタイプによって作成されるオントロジーインスタンスツリーを見る必要がある。内容パケットは、問合せパケットによって作成されるオントロジーインスタンスツリーを参照し、問合せパケットは、内容パケットによって作成されるオントロジーインスタンスツリーを参照する。例として、はじめてネットワークに注入される内容パケットを考える。この内容パケットは、第１のノードに到着すると、ポートにおいて、自己のパケットタイプのオントロジーインスタンスツリーと相互作用する。この内容パケットは、到達した最初のアクティブノードでこの役割を果たすだけである。オントロジーインスタンスツリーへの変更により、このタイプのパケットが作成されることもあり、このパケットは、近傍のアクティブノードへ転送される。あるいは、ノードは、特定のリンクに対するオントロジーインスタンスツリー（すなわち、そのアクティブノード上の他のリンクに対するオントロジーインスタンスツリーの併合）を作成する。その後、アクティブノードは、新たに作成されたオントロジーインスタンスツリーを、近傍のアクティブノードへ周期的に転送する。その後、内容パケットは、到着したリンク以外のすべてのリンク上の問合せパケットタイプのオントロジーインスタンスツリーを参照する。次に、内容パケットは、次のアクティブノードに移動すべきかどうかを判断する。これを行う機構は、前に説明した通りである。内容パケットは、別のアクティブノードに移動すると決定した場合には、新しいオントロジーインスタンスツリーを作成するアクティビティを繰り返すことはない。
【００９５】
図８において、本発明のシステムの情報ルーティングは、ホップごとのルーティング方式である。各オントロジーノードにおけるもう１つのパラメータは、平均距離（ＡＤ：Ａｖｅｒａｇｅ  Ｄｉｓｔａｎｃｅ）と呼ばれ、関連する情報の出所に到達するためにどのくらいのリソースを消費する必要があるかを示すために用いられる。これは、ＣＬパラメータと同様に計算される。葉ｏノードのＡＤは、情報の出所から現在のｎノードまでの実際のホップカウントに等しい。これは、ホップインクリメントにより得られる。内部ｏノードｉの平均距離ＡＤｉは次のように定義される。
【数２】
0003627599.tif 000003
ただし、ｋは、ノードｉがインスタンスツリーにおいて有する子ノードの数であり、ｌｍは、ノードｉのｍ番目の子ノードである。上記の式から、ＣＬとは異なり、ＡＤは、その計算において古い枝を考慮しない。これは、ｏノードのＡＤが、現在のｎノードと、そのｏノードから分岐するすべての「利用可能な」情報のソースとの間の平均距離を示すために使用されることにより正当化される。これに対して、ＣＬは、ｏノードがその「すべての」サブカテゴリに関する情報に関してどのくらい信頼性があるかを反映する。
【００９６】
図９を参照して、ノードにおける問合せ処理についてさらに詳細に説明する。問合せパケットがインタフェースＡに到着すると、インタフェースＢ及びＣのツリーＢＴ及びＣＴはそれぞれ、そのパケットのルーティング判断をするためチェックされる。簡単のため、これらの２つのツリーは、図９では単一のツリーＢＣＴに統合される。パケットは、その関心のある内容に対する可能な方向を表すすべての適合するノードを発見するまで、ツリーＢＣＴ内のオントロジー構造をたどる。この時点で、どの方向に行くべきか、及び、もとのパケット内のどのくらいのリソースを各方向に消費するかについて判断をしなければならない。このような判断は、各適合するノードのＣＬ及びＡＤに基づいてなされる。パケットは、アクティブパケット内で運ばれるカスタム設計されたプログラムに従ってこの判断を行うことが可能である。さらに、アクティブノードは、デフォルト判断機能を提供するように設定される。これにより、本発明のユーザは、その需要に最もよくあうように検索及び分配のストラテジを調整する際に、多大なフレキシビリティが与えられる。
【００９７】
本発明では、結合されたパケットが後の時点で適合するノードを発見すると、その結果は、パケットが最初に生成されたノードに転送される。より詳細なフィルタが導入され、より具体的な結果が、対応する情報リクエスタに送られる。
【００９８】
指摘しておかなければならない点であるが、ほとんど同一のプロセスが、問合せツリーを構築し、情報ルーティングを行うために使用される（すなわち、問合せパケットと内容パケットは完全に対称的な方法で扱われる）。問合せパケットのトレースをネットワークに残すという概念は、広範囲の所望されるユーザアクティビティを可能にするため、非常に強力である。例として、問合せパケットがネットワークにとどまることができる持続時間を制御することによって、ユーザは、履歴情報のみに関心があるか、完全に新しい情報に関心があるか、それとも、近い将来のある期間内の情報に関心があるかを容易に指定することができる。
【００９９】
概念的には、ｎノードの各インタフェースは、そのｎノードにおける他のすべてのインタフェースに到着するパケットから構築される別個のｏツリーを管理する。このような概念的な区別の主な理由は、より効率的な情報の発見及び分配のためである。各パケットは、冗長な一致結果について考慮することなく、到着したインタフェースにおけるオントロジーインスタンスツリーで照合を行うだけでよい。オントロジーインスタンスツリーは抽出され、冗長な情報がｎノードに送られないことを保証して、そのインタフェースから送出される。明らかに、このようなツリーは、実際の実装では、スペース効率のために１つのツリーにまとめられる。
【０１００】
なお、各インタフェースにおける単一のツリーは、さらに、論理的に２つのツリーに分割される。これらは、情報内容パケットから構築される内容ツリーと、情報問合せパケットから構築される問合せツリーである。いずれのツリーも同じオントロジー構造を使用するため、これらは、効率的な管理のために結合される。このため、これらの２つの異なるタイプの情報の間を区別するために、ツリー内にいくつかのフラグをセットすることが必要となる。
【０１０１】
本発明は、コンピュータシステムで実現される。ここで、「コンピュータシステム」という用語は、少なくともメモリ及びプロセッサを有すると理解されるべきである。一般に、メモリは、あるときに、実行可能プログラムコードの少なくとも一部を記憶し、プロセッサは、その実行可能プログラムコードに含まれる１つ以上の命令を実行する。認識されるように、「実行可能プログラムコード」という用語と、「ソフトウェア」という用語は、本明細書の目的ではほぼ同じものを意味する。本発明の実施にとって、メモリとプロセッサが物理的に同じ場所に位置することは必要ではない。すなわち、予想されるように、プロセッサとメモリは、異なる物理的装置にあることも可能であり、あるいは、地理的に異なる位置にあることさえ可能である。
【０１０２】
本発明は、以下で説明するように、コンピュータプログラム製品として実現されることも可能である。
【０１０３】
実用的レベルでは、コンピュータシステムが以下でさらに詳細に説明する動作を実行することを可能にするソフトウェアは、さまざまなメディア（媒体）のうちの任意のものにより供給されることが可能である。さらに、本発明のアプローチ及び動作の実際の実装は、実際には、プログラミング言語で書かれた文（ステートメント）である。このようなプログラミング言語の文は、コンピュータによって実行されるときに、コンピュータを、その文の個々の内容に従って作用させる。さらに、コンピュータが本発明に従って作用することを可能にするソフトウェアは、オリジナルのソースコード、アセンブリコード、オブジェクトコード、機械語、これらを圧縮または暗号化したバージョン、及びすべての均等物を含む形式のうちのいずれで提供することも可能であり、しかも、これらの例には限定されない。
【０１０４】
当業者には認識されるように、本明細書で用いられる「媒体」、「コンピュータで読み取り可能な媒体」とは、ディスケット、テープ、コンパクトディスク、集積回路、ＲＯＭ、ＣＤ、カートリッジ、通信回線を通じてのリモート伝送、あるいは、コンピュータにより使用可能なその他の同様の媒体を含む。例えば、コンピュータシステムが本発明に従って動作することを可能にするソフトウェアを供給するために、供給者は、ディスケットを提供することも、衛星伝送を通じて、直接電話リンクを通じて、またはインターネットを通じて、何らかの形式でソフトウェアを送信することも可能である。このように、「コンピュータで読み取り可能な媒体」という用語は、ソフトウェアがコンピュータに提供されることが可能な上記及びその他のすべての媒体を含むことを意図している。
【０１０５】
本発明の実行を可能にするソフトウェアは、ディスケット「の上に書かれ」、集積回路「内に記憶され」、あるいは、通信回線「を通じて伝送され」るが、認識されるように、本発明の目的では、コンピュータで使用可能な媒体は、そのソフトウェアを「有する」ということにする。このように、「有する」とは、ソフトウェアがコンピュータ使用可能な媒体と関係する上記及びすべての均等な方法を包含することを意図している。
【０１０６】
そこで、簡単のため、「プログラム製品」という用語を用いて、コンピュータシステムが本発明に従って動作することを可能にする任意の形式のソフトウェアを有する、上で定義されたコンピュータ使用可能な媒体を指すことにする。
【０１０７】
このように、本発明は、コンピュータが本発明に従って情報ルーティングを実行することを可能にするソフトウェアを有するプログラム製品としても実現される。
【０１０８】
本発明の実施例を作成する際に、アクティブネットワークシステムは、以下のものを含まなければならない。
・インフラストラクチャコンフィグレーション。
・オントロジーインスタンスツリーの構築及び維持のための、各ノードにおけるサービスパッケージ。
・ルーティングツリーの構築。
・リクエスト及び情報の生成及び注入。
・モニタリングのためのグラフィカルインタフェース。
【０１０９】
本発明のコンポーネントは、ＰＬＡＮサービスパッケージとして、関与する各アクティブノードにロードされる。ネットワーク生成プログラムを用いて、アクティブネットワークコンフィグレーションを生成し初期化する。ユーザは、各ノード上のリンクの数の分布及びノード間の接続を指定する複数のパラメータを提供することが可能である。このコンフィグレーションプログラムの結果は、実際に各ノードを起動しノードコネクションをセットアップするＰＬＡＮネットワークセットアップモジュールに供給される。
【０１１０】
注意すべき点であるが、本発明は、ネットワーク内のあらゆるノードが本発明のために設定されたノードであることを要求しない。別の実施例では、本発明は、実際のネットワークシステム上のオーバーレイネットワークとして構成される。関与するノードのみが、本発明のオーバーレイに加入し、本発明の機能を提供すればよい。ＩＰマルチキャスティングツリープロトコルにおけるのと同様の加入及び退去の手続きが、このようなオーバーレイネットワークを管理するために使用される。
【０１１１】
本発明のネットワークバックボーンがセットアップされると、本発明のコアが、ＰＬＡＮサービスパッケージとして各ノードにロードされる。ＰＬＡＮは、２つの異なるタイプのローディング方法を提供する。第１の方法では、ライブラリコードの形式のサービス関数が、指定されたファイルから各ノードに読み込まれる。第２の方法では、パッケージは、コード伝送によりノードに動的にリンクされる。
【０１１２】
前述のように、ＰＬＡＮパッケージの目的は、個々のアクティブＰＬＡＮパケットにサービスを提供することである。ＰＬＡＮパッケージは、アクティブパケットを非常に簡潔にし、ペイロード効率を改善する。アクティブパケットは、共通に使用されるサービス関数自体の代わりにその間数へのポインタを運ぶだけでよいからである。本発明のサービスパッケージは、同じ役割を果たす。一実施例では、次のような、情報のフィルタリング、バインディング、記憶及び転送を管理するコア関数のセットが実装された。
【０１１３】
・  ａｄｄＴｒｅｅＮｅｉｇｈｂｏｒ（ｉｆｃ）：インタフェースｉｆｃを通じて接続されたネットワークノードを分配ツリーの近傍にし、実質的に、ツリーエッジの一端に追加する。
・  ｒｅｍｏｖｅＴｒｅｅＮｅｉｇｈｂｏｒ（ｉｆｃ）：上記の動作の逆。
・  ｉｎｓｅｒｔ（ｐｋｔ）：パケットをノードのオントロジーインスタンスツリーに挿入する。パケットのタイプ及びソースを示すように適当なタグづけが行われる。
・  ｓｅａｒｃｈ（ｐｋｔ）：検索パケットに適合する項目をオントロジーインスタンスツリー内で検索する。パケットタイプ、検索用語オントロジー階層及びキーワードのような情報を、この検索中に使用する。
・  ｄｉｓｔｒｉｂｕｔｅ（ｐｋｔ，  ｉｆｃ＿ｌｉｓｔ）：検索結果に基づいて、パケットをさらに、適合がある可能性のあるｉｆｃ＿ｌｉｓｔ内の他のノードに分散させる。
・  ｕｐｄａｔｅ＿ｃｌ（）：オントロジーインスタンスツリーのノード内のＣＬを更新し、その結果を近傍ノードに伝達する。
・  ｐｒｏｃｅｓｓ＿ｐａｃｋｅｔ（）：構成されたノードにおいて本発明のサービスを呼び出すために外部に提供された汎用のインタフェース。
【０１１４】
ルーティングツリーの構築は、提案されているＩＰマルチキャスティング分野にみられるものと同様の方法で実行される。そのアルゴリズムにおいて、あるノードが、ユーザの選択により、または、シミュレーションコアによって、ツリーの論理的なルートとして選択される。次に、ルーティングツリーの構築を開始するよう指令するアクティブパケットがそのノードに送られる。すると、ツリー生成について後続のノードに通知するために、ルートによってＤＦＳ手続きが開始される。この手続きにおいて、パケットが通る各ノードは、ツリー構築コードとともに、親ノードのアドレスのような状態情報を含むアクティブパケットを受信する。ノードは、候補ノードとして識別されると、自分自身をマークして、対応するツリーインタフェースを記録する。このようにして、ループは形成されないことになる。構築手続きが完了するとき、関与する各ノードは、そのすべてのツリー近傍を示すインタフェースのリストを有する。
【０１１５】
基礎となるＰＬＡＮシステムの動作モデルは、サービス関数が宛先ノードで適切に処理されるように、各パケットがそのサービス関数を呼び出すかどうかを決定する。ｐｒｏｃｅｓｓ＿ｐａｃｋｅｔ関数は、特にこの目的のために設計されている。パケットが作成されると、そのパケットの目的に関する関連情報が、パケット内のあるデフォルトフィールドに登録される。このようなフィールドのうちの１つは、呼び出される関数を表し、これは、ｐｒｏｃｅｓｓ＿ｐａｃｋｅｔへの参照を含む。あるノードにそのパケットが到着すると、インストールされているサービス関数が呼び出され、続いてこれが、ｉｎｓｅｒｔ（ｐｋｔ）やｄｉｓｔｒｉｂｕｔｅ（ｐｋｔ，  ｉｆｃ＿ｌｉｓｔ）のような他の必要な関数を呼び出す。
【０１１６】
システムにおいて、グラフィカルインタフェースは一般に、ユーザの便宜及び視覚的表示のために用いられる。このインタフェースコンポーネントは、ユーザフロントエンド及び通信コアからなる。通信コアは、本発明におけるアクティブノードと相互作用する。ユーザ入力は、適当に符号化され、このコアを通じて宛先ノードへ伝送される。逆方向では、コアは、各ノードから周期的に状態情報を収集し、それを表示するためにフロントエンドに提示する。このインタフェースを通じて、ユーザは、本発明におけるネットワークトポロジー、ルーティング構造及びさまざまなオントロジーインスタンスツリーを制御し観察することができる。
【０１１７】
本発明の一実施例は、ローカルエリアネットワーク上に配備され、あるいは、さらに大規模なネットワークトポロジーの上のオーバーレイネットワークとして構成される。これにより、システムは階層的コネクションあるいはカバレジ拡大により容易に成長することが可能である。
【０１１８】
機能する領域の観点から見ると、情報階層全体から、電子商取引、技術情報及びスポーツニュースのような特定の分野までの広範囲の実施例が、本発明により実現される。これらの２つの点は互いに独立であり、任意の方法で組み合わせられる。
【０１１９】
本発明は、基礎となるアクティブネットワークに基づいて、情報のフィルタリング及びルーティングを行う。本発明のネットワークノード及びパケットのアクティブな性質により、ネットワーク資源を効率的に利用し、情報発見経路を有効に短縮することが可能となる。しかし、本発明のフレキシビリティのため、基礎となるネットワーク内のあらゆるノードがアクティブノードである必要はない。本発明の実施例は、オーバーレイアクティブネットワーク上で動作するように容易に適応する。本発明におけるルーティングツリー構築プロセスは、オーバーレイノードとして関与しようとするノードのみを選択することができる。直接の物理的コネクションのないノード間に仮想リンクが維持される。
【０１２０】
本発明のもう１つの実施例は、ネットワークスイッチあるいはルータへの変更なしに、従来の非アクティブネットワーク上に実現される。この実施例では、インターネットの遍在性及びエージェント技術の力（例えば、Ｊａｖａ）により、アプリケーションレベルの「オーバーレイネットワーク」が、ネットワークエッジノード、すなわち、ネットワークに接続されるコンピュータを用いて構築される。この実施例のもとでは、情報のプロバイダ及びリクエスタがアクティブに相互作用し、より即時的で関連性のある応答を行うような、さらに応答性がよく扱いやすいインターネットが構築される。インターネットのユーザは、自己のインターネットサーバをセットアップする必要なしに、自己の情報あるいは要求をウェブに「プッシュ」し、関心のある結果を得る自由度を有することが可能となる。
【０１２１】
本発明のもう１つの実施例によれば、本発明は、社内ネットワーク（イントラネット）情報システムのような小規模のネットワークにおいて、アプリケーションレベルのオーバーレイシステムとして実装される。この場合も、社内ネットワーク内の内容プロバイダは、ユーザからの問合せと容易に照合される。
【０１２２】
本発明のもう１つの実施例は、アプリケーション領域に関係する。本発明は、オントロジーに基づく意味論的構造を使用するため、検索動作モデルは、オントロジーインスタンスツリーのサブ階層の任意の部分に適用され、その結果、本発明に基づいて、特定の知識領域におけるアプリケーションが得られる。例として、オントロジーインスタンスツリーの「商取引」の枝が探索されれば、本発明に基づいて、電子商取引アプリケーションが構築される。パケットのアクティブな性質は、商品の分配、比較、及び、購入にさえ、多大な自由度を与える。
【０１２３】
本発明のもう１つの実施例は、技術的な論文及び刊行物を配布し発見するために構築されたアプリケーションである。検索パラメータは、非常に広くあるいは非常に狭く設計され、また、新しい刊行物を待つように指示される。
【０１２４】
注意すべき点であるが、複数のアプリケーションが、同じ物理的ネットワークあるいはオーバーレイネットワーク内に共存する。関与するネットワークノードは、相異なるアプリケーションをサポートし、おそらくは、アプリケーションデータをまとめて管理するように構成される。領域あるいはカバレジの成長の必要が生じると、アプリケーションは、関与するノードで併合することを選択することも可能である。
【０１２５】
本発明の好ましい実施例に関する上記の記載は、例示及び説明のためになされたものである。これは、網羅的であることも、本発明を開示された正確な形式に限定することも意図しておらず、上記の記載に照らして、あるいは、本発明の実施により、さまざまな改良や変形が可能である。これらの実施例は、考えられる個々の使用法に合わせて当業者がさまざまな実施例においてさまざまな変更をして利用することができるように本発明の原理及びその実際的な応用について説明するために選択され記載されたものである。
【０１２６】
このように、ここでは、本発明のいくつかの実施例についてのみ具体的に説明したが、明らかなように、本発明の技術思想及び技術的範囲から離れることなくさまざまな変形を行うことが可能である。さらに、頭字語は単に明細書の可読性を高めるためにのみ使用されている。注意すべき点であるが、このような頭字語は、使用されている用語の一般性を狭めることを意図しておらず、特許請求の範囲をここに記載した実施例に限定するように解釈してはならない。本発明の技術的範囲は、特許請求の範囲及びその均等物によって定義される。
【図面の簡単な説明】
【図１】複数のコンピュータへの複数のコネクションを有する現在の検索動作モデルの図である。
【図２】各ルータにルーティングテーブルが構築された現在の検索動作モデルの図である。
【図３】オントロジーインスタンスツリーの作成及び変更と、情報問合せパケット及び情報内容パケットの伝搬のプロセスフローの図である。
【図４】本発明の検索動作モデルの図である。
【図５】いくつかのルータ間のルーティングコネクションにおいて、ルータ間のループの可能性を示す図である。
【図６】ルータ間のルーピングを避ける、ルーティングコネクションの縮小セットの図である。
【図７】枝刈りをしたオントロジーインスタンスツリーの図である。
【図８】他のノードへのリンクを有する本発明の一般的なノードと、付随するオントロジーインスタンスツリーの図である。
【図９】ノードにおける、本発明による問合せルーティングの図である。
【図１０】アクティブノードにおいて情報内容パケットにより問合せオントロジーインスタンスツリーを検索するプロセスフローの図である。
【図１１】アクティブノードにおいて情報内容パケットにより内容オントロジーインスタンスツリーを変更するプロセスフローの図である。
【図１２】アクティブノードにおいて情報問合せパケットにより内容オントロジーインスタンスツリーを検索するプロセスフローの図である。
【図１３】アクティブノードにおいて情報問合せパケットにより問合せオントロジーインスタンスツリーを変更するプロセスフローの図である。
【符号の説明】
３０  情報リクエスタ
３１〜３７  ルータ
３８  情報プロバイダ
【図１】
0003627599.tif 000004
【図２】
0003627599.tif 000005
【図３】
0003627599.tif 000006
【図４】
0003627599.tif 000007
【図５】
0003627599.tif 000008
【図６】
0003627599.tif 000009
【図７】
0003627599.tif 000010
【図８】
0003627599.tif 000011
【図９】
0003627599.tif 000012
【図１０】
0003627599.tif 000013
【図１１】
0003627599.tif 000014
【図１２】
0003627599.tif 000015
【図１３】
0003627599.tif 000016