(57)【要約】データのコンテントまたは意味に基づいてネットワークを通してデータを経路指定する方法、システム、および装置。意味経路指定エンジンは、経路指定テーブルに維持されている情報に基づいて、ネットワークを通してデータを経路指定する。ネットワークを通してコンテントを経路指定するのに用いられる経路指定テーブルは、コンテント消費者またはコンテント作成者に関する情報を存在論的ツリーに集めることによって得られる。
2004507159.tif 000002
【特許請求の範囲】
【請求項１】
経路指定されているコンテントの意味に基づいて、ネットワークを通してコンテントを経路指定する装置であって、
少なくとも１つのネットワーク・インタフェース・カード、
シグナリング・エージェント、
転送エージェント、
負荷マネージャ、および
意味プロファイル・マネージャ
を含むコンピュータを含む装置。
【請求項２】
シグナリング・エージェントは、装置と他の経路指定装置との通信に対処し、かつ他の経路指定装置との接続性を判定し、
転送エージェントは、着信意味パケットを転送し、
負荷マネージャは、経路指定装置の処理負荷を管理し、
プロファイル・マネージャは、意味プロファイルを集合させる、請求項１記載の装置。
【請求項３】
意味プロファイルは、経路指定テーブルを形成するのに用いられる存在論的ツリー（ｏｎｔｏｌｏｇｉｃａｌ ｔｒｅｅ）として集められる、請求項２記載の装置。
【請求項４】
負荷マネージャは、集められた意味プロファイルの精度を低下させることによって経路指定装置の処理負荷を管理する、請求項３記載の装置。
【請求項５】
シグナリング・エージェントは、集められた意味プロファイルを他の経路指定装置に送信し、他の経路指定装置の経路指定データを更新する、請求項３記載の装置。
【請求項６】
プロファイル・マネージャ、負荷マネージャおよびシグナリング・エージェントは、経路指定装置の処理負荷の平衡を保つように対話する、請求項１記載の装置。
【請求項７】
負荷マネージャは、経路指定装置の処理負荷を部分的に近傍の経路指定装置に委任することによって処理負荷を管理する、請求項１記載の装置。
【請求項８】
負荷マネージャは、他の経路指定装置および意味ログ・キーパと対話して、ネットワークの現在のトポロジーを認識する、請求項１記載の装置。
【請求項９】
転送エージェントは、経路指定キャッシュおよび経路指定データから構成されている、請求項１記載の装置。
【請求項１０】
転送エージェントは、経路指定キャッシュに含まれている情報を使用することによって、着信意味パケットをその宛先に経路指定する、請求項９記載の装置。
【請求項１１】
転送エージェントは、意味パケットの意味記述を分析して意味パケットの宛先を判定する、請求項１０記載の装置。
【請求項１２】
経路指定されているコンテントの意味に基づいて、ネットワークを通してコンテントを経路指定する方法であって、
意味プロファイルを受信する段階、
意味プロファイルを他の意味プロファイルと共に集合させる段階、
意味パケットを受信する段階、および
意味パケットに含まれているコンテントと集められた意味プロファイルとの比較に基づいて、意味パケットを宛先に経路指定する段階
を含む方法。
【請求項１３】
意味パケットを作成する前に、コンテントを分類する段階をさらに含む、請求項１２記載の方法。
【請求項１４】
経路指定された意味パケットを、コンテント消費者に到達する前にフィルタリングする（ｆｉｌｔｅｒｉｎｇ）段階をさらに含む、請求項１２記載の方法。
【請求項１５】
意味パケットはヘッダおよびコンテントを含む、請求項１２記載の方法。
【請求項１６】
ヘッダはネットワーキング業界のプログラミング言語で書かれている、請求項１５記載の方法。
【請求項１７】
ヘッダはＸＭＬ記述言語で書かれている、請求項１５記載の方法。
【請求項１８】
意味パケットのヘッダは、プリアンブル、少なくとも１つの意味署名、および少なくとも１つの意味記述子を含む、請求項１５記載の方法。
【請求項１９】
意味パケットの意味記述子は環境特有情報をさらに含む、請求項１８記載の方法。
【請求項２０】
意味パケットの意味記述子は、カスタマイズされた情報をさらに含む、請求項１８記載の方法。
【請求項２１】
意味署名を用いて、ネットワークを通して意味パケットを経路指定する転送エージェントをさらに含む、請求項１８記載の方法。
【請求項２２】
従来のネットワーク・ルータ上にオーバレイ・ネットワークとして設けられる、請求項１２記載の方法。
【請求項２３】
意味パケットをトネリング（ｔｕｎｎｅｌｉｎｇ）によってネットワークを通して送信する段階をさらに含む、請求項２２記載の方法。
【請求項２４】
意味プロファイルはコンテント消費者の興味を表す、請求項１２記載の方法。
【請求項２５】
コンテントは、それが意味プロファイルに指定されたコンテント消費者の興味に一致する場合にのみ、コンテント消費者に転送される、請求項１２記載の方法。
【請求項２６】
コンテントを意味プロファイルに一致させることは、構成されたＸＭＬパケット・ヘッダとコンテント経路指定ツリーを比較することによってなされる、請求項２５記載の方法。
【請求項２７】
意味プロファイルは、
プリアンブル、
少なくとも１つの意味署名、
少なくとも１つの意味記述子
意味プロファイルの有効期間に関する情報、
認証データ、および
意味ルータに指示を与えるコマンド・フィールド
を含む、請求項１２記載の方法。
【請求項２８】
意味プロファイルのプリアンブルは、少なくとも１つの意味記述子を含む、請求項２７記載の方法。
【請求項２９】
プロファイル記述子はネットワーキング業界のプログラミング言語で書かれている、請求項２７記載の方法。
【請求項３０】
プロファイル記述子はＸＭＬ記述言語で書かれている、請求項２７記載の方法。
【請求項３１】
認証データは、ユーザを検証するのに用いられる、請求項２７記載の方法。
【請求項３２】
意味プロファイルは、誰がコンテントにアクセスするかを制御することによって、意味ネットワークがファイアウォールとして働くのを可能にする情報をさらに含む、請求項２７記載の方法。
【請求項３３】
コンテント消費者によって受信されるコンテントを、ネットワークが決定するのを可能にするポリシー・プロファイルをさらに含む、請求項２７記載の方法。
【請求項３４】
意味プロファイルを集合させる段階が、
プロファイル・ファイル構文を解析する段階、
プロファイル・ファイル内のあらゆる情報要素上に、プロファイル・ツリーのノードを作成して存在させる（ｐｏｐｕｌａｔｅ）段階、
ノードに関連する事実を作成する段階、
規則がノードの名前、値、親、ラベル、および子を比較するように書かれている規則ファイルに読み込む段階、
事実に基づいて規則を起動する（ｆｉｒｅ）規則エンジンを動作させる段階、
事実が起動されたときに、プロファイル・ツリーの少なくとも１つのノードを変換する、対応するメソッドを呼び出す段階、ならびに
変換のためにメソッドをサブツリーに接続する段階
を含む、請求項１２記載の方法。
【請求項３５】
事実および規則はＪｅｓｓシステムで表現され、メソッドはＪａｖａプログラミング言語で表現される、請求項３４記載の方法。
【請求項３６】
クライアントを意味ネットワークに接続する方法であって、
意味ログ・キーパと連絡をとる段階、
意味ログ・キーパから得られた経路指定データを用いて、異なる意味ルータに問い合わせる段階、および
問合せに対する応答に基づいて適切な意味ルータを選択する段階
を含む方法。
【請求項３７】
選択された意味ルータが、コンテント消費者から意味プロファイルを受信する段階をさらに含む、請求項３６記載の方法。
【請求項３８】
選択されたルータがコンテント作成者から意味パケットを受信する段階をさらに含む、請求項３６記載の方法。
【請求項３９】
コンテントを公表する方法であって、
コンテント・プロファイルを受信する段階、
コンテント・プロファイルを他のコンテント・プロファイルと共に集合させる段階、
集められたコンテント・プロファイルを意味ネットワークに配信する段階、
集められたコンテント・プロファイルを意味ネットワーク内の意味ルータに記憶する段階、
シーク・パケットを受信する段階、および
意味ルータに記憶されている集められたコンテント・プロファイルに部分的に基づいて、シーク・パケットを経路指定する段階
を含む方法。
【請求項４０】
シーク・パケットはリターン・アドレスを含む、請求項３９記載の方法。
【請求項４１】
コンテントをコンテント消費者にプッシュする（ｐｕｓｈ）段階をさらに含む、請求項３９記載の方法。
【請求項４２】
意味プロファイルを集合させるプロファイル・マネージャ、および
集められた意味プロファイルに基づいて、近傍の意味ルータに意味パケットを転送する転送エージェント
を含む意味ルータ。
【請求項４３】
経路指定エンジン、
ネットワーク経路指定エンジン、および
意味パケット経路指定エンジン
を含むマルチプロトコル・ルータ。
【請求項４４】
ネットワークを通してコンテントを経路指定する装置であって、
少なくとも１つの意味ルータを有し、各意味ルータが以下を含む、ネットワークに接続されている装置：
意味パケットを受信する手段、
意味プロファイルを受信する手段、
意味プロファイルを他の意味プロファイルと共に集合させる手段、および
集められた意味プロファイルに基づいて、少なくとも次の宛先にコンテントを経路指定する手段。
【請求項４５】
コンピュータ・システムに、
意味プロファイルを受信させ、
意味プロファイルを他の意味プロファイルと共に集合させ、
意味パケットを受信させ、かつ
集められた意味プロファイルを用いて、受信された意味パケットをネットワークを通じて少なくとも次の宛先アドレスに経路指定させるための、
コンピュータが実行可能な指示を記憶する、コンピュータ可読媒体を含む製品。
【請求項４６】
分散コンピュータ・ネットワーク内のオンライン探索エンジン用の方法であって、
指定されたコンテントに対する興味を受信する段階、
指定されたコンテントに対する該興味を含む、意味プロファイルを作成する段階、
意味プロファイルを意味ルータに伝搬する段階、
意味プロファイルを他の意味プロファイルと共に、少なくとも１つの意味ルータ上に集合させる段階、
集められた意味プロファイルをネットワークを通じて伝搬する段階、
意味パケットを受信する段階、および
集められた意味プロファイルに基づいて、ネットワークを通じて探索エンジンに向けて意味パケットを伝搬する段階
を含む方法。
【請求項４７】
コンピュータで実施される、情報検索方法であって、
意味プロファイルを受信する段階、
意味プロファイルを他の意味プロファイルと共に集合させる段階、
意味パケットを受信する段階、および
意味パケットに含まれているコンテントと集められた意味プロファイルとの比較に基づいて、意味パケットを宛先に経路指定する段階を
含む方法。
【請求項４８】
拡張可能な意味ネットワークであって、
意味ネットワークのノード間に分散された複数の意味ルータを含み、
複数の意味ルータのそれぞれは、他の意味ルータが接続された複数のポートを有しており、
メッセージが、該複数のポートのうちの１つを介して１つの意味ルータを経由して、現在の意味ルータにより受信され、該複数のポートのうちの少なくとも１つを介して好ましい経路に沿って次の意味ルータに送信され、
各意味ルータは、メッセージのコンテントに基づいてメッセージを経路指定する次の意味ルータを決定する、存在論的ツリーを含んでおり、
存在論的ツリーは意味プロファイルの集合に基づく、ネットワーク。
【発明の詳細な説明】
【０００１】
本発明は、米国特許法第１１９条（ｅ）項の規定に従って２０００年８月１６日に出願された仮出願第６０／２２５，５８６号に対して優先権を主張する。この出願は、その全体が参照として明確に本明細書に組み入れられる。
【０００２】
発明の分野
本発明は、経路指定されているコンテントの意味に基づいてこのコンテントをネットワークを通して経路指定する方法、システム、装置に関する。特に、本発明は、情報を、ネットワーク内のルータがコンテントを経路指定するのに用いる存在論的ツリーとして集合させることに基づいてネットワークを通してコンテントを経路指定する方法、システム、および装置に関する。
【０００３】
発明の背景
通信ネットワークの分野では、通信ネットワークの１つの目的は、このネットワークのエンドポイントに情報を供給し、さらに送信するか、あるいは主導手段または自動化手段によってさらに処理するか、あるいは表示または記憶することである。情報は、ネットワーク内でメッセージのコンテントとして送信される。メッセージは、情報に伴う数値アドレスに基づいて経路指定され供給される。しかし、このコンテントは通常、ネットワーク内で使用されるトランスポート機構には見えず、したがって、アドレス指定動作、経路指定動作、または供給動作を実行するときに考慮されない。
【０００４】
コンテント消費者が数値ネットワーク・アドレスや他の一定の形式のリソース・ロケータ、たとえばＵＲＬではなくネットワーク内で利用可能な実際のコンテントに基づいてデータを見つけられるようにすることを試みる方法が現存している。インターネット上でデータを見つけるのに用いられる最も良く知られている方法では、探索エンジンを用いて探索が実行される。通常、インターネット探索エンジンは、ウェブ・ページにインデックス付けすることによって動作し、そのインデックスに基づいて探索結果を消費者に返す。このインデックスは通常、ボット（ｂｏｔｓ）（データを見つけ出すのに用いられるソフトウェア・ツール）を用いてインターネット内を移動し、コンテントを調べ結果にインデックス付けすることによって作成される。この方法にはいくつかの欠点がある。まず、ボッツがインターネット内を移動してウェブ・ページにインデックス付けするには時間がかかる。通常、このようなインデックス付け動作に必要な時間は２８日である。この時間遅延のために、結果として得られるインデックスは通常、インデックス付けサイクルの開始時から著しく変化するかまたは完全に消失したウェブ・ページの多数のリンクを含む。第２に、すべてのウェブ・ページがインデックス付けされるわけではない。したがって、関連情報を記憶するサーバの厳密なリソース・ロケータが分からないかぎりユーザがアクセスできない関連情報が存在する可能性がある。
【０００５】
コンテントとコンテント消費者を一致させる現存する他の方法は、チャネルを使用するものであり、やはり公表／加入方法と密に関連している。これらの方法の下では、どちらの場合も、コンテント消費者が、所定の範囲のコンテントを保持する特定のソースまたはチャネルに加入またはダイヤル・アップ接続する。この一例として、現在廃止されているポイントキャスト（Ｐｏｉｎｔｃａｓｔ、商標）ネットワークがある。この方法に基づくコンテントの配信にはいくつかの欠点が伴う。まず、コンテント消費者は、所望のチャネルがどこにあるかを認識する必要がある。第２に、コンテント消費者は、コンテント消費者が興味があるかどうかにかかわらず、そのチャネル上ですべてのコンテントを受信する。さらに、公表／加入などの、このような多数対多数イベント通知技術は、拡張性およびロバストネスに関して厳密ではない。したがって、このような技術では、当事者がメッセージを持続的に再送する必要がある。その結果、ネットワーク・ノードは、受信された各メッセージが新しいメッセージであるかどうかにかかわらず、そのメッセージに対して経路指定アルゴリズムを再計算する必要がある。さらに、所与のデータ・パケットの経路指定の決定結果を記憶しないノードは、受信された各メッセージに対してアルゴリズムを再計算しなければならない。このため、拡張性（送信側および受信側の数）と、加入および広告言語の意味表現性と、通知持続性（メッセージ頻度）との兼ね合わせを図らなければならない。この兼ね合わせのために、イベント通知技術の商業的な展開は限られた範囲に制限されている（ローカル・エリア・ネットワーク、送信側および受信側の数の制限、関心対象を表現する融通性の制限）。
【０００６】
発明の概要
本発明は、存在論的ツリーとして集められた情報を用いて、データのコンテントに基づいてネットワークを通してデータを経路指定する方法、システム、および装置を提供する。存在論（ｏｎｔｏｌｏｇｙ）は、オブジェクトのために存在すると共にオブジェクト間に存在することのできる概念および関係について体系的に説明するものである。通常、存在論をクラスの分類階層と同一視することによって、これらのクラスの特性は存在論的ツリーを形成するとみなされる。
【０００７】
本発明の例示的な態様では、コンテント消費者はユーザ興味プロファイルをネットワークに送信する。ユーザ興味プロファイルは、他の情報および／または指示フィールドと共に、意味プロファイルになる。ユーザ興味プロファイルは、特定の主題においてコンテント消費者の興味に関する情報を含む。コンテント消費者の意味プロファイルは、消費者プロファイルに対して動作する意味ルータに関連する、複数の意味プロファイル間の重なり合った興味を見つけることによって、この意味ルータに送信される。識別された重なり合った領域は、様々な消費者プロファイルを、コンテントをネットワークを通してコンテント消費者に経路指定するのに用いられる存在論的ツリーとして集合させるのに用いられる。ネットワークは、ネットワークのトポロジーに関する知識を得るために互いに通信し情報を交換する、１つまたは複数の意味ルータを有してよい。意味ルータ間で交換される情報は、ネットワークのトポロジーに関する知識、および近傍のルータに関連する意味プロファイルを含んでよい。トポロジーに関する知識は、たとえば、経路指定ツリーまたは配信リングを構成する際の、ネットワーク内のルータの構成の物理的および論理的な構造と、意味ネットワーク内の互いに隣接する（近傍の）ルータを接続する、直接または間接（マルチホップ）ルータの構成の物理的および論理的な構造を含んでよい。
【０００８】
コンテント作成者は、作成されたコンテントといくつかの他の情報フィールドおよび／または指示フィールドとを含む意味パケットにカプセル化されるコンテントを作成する。意味パケットは、集められた意味プロファイルを経路指定テーブルとして用いて、パケットのコンテントに基づき、ネットワークを通じて最終目的地、たとえば、コンテント消費者に伝搬される。意味ルータは、「蓄積転送」モードで動作し、意味パケットが送信された後そのコピーを保持することはない。
【０００９】
本発明の方法は、（Ｎ）ｌｏｇ（Ｎ）としてスケール変更され、この場合、Ｎはシステム内のノードの数である。この場合、ノードはエンドポイントまたは意味ルータである。
【００１０】
詳細な説明
以下の詳細な説明には、本発明を完全に理解していただくために、本発明のシステムおよび方法、ならびに本発明のシステムおよび方法が動作できる環境に関する、多数の特定の詳細が記載されている。しかし、当業者には、このような特定の詳細なしに本発明を実施できることが明らかであろう。他の例では、本発明の主題を不必要に曖昧にするのを避けるために、公知の構成要素、構造、および技術は詳しく示していない。さらに、本発明の動作を説明するために様々な例を提供する。これらの例が例示的なものであることを理解されたい。本発明の範囲内の他の方法およびシステムがあることが考えられる。さらに、説明を簡略化するために、図面および説明では、同じ要素に言及するのに同じ参照符号を使用している。
【００１１】
システムの概要
図１は、本発明のコンテント経路指定システムの概要である。コンテント消費者１０は、意味ネットワーク３５に入力された、消費者興味プロファイル（ＰＦ）１５を作成することによって、ある種のコンテントの受信に対する興味を表す。個々の意味プロファイルは、意味ルータによって受信される他の意味プロファイルと共に集められる。集められたプロファイルはその後、意味ルータ２０によって意味ネットワーク３５を通じて伝搬される。または、意味ルータは、意味プロファイルがトネリングによって伝搬される従来のＩＰルータを通じて、他の意味ルータと対話する。意味経路指定におけるトネリングとは、意味パケットおよび／または意味プロファイルをネットワーク層データグラムにカプセル化し、インターネットなどの相互ネットワークの、意味経路指定をサポートしない部分を通じて経路指定することを指す。カプセル化は、トンネルへの入口で付加され、トンネルからの出口で除去される。集められた意味プロファイルは意味ルータ２０に記憶され、集められた意味プロファイルに含まれる情報を用いて、意味ルータに到着した意味パケットの経路指定が判定される。
【００１２】
コンテント作成者２５は、コンテント消費者によって消費され、たとえば閲覧されるコンテントを作成するシステムである。コンテントは、作成された後、意味パケット３０としてカプセル化され、ネットワークを通じて他の意味ルータ２０に接続された意味ルータ２０に、直接または従来のネットワーク・ルータを通じて送信される。次いで、意味パケット３０は意味ネットワークを通じてコンテント消費者に向けて伝搬される。意味パケット３０は、意味ルータ２０上に記憶されている集められた意味プロファイルと、コンテント消費者の意味プロファイル１５とコンテント作成者の意味パケット３０のコンテントとの一致とに基づいて、パケットの消費者に経路指定される。
【００１３】
図２は、本発明のシステムの一般的な動作の流れ図である。段階５０で、コンテント消費者ピア・クライアントからの意味プロファイルが意味ネットワークに入力される。段階５５で、コンテント作成者はコンテントを作成する。または、コンテント作成者は、特定の意味プロファイルを作成する前のある時点で消費されるコンテントを作成する。段階６０で、コンテントは、コンテント作成者ピア・クライアント内の分類器によって分類されパケット化される。分類器は、意味ルータによって使用されるコンテントの意味記述を生成する装置および方法である。この分類過程によって、１つまたは複数の意味記述子が生成される。分類器は、さらに意味パケットを効率的に経路指定するために意味ルータによって用いられる、意味署名も算出する。意味署名は、意味プロファイル用の同様の署名と比較できるパケットの情報コンテントの一部または全体の符号化された表現である。可能な意味署名の例は、互いに類似した興味が同一の値を生成するように算出される情報に対して作用する、多数対１関数（たとえば、コンピューティング業界で広く使用されている「ハッシング」関数）によって実現することができるが、それぞれの異なる興味によって（おそらく）異なる値が生成される。次に段階６５で、意味パケットが意味ルータによって意味ネットワーク内で配信される。意味ネットワーク内の各ノードを接続する意味ネットワーク内の各リンクには、意味プロファイルが関連付けされている。意味パケットは、あるリンク用の意味プロファイルと一致するとき、そのリンクを横切って一致するコンテント消費者または消費者に向けて伝搬する。意味パケットは、一致しない場合、転送されることも、転送されないこともある。所与のリンク上でパケットを送信するかしないかを決定する方法をフィルタリングと呼ぶ。経路指定用の宛先アドレスは、意味パケット内の意味記述子によって暗黙的に指定される。段階７０で、コンテント消費者ピア・クライアント内のフィルタでの最終フィルタリング時にコンテント消費者によって消費され、たとえば、閲覧される。
【００１４】
または、本発明は逆に動作することができる。図３は、本発明の上述のシステムの反転動作を示している。反転動作モードでは、システムは、それに属するメモリを有するとみなされる。このモードでは、コンテント消費者１０が興味プロファイルを公表するのではなく、コンテント作成者２５がコンテント・プロファイル１００を公表する。このコンテント・プロファイル１００は次いで、このような他のコンテント・プロファイル１００と共に集められ、意味プロファイル１５と同様に意味ネットワーク３５全体にわたって配信される。意味ルータにおいて、これらのコンテント・プロファイル１００は別々の経路指定データ領域に記憶される。コンテント消費者１０は次いで、意味パケット３０と同様な「シーク・パケット」１０５を送信する。一般的な意味パケット３０の意味ヘッダ１１０内には、サービスＩＤ１１５が含まれている。このサービスＩＤ１１５を用いて意味パケット１５とシーク・パケット１０５が区別される。意味ルータは、意味プロファイル１５の経路指定データを使用するか、それともコンテント・プロファイル１６０用の別々の経路指定データ領域を使用するかを、サービスＩＤを用いて決定する。シーク・パケット１０５は、コンテントをコンテント消費者１０に向けてプッシュするために、コンテント作成者２５によって使用される「リターン・アドレス」も有する。シーク・パケット１０５は、意味ルータにおけるコンテント・プロファイル・テーブルを用いて意味ネットワーク３５内で経路指定される。シーク・パケット１０５がコンテント作成者２５に到達すると、コンテント作成者２５は、シーク・パケット１０５に指定されているリターン・アドレスを抽出する。コンテント作成者２５は、このリターン・アドレスを用いて、従来のネットワーク・アドレス指定によってコンテントをコンテント消費者１０に向けて直接プッシュすることができる。本発明のこの特定の局面の他の態様では、１人または複数のコンテント消費者が、シーク・パケットに一致する興味プロファイル１５を意味ネットワークに入力する。この態様では、シーク・パケットは、リターン・アドレスを含んでおらず、情報は意味ネットワーク３５を通じて供給される。この動作局面では、関連するコンテントを持つコンテント作成者２５に後で供給される探索問合せをシーク・パケット１０５に含めることができるので、ユーザはある種の探索機能を使用することができる。コンテント作成者２５が、そのコンテントをコンテント・プロファイル１００を用いて宣伝するので、関係のないコンテント作成者２５に向けてシーク・パケット１０５を転送する必要はない。さらに、コンテント・プロファイル１００は、意味ネットワーク内でコンテント消費者１０に向けて集合させることができる。これらの動作は、システム全体の拡張性に寄与する。
【００１５】
システムの動作環境
図４は、本発明が動作できる環境を示している。コンテント作成者２５およびコンテント消費者１０は、それらの企業ローカル・エリア・ネットワークまたは大学ローカル・エリア・ネットワーク（ＬＡＮ）１２５に接続されており、エンド・ユーザを形成している。ＬＡＮは、ネットワーク・リンク１３５を通じてインターネット・サービス・プロバイダ（ＩＳＰ）ＬＡＮ１３０に接続されている。ＩＳＰ１３０はインターネット１４０に接続されている。各ＬＡＮ１３０に存在する意味ルータ２０は、インターネット１４０を横切って分散された他の意味ルータ２０に接続されている。他の環境では、コンテント作成者とコンテント消費者を、携帯電話または他の無線媒体を用いて接続することができる。または、コンテント作成者およびコンテント消費者をデータ・センター内に配置することができる。データ・センターとは、高速リンクを有するネットワークに直接接続され、たとえばｅコマースウェブ・ベースのサービスを提供するネットワーク・サーバを管理するウェアハウスである。
【００１６】
ピア・クライアント
図５は、本発明のピア・クライアントの一般的な構造を示している。ピア・クライアントは、コンテント作成者、コンテント消費者、意味ルータ、または別個の物理的マシン内に位置することのできる、このアーキテクチャ内の論理オブジェクトである。ピア・クライアント１５０内の、コンテント作成者とコンテント消費者の両方のモジュールには、クライアント環境１５５、アプリケーション・インタフェース１６０、分類器および／またはフィルタ１６５、および管理モジュール１７０が含まれる。クライアント環境１５５モジュールは、ピア・クライアントがパケットを処理するクライアントを識別するクライアントＩＤを含む。意味プロファイルおよび意味パケットは、クライアント環境１５５に関する情報を含んでいる。アプリケーション・インタフェース１６０は意味ネットワークと特定のアプリケーションとの間のインタフェースである。管理モジュール１７５機能には、近くのアクセス・ポイント意味ルータを見つけ、次いで意味ネットワークとの接続を確立し許可する機能が含まれる。１つまたは複数の分類器１６５は、それぞれの異なる情報ドメインにおいて情報を分類または符号化するのに用いられる。情報ドメインは、意味情報が符号化される形式を決定する。情報ドメインの例として、ＸＭＬ符号化における表現用のスキーマがある、分類器１６５は、新しい分類器１６５を他の分類器に影響を与えずに追加できるように互いに独立に動作する。
【００１７】
意味ルータ
図６は、本発明の意味ルータの一般的な構造を示している。意味ルータ２０は、４つの構成要素を含んでいるが、これらに制限されない。意味ルータに含まれている構成要素は、転送エージェント１７５、負荷マネージャ１８０、シグナリング・エージェント１８５、プロファイル・マネージャ１９０である。シグナリング・エージェント１８５は、様々な意味ルータ２０間の管理情報の送信を処理する。シグナリング・エージェント１８５はまた、他の近傍の意味ルータ２０と経路指定データ１７６を交換する。シグナリング・エージェント１８５は、意味ルータ２０の近傍のルータとの接続性を認識するのに用いられる。転送エージェント１７５は、それが意味ネットワークに関して有しているデータに基づいて意味パケットを近傍の意味ルータ２０に転送する。このデータには、近傍のルータ同士間の情報の交換から得られるトポロジー情報と、所与の意味ルータを意味ネットワークに接続するのに用いられるリンクに関連する興味プロファイルが含まれるが、これらに限らない。他のデータとして、近傍の意味ルータに関するロード情報を含めてよい。このデータを経路指定データ１７６と呼ぶ。転送エージェント１７５は、経路指定キャッシュ１７７と経路指定データ１７６の両方を含んでいる。経路指定キャッシュ１７７は、着信意味パケットの高速参照を実行し、パケットをどこに転送すべきかに関する決定を下すのに用いられる。経路指定データ１７６は、経路指定キャッシュ１７７での参照が失敗したときに使用される。負荷マネージャ１８０は、意味ルータ２０の処理負荷の平衡を保つ。プロファイル・マネージャ１９０はコンテント消費者の意味プロファイルを集合させる。
【００１８】
意味ルータ内の上記の構成要素のうちのいくつかは対話する。負荷マネージャ１８０は、プロファイル・マネージャ１９０と対話し、処理負荷と意味ルータのスループットとのバランスを維持する。本発明では、負荷マネージャ１８０は、プロファイル・マネージャ１９０によって実行される集合過程の「精度」を低くすることによって経路指定プロファイルを簡略化することができる。集められた意味プロファイルの精度を低くすると、意味ルータ内で経路指定方法をより効率的に実現できるようにするより少ない数の要素を有する意味プロファイルが生じる。しかし、性能がこのように向上することによって、あるリンク用の意味プロファイルの外側にあるパケットがこのリンク上で転送されることがある。このようなパケットは、このリンク上の漏れを構成する。漏れによって、意味パケットの処理は近傍の意味ルータに委任される。この委任は、処理の需要をあるルータから別のルータに移す助けになる。漏れによってシステム全体の経路指定動作の呼出し時間が長くなる。なぜなら、パケットが有限の帯域幅のリンク上で不必要に転送されるからである。意味ルータ２０の負荷マネージャ１８０は、単一のルータ上の処理負荷の低減とシステムの呼出し時間の全体的な延長との平衡を保つ。受信側意味ルータ２０は、それ自体の負荷マネージャ１８０を通じて、取り扱いたい処理の量をそれ自体で決定することができる。任意の特定の意味ルータがそれぞれの異なる精度を有する複数の意味プロファイルを維持することができる。負荷マネージャは、意味ルータ２０に対する現在の処理負荷に基づいて、意味パケットの経路指定にどの意味プロファイルを用いるかを「実行時」に動的に選択することができる。意味ルータに対する処理負荷が非常に大きい場合、ルータは、より精度の低い意味プロファイルに切り換え、したがって、処理負荷をその近傍のルータに委任することができる。一方、意味ルータの負荷が軽い場合、意味ルータはそれ自体でパケットをより正確にフィルタリングし、その近傍に対する負荷を少なくすることができる。
【００１９】
負荷マネージャ１８０は、近傍の意味ルータに対する処理負荷も検査する。負荷マネージャ１８０は、近傍の意味ルータと対話するシグナリング・エージェント１８５と対話することによってこれを行う。各意味ルータは、その近傍の意味ルータに対する負荷に基づいて実行すべき処理のレベルをさらに選択することによって、ネットワークの最適なスループットおよび全体的な効率に個々に寄与する。
【００２０】
図７Ａおよび７Ｂは、本発明の意味ルータ２０の一般的な動作の流れ図である。段階２００で、意味パケットがルータに到着する。段階２０５で、負荷マネージャ１８０はルータが混雑しているかどうかを検査する。ルータが混雑している場合、段階２１０で、パケットはそれ以上処理することなしに下流側ルータに送信される。段階２６５で、意味ルータのすべての出力ポート（すなわち、パケットをこのルータに送信したマシン以外のマシンへのすべてのリンク）が選択され、段階２５５で主処理分岐が再連結される。しかし、意味ルータ２０が混雑していない場合、段階２２０で、パケットが転送エージェントに与えられ、転送エージェントは、意味パケットに含まれている意味署名に基づいて経路指定キャッシュにおいて高速参照を実行する。この高速参照の目的は、パケットが誤って拒絶されることがなくなり、最終的にフィルタリング過程にパスしないパケットが高速に検出されるように、データに対して予備的であるが高速の突合せを実行することである。高速参照を実行する方法は、完全なフィルタリング動作が必要とされるパケットの数を減らすことによって、意味ルータのスループットが増えるように最適化されている。段階２２５で、意味ルータは、キャッシュ参照動作が成功したかどうかを判定し、成功した場合、通常の探索はバイパスされる。しかし、高速参照が失敗した場合、段階２３０で、パケットの意味記述子が通常経路指定データと突き合わせて探索される。段階２３５で、意味ルータは、一致が経路指定キャッシュまたは通常経路指定データにおいて見つかったかどうかを判定する。一致が見つらなかった場合、段階２４０で、コンテント作成者に向けてプルーン・メッセージが送信される。プルーン・メッセージは、コンテント作成者側の意味ルータに、この意味ルータには意味パケットを転送しないよう通知する。このプルーン・メッセージは、ネットワーク・トラフィックを低減させ、本発明の拡張性に寄与する。プルーン・メッセージは、所定の期間後に無効になる状態情報として意味ルータ内に維持される。プルーン状態が無効になると、コンテント作成者側の意味ルータは、プルーン・メッセージを送信した意味ルータに向かって再び意味パケットの転送を開始する。この場合も、転送は、プルーン・メッセージを送信した意味ルータにリンクされたコンテント消費者および意味ルータによって送信された意味プロファイルに基づいて行われる。
【００２１】
段階２２５または段階２３５で一致が見つかった場合、段階２４５で、対応する経路指定データ・エントリが読み取られ、エントリに関連する出力ポートが識別される。段階２５０で、転送エージェントは、負荷マネージャの助けで、新しい意味パケットについてのポート経路指定決定を反映するように経路指定キャッシュを更新する。経路指定キャッシュを更新すると、将来到着する意味パケットがキャッシュ内で一致する確率が高くなる。このことは、コンテント作成者が関連するパケットの「バースト」で関連するコンテントを放出するときのように、連続するかまたはほぼ連続する意味パケット間に高度の相関があるときに当てはまる。本発明内でこの相関を利用すると、意味ルータの全体的なスループットが高くなる。段階２５５で、意味パケットは、段階２５０または段階２６５で判定された示された出力ポートに対して複製される。上記の動作が行われている間、段階２６０で、意味ルータの負荷マネージャはさらに、他の意味ルータおよび意味ログ・キーパ（Ｓｅｍａｎｔｉｃ Ｌｏｇ Ｋｅｅｐｅｒ、ＳＬＫ）９００とバックグラウンドで通信する。この過程は、シグナリングと呼ばれ、以下の「システムへの新しい意味ルータの追加」という節に記載されているが、意味ネットワークの現在のトポロジーおよびそれに対して起こった変化に関してルータを更新し続けることを含む。上記のシグナリング動作は、近傍の意味ルータの経路指定データのコンテントに対して意味ルータを更新し続けることによってネットワーク全体のロバストネスを確保する助けになる。
【００２２】
意味ログ・キーパ
意味ログ・キーパ９００は、作成者、消費者、および意味ルータが意味ネットワークを形成するように互いに接続するのに必要な情報を維持する。意味ネットワークがオーバレイ・ネットワークとして実現される場合、各構成要素間に直接的なピア・ツー・ピア物理リンクはない。意味ログ・キーパは、ネットワーク用の既知の接触点を形成することによって構成要素同士が接続できるようにする。すべての構成要素は、意味ログ・キーパと通信して、ネットワークの現在の状態に関する情報を検索する。さらに、各構成要素はＳＬＫに定期的なメッセージを送信し、依然としてネットワークに接続されていることを確認する。通常、意味ログ・キーパ機能は、意味ネットワークが実行されているネットワーク内の管理・動作ステーションで実現される。
【００２３】
意味パケット
図８は、本発明の意味パケットの一般的な構造を示している。本発明の意味パケット３０は、たとえばヘッダ４００およびコンテント４２０を含んでいる。意味パケット３０のヘッダ４００は、たとえば、プリアンブル４０５、少なくとも１つの意味署名４１０、および少なくとも１つの意味記述子４１５を含んでいる。任意に、ヘッダ４００は、タイム・ツー・リブ（Ｔｉｍｅ ｔｏ Ｌｉｖｅ、ＴＬＬ）フィールドおよび送信側ＩＤ以外の他の指定されないフィールドを含んでもよい。プリアンブル４０５は、たとえば区別化されたサービス・クラスまたはセキュリティ機能を示す、将来の拡張に関して予想されるフィールドを含んでよい。ヘッダ４００は、たとえば、Ｊａｖａまたはｌｉｓｐや、ＰＬＡＮやＮｅｔｓｃｒｉｐｔなどのアクティブ・ネットワーキング業界で一般に使用されている言語などであるが、それらに限らない、ネットワーキング業界で用いられているプログラミング言語で記述することができる。または、ヘッダ４００は、標準汎用記述言語（ＳＧＭＬ）、または拡張可能記述言語（ＸＭＬ）のようなＳＧＭＬの部分集合で記述される。意味署名４１０は、上述のように、意味ルータの経路指定キャッシュで高速参照を行うのに用いられる。意味署名４１０が存在すると、いくつかの意味パケットに対して経路指定動作を実行するのに必要な処理時間が短くなることによって意味ルータのスループットが高くなる。意味記述子４１５は、経路指定されているコンテント４２０の実際の記述である。意味記述子４１５は、意味署名４１０による意味ルータ内の高速参照が失敗したときに意味パケット３０を経路指定するのに用いられる。意味パケット３０のコンテント４２０は、消費すべき実際のコンテントまたはコンテントのポインタであってよい。ネットワーキング業界で一般に使用されているポインタの一例としてＵＲＬ（Ｕｎｉｆｏｒｍ Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ）がある。
【００２４】
意味プロファイル
図９は、コンテント消費者によって表された意味プロファイル１５の一般的な構造を示している。本発明の意味プロファイルの一般的な構造は、たとえば、プリアンブル５００、少なくとも１つのプロファイル署名５０５、少なくとも１つのプロファイル記述子５１０、有効期間フィールド５１５、認証５２０、コマンド・フィールド５２５を含む。意味プロファイル１５のプリアンブル５００は意味パケットのプリアンブルに類似しており、コマンド・フィールドの値が異なる。実際のプロファイルのコンテントを伝えるために１つまたは複数のプロファイル記述子５１０が用いられる。プロファイル署名５０５は、興味プロファイルが既存のプロファイルから更新されている場合にネットワーク内で既存の意味プロファイルを見つけるのに用いられる。意味プロファイルは、有効期間フィールド５１５によって示される限られた時間の間記憶される。プロファイルは、有効期間フィールド５１５に指定された時間が満了した後無効になる。意味プロファイルを常に有効にするには、上記の時間が満了する前に意味プロファイルを新しい意味プロファイル１５でリフレッシュする必要がある。プロファイル署名５０５は、既存のプロファイルを見つけ、したがって、プロファイルが無効になっているかどうかを判定するのに用いられる。認証データ５２０は、意味プロファイル１５のＩＤを検証するために与えられている。認証データは、悪意あるユーザが真正な意味プロファイル１５を無効化するのを妨げる。または、意味ルータおよびコンテント消費者内で、この２つの当事者によって保持されている認証情報に関連してこのフィールドのコンテントを処理し、関与する当事者の相互の評判または背景を検査することができる。これによって信頼関係が確立され、コンテント消費者には、意味ルータから供給された情報が、コンテント・プロバイダから供給されてから悪意に変更されていないと信じてよいと感じられる。コマンド・フィールド５２５は、意味ルータが意味パケットのコンテントを処理する方法に関する、意味ルータのための情報を含んでいる。または、コマンド・フィールド５２５は、追加のコマンドを含むように拡張することができる。たとえば、コマンド・フィールド５２５は、認証データ５２０が、サード・パーティ・データベースを用いてユーザを検証するためのデジタル署名として使用されることを示すことができる。他の例示的な例として、コマンド・フィールド５２５は、認証フィールドがブラックリストに載せるべき１人または複数のユーザを識別していることを示すことができ、それにより、このようなユーザはその後、サードパーティ・データベースを用いて評判を検査された後に意味ネットワークから除外される。
【００２５】
意味プロファイルの集合
図１０は、集められた意味プロファイルの例を、ベンの図示を用いて示している。意味プロファイル１５は、コンテント消費者の興味プロファイルを含んでいる。興味プロファイルは基本的に、コンテント消費者が消費したいコンテントの種類の表現である。興味プロファイルの一例として、コンテント消費者Ａが野球に興味があるが、ニューヨーク・ヤンキーズＴＭに関係する試合にしか興味がない場合が挙げられる。しかし、コンテント消費者の意味プロファイル１５は、各コンテント消費者の興味間に高い相関が存在するため、重なり合うことがある。上記の例の拡張として、コンテント消費者Ａ’の興味プロファイル（プロファイル１）が他のコンテント消費者の興味プロファイル（プロファイル２およびプロファイル３）と重なり合っているものとする。他のコンテント消費者、たとえばＢ（プロファイル２）はメジャー・リーグ・ベースボールに興味があるが、アメリカン・リーグ・イーシタン・デビジョンのチームにしか興味がなく、別のコンテント消費者Ｃ（プロファイル３）は、アメリカン・リーグの野球チームにしか興味がない場合には、コンテント消費者Ａ、Ｂ、およびＣの意味プロファイル１５はヤンキーズに関するコンテントに関して重なり合う。図１０において、集められたプロファイル６００は、密な実線で示されている。
【００２６】
プロファイルの集合は、プロファイルの単なる加算よりも効率的である。この効率は、それぞれの異なる個々のプロファイル間の高度の相関の結果である。本発明におけるプロファイルを集合させる方法は、システム全体の拡張性に寄与する。集合によって、意味ネットワーク内のプロファイルの総数が少なくなる。意味プロファイルを集合させる概念は、従来のＩＰネットワークにおけるサブネット化およびスーパーネット化に類似している。各意味ルータにおいて各リンクごとに集められたプロファイルは、経路指定データとして記憶され、意味パケットを経路指定するのに用いられる。
【００２７】
任意に、意味プロファイルの集合は厳密でなくてもよい。集合の精度は、１つが意味ルータに対する処理負荷であるいくつかの因子に依存する。意味プロファイルの集合が厳密でない場合、情報空間６０５内の、漏れと呼ばれるある追加の情報６１０を、集められた意味プロファイル１５を用いて伝搬することができる。漏れのために、コンテント消費者の意味プロファイル１５によって指定されていない意味パケット（すなわち、コンテント）６１５が実際に、コンテント消費者に向けて転送されることがある。意味プロファイルの集合が厳密である場合、このような追加の意味パケットがコンテント消費者に向けて転送されることはない。
【００２８】
意味ネットワーク内で意味プロファイルを表すには、ネットワーク内にこのプロファイルの表現が存在する必要がある。この表現をスキーマと呼び。このようなスキーマは融通性に富み、必要に応じてプロファイルの追加／削除／修正を可能にしなければならない。このようなスキーマの一態様では、プロファイルをツリーとして表すことができる。ツリーのルートは、たとえば、Ｓｅｍａｎｄｅｘルート・ノードを識別するルート・ノードである。このルートからツリーの葉に向かう経路は、特定のプロファイルの一構成要素である。記述言語ＸＭＬで表されたこのようなプロファイルの一例を以下に示す。
2004507159.tif 000003
【００２９】
上記のプロファイル例に示したように、プロファイルに関連する複数のスキーマがあってよい。この例では、一方のスキーマ（ｏｐ：ｈｔｔｐ：／／ｓｃｈｅｍａ．ｓｅｍａｎｄｅｘ．ｎｅｔ／ｏｐｅｒａｔｉｏｎｓ／１．０）は、互いに異なるプロファイルを論理的に組み合わせる演算子用の、すべてに共通するスキーマである。他方のスキーマは、この情報空間に特有のスポーツ・スキーマ（ｓｘ：ｈｔｔｐ：／／ｓｃｈｅｍａ．ｓｅｍａｎｄｅｘ．ｎｅｔ／ｓｐｏｒｔｓ／１．０）である。図１１は、（ルートからの）様々な道が、演算子によって組み合わされるスキーマの構成要素を表す、上記のプロファイル用のツリー構造の図である。本発明におけるプロファイルを集合させる方法は、結果として得られる表現が最初の表現よりも簡略化される（ノードまたは演算子が少なくなる）ような論理演算子の処理である。
【００３０】
これらのプロファイルは経時的に変化することがある。変化の頻度は、プロファイルに表される所望の種類に応じて様々である。たとえば、短期が望まれる場合がある。そのような望みの例として、ある品目をある価格で購入するための問合せが挙げられる。この品目が購入された後、この望みをコンテント消費者のプロファイルに維持する必要はなくなる。一方、長期が望まれる場合もある。これは、コンテント消費者の興味がある期間にわたって変化するときに起こる。したがって、この２つの極端なケース間でプロファイルが変化する。長期プロファイルの例には、「スポーツのテレビ放送」に対するコンテント消費者の興味が挙げられる。このような興味は長期的であり、経時的にほぼ一定である。これは、２年に一度しか放送されず毎回数週間で終了する「オリンピック・テレビ放送」に対する興味のような、同じ情報空間における短期プロファイルと対称的である。この望みは、前の望みほど連続的ではない。オリンピック・テレビ放送は消費され、オリンピックが終了した後、コンテント消費者はもはやオリンピックに関する情報には興味を示さない。次いで、「ゴルフに関する特定のアドバイスを探す」ことのようなずっと短期的な望みがある。このアドバイスが見つかった後、この興味をプロファイルに維持する必要はなくなる。
【００３１】
プロファイルを集合させると、本発明の拡張性に寄与する以下の利点が与えられる。（ｉ）多数の個々のプロファイル間の相関が利用される。（ｉｉ）意味ルータにおける経路指定動作が簡略化され高速化される。（ｉｉｉ）意味ルータで必要とされる記憶域の量が少なくなる。（ｉｖ）集めされたプロファイルに基づいてサブネット化が実現される。（ｖ）経路指定における拡張性が実現される。
【００３２】
複数のプロファイルを併合する最も簡単な方法は、ブール「ＯＲ」演算子を使用し、この演算子の下に２つ以上のプロファイルを置く方法である。この例は図１２の段階１２１０に示されている。しかし、上述のすべての利点を得る場合、論理「ＯＲ」ノードを追加することによってプロファイルを組み合わせるこの簡単な方法は、プロファイル・データの全体的な複雑さを低減させないので十分ではない。さらに、段階１２１０に続いて、ルート・ノードから始めることにより、ソース・プロファイルにおいて共通の道を横切ることが可能である。プロファイル同士が異なる場合はいつでも、宛先プロファイル内に共通の「ＯＲ」演算子ノードが作成され、ソース・プロファイル上の別々の道がそのノードに接続される。この例が図１２の段階１２２０に示されている。ノードＡおよびＢを含む道は、両方のプロファイルに共通である。２つのプロファイルはノードＣおよびＤでは異なっている。本発明の方法のこの局面によれば、共通の「ＯＲ」ノードはノードＢの下に作成され、２つのノードＣおよびＤは共通の「ＯＲ」ノードの下に接続される。当業者には、他の形式の論理演算が可能であり、この連結が単一の演算についての２つの子ノードのみに限らないことが容易に理解されよう．
【００３３】
本発明では、ブール代数を適用することによってさらに簡略化が行われる。たとえば、本発明では、論理「ＯＲ」がその点で情報空間全体を包含する可能性を利用する。たとえば、一方が、値が正である（値＞０）ことを試験し、他方が、値が１よりも小さい（値＜１）ことを試験する２つのノードを、論理「ＯＲ」演算によって連結すると、常に真である条件が生成される。このようなノードは、宛先プロファイルから削除することができる。これを実現すると共に、他の改良された集合を実現するための高レベルアルゴリズムを以下に示す。
【００３４】
１．個々のプロファイルが同じである間これらのプロファイル内のルートからの道を横切る。
２．プロファイルが異なるものになった後、その場所に共通のＯＲノードを置く。
３．次いで、個々のプロファイルをこれらの共通のＯＲ親の子として接続する。
４．このような組み合わされたツリー上で、いくつかのブール簡略化規則を適用する。
【００３５】
簡略化規則によって論理的に等価のツリーが生成される場合、プロファイルをコンテントと照合した結果は両方のツリーについて同じになる。または、簡略化されたツリーが、最初のツリーよりも多くのコンテントに一致することがある。たとえば、ツリーの「ＯＲ」ノードを削除することによって２つの試験（値＜０）「ＯＲ」（値＞１）を組み合わせた場合、範囲（０≧値≧１）内の値は、簡略化されたツリーにおける比較にパスする。このような簡略化によって漏れが発生し、追加のパケットが転送され、一致の高速化が妨げられる。漏れが導入されるかどうかはさらに、ドキュメントのサンプル空間内の値の分布によって決定される。前の例では、０と１の間のたいていの値を有する分布から外側の値のみを取り込むように試験が構成されている場合、このような簡略化によってネットワーク・トラフィックが大幅に増大する。
【００３６】
ＦＯＲＴＲＡＮやＣのような従来のコンピュータ・プログラミング言語は、データ（数やアレイなど）の手続き式操作向けに構成され最適化される。しかし、人間は、従来のプログラミング言語における実現態様にそれほど適していない、象徴的で抽象的な手法を用いて複雑な問題を解くと考えられている。これらの言語では抽象的な情報をモデル化できるが、情報を手続き式プログラミング・パラダイムと併用可能なフォーマットに変換するのにかなりのプログラミング作業が必要である。人工インテリジェンスの分野における研究によって、プログラミング言語またはコンピュータ・ベースのツールで具体化される技術が開発されており、このような技術により、実現態様において人間の論理によく似ており、したがってこれらの複雑な問題を解くのに適しているとみなされるプログラムを構築することができる。通常、このようなプログラムは、明確に定義された問題ドメインにおいて人間の専門知識をエミュレートするプログラムであり、エキスパート・システムと呼ばれている。
【００３７】
規則ベースのプログラミングは、エキスパート・システムを開発するために最も一般的に使用されている技術の１つである。このプログラミング・パラダイムでは、所与の状況に対して実行すべき１組の行動を指定するヒューリスティック、すなわち学習された挙動を表すのに規則が用いられる。通常、このようなシステムでは、規則は、ｉｆ部とｔｈｅｎ部で構成される。規則のｉｆ部は、規則を適用可能にする事実（またはデータ）を指定する一連のパターンである。事実をパターンに一致させる過程を照合と呼ぶ。エキスパート・システム・ツールは、自動的に事実をパターンと照合し、どの規則が適用可能かを判定する推論エンジンと呼ばれる機構を形成する。事実の所与の構成について複数のパターンを照合することができるので、規則のｉｆ部はさらにｗｈｅｎｅｖｅｒ部とみなすことができる。規則のｔｈｅｎ部は、この規則が適用可能であるときに実行すべき１組の行動である。適用可能な規則の行動は、推論エンジンが実行開始するよう指示されたときに実行される。推論エンジンは、１つまたは複数の照合規則を選択し、次いで、選択された規則の行動が実行される（この場合、事実を追加または削除することによって適用可能なリストが影響を受けることがある）。次いで、推論エンジンは、他の規則を選択し、その行動を実行する。この過程は、適用可能な規則がなくなるまで継続する。
【００３８】
このようなエキスパート・システム・プログラミング言語の一例として、Ｊａｖａエキスパート・システム・シェル（Ｊｅｓｓ）は、全体的にカリフォルニア州リバモア（Ｌｉｖｅｒｍｏｒｅ）のサンディア国立研究所（Ｓａｎｄｉａ Ｎａｔｉｏｎａｌ Ｌａｂｏｒａｔｏｒｉｅｓ）のアーネスト・フリードマン−ヒル（Ｅｒｎｅｓｔ Ｆｒｉｅｄｍａｎ−Ｈｉｌｌ）によってＳｕｎのＪａｖａ言語で書かれた規則エンジン・スクリプティング環境である。Ｊｅｓｓは最初、Ｃ言語統合開発システム（ＣＬＩＰＳ）エキスパート・システム・シェルの影響を受けた。本発明の一態様として、Ｊｅｓｓシステムは、宣言規則の形で供給される知識を用いて、このようなエキスパート・システムを含むＪａｖａアプレットおよびアプリケーションを符号化するのに用いられる。本発明では、Ｊｅｓｓシステムは以下の方法を実現するのを可能にする。（ｉ）プロファイル・ツリーのすべてのノードを事実で表現する。（ｉｉ）事実を変換するＪｅｓｓ言語で簡略化規則を書く。（ｉｉｉ）事実に対するすべての演算をツリーノードに反映できるように、事実のＪｅｓｓ表面と容易に統合されるＪａｖａプログラミング言語におけるソフトウェア・コンポーネントとしてツリーノードを実現する。（ｉｖ）Ｊｅｓｓ表現の平文で表されたエキスパート・システムに新しい規則を追加する。
【００３９】
意味プロファイルを集合させるアルゴリズムの例は以下のとおりである。
１．プロファイル表現に適したパーサを用いてプロファイル・ファイルを解析する。
２．プロファイルの各要素ごとにプロファイル・ツリー内に新しいノードを作成し初期設定する。
３．表現ツリー内の各ノードに関連するＪｅｓｓ事実を作成する。
４．Ｊｅｓｓ規則言語で表された規則ファイルを読み取る。
５．１つまたは複数の照合規則を選択し、それらの規則に関連する行動を実行する推論エンジンを実行する。
６．対応するＪａｖａメソッドが、規則によって表される簡略化に従ってノードまたはツリーを変換するように、特定の規則の行動にＪａｖａメソッドを関連付ける。
７．メソッドによって実行されるノードの例示的な変換は、子の追加（ａｄｄＣｈｉｌｄ）、子の除去（ｒｅｍｏｖｅＣｈｉｌｄ）、子の削除（ｄｅｌｅｔｅＣｈｉｌｈｄ）、および親の設定（ｓｅｔＰａｒｅｎｔ）を含む。
８．メソッドによって実行されるサブツリー全体の例示的な変換は、併合（ｍｅｒｇｅ）、重複の除去（ｒｅｍｏｖｅＤｕｐｌｉｃａｔｅ）、および接続（ａｔｔａｃｈ）を含む。
９．ノードの名前、値、親、ラベル、または子を比較することによってエキスパート・システム規則を照合する。
ツリーのノードを表す例示的なＪｅｓｓ事実を以下に示す。
2004507159.tif 000004
重複ノードを除去する例示的な規則は以下のイディオムで書かれる。
2004507159.tif 000005
規則は、複雑な変換を実行する簡単な演算で構成される。このような演算は、規則が選択されたときに事実を修正することによって行われ、それによって他の規則を選択させることができる。規則のこの連鎖によって、ツリーが全体的に変換される。本発明は、互いに組み合わされたときに複雑な変換を行い、ツリーを全体的に簡略化する１組の簡単な規則を具体化する。
【００４０】
集合エンジンは、ネットワーク内の各意味ルータで実現される。１組の入力ポートから入力されたプロファイルは、各エンジンによって集められ、すべての出力ポートに送信される。これと同じ動作がすべての意味ルータで実行される。特定の意味ルータがプロファイルを入力ポート上で受信すると、この意味ルータはこのプロファイルをポートに関連付ける。あるデータが入力されると、ルータはプロファイルをこのデータと比較し、データのコンテントとポートのプロファイルが一致した場合、このポート上で出力を送信する。データとプロファイルとの間に共通するものがない場合、このポート上では何も送信されない。図１３は、上記の点を示している。意味ルータＢ６８０は、プロファイルＲＰ１６８１およびＲＰ２６８２を集合させ、その結果、ＲＰＢが意味ルータＡ ６８４に送信される。意味ルータＡはこのプロファイルをポートに関連付け、ＡとＢを接続する。意味ルータＡ６８４にあるデータが入力されると、意味ルータＡ６８４はコンテントをプロファイルＲＰＢ６８３と比較する。一致した場合、意味ルータＢ６８０に出力が送信される。意味ルータＢ６８０はデータをプロファイルＲＰ１６８１およびＲＰ２６８２と比較し、それに応じてデータを転送する。
【００４１】
コンテント作成者
図１４は、コンテント作成者の一般的な動作を示している。段階７００で、コンテント作成者は、送信すべき新しいコンテントがあるかどうかを検査する。新しいコンテントがない場合、段階７０５で、コンテント作成者は、古いパケットを再び送信する必要があるかどうかを検査する。パケットを再び送信する必要がない場合、コンテント作成者は何も行わず、新しいコンテントを作成するのを待つ動作に戻る。パケットを再び送信する必要がある場合、段階７１０で、コンテント作成者は交渉済みの時間間隔の後で古いパケットを送信する。段階７００で判定された新しいコンテントがある場合、段階７１５で、このコンテントがローカル・アプリケーションから検索される。段階７２０で、コンテントが処理され、意味コンテント記述および意味署名が得られる。意味記述子はコンテントの意味を記述する。または、意味記述子は他のプレスホルダ・フィールドを有する。このようなプレースホルダは、意味ネットワーク上で動作しているアプリケーションによって利用しかつ／またはカスタマイズすることができる。段階７２０で、必要に応じて、プレースホルダに環境特有の情報が充填される。意味署名は、意味記述子およびコンテントに関して算出される。この意味署名は、意味パケットをネットワーク内で効率的にかつ迅速に経路指定するために転送エージェントによって利用される。段階７２５で、段階７２０で算出されるかあるいは導かれた情報が、単一の意味パケットを形成するように最初のコンテントと組み合わされる。段階７３０で、意味パケットは、交渉済みの測度でこの意味ルータのすべての近傍の意味ルータに送信される。段階７３５で、パケット・カウンタが、負荷マネージャが使用できるように更新される。
【００４２】
コンテント消費者
図１５は、コンテント消費者の一般的な動作を示すフローチャートである。段階８００で、コンテント消費者は、ユーザ興味プロファイル（ＵＩＰ）と呼ばれる意味プロファイルを生成し、この意味プロファイルを意味ネットワークに入力する。または、ユーザ興味プロファイルは、いくつかの関心対象領域を表し、上述の方法によって生成され集められるプロファイルである。意味ネットワークは、図１４の方法に従ってコンテント消費者の意味プロファイルに一致するパケットを経路指定する。段階８０５で、コンテント消費者は、これらの意味的に関連するパケットを意味ルータから受信する。段階８１０で、コンテント消費者は、通信ネットワーク・プロトコルで一般に使用されている識別フィールドまたは配列フィールドを用いて、パケットが重複しているかどうかを判定する。パケットは、重複していると判定されると、段階８１５で何もされずに破棄される。段階８１０により、意味ネットワーク上で動作しているアプリケーションが、冗長で重複した情報を負担させられることはなくなる。パケットは、段階８１０で重複していないと判定された場合、段階８２０でコンテント消費者ピア・クライアント内のフィルタによってフィルタリングされる。段階８２０により、前述のプロファイル集合法によって導入される漏れの結果としてリンク上で送信されるパケットが、コンテント消費者に供給されることはなくなる。フィルタリングは、パケットの意味コンテント記述子と消費者のユーザ興味プロファイルとの間に厳密な照合アルゴリズムを適用することによって行われる。次いで段階８２５で、パケットがアプリケーションに供給される。本発明の範囲内ではアプリケーションの種類は指定されない。例示的なアプリケーションには、電子メール記憶システム、ウェブ・ブラウザ、自動化命令処理ソフトウェア、およびその他の汎用データ処理アプリケーションが含まれる。段階８３０で、コンテント消費者は、ネットワーク内のコンテント消費者のプロファイルをリフレッシュすべき時期か否かを判定する。プロファイルをリフレッシュする必要がある場合、段階８００で、プロファイルが再び送信され、リフレッシュする必要がない場合、コンテント消費者は、意味パケットの受信モードに戻る。
【００４３】
システム内のクライアントと意味ルータとの対話
図１６は、ピア・クライアント１５０と意味ルータ２０の選択された構成要素との間で行われる一般的な管理動作を示すブロック図である。ピア・クライアント１５０と意味ルータ２０は共に、ブートストラッピング動作のために意味ログ・キーパ（ＳＬＫ）と対話する。ＳＬＫ９００は意味ルータ・データ９０５を維持する。ピア・クライアント１５０または意味ルータ２０は、意味ネットワークに導入されると、ブートストラッピング・データ９１０を得るためにＳＬＫ９００と連絡をとる。ピア・クライアント１５０内の管理モジュールは、ＳＬＫ９００との対話を処理する。ピア・クライアント１５０および意味ルータ２０はこのデータを用いてネットワークの最初の理解を得る。ピア・クライアント１５０は、ＳＬＫ９００内のデータを用いて近くの意味ルータ２０に問い合わせることができる。問合せの応答によって、ピア・クライアント１５０は１つまたは複数の適切な意味ルータ２０を見つけることができる。意味ルータ２０はまた、ブートストラッピング・データ９１０を用いて１つまたは複数の適切な近傍の意味ルータを見つける。意味ルータ２０同士は、そのシグナリング・エージェント１８５を用いて互いに対話する。意味ルータ２０内の負荷マネージャ１８０は、意味ルータ２０に対する処理負荷を監視する。処理負荷に関する情報は、ヘルス・チェック・データ９１５としてＳＬＫ９００に伝達することができる。プロファイル・マネージャは、シグナリング・エージェントと対話し、近傍の意味ルータ２０とプロファイルを交換する。
【００４４】
システムへの新しいクライアントの追加
図１７は、意味ネットワークへの新しいクライアントの追加を示すフローチャートである。段階１０００で、クライアント環境が初期設定される。段階１００５で、意味ネットワークのＳＬＫとの連絡がとられる。ＳＬＫは、前節の方法に従って、ネットワーク内にすでに存在する意味ルータから供給された、意味ネットワークの現在のトポロジーに関する知識を含んでいる。ＳＬＫは、これらのデータの部分集合を新しいクライアントに供給する。段階１０１０で、ピア・クライアントは、これらのデータを用いて、それぞれの異なる意味ルータに１組のサービス・パラメータを問い合わせることによって、意味ネットワークへの適切な接続点を判定することができる。段階１０１５で、ピア・クライアントは、問合せを受けた意味ルータからの応答に基づいて、接続すべき適切な意味ルータを選択することができる。意味ルータが適切であるかどうかは、この特定のクライアントによって判定される。意味ルータが適切であるかどうかを決定することのできるサービス・パラメータの例には、ネットワークにおける近接さ、意味的な関連性、および物理的な近接さが含まれる。コンテント消費者の場合、処理は図１５の段階８００に進む。コンテント作成者の場合、選択された意味ルータにコンテントが送信される。クライアントが１つまたは複数の近傍の意味ルータとのリンクを確立した後、上記の方法に従って通信が行われる。ノードまたはリンクの障害のためにクライアントが意味ネットワークと連絡がとれなくなった場合、段階１００５で初期設定過程が再開する。
【００４５】
システムへの新しい意味ルータの追加
図１８Ａおよび１８Ｂは意味ネットワークへの新しい意味ルータの追加を示すフローチャートである。段階１０５０で、新しい意味ルータは意味ネットワークのデフォルトＳＬＫと連絡をとる。ＳＬＫは、段階１０５５で、ＳＬＫの情報の部分集合、すなわち、そのようなブートストラッピング・データに基づいて潜在的な近傍の意味ルータの初期リストを形成できるようにするのに十分な情報の部分集合を意味ルータに返す。段階１０６５で、リスト内の近傍の意味ルータが問合せを受け、それらの現在の状態、たとえば負荷設定やプロファイル設定が判定される。段階１０６５で、特定のネットワークの管理されている優先順位に基づいて、１つまたは複数の応答した潜在的な近傍の意味ルータが実際の近傍の意味ルータとして選択される。段階１０７０で、新しいルータは、その近傍の意味ルータとのリンクを確立し、それによってそのローカル経路指定環境にポートを作成する。リンクを作成すると、近傍の意味ルータのプロファイル・マネージャが１組のプロファイル交換を開始する。段階１０７５で、意味プロファイルは近傍から受信される。段階１０８０で、プロファイル・マネージャはループ防止検査を実行する。ループは、同じパスが、ネットワーク内を循環するように連続するように経路指定されるときに生じる。検査は、たとえばインターネット・エンジニアリング・タスク・フォース（ＩＦＴＦ）のインタードメイン・マルチキャスティング・ルーティング（ＩＤＭＲ）グループによって指定されたマルチキャスト経路指定プロトコルで行われる逆方向パス転送（ＲＰＦ）の方法を用いて行うことができる。ループが生じるのは、誤った意味プロファイル更新により、パケットの循環を可能にするトポロジーが意味ネットワークに作成されるからである。プロファイル・マネージャは、ループが生じる可能性を見つけた場合、段階１０８５で、送信側に通知し、その送信側によって送信された誤った意味プロファイルを破棄する。ループが形成されない場合、段階１０９０で意味プロファイルが集められる。集められたプロファイルは、すべての近傍の意味ルータに送信される。経路指定データは、プロファイルの変化を反映するように更新される。ＳＬＫは、近傍の意味ルータを見つける過程中に新しいクライアントおよび新しいルータが正しい情報を得るように新しいトポロジーを通知され、さらにヘルス・チェック・データを通知される。
【００４６】
負荷マネージャは、意味プロファイルを集合させる方法に関する入力を与える。特定のルータに対する処理負荷が高い場合、意味プロファイルをより低い精度で集合させることができる。集められたプロファイルが、離散した個々のプロファイルの大きな集合のブールＯＲである（すなわち、それぞれの異なる個々のプロファイル間に重なり合いがほとんどまたはまったくなく、漏れが生じていない）場合、コンテント作成者側の上流側意味ルータに対するフィルタリング動作の処理負荷が高くなる。一方、集められたプロファイルが非常に広く浅い（すなわち、厳密ではなく、漏れの割合が大きい））場合、上流側のフィルタリングをほとんど処理負荷なしに実行できるが、現在のルータに向かう多量の不要なトラフィックが生じる。負荷マネージャは、すべての上記の因子を検討し、個々のルータの処理負荷とシステム全体のスループットとの平衡を保つ。すべての負荷平衡動作はバックグランドで継続する。フォアグラウンドでは、段階１０９５で、意味ルータがパケットの経路指定を開始する。
【００４７】
非オーバレイ意味ルータ・アーキテクチャ
図１９は、非オーバレイ・ネットワークに備えることのできる本発明の意味ルータの一般的なアーキテクチャを示している。このアーキテクチャは、たとえばＩＰネットワーク層に基づいて従来のネットワーク・ルータと統合されたマルチプロトコル・ルータ１１００を含んでいる。いくつかのリンク層１１０５は、従来のネットワーク・ルータのそれぞれの異なるリンク層インタフェースを形成する。リンク層よりも上にパケット分類器１１１０およびいくつかの経路指定エンジンがある。パケット分類器１１１０は、パケット・ヘッダを参照することによって、パケットをどのように処理するかに関して決定を下す。リンク層よりも上の経路指定エンジンには、ＭＰＬＳ経路指定エンジン１１１５、ＩＰ経路指定エンジン１１２０、および意味パケット経路指定エンジン１１２５が含まれる。この構成の利点は、経路指定装置と意味フィルタリング装置が密に統合されることによって得られる。オーバレイ・ネットワーク構成では通常、意味パケットはこのような従来のルータを通過して意味ルータに到達し、次いで意味ルータから出たときに従来のルータをもう１度通過しなければならない。さらに、このようなトラフィックは、従来のルータと意味ルータとの間のネットワーク・リンクの帯域幅によって制限される。通常、従来のルータは、外側媒体（光ファイバや銅ケーブルなど）上で実現できる速度よりもずっと速い速度で内部でパケットを転送することができる。それにより、意味ルータを従来のルータと同じ位置に配置することによってシステムのスループットを高めることができる。この構成の欠点は、従来のルータの処理能力を意味経路指定と従来のネットワークの他の処理要件とで共用しなければならないことである。特定のネットワーク環境における最適な態様は、ネットワークを含む個々の要素の帯域幅と処理機能とのバランスに依存する。
【００４８】
システム一般動作の用途
図２０は、本発明の例示的な態様を示している。この例には、４つの異なるコンテント消費者、すなわち、クライアントＡ１１５０、クライアントＢ１１５５、クライアントＣ１１６０、およびクライアントＤ１１６５がある。これらの消費者のそれぞれは意味プロファイル１５を作成し、ピア・クライアントは、それらのプロファイルをフォーマットし、ピア・クライアントが接続されている意味ルータ２０に送信する。意味プロファイル１５は意味ルータ１ ２０および意味ルータ２ ２０で集められる（１１７０）。この集合動作は、本発明の拡張性に寄与する。集合によってプロファイルは小さくなり、意味ルータ２０のメモリ空間においてプロファイルが占有する空間が狭くなり、したがって、意味ルータ２０の各ポートに関連付けされるデータ（または状態）の量が少なくなる。さらに、コンテント消費者に関連するプロファイルが変更されると、最も近い意味ルータ２０がこの変更を通知される。または、この変更は意味ネットワークにおいて意味ルータ２０に伝搬する。意味プロファイル１５が集められない場合、各コンテント消費者意味プロファイル１５は個別にすべての意味ルータに伝搬される。集合の場合、特定のルータに接続されたコンテント消費者のすべての意味プロファイル間に高度の重なり合いがあるとき、個々のプロファイルの変更がすでに、集められたプロファイルの範囲内である可能性が高い。既存の集合内に収まる確率は、コンテント消費者からコンテント作成者に向かう経路に沿って高くなる。プロファイルの変更は、それがすでに集められたプロファイルの一部である場合には伝搬しなくてよい。通常、集合のために、集められた意味プロファイル１５は、変更された意味プロファイル１５を非常に容易に包含する。これは通常、意味ネットワークの縁に非常に近い位置で行われる。さらに、意味プロファイルを集合させると、コンテント消費者（たとえば、クライアントＡ〜Ｄ）にある程度の匿名性が与えられる。意味プロファイルが集められた後、コンテント作成者に近い意味ルータは、どのコンテント消費者が集められたプロファイルのどの要素を入力したのかを区別することができなくなる。一方、コンテント作成者２５が、ピア・クライアントのクライアントＡ １１５０およびクライアントＣ １１６０が興味を持つコンテントを作成すると、意味ルータ３ ２０は、意味パケット３０を、意味ルータ１ ２０および意味ルータ２ ２０によって送信された意味プロファイル１５と比較する。これらのルータからのプロファイルは、ピア・クライアントＡ １１５０およびクライアントＣ １１６０の埋め込まれたプロファイルを含んでいるので、比較の結果、意味パケット３０と意味プロファイル１５は一致し、意味パケット３０は意味ルータ１ ２０および意味ルータ２ ２０に向けて送信される。意味ルータ１ ２０と意味ルータ２ ２０の両方の動作も同じである。意味ルータ１ ２０および意味ルータ２ ２０はピア・クライアント（クライアントＡ、Ｂ、Ｃ、Ｄ）の個々の意味プロファイル１５を比較する。この例によれば、ピア・クライアントＡ １１５０の個々の意味プロファイルとコンテント作成者からの意味パケット３０が一致し、その結果、意味パケット３０はクライアン��Ａ １１５０に向けて送信される。しかし、パケット３０はピア・クライアントＢ １１５５に向けては送信されない。というのは、ピア・クライアントＢ １１５５の意味プロファイルは意味パケット３０に一致しないからである。同様な動作が、意味ルータ２ ２０においてクライアントＣ １１６０およびクライアントＤ １１６５に対して行われる。
【００４９】
パーソン・ツー・パーソンｅコマース
上述の本発明の用途として、パーソン・ツー・パーソンｅコマース・アプリケーションがある。上記の例で、クライアントＡがある特定の主題に関する書籍の購入に興味があると仮定する。この書籍は近所の店舗で入手することができる。クライアントＡは、このように近所で入手できることを知らない。現在利用可能なサービス・モデルでは、クライアントＡは、一般に使用されているいくつかの探索エンジンを用いてｗｗｗ上で書籍の探索を実行し、書籍を見つけた後、その書籍を３〜４日後に配達するオンライン・ストアから購入することができる。本発明では、この近所の店舗が、コンテント作成者として、適切な意味記述子を用いてこの書籍の入手可能であることに関する情報を公表し、クライアントＡが、適切な意味プロファイルを用いてこの書籍に対する興味を表している場合、この店舗で書籍を入手できることに関する情報をクライアントＡに供給することができ、それによってクライアントＡはその日に近所でこの書籍を購入することができる。
【００５０】
企業イントラネット
本発明の一例は、会社の位置が地理的に分散された企業イントラネット環境で動作させることができる。現在、各会社は通常、従業員が興味あるコンテントを探すことのできる中央データベースを有している。通常、このようなコンテントは、会社の財産である情報および外部の供給源から収集された情報を含んでよい。このような環境において、イントラネットに制限されるが他の意味ネットワークと対話することができる意味ネットワーク上に構築されたアプリケーションを作成することができる。このアプリケーションは、意味プロファイルの例示的なフィールドを用いて、情報を探すかまたは供給する順序を決定する。従業員は、このフィールドがプロファイル伝搬の「社内専用」モードまたは「社内後に社外」モードに設定された意味プロファイルを有することができる。したがって、意味経路指定を社内に制限するか、または最初に会社の情報を問い合わせることができる。この意味ネットワークはさらに、ネットワーク内の意味ルータに意味パケットを社外のコンテント消費者に伝搬しないよう指示することによって企業ファイアウォールとして働くこともできる。
【００５１】
クローラーレス探索エンジン
図２１は、クローラーレス・リアルタイム（Ｃｒａｗｌｅｒ−ｌｅｓｓ Ｒｅａｌ−ｔｉｍｅ）探索エンジンとしての本発明の例示的な態様を示している。この態様では、探索エンジン１２００はコンテント消費者である。探索エンジンは、Ｘに関する情報の受信に興味がある。ただし、これは、この受信が時間Ｙからコンテント・プロバイダによって変更されている場合に限られる。コンテント消費者は、所望のコンテントを受信するために、適切な情報を有する意味プロファイル１５を作成し、最も近くの意味ルータ２０に送信する。意味ネットワーク内の意味ルータ２０は、探索エンジンの意味プロファイル１５を他のそのようなプロファイルと共に集合させる（３５）。コンテント作成者２５の近くの意味ルータ２０は、集められたプロファイルを受信する。次いで、コンテント作成者２５によって作成された意味パケットは最も近くの意味ルータに与えられる。集められたプロファイルによって指定された基準が満たされた場合、パケットは探索エンジン１２００に向けて送信される。意味ネットワーク３５内のすべての意味ルータ２０は同じ動作を実行する。違いは、探索エンジン１２００の意味プロファイルに一致するコンテントがコンテント消費者に向けて経路指定されることだけである。
【００５２】
本発明のこの態様では、意味プロファイル１５、すなわち探索エンジンは、探索エンジンが現在実行している従来型の移動を行う必要がない。このため、コンテント消費者は常に、意味プロファイルに指定された基準に基づくフレッシュなコンテントを受信することができる。
【００５３】
位置認識アプリケーション
図２２は、意味ネットワーク・オーバレイを有する移動ネットワークにおける本発明の位置認識実現態様を示している。携帯電話ユーザＡ１２５０および携帯電話ユーザＢ１２５５は、２つの異なる移動セル内にいる。各移動セル１２６０は、これらの携帯電話ユーザが、この特定の移動セル１２６０内にいるときに対話する少なくとも１つの基地局１２６５を含んでいる。所与の基地局の近くにいることにより、携帯電話システムは各加入者の概略的位置を認識する。この情報は、以下の例示的な方法で使用することができる。携帯電話ユーザがどちらもロック音楽のファンであると仮定する。さらに、これらの携帯電話ユーザの近くであるが別の移動セル１２６０内でコンサートが予定されていると仮定する。携帯電話ユーザＡ１２５０はコンサートのチケットを有しているが、もはやコンサートに行くことはできない。携帯電話ユーザＢ１２５５は、コンテント作成者１２７０、すなわちコンサートのプロモーターによって作成されたコンテントに一致する意味プロファイルを入力することによってこのコンサートのことを知る。ユーザＡは、このコンサートのチケットを売りたい旨を含む意味パケットを作成する。ユーザＢ１２５５はさらに、このコンサートのチケットを売りたい人がいればそれを購入したい旨を含む意味プロファイルを送信する。次いで、ユーザＡの意味パケットは、意味的な関連性のためにユーザＢに向けて経路指定される。このようにして、ユーザＢ１２５５はチケットが入手可能であることを知り、ユーザ同士は、互いにそれほど離れていないので会うことができる。したがって、このようにして、ユーザＡおよびＢは、意味オーバレイ・ネットワーク上に書かれた位置認識意味アプリケーションを利用することができる。当業者には明らかであるように、たとえばグローバル位置検知機器を用いた他の形態の位置認識サービスを同様に使用することができる。
【００５４】
本発明を前述の例示的な態様において説明し図示したが、本発明の開示が一例に過ぎず、かつ特許請求の範囲に記載された本発明の趣旨および範囲から逸脱せずに、過程および機器の構成および組合せおよび配置の詳細に多数の変更を加えてよいことが明らかであろう。
【図面の簡単な説明】
【図１】本発明のコンテント経路指定システムの概略を示す図である。
【図２】本発明のシステムの一般的な動作の流れ図である。
【図３】本発明のコンテント経路指定システムの反転動作を示す図である。
【図４】本発明が動作する環境を示す図である。
【図５】本発明のピア・クライアントの一般的な構造を示す図である。
【図６】本発明の意味ルータの一般的な構造を示す図である。
【図７Ａおよび７Ｂ】本発明の意味ルータの一般的な動作の流れ図である。
【図８】本発明の意味パケットの一般的な構造を示す図である。
【図９】コンテント消費者によって表された意味プロファイルの一般的な構造を示す図である。
【図１０】集められた意味プロファイルの例を示す図である。
【図１１】集められたプロファイルのツリー構造を示す図である。
【図１２】高度なプロファイル集合を有するプロファイル・サブツリーの組合せを示す図である。
【図１３】集合エンジンの一般的な動作の例を示す図である。
【図１４】コンテント作成者の一般的な動作を示す図である。
【図１５】コンテント消費者の一般的な動作を示すフローチャートである。
【図１６】ピア・クライアントと意味ルータとの間で行われる、一般的な管理動作を示すブロック図である。
【図１７】意味ネットワークへの新しいクライアントの追加を示すフローチャートである。
【図１８Ａおよび１８Ｂ】意味ネットワークへの新しい意味ルータの追加を示すフローチャートである。
【図１９】ネットワークに備えることのできる、本発明の意味ルータ用の一般的なアーキテクチャを示す図である。
【図２０】本発明の簡略化されたシステムを示す図である。
【図２１】クローラーレス・リアルタイム探索エンジンとしての本発明の実現態様を示す図である。
【図２２】位置認識情報配信システムとしての本発明の実現態様を示す図である。
様々な図における同じ参照番号は同じ要素を示す。
【図１】
2004507159.tif 000006
【図２】
2004507159.tif 000007
【図３】
2004507159.tif 000008
【図４】
2004507159.tif 000009
【図５】
2004507159.tif 000010
【図６】
2004507159.tif 000011
【図７Ａ】
2004507159.tif 000012
【図７Ｂ】
2004507159.tif 000013
【図８】
2004507159.tif 000014
【図９】
2004507159.tif 000015
【図１０】
2004507159.tif 000016
【図１１】
2004507159.tif 000017
【図１２】
2004507159.tif 000018
【図１３】
2004507159.tif 000019
【図１４】
2004507159.tif 000020
【図１５】
2004507159.tif 000021
【図１６】
2004507159.tif 000022
【図１７】
2004507159.tif 000023
【図１８Ａ】
2004507159.tif 000024
【図１８Ｂ】
2004507159.tif 000025
【図１９】
2004507159.tif 000026
【図２０】
2004507159.tif 000027
【図２１】
2004507159.tif 000028
【図２２】
2004507159.tif 000029
【国際公開パンフレット】
2004507159.tif 000030
2004507159.tif 000031
2004507159.tif 000032
2004507159.tif 000033
2004507159.tif 000034
2004507159.tif 000035
2004507159.tif 000036
2004507159.tif 000037
2004507159.tif 000038
2004507159.tif 000039
2004507159.tif 000040
2004507159.tif 000041
2004507159.tif 000042
2004507159.tif 000043
2004507159.tif 000044
2004507159.tif 000045
2004507159.tif 000046
2004507159.tif 000047
2004507159.tif 000048
2004507159.tif 000049
2004507159.tif 000050
2004507159.tif 000051
2004507159.tif 000052
2004507159.tif 000053
2004507159.tif 000054
2004507159.tif 000055
2004507159.tif 000056
2004507159.tif 000057
2004507159.tif 000058
2004507159.tif 000059
2004507159.tif 000060
2004507159.tif 000061
2004507159.tif 000062
2004507159.tif 000063
2004507159.tif 000064
2004507159.tif 000065
2004507159.tif 000066
2004507159.tif 000067
2004507159.tif 000068
2004507159.tif 000069
2004507159.tif 000070
2004507159.tif 000071
2004507159.tif 000072
2004507159.tif 000073
2004507159.tif 000074
2004507159.tif 000075
2004507159.tif 000076
2004507159.tif 000077
2004507159.tif 000078
2004507159.tif 000079
2004507159.tif 000080
2004507159.tif 000081
2004507159.tif 000082
2004507159.tif 000083
2004507159.tif 000084
2004507159.tif 000085
2004507159.tif 000086
2004507159.tif 000087
2004507159.tif 000088
2004507159.tif 000089
【国際公開パンフレット（コレクトバージョン）】
2004507159.tif 000090
【国際調査報告】
2004507159.tif 000091
2004507159.tif 000092
2004507159.tif 000093