JP2004507159A - コンピュータ・ネットワークにおける意味的記述ラベルを有するデータ・パケットの高性能アドレス指定および経路指定の方法 - Google Patents
コンピュータ・ネットワークにおける意味的記述ラベルを有するデータ・パケットの高性能アドレス指定および経路指定の方法 Download PDFInfo
- Publication number
- JP2004507159A JP2004507159A JP2002520475A JP2002520475A JP2004507159A JP 2004507159 A JP2004507159 A JP 2004507159A JP 2002520475 A JP2002520475 A JP 2002520475A JP 2002520475 A JP2002520475 A JP 2002520475A JP 2004507159 A JP2004507159 A JP 2004507159A
- Authority
- JP
- Japan
- Prior art keywords
- semantic
- profile
- content
- router
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/35—Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
データのコンテントまたは意味に基づいてネットワークを通してデータを経路指定する方法、システム、および装置。意味経路指定エンジンは、経路指定テーブルに維持されている情報に基づいて、ネットワークを通してデータを経路指定する。ネットワークを通してコンテントを経路指定するのに用いられる経路指定テーブルは、コンテント消費者またはコンテント作成者に関する情報を存在論的ツリーに集めることによって得られる。
Description
【0001】
本発明は、米国特許法第119条(e)項の規定に従って2000年8月16日に出願された仮出願第60/225,586号に対して優先権を主張する。この出願は、その全体が参照として明確に本明細書に組み入れられる。
【0002】
発明の分野
本発明は、経路指定されているコンテントの意味に基づいてこのコンテントをネットワークを通して経路指定する方法、システム、装置に関する。特に、本発明は、情報を、ネットワーク内のルータがコンテントを経路指定するのに用いる存在論的ツリーとして集合させることに基づいてネットワークを通してコンテントを経路指定する方法、システム、および装置に関する。
【0003】
発明の背景
通信ネットワークの分野では、通信ネットワークの1つの目的は、このネットワークのエンドポイントに情報を供給し、さらに送信するか、あるいは主導手段または自動化手段によってさらに処理するか、あるいは表示または記憶することである。情報は、ネットワーク内でメッセージのコンテントとして送信される。メッセージは、情報に伴う数値アドレスに基づいて経路指定され供給される。しかし、このコンテントは通常、ネットワーク内で使用されるトランスポート機構には見えず、したがって、アドレス指定動作、経路指定動作、または供給動作を実行するときに考慮されない。
【0004】
コンテント消費者が数値ネットワーク・アドレスや他の一定の形式のリソース・ロケータ、たとえばURLではなくネットワーク内で利用可能な実際のコンテントに基づいてデータを見つけられるようにすることを試みる方法が現存している。インターネット上でデータを見つけるのに用いられる最も良く知られている方法では、探索エンジンを用いて探索が実行される。通常、インターネット探索エンジンは、ウェブ・ページにインデックス付けすることによって動作し、そのインデックスに基づいて探索結果を消費者に返す。このインデックスは通常、ボット(bots)(データを見つけ出すのに用いられるソフトウェア・ツール)を用いてインターネット内を移動し、コンテントを調べ結果にインデックス付けすることによって作成される。この方法にはいくつかの欠点がある。まず、ボッツがインターネット内を移動してウェブ・ページにインデックス付けするには時間がかかる。通常、このようなインデックス付け動作に必要な時間は28日である。この時間遅延のために、結果として得られるインデックスは通常、インデックス付けサイクルの開始時から著しく変化するかまたは完全に消失したウェブ・ページの多数のリンクを含む。第2に、すべてのウェブ・ページがインデックス付けされるわけではない。したがって、関連情報を記憶するサーバの厳密なリソース・ロケータが分からないかぎりユーザがアクセスできない関連情報が存在する可能性がある。
【0005】
コンテントとコンテント消費者を一致させる現存する他の方法は、チャネルを使用するものであり、やはり公表/加入方法と密に関連している。これらの方法の下では、どちらの場合も、コンテント消費者が、所定の範囲のコンテントを保持する特定のソースまたはチャネルに加入またはダイヤル・アップ接続する。この一例として、現在廃止されているポイントキャスト(Pointcast、商標)ネットワークがある。この方法に基づくコンテントの配信にはいくつかの欠点が伴う。まず、コンテント消費者は、所望のチャネルがどこにあるかを認識する必要がある。第2に、コンテント消費者は、コンテント消費者が興味があるかどうかにかかわらず、そのチャネル上ですべてのコンテントを受信する。さらに、公表/加入などの、このような多数対多数イベント通知技術は、拡張性およびロバストネスに関して厳密ではない。したがって、このような技術では、当事者がメッセージを持続的に再送する必要がある。その結果、ネットワーク・ノードは、受信された各メッセージが新しいメッセージであるかどうかにかかわらず、そのメッセージに対して経路指定アルゴリズムを再計算する必要がある。さらに、所与のデータ・パケットの経路指定の決定結果を記憶しないノードは、受信された各メッセージに対してアルゴリズムを再計算しなければならない。このため、拡張性(送信側および受信側の数)と、加入および広告言語の意味表現性と、通知持続性(メッセージ頻度)との兼ね合わせを図らなければならない。この兼ね合わせのために、イベント通知技術の商業的な展開は限られた範囲に制限されている(ローカル・エリア・ネットワーク、送信側および受信側の数の制限、関心対象を表現する融通性の制限)。
【0006】
発明の概要
本発明は、存在論的ツリーとして集められた情報を用いて、データのコンテントに基づいてネットワークを通してデータを経路指定する方法、システム、および装置を提供する。存在論(ontology)は、オブジェクトのために存在すると共にオブジェクト間に存在することのできる概念および関係について体系的に説明するものである。通常、存在論をクラスの分類階層と同一視することによって、これらのクラスの特性は存在論的ツリーを形成するとみなされる。
【0007】
本発明の例示的な態様では、コンテント消費者はユーザ興味プロファイルをネットワークに送信する。ユーザ興味プロファイルは、他の情報および/または指示フィールドと共に、意味プロファイルになる。ユーザ興味プロファイルは、特定の主題においてコンテント消費者の興味に関する情報を含む。コンテント消費者の意味プロファイルは、消費者プロファイルに対して動作する意味ルータに関連する、複数の意味プロファイル間の重なり合った興味を見つけることによって、この意味ルータに送信される。識別された重なり合った領域は、様々な消費者プロファイルを、コンテントをネットワークを通してコンテント消費者に経路指定するのに用いられる存在論的ツリーとして集合させるのに用いられる。ネットワークは、ネットワークのトポロジーに関する知識を得るために互いに通信し情報を交換する、1つまたは複数の意味ルータを有してよい。意味ルータ間で交換される情報は、ネットワークのトポロジーに関する知識、および近傍のルータに関連する意味プロファイルを含んでよい。トポロジーに関する知識は、たとえば、経路指定ツリーまたは配信リングを構成する際の、ネットワーク内のルータの構成の物理的および論理的な構造と、意味ネットワーク内の互いに隣接する(近傍の)ルータを接続する、直接または間接(マルチホップ)ルータの構成の物理的および論理的な構造を含んでよい。
【0008】
コンテント作成者は、作成されたコンテントといくつかの他の情報フィールドおよび/または指示フィールドとを含む意味パケットにカプセル化されるコンテントを作成する。意味パケットは、集められた意味プロファイルを経路指定テーブルとして用いて、パケットのコンテントに基づき、ネットワークを通じて最終目的地、たとえば、コンテント消費者に伝搬される。意味ルータは、「蓄積転送」モードで動作し、意味パケットが送信された後そのコピーを保持することはない。
【0009】
本発明の方法は、(N)log(N)としてスケール変更され、この場合、Nはシステム内のノードの数である。この場合、ノードはエンドポイントまたは意味ルータである。
【0010】
詳細な説明
以下の詳細な説明には、本発明を完全に理解していただくために、本発明のシステムおよび方法、ならびに本発明のシステムおよび方法が動作できる環境に関する、多数の特定の詳細が記載されている。しかし、当業者には、このような特定の詳細なしに本発明を実施できることが明らかであろう。他の例では、本発明の主題を不必要に曖昧にするのを避けるために、公知の構成要素、構造、および技術は詳しく示していない。さらに、本発明の動作を説明するために様々な例を提供する。これらの例が例示的なものであることを理解されたい。本発明の範囲内の他の方法およびシステムがあることが考えられる。さらに、説明を簡略化するために、図面および説明では、同じ要素に言及するのに同じ参照符号を使用している。
【0011】
システムの概要
図1は、本発明のコンテント経路指定システムの概要である。コンテント消費者10は、意味ネットワーク35に入力された、消費者興味プロファイル(PF)15を作成することによって、ある種のコンテントの受信に対する興味を表す。個々の意味プロファイルは、意味ルータによって受信される他の意味プロファイルと共に集められる。集められたプロファイルはその後、意味ルータ20によって意味ネットワーク35を通じて伝搬される。または、意味ルータは、意味プロファイルがトネリングによって伝搬される従来のIPルータを通じて、他の意味ルータと対話する。意味経路指定におけるトネリングとは、意味パケットおよび/または意味プロファイルをネットワーク層データグラムにカプセル化し、インターネットなどの相互ネットワークの、意味経路指定をサポートしない部分を通じて経路指定することを指す。カプセル化は、トンネルへの入口で付加され、トンネルからの出口で除去される。集められた意味プロファイルは意味ルータ20に記憶され、集められた意味プロファイルに含まれる情報を用いて、意味ルータに到着した意味パケットの経路指定が判定される。
【0012】
コンテント作成者25は、コンテント消費者によって消費され、たとえば閲覧されるコンテントを作成するシステムである。コンテントは、作成された後、意味パケット30としてカプセル化され、ネットワークを通じて他の意味ルータ20に接続された意味ルータ20に、直接または従来のネットワーク・ルータを通じて送信される。次いで、意味パケット30は意味ネットワークを通じてコンテント消費者に向けて伝搬される。意味パケット30は、意味ルータ20上に記憶されている集められた意味プロファイルと、コンテント消費者の意味プロファイル15とコンテント作成者の意味パケット30のコンテントとの一致とに基づいて、パケットの消費者に経路指定される。
【0013】
図2は、本発明のシステムの一般的な動作の流れ図である。段階50で、コンテント消費者ピア・クライアントからの意味プロファイルが意味ネットワークに入力される。段階55で、コンテント作成者はコンテントを作成する。または、コンテント作成者は、特定の意味プロファイルを作成する前のある時点で消費されるコンテントを作成する。段階60で、コンテントは、コンテント作成者ピア・クライアント内の分類器によって分類されパケット化される。分類器は、意味ルータによって使用されるコンテントの意味記述を生成する装置および方法である。この分類過程によって、1つまたは複数の意味記述子が生成される。分類器は、さらに意味パケットを効率的に経路指定するために意味ルータによって用いられる、意味署名も算出する。意味署名は、意味プロファイル用の同様の署名と比較できるパケットの情報コンテントの一部または全体の符号化された表現である。可能な意味署名の例は、互いに類似した興味が同一の値を生成するように算出される情報に対して作用する、多数対1関数(たとえば、コンピューティング業界で広く使用されている「ハッシング」関数)によって実現することができるが、それぞれの異なる興味によって(おそらく)異なる値が生成される。次に段階65で、意味パケットが意味ルータによって意味ネットワーク内で配信される。意味ネットワーク内の各ノードを接続する意味ネットワーク内の各リンクには、意味プロファイルが関連付けされている。意味パケットは、あるリンク用の意味プロファイルと一致するとき、そのリンクを横切って一致するコンテント消費者または消費者に向けて伝搬する。意味パケットは、一致しない場合、転送されることも、転送されないこともある。所与のリンク上でパケットを送信するかしないかを決定する方法をフィルタリングと呼ぶ。経路指定用の宛先アドレスは、意味パケット内の意味記述子によって暗黙的に指定される。段階70で、コンテント消費者ピア・クライアント内のフィルタでの最終フィルタリング時にコンテント消費者によって消費され、たとえば、閲覧される。
【0014】
または、本発明は逆に動作することができる。図3は、本発明の上述のシステムの反転動作を示している。反転動作モードでは、システムは、それに属するメモリを有するとみなされる。このモードでは、コンテント消費者10が興味プロファイルを公表するのではなく、コンテント作成者25がコンテント・プロファイル100を公表する。このコンテント・プロファイル100は次いで、このような他のコンテント・プロファイル100と共に集められ、意味プロファイル15と同様に意味ネットワーク35全体にわたって配信される。意味ルータにおいて、これらのコンテント・プロファイル100は別々の経路指定データ領域に記憶される。コンテント消費者10は次いで、意味パケット30と同様な「シーク・パケット」105を送信する。一般的な意味パケット30の意味ヘッダ110内には、サービスID115が含まれている。このサービスID115を用いて意味パケット15とシーク・パケット105が区別される。意味ルータは、意味プロファイル15の経路指定データを使用するか、それともコンテント・プロファイル160用の別々の経路指定データ領域を使用するかを、サービスIDを用いて決定する。シーク・パケット105は、コンテントをコンテント消費者10に向けてプッシュするために、コンテント作成者25によって使用される「リターン・アドレス」も有する。シーク・パケット105は、意味ルータにおけるコンテント・プロファイル・テーブルを用いて意味ネットワーク35内で経路指定される。シーク・パケット105がコンテント作成者25に到達すると、コンテント作成者25は、シーク・パケット105に指定されているリターン・アドレスを抽出する。コンテント作成者25は、このリターン・アドレスを用いて、従来のネットワーク・アドレス指定によってコンテントをコンテント消費者10に向けて直接プッシュすることができる。本発明のこの特定の局面の他の態様では、1人または複数のコンテント消費者が、シーク・パケットに一致する興味プロファイル15を意味ネットワークに入力する。この態様では、シーク・パケットは、リターン・アドレスを含んでおらず、情報は意味ネットワーク35を通じて供給される。この動作局面では、関連するコンテントを持つコンテント作成者25に後で供給される探索問合せをシーク・パケット105に含めることができるので、ユーザはある種の探索機能を使用することができる。コンテント作成者25が、そのコンテントをコンテント・プロファイル100を用いて宣伝するので、関係のないコンテント作成者25に向けてシーク・パケット105を転送する必要はない。さらに、コンテント・プロファイル100は、意味ネットワーク内でコンテント消費者10に向けて集合させることができる。これらの動作は、システム全体の拡張性に寄与する。
【0015】
システムの動作環境
図4は、本発明が動作できる環境を示している。コンテント作成者25およびコンテント消費者10は、それらの企業ローカル・エリア・ネットワークまたは大学ローカル・エリア・ネットワーク(LAN)125に接続されており、エンド・ユーザを形成している。LANは、ネットワーク・リンク135を通じてインターネット・サービス・プロバイダ(ISP)LAN130に接続されている。ISP130はインターネット140に接続されている。各LAN130に存在する意味ルータ20は、インターネット140を横切って分散された他の意味ルータ20に接続されている。他の環境では、コンテント作成者とコンテント消費者を、携帯電話または他の無線媒体を用いて接続することができる。または、コンテント作成者およびコンテント消費者をデータ・センター内に配置することができる。データ・センターとは、高速リンクを有するネットワークに直接接続され、たとえばeコマースウェブ・ベースのサービスを提供するネットワーク・サーバを管理するウェアハウスである。
【0016】
ピア・クライアント
図5は、本発明のピア・クライアントの一般的な構造を示している。ピア・クライアントは、コンテント作成者、コンテント消費者、意味ルータ、または別個の物理的マシン内に位置することのできる、このアーキテクチャ内の論理オブジェクトである。ピア・クライアント150内の、コンテント作成者とコンテント消費者の両方のモジュールには、クライアント環境155、アプリケーション・インタフェース160、分類器および/またはフィルタ165、および管理モジュール170が含まれる。クライアント環境155モジュールは、ピア・クライアントがパケットを処理するクライアントを識別するクライアントIDを含む。意味プロファイルおよび意味パケットは、クライアント環境155に関する情報を含んでいる。アプリケーション・インタフェース160は意味ネットワークと特定のアプリケーションとの間のインタフェースである。管理モジュール175機能には、近くのアクセス・ポイント意味ルータを見つけ、次いで意味ネットワークとの接続を確立し許可する機能が含まれる。1つまたは複数の分類器165は、それぞれの異なる情報ドメインにおいて情報を分類または符号化するのに用いられる。情報ドメインは、意味情報が符号化される形式を決定する。情報ドメインの例として、XML符号化における表現用のスキーマがある、分類器165は、新しい分類器165を他の分類器に影響を与えずに追加できるように互いに独立に動作する。
【0017】
意味ルータ
図6は、本発明の意味ルータの一般的な構造を示している。意味ルータ20は、4つの構成要素を含んでいるが、これらに制限されない。意味ルータに含まれている構成要素は、転送エージェント175、負荷マネージャ180、シグナリング・エージェント185、プロファイル・マネージャ190である。シグナリング・エージェント185は、様々な意味ルータ20間の管理情報の送信を処理する。シグナリング・エージェント185はまた、他の近傍の意味ルータ20と経路指定データ176を交換する。シグナリング・エージェント185は、意味ルータ20の近傍のルータとの接続性を認識するのに用いられる。転送エージェント175は、それが意味ネットワークに関して有しているデータに基づいて意味パケットを近傍の意味ルータ20に転送する。このデータには、近傍のルータ同士間の情報の交換から得られるトポロジー情報と、所与の意味ルータを意味ネットワークに接続するのに用いられるリンクに関連する興味プロファイルが含まれるが、これらに限らない。他のデータとして、近傍の意味ルータに関するロード情報を含めてよい。このデータを経路指定データ176と呼ぶ。転送エージェント175は、経路指定キャッシュ177と経路指定データ176の両方を含んでいる。経路指定キャッシュ177は、着信意味パケットの高速参照を実行し、パケットをどこに転送すべきかに関する決定を下すのに用いられる。経路指定データ176は、経路指定キャッシュ177での参照が失敗したときに使用される。負荷マネージャ180は、意味ルータ20の処理負荷の平衡を保つ。プロファイル・マネージャ190はコンテント消費者の意味プロファイルを集合させる。
【0018】
意味ルータ内の上記の構成要素のうちのいくつかは対話する。負荷マネージャ180は、プロファイル・マネージャ190と対話し、処理負荷と意味ルータのスループットとのバランスを維持する。本発明では、負荷マネージャ180は、プロファイル・マネージャ190によって実行される集合過程の「精度」を低くすることによって経路指定プロファイルを簡略化することができる。集められた意味プロファイルの精度を低くすると、意味ルータ内で経路指定方法をより効率的に実現できるようにするより少ない数の要素を有する意味プロファイルが生じる。しかし、性能がこのように向上することによって、あるリンク用の意味プロファイルの外側にあるパケットがこのリンク上で転送されることがある。このようなパケットは、このリンク上の漏れを構成する。漏れによって、意味パケットの処理は近傍の意味ルータに委任される。この委任は、処理の需要をあるルータから別のルータに移す助けになる。漏れによってシステム全体の経路指定動作の呼出し時間が長くなる。なぜなら、パケットが有限の帯域幅のリンク上で不必要に転送されるからである。意味ルータ20の負荷マネージャ180は、単一のルータ上の処理負荷の低減とシステムの呼出し時間の全体的な延長との平衡を保つ。受信側意味ルータ20は、それ自体の負荷マネージャ180を通じて、取り扱いたい処理の量をそれ自体で決定することができる。任意の特定の意味ルータがそれぞれの異なる精度を有する複数の意味プロファイルを維持することができる。負荷マネージャは、意味ルータ20に対する現在の処理負荷に基づいて、意味パケットの経路指定にどの意味プロファイルを用いるかを「実行時」に動的に選択することができる。意味ルータに対する処理負荷が非常に大きい場合、ルータは、より精度の低い意味プロファイルに切り換え、したがって、処理負荷をその近傍のルータに委任することができる。一方、意味ルータの負荷が軽い場合、意味ルータはそれ自体でパケットをより正確にフィルタリングし、その近傍に対する負荷を少なくすることができる。
【0019】
負荷マネージャ180は、近傍の意味ルータに対する処理負荷も検査する。負荷マネージャ180は、近傍の意味ルータと対話するシグナリング・エージェント185と対話することによってこれを行う。各意味ルータは、その近傍の意味ルータに対する負荷に基づいて実行すべき処理のレベルをさらに選択することによって、ネットワークの最適なスループットおよび全体的な効率に個々に寄与する。
【0020】
図7Aおよび7Bは、本発明の意味ルータ20の一般的な動作の流れ図である。段階200で、意味パケットがルータに到着する。段階205で、負荷マネージャ180はルータが混雑しているかどうかを検査する。ルータが混雑している場合、段階210で、パケットはそれ以上処理することなしに下流側ルータに送信される。段階265で、意味ルータのすべての出力ポート(すなわち、パケットをこのルータに送信したマシン以外のマシンへのすべてのリンク)が選択され、段階255で主処理分岐が再連結される。しかし、意味ルータ20が混雑していない場合、段階220で、パケットが転送エージェントに与えられ、転送エージェントは、意味パケットに含まれている意味署名に基づいて経路指定キャッシュにおいて高速参照を実行する。この高速参照の目的は、パケットが誤って拒絶されることがなくなり、最終的にフィルタリング過程にパスしないパケットが高速に検出されるように、データに対して予備的であるが高速の突合せを実行することである。高速参照を実行する方法は、完全なフィルタリング動作が必要とされるパケットの数を減らすことによって、意味ルータのスループットが増えるように最適化されている。段階225で、意味ルータは、キャッシュ参照動作が成功したかどうかを判定し、成功した場合、通常の探索はバイパスされる。しかし、高速参照が失敗した場合、段階230で、パケットの意味記述子が通常経路指定データと突き合わせて探索される。段階235で、意味ルータは、一致が経路指定キャッシュまたは通常経路指定データにおいて見つかったかどうかを判定する。一致が見つらなかった場合、段階240で、コンテント作成者に向けてプルーン・メッセージが送信される。プルーン・メッセージは、コンテント作成者側の意味ルータに、この意味ルータには意味パケットを転送しないよう通知する。このプルーン・メッセージは、ネットワーク・トラフィックを低減させ、本発明の拡張性に寄与する。プルーン・メッセージは、所定の期間後に無効になる状態情報として意味ルータ内に維持される。プルーン状態が無効になると、コンテント作成者側の意味ルータは、プルーン・メッセージを送信した意味ルータに向かって再び意味パケットの転送を開始する。この場合も、転送は、プルーン・メッセージを送信した意味ルータにリンクされたコンテント消費者および意味ルータによって送信された意味プロファイルに基づいて行われる。
【0021】
段階225または段階235で一致が見つかった場合、段階245で、対応する経路指定データ・エントリが読み取られ、エントリに関連する出力ポートが識別される。段階250で、転送エージェントは、負荷マネージャの助けで、新しい意味パケットについてのポート経路指定決定を反映するように経路指定キャッシュを更新する。経路指定キャッシュを更新すると、将来到着する意味パケットがキャッシュ内で一致する確率が高くなる。このことは、コンテント作成者が関連するパケットの「バースト」で関連するコンテントを放出するときのように、連続するかまたはほぼ連続する意味パケット間に高度の相関があるときに当てはまる。本発明内でこの相関を利用すると、意味ルータの全体的なスループットが高くなる。段階255で、意味パケットは、段階250または段階265で判定された示された出力ポートに対して複製される。上記の動作が行われている間、段階260で、意味ルータの負荷マネージャはさらに、他の意味ルータおよび意味ログ・キーパ(Semantic Log Keeper、SLK)900とバックグラウンドで通信する。この過程は、シグナリングと呼ばれ、以下の「システムへの新しい意味ルータの追加」という節に記載されているが、意味ネットワークの現在のトポロジーおよびそれに対して起こった変化に関してルータを更新し続けることを含む。上記のシグナリング動作は、近傍の意味ルータの経路指定データのコンテントに対して意味ルータを更新し続けることによってネットワーク全体のロバストネスを確保する助けになる。
【0022】
意味ログ・キーパ
意味ログ・キーパ900は、作成者、消費者、および意味ルータが意味ネットワークを形成するように互いに接続するのに必要な情報を維持する。意味ネットワークがオーバレイ・ネットワークとして実現される場合、各構成要素間に直接的なピア・ツー・ピア物理リンクはない。意味ログ・キーパは、ネットワーク用の既知の接触点を形成することによって構成要素同士が接続できるようにする。すべての構成要素は、意味ログ・キーパと通信して、ネットワークの現在の状態に関する情報を検索する。さらに、各構成要素はSLKに定期的なメッセージを送信し、依然としてネットワークに接続されていることを確認する。通常、意味ログ・キーパ機能は、意味ネットワークが実行されているネットワーク内の管理・動作ステーションで実現される。
【0023】
意味パケット
図8は、本発明の意味パケットの一般的な構造を示している。本発明の意味パケット30は、たとえばヘッダ400およびコンテント420を含んでいる。意味パケット30のヘッダ400は、たとえば、プリアンブル405、少なくとも1つの意味署名410、および少なくとも1つの意味記述子415を含んでいる。任意に、ヘッダ400は、タイム・ツー・リブ(Time to Live、TLL)フィールドおよび送信側ID以外の他の指定されないフィールドを含んでもよい。プリアンブル405は、たとえば区別化されたサービス・クラスまたはセキュリティ機能を示す、将来の拡張に関して予想されるフィールドを含んでよい。ヘッダ400は、たとえば、Javaまたはlispや、PLANやNetscriptなどのアクティブ・ネットワーキング業界で一般に使用されている言語などであるが、それらに限らない、ネットワーキング業界で用いられているプログラミング言語で記述することができる。または、ヘッダ400は、標準汎用記述言語(SGML)、または拡張可能記述言語(XML)のようなSGMLの部分集合で記述される。意味署名410は、上述のように、意味ルータの経路指定キャッシュで高速参照を行うのに用いられる。意味署名410が存在すると、いくつかの意味パケットに対して経路指定動作を実行するのに必要な処理時間が短くなることによって意味ルータのスループットが高くなる。意味記述子415は、経路指定されているコンテント420の実際の記述である。意味記述子415は、意味署名410による意味ルータ内の高速参照が失敗したときに意味パケット30を経路指定するのに用いられる。意味パケット30のコンテント420は、消費すべき実際のコンテントまたはコンテントのポインタであってよい。ネットワーキング業界で一般に使用されているポインタの一例としてURL(Uniform Resource Locator)がある。
【0024】
意味プロファイル
図9は、コンテント消費者によって表された意味プロファイル15の一般的な構造を示している。本発明の意味プロファイルの一般的な構造は、たとえば、プリアンブル500、少なくとも1つのプロファイル署名505、少なくとも1つのプロファイル記述子510、有効期間フィールド515、認証520、コマンド・フィールド525を含む。意味プロファイル15のプリアンブル500は意味パケットのプリアンブルに類似しており、コマンド・フィールドの値が異なる。実際のプロファイルのコンテントを伝えるために1つまたは複数のプロファイル記述子510が用いられる。プロファイル署名505は、興味プロファイルが既存のプロファイルから更新されている場合にネットワーク内で既存の意味プロファイルを見つけるのに用いられる。意味プロファイルは、有効期間フィールド515によって示される限られた時間の間記憶される。プロファイルは、有効期間フィールド515に指定された時間が満了した後無効になる。意味プロファイルを常に有効にするには、上記の時間が満了する前に意味プロファイルを新しい意味プロファイル15でリフレッシュする必要がある。プロファイル署名505は、既存のプロファイルを見つけ、したがって、プロファイルが無効になっているかどうかを判定するのに用いられる。認証データ520は、意味プロファイル15のIDを検証するために与えられている。認証データは、悪意あるユーザが真正な意味プロファイル15を無効化するのを妨げる。または、意味ルータおよびコンテント消費者内で、この2つの当事者によって保持されている認証情報に関連してこのフィールドのコンテントを処理し、関与する当事者の相互の評判または背景を検査することができる。これによって信頼関係が確立され、コンテント消費者には、意味ルータから供給された情報が、コンテント・プロバイダから供給されてから悪意に変更されていないと信じてよいと感じられる。コマンド・フィールド525は、意味ルータが意味パケットのコンテントを処理する方法に関する、意味ルータのための情報を含んでいる。または、コマンド・フィールド525は、追加のコマンドを含むように拡張することができる。たとえば、コマンド・フィールド525は、認証データ520が、サード・パーティ・データベースを用いてユーザを検証するためのデジタル署名として使用されることを示すことができる。他の例示的な例として、コマンド・フィールド525は、認証フィールドがブラックリストに載せるべき1人または複数のユーザを識別していることを示すことができ、それにより、このようなユーザはその後、サードパーティ・データベースを用いて評判を検査された後に意味ネットワークから除外される。
【0025】
意味プロファイルの集合
図10は、集められた意味プロファイルの例を、ベンの図示を用いて示している。意味プロファイル15は、コンテント消費者の興味プロファイルを含んでいる。興味プロファイルは基本的に、コンテント消費者が消費したいコンテントの種類の表現である。興味プロファイルの一例として、コンテント消費者Aが野球に興味があるが、ニューヨーク・ヤンキーズTMに関係する試合にしか興味がない場合が挙げられる。しかし、コンテント消費者の意味プロファイル15は、各コンテント消費者の興味間に高い相関が存在するため、重なり合うことがある。上記の例の拡張として、コンテント消費者A’の興味プロファイル(プロファイル1)が他のコンテント消費者の興味プロファイル(プロファイル2およびプロファイル3)と重なり合っているものとする。他のコンテント消費者、たとえばB(プロファイル2)はメジャー・リーグ・ベースボールに興味があるが、アメリカン・リーグ・イーシタン・デビジョンのチームにしか興味がなく、別のコンテント消費者C(プロファイル3)は、アメリカン・リーグの野球チームにしか興味がない場合には、コンテント消費者A、B、およびCの意味プロファイル15はヤンキーズに関するコンテントに関して重なり合う。図10において、集められたプロファイル600は、密な実線で示されている。
【0026】
プロファイルの集合は、プロファイルの単なる加算よりも効率的である。この効率は、それぞれの異なる個々のプロファイル間の高度の相関の結果である。本発明におけるプロファイルを集合させる方法は、システム全体の拡張性に寄与する。集合によって、意味ネットワーク内のプロファイルの総数が少なくなる。意味プロファイルを集合させる概念は、従来のIPネットワークにおけるサブネット化およびスーパーネット化に類似している。各意味ルータにおいて各リンクごとに集められたプロファイルは、経路指定データとして記憶され、意味パケットを経路指定するのに用いられる。
【0027】
任意に、意味プロファイルの集合は厳密でなくてもよい。集合の精度は、1つが意味ルータに対する処理負荷であるいくつかの因子に依存する。意味プロファイルの集合が厳密でない場合、情報空間605内の、漏れと呼ばれるある追加の情報610を、集められた意味プロファイル15を用いて伝搬することができる。漏れのために、コンテント消費者の意味プロファイル15によって指定されていない意味パケット(すなわち、コンテント)615が実際に、コンテント消費者に向けて転送されることがある。意味プロファイルの集合が厳密である場合、このような追加の意味パケットがコンテント消費者に向けて転送されることはない。
【0028】
意味ネットワーク内で意味プロファイルを表すには、ネットワーク内にこのプロファイルの表現が存在する必要がある。この表現をスキーマと呼び。このようなスキーマは融通性に富み、必要に応じてプロファイルの追加/削除/修正を可能にしなければならない。このようなスキーマの一態様では、プロファイルをツリーとして表すことができる。ツリーのルートは、たとえば、Semandexルート・ノードを識別するルート・ノードである。このルートからツリーの葉に向かう経路は、特定のプロファイルの一構成要素である。記述言語XMLで表されたこのようなプロファイルの一例を以下に示す。
【0029】
上記のプロファイル例に示したように、プロファイルに関連する複数のスキーマがあってよい。この例では、一方のスキーマ(op:http://schema.semandex.net/operations/1.0)は、互いに異なるプロファイルを論理的に組み合わせる演算子用の、すべてに共通するスキーマである。他方のスキーマは、この情報空間に特有のスポーツ・スキーマ(sx:http://schema.semandex.net/sports/1.0)である。図11は、(ルートからの)様々な道が、演算子によって組み合わされるスキーマの構成要素を表す、上記のプロファイル用のツリー構造の図である。本発明におけるプロファイルを集合させる方法は、結果として得られる表現が最初の表現よりも簡略化される(ノードまたは演算子が少なくなる)ような論理演算子の処理である。
【0030】
これらのプロファイルは経時的に変化することがある。変化の頻度は、プロファイルに表される所望の種類に応じて様々である。たとえば、短期が望まれる場合がある。そのような望みの例として、ある品目をある価格で購入するための問合せが挙げられる。この品目が購入された後、この望みをコンテント消費者のプロファイルに維持する必要はなくなる。一方、長期が望まれる場合もある。これは、コンテント消費者の興味がある期間にわたって変化するときに起こる。したがって、この2つの極端なケース間でプロファイルが変化する。長期プロファイルの例には、「スポーツのテレビ放送」に対するコンテント消費者の興味が挙げられる。このような興味は長期的であり、経時的にほぼ一定である。これは、2年に一度しか放送されず毎回数週間で終了する「オリンピック・テレビ放送」に対する興味のような、同じ情報空間における短期プロファイルと対称的である。この望みは、前の望みほど連続的ではない。オリンピック・テレビ放送は消費され、オリンピックが終了した後、コンテント消費者はもはやオリンピックに関する情報には興味を示さない。次いで、「ゴルフに関する特定のアドバイスを探す」ことのようなずっと短期的な望みがある。このアドバイスが見つかった後、この興味をプロファイルに維持する必要はなくなる。
【0031】
プロファイルを集合させると、本発明の拡張性に寄与する以下の利点が与えられる。(i)多数の個々のプロファイル間の相関が利用される。(ii)意味ルータにおける経路指定動作が簡略化され高速化される。(iii)意味ルータで必要とされる記憶域の量が少なくなる。(iv)集めされたプロファイルに基づいてサブネット化が実現される。(v)経路指定における拡張性が実現される。
【0032】
複数のプロファイルを併合する最も簡単な方法は、ブール「OR」演算子を使用し、この演算子の下に2つ以上のプロファイルを置く方法である。この例は図12の段階1210に示されている。しかし、上述のすべての利点を得る場合、論理「OR」ノードを追加することによってプロファイルを組み合わせるこの簡単な方法は、プロファイル・データの全体的な複雑さを低減させないので十分ではない。さらに、段階1210に続いて、ルート・ノードから始めることにより、ソース・プロファイルにおいて共通の道を横切ることが可能である。プロファイル同士が異なる場合はいつでも、宛先プロファイル内に共通の「OR」演算子ノードが作成され、ソース・プロファイル上の別々の道がそのノードに接続される。この例が図12の段階1220に示されている。ノードAおよびBを含む道は、両方のプロファイルに共通である。2つのプロファイルはノードCおよびDでは異なっている。本発明の方法のこの局面によれば、共通の「OR」ノードはノードBの下に作成され、2つのノードCおよびDは共通の「OR」ノードの下に接続される。当業者には、他の形式の論理演算が可能であり、この連結が単一の演算についての2つの子ノードのみに限らないことが容易に理解されよう.
【0033】
本発明では、ブール代数を適用することによってさらに簡略化が行われる。たとえば、本発明では、論理「OR」がその点で情報空間全体を包含する可能性を利用する。たとえば、一方が、値が正である(値>0)ことを試験し、他方が、値が1よりも小さい(値<1)ことを試験する2つのノードを、論理「OR」演算によって連結すると、常に真である条件が生成される。このようなノードは、宛先プロファイルから削除することができる。これを実現すると共に、他の改良された集合を実現するための高レベルアルゴリズムを以下に示す。
【0034】
1.個々のプロファイルが同じである間これらのプロファイル内のルートからの道を横切る。
2.プロファイルが異なるものになった後、その場所に共通のORノードを置く。
3.次いで、個々のプロファイルをこれらの共通のOR親の子として接続する。
4.このような組み合わされたツリー上で、いくつかのブール簡略化規則を適用する。
【0035】
簡略化規則によって論理的に等価のツリーが生成される場合、プロファイルをコンテントと照合した結果は両方のツリーについて同じになる。または、簡略化されたツリーが、最初のツリーよりも多くのコンテントに一致することがある。たとえば、ツリーの「OR」ノードを削除することによって2つの試験(値<0)「OR」(値>1)を組み合わせた場合、範囲(0≧値≧1)内の値は、簡略化されたツリーにおける比較にパスする。このような簡略化によって漏れが発生し、追加のパケットが転送され、一致の高速化が妨げられる。漏れが導入されるかどうかはさらに、ドキュメントのサンプル空間内の値の分布によって決定される。前の例では、0と1の間のたいていの値を有する分布から外側の値のみを取り込むように試験が構成されている場合、このような簡略化によってネットワーク・トラフィックが大幅に増大する。
【0036】
FORTRANやCのような従来のコンピュータ・プログラミング言語は、データ(数やアレイなど)の手続き式操作向けに構成され最適化される。しかし、人間は、従来のプログラミング言語における実現態様にそれほど適していない、象徴的で抽象的な手法を用いて複雑な問題を解くと考えられている。これらの言語では抽象的な情報をモデル化できるが、情報を手続き式プログラミング・パラダイムと併用可能なフォーマットに変換するのにかなりのプログラミング作業が必要である。人工インテリジェンスの分野における研究によって、プログラミング言語またはコンピュータ・ベースのツールで具体化される技術が開発されており、このような技術により、実現態様において人間の論理によく似ており、したがってこれらの複雑な問題を解くのに適しているとみなされるプログラムを構築することができる。通常、このようなプログラムは、明確に定義された問題ドメインにおいて人間の専門知識をエミュレートするプログラムであり、エキスパート・システムと呼ばれている。
【0037】
規則ベースのプログラミングは、エキスパート・システムを開発するために最も一般的に使用されている技術の1つである。このプログラミング・パラダイムでは、所与の状況に対して実行すべき1組の行動を指定するヒューリスティック、すなわち学習された挙動を表すのに規則が用いられる。通常、このようなシステムでは、規則は、if部とthen部で構成される。規則のif部は、規則を適用可能にする事実(またはデータ)を指定する一連のパターンである。事実をパターンに一致させる過程を照合と呼ぶ。エキスパート・システム・ツールは、自動的に事実をパターンと照合し、どの規則が適用可能かを判定する推論エンジンと呼ばれる機構を形成する。事実の所与の構成について複数のパターンを照合することができるので、規則のif部はさらにwhenever部とみなすことができる。規則のthen部は、この規則が適用可能であるときに実行すべき1組の行動である。適用可能な規則の行動は、推論エンジンが実行開始するよう指示されたときに実行される。推論エンジンは、1つまたは複数の照合規則を選択し、次いで、選択された規則の行動が実行される(この場合、事実を追加または削除することによって適用可能なリストが影響を受けることがある)。次いで、推論エンジンは、他の規則を選択し、その行動を実行する。この過程は、適用可能な規則がなくなるまで継続する。
【0038】
このようなエキスパート・システム・プログラミング言語の一例として、Javaエキスパート・システム・シェル(Jess)は、全体的にカリフォルニア州リバモア(Livermore)のサンディア国立研究所(Sandia National Laboratories)のアーネスト・フリードマン−ヒル(Ernest Friedman−Hill)によってSunのJava言語で書かれた規則エンジン・スクリプティング環境である。Jessは最初、C言語統合開発システム(CLIPS)エキスパート・システム・シェルの影響を受けた。本発明の一態様として、Jessシステムは、宣言規則の形で供給される知識を用いて、このようなエキスパート・システムを含むJavaアプレットおよびアプリケーションを符号化するのに用いられる。本発明では、Jessシステムは以下の方法を実現するのを可能にする。(i)プロファイル・ツリーのすべてのノードを事実で表現する。(ii)事実を変換するJess言語で簡略化規則を書く。(iii)事実に対するすべての演算をツリーノードに反映できるように、事実のJess表面と容易に統合されるJavaプログラミング言語におけるソフトウェア・コンポーネントとしてツリーノードを実現する。(iv)Jess表現の平文で表されたエキスパート・システムに新しい規則を追加する。
【0039】
意味プロファイルを集合させるアルゴリズムの例は以下のとおりである。
1.プロファイル表現に適したパーサを用いてプロファイル・ファイルを解析する。
2.プロファイルの各要素ごとにプロファイル・ツリー内に新しいノードを作成し初期設定する。
3.表現ツリー内の各ノードに関連するJess事実を作成する。
4.Jess規則言語で表された規則ファイルを読み取る。
5.1つまたは複数の照合規則を選択し、それらの規則に関連する行動を実行する推論エンジンを実行する。
6.対応するJavaメソッドが、規則によって表される簡略化に従ってノードまたはツリーを変換するように、特定の規則の行動にJavaメソッドを関連付ける。
7.メソッドによって実行されるノードの例示的な変換は、子の追加(addChild)、子の除去(removeChild)、子の削除(deleteChilhd)、および親の設定(setParent)を含む。
8.メソッドによって実行されるサブツリー全体の例示的な変換は、併合(merge)、重複の除去(removeDuplicate)、および接続(attach)を含む。
9.ノードの名前、値、親、ラベル、または子を比較することによってエキスパート・システム規則を照合する。
ツリーのノードを表す例示的なJess事実を以下に示す。
重複ノードを除去する例示的な規則は以下のイディオムで書かれる。
規則は、複雑な変換を実行する簡単な演算で構成される。このような演算は、規則が選択されたときに事実を修正することによって行われ、それによって他の規則を選択させることができる。規則のこの連鎖によって、ツリーが全体的に変換される。本発明は、互いに組み合わされたときに複雑な変換を行い、ツリーを全体的に簡略化する1組の簡単な規則を具体化する。
【0040】
集合エンジンは、ネットワーク内の各意味ルータで実現される。1組の入力ポートから入力されたプロファイルは、各エンジンによって集められ、すべての出力ポートに送信される。これと同じ動作がすべての意味ルータで実行される。特定の意味ルータがプロファイルを入力ポート上で受信すると、この意味ルータはこのプロファイルをポートに関連付ける。あるデータが入力されると、ルータはプロファイルをこのデータと比較し、データのコンテントとポートのプロファイルが一致した場合、このポート上で出力を送信する。データとプロファイルとの間に共通するものがない場合、このポート上では何も送信されない。図13は、上記の点を示している。意味ルータB680は、プロファイルRP1681およびRP2682を集合させ、その結果、RPBが意味ルータA 684に送信される。意味ルータAはこのプロファイルをポートに関連付け、AとBを接続する。意味ルータA684にあるデータが入力されると、意味ルータA684はコンテントをプロファイルRPB683と比較する。一致した場合、意味ルータB680に出力が送信される。意味ルータB680はデータをプロファイルRP1681およびRP2682と比較し、それに応じてデータを転送する。
【0041】
コンテント作成者
図14は、コンテント作成者の一般的な動作を示している。段階700で、コンテント作成者は、送信すべき新しいコンテントがあるかどうかを検査する。新しいコンテントがない場合、段階705で、コンテント作成者は、古いパケットを再び送信する必要があるかどうかを検査する。パケットを再び送信する必要がない場合、コンテント作成者は何も行わず、新しいコンテントを作成するのを待つ動作に戻る。パケットを再び送信する必要がある場合、段階710で、コンテント作成者は交渉済みの時間間隔の後で古いパケットを送信する。段階700で判定された新しいコンテントがある場合、段階715で、このコンテントがローカル・アプリケーションから検索される。段階720で、コンテントが処理され、意味コンテント記述および意味署名が得られる。意味記述子はコンテントの意味を記述する。または、意味記述子は他のプレスホルダ・フィールドを有する。このようなプレースホルダは、意味ネットワーク上で動作しているアプリケーションによって利用しかつ/またはカスタマイズすることができる。段階720で、必要に応じて、プレースホルダに環境特有の情報が充填される。意味署名は、意味記述子およびコンテントに関して算出される。この意味署名は、意味パケットをネットワーク内で効率的にかつ迅速に経路指定するために転送エージェントによって利用される。段階725で、段階720で算出されるかあるいは導かれた情報が、単一の意味パケットを形成するように最初のコンテントと組み合わされる。段階730で、意味パケットは、交渉済みの測度でこの意味ルータのすべての近傍の意味ルータに送信される。段階735で、パケット・カウンタが、負荷マネージャが使用できるように更新される。
【0042】
コンテント消費者
図15は、コンテント消費者の一般的な動作を示すフローチャートである。段階800で、コンテント消費者は、ユーザ興味プロファイル(UIP)と呼ばれる意味プロファイルを生成し、この意味プロファイルを意味ネットワークに入力する。または、ユーザ興味プロファイルは、いくつかの関心対象領域を表し、上述の方法によって生成され集められるプロファイルである。意味ネットワークは、図14の方法に従ってコンテント消費者の意味プロファイルに一致するパケットを経路指定する。段階805で、コンテント消費者は、これらの意味的に関連するパケットを意味ルータから受信する。段階810で、コンテント消費者は、通信ネットワーク・プロトコルで一般に使用されている識別フィールドまたは配列フィールドを用いて、パケットが重複しているかどうかを判定する。パケットは、重複していると判定されると、段階815で何もされずに破棄される。段階810により、意味ネットワーク上で動作しているアプリケーションが、冗長で重複した情報を負担させられることはなくなる。パケットは、段階810で重複していないと判定された場合、段階820でコンテント消費者ピア・クライアント内のフィルタによってフィルタリングされる。段階820により、前述のプロファイル集合法によって導入される漏れの結果としてリンク上で送信されるパケットが、コンテント消費者に供給されることはなくなる。フィルタリングは、パケットの意味コンテント記述子と消費者のユーザ興味プロファイルとの間に厳密な照合アルゴリズムを適用することによって行われる。次いで段階825で、パケットがアプリケーションに供給される。本発明の範囲内ではアプリケーションの種類は指定されない。例示的なアプリケーションには、電子メール記憶システム、ウェブ・ブラウザ、自動化命令処理ソフトウェア、およびその他の汎用データ処理アプリケーションが含まれる。段階830で、コンテント消費者は、ネットワーク内のコンテント消費者のプロファイルをリフレッシュすべき時期か否かを判定する。プロファイルをリフレッシュする必要がある場合、段階800で、プロファイルが再び送信され、リフレッシュする必要がない場合、コンテント消費者は、意味パケットの受信モードに戻る。
【0043】
システム内のクライアントと意味ルータとの対話
図16は、ピア・クライアント150と意味ルータ20の選択された構成要素との間で行われる一般的な管理動作を示すブロック図である。ピア・クライアント150と意味ルータ20は共に、ブートストラッピング動作のために意味ログ・キーパ(SLK)と対話する。SLK900は意味ルータ・データ905を維持する。ピア・クライアント150または意味ルータ20は、意味ネットワークに導入されると、ブートストラッピング・データ910を得るためにSLK900と連絡をとる。ピア・クライアント150内の管理モジュールは、SLK900との対話を処理する。ピア・クライアント150および意味ルータ20はこのデータを用いてネットワークの最初の理解を得る。ピア・クライアント150は、SLK900内のデータを用いて近くの意味ルータ20に問い合わせることができる。問合せの応答によって、ピア・クライアント150は1つまたは複数の適切な意味ルータ20を見つけることができる。意味ルータ20はまた、ブートストラッピング・データ910を用いて1つまたは複数の適切な近傍の意味ルータを見つける。意味ルータ20同士は、そのシグナリング・エージェント185を用いて互いに対話する。意味ルータ20内の負荷マネージャ180は、意味ルータ20に対する処理負荷を監視する。処理負荷に関する情報は、ヘルス・チェック・データ915としてSLK900に伝達することができる。プロファイル・マネージャは、シグナリング・エージェントと対話し、近傍の意味ルータ20とプロファイルを交換する。
【0044】
システムへの新しいクライアントの追加
図17は、意味ネットワークへの新しいクライアントの追加を示すフローチャートである。段階1000で、クライアント環境が初期設定される。段階1005で、意味ネットワークのSLKとの連絡がとられる。SLKは、前節の方法に従って、ネットワーク内にすでに存在する意味ルータから供給された、意味ネットワークの現在のトポロジーに関する知識を含んでいる。SLKは、これらのデータの部分集合を新しいクライアントに供給する。段階1010で、ピア・クライアントは、これらのデータを用いて、それぞれの異なる意味ルータに1組のサービス・パラメータを問い合わせることによって、意味ネットワークへの適切な接続点を判定することができる。段階1015で、ピア・クライアントは、問合せを受けた意味ルータからの応答に基づいて、接続すべき適切な意味ルータを選択することができる。意味ルータが適切であるかどうかは、この特定のクライアントによって判定される。意味ルータが適切であるかどうかを決定することのできるサービス・パラメータの例には、ネットワークにおける近接さ、意味的な関連性、および物理的な近接さが含まれる。コンテント消費者の場合、処理は図15の段階800に進む。コンテント作成者の場合、選択された意味ルータにコンテントが送信される。クライアントが1つまたは複数の近傍の意味ルータとのリンクを確立した後、上記の方法に従って通信が行われる。ノードまたはリンクの障害のためにクライアントが意味ネットワークと連絡がとれなくなった場合、段階1005で初期設定過程が再開する。
【0045】
システムへの新しい意味ルータの追加
図18Aおよび18Bは意味ネットワークへの新しい意味ルータの追加を示すフローチャートである。段階1050で、新しい意味ルータは意味ネットワークのデフォルトSLKと連絡をとる。SLKは、段階1055で、SLKの情報の部分集合、すなわち、そのようなブートストラッピング・データに基づいて潜在的な近傍の意味ルータの初期リストを形成できるようにするのに十分な情報の部分集合を意味ルータに返す。段階1065で、リスト内の近傍の意味ルータが問合せを受け、それらの現在の状態、たとえば負荷設定やプロファイル設定が判定される。段階1065で、特定のネットワークの管理されている優先順位に基づいて、1つまたは複数の応答した潜在的な近傍の意味ルータが実際の近傍の意味ルータとして選択される。段階1070で、新しいルータは、その近傍の意味ルータとのリンクを確立し、それによってそのローカル経路指定環境にポートを作成する。リンクを作成すると、近傍の意味ルータのプロファイル・マネージャが1組のプロファイル交換を開始する。段階1075で、意味プロファイルは近傍から受信される。段階1080で、プロファイル・マネージャはループ防止検査を実行する。ループは、同じパスが、ネットワーク内を循環するように連続するように経路指定されるときに生じる。検査は、たとえばインターネット・エンジニアリング・タスク・フォース(IFTF)のインタードメイン・マルチキャスティング・ルーティング(IDMR)グループによって指定されたマルチキャスト経路指定プロトコルで行われる逆方向パス転送(RPF)の方法を用いて行うことができる。ループが生じるのは、誤った意味プロファイル更新により、パケットの循環を可能にするトポロジーが意味ネットワークに作成されるからである。プロファイル・マネージャは、ループが生じる可能性を見つけた場合、段階1085で、送信側に通知し、その送信側によって送信された誤った意味プロファイルを破棄する。ループが形成されない場合、段階1090で意味プロファイルが集められる。集められたプロファイルは、すべての近傍の意味ルータに送信される。経路指定データは、プロファイルの変化を反映するように更新される。SLKは、近傍の意味ルータを見つける過程中に新しいクライアントおよび新しいルータが正しい情報を得るように新しいトポロジーを通知され、さらにヘルス・チェック・データを通知される。
【0046】
負荷マネージャは、意味プロファイルを集合させる方法に関する入力を与える。特定のルータに対する処理負荷が高い場合、意味プロファイルをより低い精度で集合させることができる。集められたプロファイルが、離散した個々のプロファイルの大きな集合のブールORである(すなわち、それぞれの異なる個々のプロファイル間に重なり合いがほとんどまたはまったくなく、漏れが生じていない)場合、コンテント作成者側の上流側意味ルータに対するフィルタリング動作の処理負荷が高くなる。一方、集められたプロファイルが非常に広く浅い(すなわち、厳密ではなく、漏れの割合が大きい))場合、上流側のフィルタリングをほとんど処理負荷なしに実行できるが、現在のルータに向かう多量の不要なトラフィックが生じる。負荷マネージャは、すべての上記の因子を検討し、個々のルータの処理負荷とシステム全体のスループットとの平衡を保つ。すべての負荷平衡動作はバックグランドで継続する。フォアグラウンドでは、段階1095で、意味ルータがパケットの経路指定を開始する。
【0047】
非オーバレイ意味ルータ・アーキテクチャ
図19は、非オーバレイ・ネットワークに備えることのできる本発明の意味ルータの一般的なアーキテクチャを示している。このアーキテクチャは、たとえばIPネットワーク層に基づいて従来のネットワーク・ルータと統合されたマルチプロトコル・ルータ1100を含んでいる。いくつかのリンク層1105は、従来のネットワーク・ルータのそれぞれの異なるリンク層インタフェースを形成する。リンク層よりも上にパケット分類器1110およびいくつかの経路指定エンジンがある。パケット分類器1110は、パケット・ヘッダを参照することによって、パケットをどのように処理するかに関して決定を下す。リンク層よりも上の経路指定エンジンには、MPLS経路指定エンジン1115、IP経路指定エンジン1120、および意味パケット経路指定エンジン1125が含まれる。この構成の利点は、経路指定装置と意味フィルタリング装置が密に統合されることによって得られる。オーバレイ・ネットワーク構成では通常、意味パケットはこのような従来のルータを通過して意味ルータに到達し、次いで意味ルータから出たときに従来のルータをもう1度通過しなければならない。さらに、このようなトラフィックは、従来のルータと意味ルータとの間のネットワーク・リンクの帯域幅によって制限される。通常、従来のルータは、外側媒体(光ファイバや銅ケーブルなど)上で実現できる速度よりもずっと速い速度で内部でパケットを転送することができる。それにより、意味ルータを従来のルータと同じ位置に配置することによってシステムのスループットを高めることができる。この構成の欠点は、従来のルータの処理能力を意味経路指定と従来のネットワークの他の処理要件とで共用しなければならないことである。特定のネットワーク環境における最適な態様は、ネットワークを含む個々の要素の帯域幅と処理機能とのバランスに依存する。
【0048】
システム一般動作の用途
図20は、本発明の例示的な態様を示している。この例には、4つの異なるコンテント消費者、すなわち、クライアントA1150、クライアントB1155、クライアントC1160、およびクライアントD1165がある。これらの消費者のそれぞれは意味プロファイル15を作成し、ピア・クライアントは、それらのプロファイルをフォーマットし、ピア・クライアントが接続されている意味ルータ20に送信する。意味プロファイル15は意味ルータ1 20および意味ルータ2 20で集められる(1170)。この集合動作は、本発明の拡張性に寄与する。集合によってプロファイルは小さくなり、意味ルータ20のメモリ空間においてプロファイルが占有する空間が狭くなり、したがって、意味ルータ20の各ポートに関連付けされるデータ(または状態)の量が少なくなる。さらに、コンテント消費者に関連するプロファイルが変更されると、最も近い意味ルータ20がこの変更を通知される。または、この変更は意味ネットワークにおいて意味ルータ20に伝搬する。意味プロファイル15が集められない場合、各コンテント消費者意味プロファイル15は個別にすべての意味ルータに伝搬される。集合の場合、特定のルータに接続されたコンテント消費者のすべての意味プロファイル間に高度の重なり合いがあるとき、個々のプロファイルの変更がすでに、集められたプロファイルの範囲内である可能性が高い。既存の集合内に収まる確率は、コンテント消費者からコンテント作成者に向かう経路に沿って高くなる。プロファイルの変更は、それがすでに集められたプロファイルの一部である場合には伝搬しなくてよい。通常、集合のために、集められた意味プロファイル15は、変更された意味プロファイル15を非常に容易に包含する。これは通常、意味ネットワークの縁に非常に近い位置で行われる。さらに、意味プロファイルを集合させると、コンテント消費者(たとえば、クライアントA〜D)にある程度の匿名性が与えられる。意味プロファイルが集められた後、コンテント作成者に近い意味ルータは、どのコンテント消費者が集められたプロファイルのどの要素を入力したのかを区別することができなくなる。一方、コンテント作成者25が、ピア・クライアントのクライアントA 1150およびクライアントC 1160が興味を持つコンテントを作成すると、意味ルータ3 20は、意味パケット30を、意味ルータ1 20および意味ルータ2 20によって送信された意味プロファイル15と比較する。これらのルータからのプロファイルは、ピア・クライアントA 1150およびクライアントC 1160の埋め込まれたプロファイルを含んでいるので、比較の結果、意味パケット30と意味プロファイル15は一致し、意味パケット30は意味ルータ1 20および意味ルータ2 20に向けて送信される。意味ルータ1 20と意味ルータ2 20の両方の動作も同じである。意味ルータ1 20および意味ルータ2 20はピア・クライアント(クライアントA、B、C、D)の個々の意味プロファイル15を比較する。この例によれば、ピア・クライアントA 1150の個々の意味プロファイルとコンテント作成者からの意味パケット30が一致し、その結果、意味パケット30はクライアントA 1150に向けて送信される。しかし、パケット30はピア・クライアントB 1155に向けては送信されない。というのは、ピア・クライアントB 1155の意味プロファイルは意味パケット30に一致しないからである。同様な動作が、意味ルータ2 20においてクライアントC 1160およびクライアントD 1165に対して行われる。
【0049】
パーソン・ツー・パーソンeコマース
上述の本発明の用途として、パーソン・ツー・パーソンeコマース・アプリケーションがある。上記の例で、クライアントAがある特定の主題に関する書籍の購入に興味があると仮定する。この書籍は近所の店舗で入手することができる。クライアントAは、このように近所で入手できることを知らない。現在利用可能なサービス・モデルでは、クライアントAは、一般に使用されているいくつかの探索エンジンを用いてwww上で書籍の探索を実行し、書籍を見つけた後、その書籍を3〜4日後に配達するオンライン・ストアから購入することができる。本発明では、この近所の店舗が、コンテント作成者として、適切な意味記述子を用いてこの書籍の入手可能であることに関する情報を公表し、クライアントAが、適切な意味プロファイルを用いてこの書籍に対する興味を表している場合、この店舗で書籍を入手できることに関する情報をクライアントAに供給することができ、それによってクライアントAはその日に近所でこの書籍を購入することができる。
【0050】
企業イントラネット
本発明の一例は、会社の位置が地理的に分散された企業イントラネット環境で動作させることができる。現在、各会社は通常、従業員が興味あるコンテントを探すことのできる中央データベースを有している。通常、このようなコンテントは、会社の財産である情報および外部の供給源から収集された情報を含んでよい。このような環境において、イントラネットに制限されるが他の意味ネットワークと対話することができる意味ネットワーク上に構築されたアプリケーションを作成することができる。このアプリケーションは、意味プロファイルの例示的なフィールドを用いて、情報を探すかまたは供給する順序を決定する。従業員は、このフィールドがプロファイル伝搬の「社内専用」モードまたは「社内後に社外」モードに設定された意味プロファイルを有することができる。したがって、意味経路指定を社内に制限するか、または最初に会社の情報を問い合わせることができる。この意味ネットワークはさらに、ネットワーク内の意味ルータに意味パケットを社外のコンテント消費者に伝搬しないよう指示することによって企業ファイアウォールとして働くこともできる。
【0051】
クローラーレス探索エンジン
図21は、クローラーレス・リアルタイム(Crawler−less Real−time)探索エンジンとしての本発明の例示的な態様を示している。この態様では、探索エンジン1200はコンテント消費者である。探索エンジンは、Xに関する情報の受信に興味がある。ただし、これは、この受信が時間Yからコンテント・プロバイダによって変更されている場合に限られる。コンテント消費者は、所望のコンテントを受信するために、適切な情報を有する意味プロファイル15を作成し、最も近くの意味ルータ20に送信する。意味ネットワーク内の意味ルータ20は、探索エンジンの意味プロファイル15を他のそのようなプロファイルと共に集合させる(35)。コンテント作成者25の近くの意味ルータ20は、集められたプロファイルを受信する。次いで、コンテント作成者25によって作成された意味パケットは最も近くの意味ルータに与えられる。集められたプロファイルによって指定された基準が満たされた場合、パケットは探索エンジン1200に向けて送信される。意味ネットワーク35内のすべての意味ルータ20は同じ動作を実行する。違いは、探索エンジン1200の意味プロファイルに一致するコンテントがコンテント消費者に向けて経路指定されることだけである。
【0052】
本発明のこの態様では、意味プロファイル15、すなわち探索エンジンは、探索エンジンが現在実行している従来型の移動を行う必要がない。このため、コンテント消費者は常に、意味プロファイルに指定された基準に基づくフレッシュなコンテントを受信することができる。
【0053】
位置認識アプリケーション
図22は、意味ネットワーク・オーバレイを有する移動ネットワークにおける本発明の位置認識実現態様を示している。携帯電話ユーザA1250および携帯電話ユーザB1255は、2つの異なる移動セル内にいる。各移動セル1260は、これらの携帯電話ユーザが、この特定の移動セル1260内にいるときに対話する少なくとも1つの基地局1265を含んでいる。所与の基地局の近くにいることにより、携帯電話システムは各加入者の概略的位置を認識する。この情報は、以下の例示的な方法で使用することができる。携帯電話ユーザがどちらもロック音楽のファンであると仮定する。さらに、これらの携帯電話ユーザの近くであるが別の移動セル1260内でコンサートが予定されていると仮定する。携帯電話ユーザA1250はコンサートのチケットを有しているが、もはやコンサートに行くことはできない。携帯電話ユーザB1255は、コンテント作成者1270、すなわちコンサートのプロモーターによって作成されたコンテントに一致する意味プロファイルを入力することによってこのコンサートのことを知る。ユーザAは、このコンサートのチケットを売りたい旨を含む意味パケットを作成する。ユーザB1255はさらに、このコンサートのチケットを売りたい人がいればそれを購入したい旨を含む意味プロファイルを送信する。次いで、ユーザAの意味パケットは、意味的な関連性のためにユーザBに向けて経路指定される。このようにして、ユーザB1255はチケットが入手可能であることを知り、ユーザ同士は、互いにそれほど離れていないので会うことができる。したがって、このようにして、ユーザAおよびBは、意味オーバレイ・ネットワーク上に書かれた位置認識意味アプリケーションを利用することができる。当業者には明らかであるように、たとえばグローバル位置検知機器を用いた他の形態の位置認識サービスを同様に使用することができる。
【0054】
本発明を前述の例示的な態様において説明し図示したが、本発明の開示が一例に過ぎず、かつ特許請求の範囲に記載された本発明の趣旨および範囲から逸脱せずに、過程および機器の構成および組合せおよび配置の詳細に多数の変更を加えてよいことが明らかであろう。
【図面の簡単な説明】
【図1】本発明のコンテント経路指定システムの概略を示す図である。
【図2】本発明のシステムの一般的な動作の流れ図である。
【図3】本発明のコンテント経路指定システムの反転動作を示す図である。
【図4】本発明が動作する環境を示す図である。
【図5】本発明のピア・クライアントの一般的な構造を示す図である。
【図6】本発明の意味ルータの一般的な構造を示す図である。
【図7Aおよび7B】本発明の意味ルータの一般的な動作の流れ図である。
【図8】本発明の意味パケットの一般的な構造を示す図である。
【図9】コンテント消費者によって表された意味プロファイルの一般的な構造を示す図である。
【図10】集められた意味プロファイルの例を示す図である。
【図11】集められたプロファイルのツリー構造を示す図である。
【図12】高度なプロファイル集合を有するプロファイル・サブツリーの組合せを示す図である。
【図13】集合エンジンの一般的な動作の例を示す図である。
【図14】コンテント作成者の一般的な動作を示す図である。
【図15】コンテント消費者の一般的な動作を示すフローチャートである。
【図16】ピア・クライアントと意味ルータとの間で行われる、一般的な管理動作を示すブロック図である。
【図17】意味ネットワークへの新しいクライアントの追加を示すフローチャートである。
【図18Aおよび18B】意味ネットワークへの新しい意味ルータの追加を示すフローチャートである。
【図19】ネットワークに備えることのできる、本発明の意味ルータ用の一般的なアーキテクチャを示す図である。
【図20】本発明の簡略化されたシステムを示す図である。
【図21】クローラーレス・リアルタイム探索エンジンとしての本発明の実現態様を示す図である。
【図22】位置認識情報配信システムとしての本発明の実現態様を示す図である。
様々な図における同じ参照番号は同じ要素を示す。
本発明は、米国特許法第119条(e)項の規定に従って2000年8月16日に出願された仮出願第60/225,586号に対して優先権を主張する。この出願は、その全体が参照として明確に本明細書に組み入れられる。
【0002】
発明の分野
本発明は、経路指定されているコンテントの意味に基づいてこのコンテントをネットワークを通して経路指定する方法、システム、装置に関する。特に、本発明は、情報を、ネットワーク内のルータがコンテントを経路指定するのに用いる存在論的ツリーとして集合させることに基づいてネットワークを通してコンテントを経路指定する方法、システム、および装置に関する。
【0003】
発明の背景
通信ネットワークの分野では、通信ネットワークの1つの目的は、このネットワークのエンドポイントに情報を供給し、さらに送信するか、あるいは主導手段または自動化手段によってさらに処理するか、あるいは表示または記憶することである。情報は、ネットワーク内でメッセージのコンテントとして送信される。メッセージは、情報に伴う数値アドレスに基づいて経路指定され供給される。しかし、このコンテントは通常、ネットワーク内で使用されるトランスポート機構には見えず、したがって、アドレス指定動作、経路指定動作、または供給動作を実行するときに考慮されない。
【0004】
コンテント消費者が数値ネットワーク・アドレスや他の一定の形式のリソース・ロケータ、たとえばURLではなくネットワーク内で利用可能な実際のコンテントに基づいてデータを見つけられるようにすることを試みる方法が現存している。インターネット上でデータを見つけるのに用いられる最も良く知られている方法では、探索エンジンを用いて探索が実行される。通常、インターネット探索エンジンは、ウェブ・ページにインデックス付けすることによって動作し、そのインデックスに基づいて探索結果を消費者に返す。このインデックスは通常、ボット(bots)(データを見つけ出すのに用いられるソフトウェア・ツール)を用いてインターネット内を移動し、コンテントを調べ結果にインデックス付けすることによって作成される。この方法にはいくつかの欠点がある。まず、ボッツがインターネット内を移動してウェブ・ページにインデックス付けするには時間がかかる。通常、このようなインデックス付け動作に必要な時間は28日である。この時間遅延のために、結果として得られるインデックスは通常、インデックス付けサイクルの開始時から著しく変化するかまたは完全に消失したウェブ・ページの多数のリンクを含む。第2に、すべてのウェブ・ページがインデックス付けされるわけではない。したがって、関連情報を記憶するサーバの厳密なリソース・ロケータが分からないかぎりユーザがアクセスできない関連情報が存在する可能性がある。
【0005】
コンテントとコンテント消費者を一致させる現存する他の方法は、チャネルを使用するものであり、やはり公表/加入方法と密に関連している。これらの方法の下では、どちらの場合も、コンテント消費者が、所定の範囲のコンテントを保持する特定のソースまたはチャネルに加入またはダイヤル・アップ接続する。この一例として、現在廃止されているポイントキャスト(Pointcast、商標)ネットワークがある。この方法に基づくコンテントの配信にはいくつかの欠点が伴う。まず、コンテント消費者は、所望のチャネルがどこにあるかを認識する必要がある。第2に、コンテント消費者は、コンテント消費者が興味があるかどうかにかかわらず、そのチャネル上ですべてのコンテントを受信する。さらに、公表/加入などの、このような多数対多数イベント通知技術は、拡張性およびロバストネスに関して厳密ではない。したがって、このような技術では、当事者がメッセージを持続的に再送する必要がある。その結果、ネットワーク・ノードは、受信された各メッセージが新しいメッセージであるかどうかにかかわらず、そのメッセージに対して経路指定アルゴリズムを再計算する必要がある。さらに、所与のデータ・パケットの経路指定の決定結果を記憶しないノードは、受信された各メッセージに対してアルゴリズムを再計算しなければならない。このため、拡張性(送信側および受信側の数)と、加入および広告言語の意味表現性と、通知持続性(メッセージ頻度)との兼ね合わせを図らなければならない。この兼ね合わせのために、イベント通知技術の商業的な展開は限られた範囲に制限されている(ローカル・エリア・ネットワーク、送信側および受信側の数の制限、関心対象を表現する融通性の制限)。
【0006】
発明の概要
本発明は、存在論的ツリーとして集められた情報を用いて、データのコンテントに基づいてネットワークを通してデータを経路指定する方法、システム、および装置を提供する。存在論(ontology)は、オブジェクトのために存在すると共にオブジェクト間に存在することのできる概念および関係について体系的に説明するものである。通常、存在論をクラスの分類階層と同一視することによって、これらのクラスの特性は存在論的ツリーを形成するとみなされる。
【0007】
本発明の例示的な態様では、コンテント消費者はユーザ興味プロファイルをネットワークに送信する。ユーザ興味プロファイルは、他の情報および/または指示フィールドと共に、意味プロファイルになる。ユーザ興味プロファイルは、特定の主題においてコンテント消費者の興味に関する情報を含む。コンテント消費者の意味プロファイルは、消費者プロファイルに対して動作する意味ルータに関連する、複数の意味プロファイル間の重なり合った興味を見つけることによって、この意味ルータに送信される。識別された重なり合った領域は、様々な消費者プロファイルを、コンテントをネットワークを通してコンテント消費者に経路指定するのに用いられる存在論的ツリーとして集合させるのに用いられる。ネットワークは、ネットワークのトポロジーに関する知識を得るために互いに通信し情報を交換する、1つまたは複数の意味ルータを有してよい。意味ルータ間で交換される情報は、ネットワークのトポロジーに関する知識、および近傍のルータに関連する意味プロファイルを含んでよい。トポロジーに関する知識は、たとえば、経路指定ツリーまたは配信リングを構成する際の、ネットワーク内のルータの構成の物理的および論理的な構造と、意味ネットワーク内の互いに隣接する(近傍の)ルータを接続する、直接または間接(マルチホップ)ルータの構成の物理的および論理的な構造を含んでよい。
【0008】
コンテント作成者は、作成されたコンテントといくつかの他の情報フィールドおよび/または指示フィールドとを含む意味パケットにカプセル化されるコンテントを作成する。意味パケットは、集められた意味プロファイルを経路指定テーブルとして用いて、パケットのコンテントに基づき、ネットワークを通じて最終目的地、たとえば、コンテント消費者に伝搬される。意味ルータは、「蓄積転送」モードで動作し、意味パケットが送信された後そのコピーを保持することはない。
【0009】
本発明の方法は、(N)log(N)としてスケール変更され、この場合、Nはシステム内のノードの数である。この場合、ノードはエンドポイントまたは意味ルータである。
【0010】
詳細な説明
以下の詳細な説明には、本発明を完全に理解していただくために、本発明のシステムおよび方法、ならびに本発明のシステムおよび方法が動作できる環境に関する、多数の特定の詳細が記載されている。しかし、当業者には、このような特定の詳細なしに本発明を実施できることが明らかであろう。他の例では、本発明の主題を不必要に曖昧にするのを避けるために、公知の構成要素、構造、および技術は詳しく示していない。さらに、本発明の動作を説明するために様々な例を提供する。これらの例が例示的なものであることを理解されたい。本発明の範囲内の他の方法およびシステムがあることが考えられる。さらに、説明を簡略化するために、図面および説明では、同じ要素に言及するのに同じ参照符号を使用している。
【0011】
システムの概要
図1は、本発明のコンテント経路指定システムの概要である。コンテント消費者10は、意味ネットワーク35に入力された、消費者興味プロファイル(PF)15を作成することによって、ある種のコンテントの受信に対する興味を表す。個々の意味プロファイルは、意味ルータによって受信される他の意味プロファイルと共に集められる。集められたプロファイルはその後、意味ルータ20によって意味ネットワーク35を通じて伝搬される。または、意味ルータは、意味プロファイルがトネリングによって伝搬される従来のIPルータを通じて、他の意味ルータと対話する。意味経路指定におけるトネリングとは、意味パケットおよび/または意味プロファイルをネットワーク層データグラムにカプセル化し、インターネットなどの相互ネットワークの、意味経路指定をサポートしない部分を通じて経路指定することを指す。カプセル化は、トンネルへの入口で付加され、トンネルからの出口で除去される。集められた意味プロファイルは意味ルータ20に記憶され、集められた意味プロファイルに含まれる情報を用いて、意味ルータに到着した意味パケットの経路指定が判定される。
【0012】
コンテント作成者25は、コンテント消費者によって消費され、たとえば閲覧されるコンテントを作成するシステムである。コンテントは、作成された後、意味パケット30としてカプセル化され、ネットワークを通じて他の意味ルータ20に接続された意味ルータ20に、直接または従来のネットワーク・ルータを通じて送信される。次いで、意味パケット30は意味ネットワークを通じてコンテント消費者に向けて伝搬される。意味パケット30は、意味ルータ20上に記憶されている集められた意味プロファイルと、コンテント消費者の意味プロファイル15とコンテント作成者の意味パケット30のコンテントとの一致とに基づいて、パケットの消費者に経路指定される。
【0013】
図2は、本発明のシステムの一般的な動作の流れ図である。段階50で、コンテント消費者ピア・クライアントからの意味プロファイルが意味ネットワークに入力される。段階55で、コンテント作成者はコンテントを作成する。または、コンテント作成者は、特定の意味プロファイルを作成する前のある時点で消費されるコンテントを作成する。段階60で、コンテントは、コンテント作成者ピア・クライアント内の分類器によって分類されパケット化される。分類器は、意味ルータによって使用されるコンテントの意味記述を生成する装置および方法である。この分類過程によって、1つまたは複数の意味記述子が生成される。分類器は、さらに意味パケットを効率的に経路指定するために意味ルータによって用いられる、意味署名も算出する。意味署名は、意味プロファイル用の同様の署名と比較できるパケットの情報コンテントの一部または全体の符号化された表現である。可能な意味署名の例は、互いに類似した興味が同一の値を生成するように算出される情報に対して作用する、多数対1関数(たとえば、コンピューティング業界で広く使用されている「ハッシング」関数)によって実現することができるが、それぞれの異なる興味によって(おそらく)異なる値が生成される。次に段階65で、意味パケットが意味ルータによって意味ネットワーク内で配信される。意味ネットワーク内の各ノードを接続する意味ネットワーク内の各リンクには、意味プロファイルが関連付けされている。意味パケットは、あるリンク用の意味プロファイルと一致するとき、そのリンクを横切って一致するコンテント消費者または消費者に向けて伝搬する。意味パケットは、一致しない場合、転送されることも、転送されないこともある。所与のリンク上でパケットを送信するかしないかを決定する方法をフィルタリングと呼ぶ。経路指定用の宛先アドレスは、意味パケット内の意味記述子によって暗黙的に指定される。段階70で、コンテント消費者ピア・クライアント内のフィルタでの最終フィルタリング時にコンテント消費者によって消費され、たとえば、閲覧される。
【0014】
または、本発明は逆に動作することができる。図3は、本発明の上述のシステムの反転動作を示している。反転動作モードでは、システムは、それに属するメモリを有するとみなされる。このモードでは、コンテント消費者10が興味プロファイルを公表するのではなく、コンテント作成者25がコンテント・プロファイル100を公表する。このコンテント・プロファイル100は次いで、このような他のコンテント・プロファイル100と共に集められ、意味プロファイル15と同様に意味ネットワーク35全体にわたって配信される。意味ルータにおいて、これらのコンテント・プロファイル100は別々の経路指定データ領域に記憶される。コンテント消費者10は次いで、意味パケット30と同様な「シーク・パケット」105を送信する。一般的な意味パケット30の意味ヘッダ110内には、サービスID115が含まれている。このサービスID115を用いて意味パケット15とシーク・パケット105が区別される。意味ルータは、意味プロファイル15の経路指定データを使用するか、それともコンテント・プロファイル160用の別々の経路指定データ領域を使用するかを、サービスIDを用いて決定する。シーク・パケット105は、コンテントをコンテント消費者10に向けてプッシュするために、コンテント作成者25によって使用される「リターン・アドレス」も有する。シーク・パケット105は、意味ルータにおけるコンテント・プロファイル・テーブルを用いて意味ネットワーク35内で経路指定される。シーク・パケット105がコンテント作成者25に到達すると、コンテント作成者25は、シーク・パケット105に指定されているリターン・アドレスを抽出する。コンテント作成者25は、このリターン・アドレスを用いて、従来のネットワーク・アドレス指定によってコンテントをコンテント消費者10に向けて直接プッシュすることができる。本発明のこの特定の局面の他の態様では、1人または複数のコンテント消費者が、シーク・パケットに一致する興味プロファイル15を意味ネットワークに入力する。この態様では、シーク・パケットは、リターン・アドレスを含んでおらず、情報は意味ネットワーク35を通じて供給される。この動作局面では、関連するコンテントを持つコンテント作成者25に後で供給される探索問合せをシーク・パケット105に含めることができるので、ユーザはある種の探索機能を使用することができる。コンテント作成者25が、そのコンテントをコンテント・プロファイル100を用いて宣伝するので、関係のないコンテント作成者25に向けてシーク・パケット105を転送する必要はない。さらに、コンテント・プロファイル100は、意味ネットワーク内でコンテント消費者10に向けて集合させることができる。これらの動作は、システム全体の拡張性に寄与する。
【0015】
システムの動作環境
図4は、本発明が動作できる環境を示している。コンテント作成者25およびコンテント消費者10は、それらの企業ローカル・エリア・ネットワークまたは大学ローカル・エリア・ネットワーク(LAN)125に接続されており、エンド・ユーザを形成している。LANは、ネットワーク・リンク135を通じてインターネット・サービス・プロバイダ(ISP)LAN130に接続されている。ISP130はインターネット140に接続されている。各LAN130に存在する意味ルータ20は、インターネット140を横切って分散された他の意味ルータ20に接続されている。他の環境では、コンテント作成者とコンテント消費者を、携帯電話または他の無線媒体を用いて接続することができる。または、コンテント作成者およびコンテント消費者をデータ・センター内に配置することができる。データ・センターとは、高速リンクを有するネットワークに直接接続され、たとえばeコマースウェブ・ベースのサービスを提供するネットワーク・サーバを管理するウェアハウスである。
【0016】
ピア・クライアント
図5は、本発明のピア・クライアントの一般的な構造を示している。ピア・クライアントは、コンテント作成者、コンテント消費者、意味ルータ、または別個の物理的マシン内に位置することのできる、このアーキテクチャ内の論理オブジェクトである。ピア・クライアント150内の、コンテント作成者とコンテント消費者の両方のモジュールには、クライアント環境155、アプリケーション・インタフェース160、分類器および/またはフィルタ165、および管理モジュール170が含まれる。クライアント環境155モジュールは、ピア・クライアントがパケットを処理するクライアントを識別するクライアントIDを含む。意味プロファイルおよび意味パケットは、クライアント環境155に関する情報を含んでいる。アプリケーション・インタフェース160は意味ネットワークと特定のアプリケーションとの間のインタフェースである。管理モジュール175機能には、近くのアクセス・ポイント意味ルータを見つけ、次いで意味ネットワークとの接続を確立し許可する機能が含まれる。1つまたは複数の分類器165は、それぞれの異なる情報ドメインにおいて情報を分類または符号化するのに用いられる。情報ドメインは、意味情報が符号化される形式を決定する。情報ドメインの例として、XML符号化における表現用のスキーマがある、分類器165は、新しい分類器165を他の分類器に影響を与えずに追加できるように互いに独立に動作する。
【0017】
意味ルータ
図6は、本発明の意味ルータの一般的な構造を示している。意味ルータ20は、4つの構成要素を含んでいるが、これらに制限されない。意味ルータに含まれている構成要素は、転送エージェント175、負荷マネージャ180、シグナリング・エージェント185、プロファイル・マネージャ190である。シグナリング・エージェント185は、様々な意味ルータ20間の管理情報の送信を処理する。シグナリング・エージェント185はまた、他の近傍の意味ルータ20と経路指定データ176を交換する。シグナリング・エージェント185は、意味ルータ20の近傍のルータとの接続性を認識するのに用いられる。転送エージェント175は、それが意味ネットワークに関して有しているデータに基づいて意味パケットを近傍の意味ルータ20に転送する。このデータには、近傍のルータ同士間の情報の交換から得られるトポロジー情報と、所与の意味ルータを意味ネットワークに接続するのに用いられるリンクに関連する興味プロファイルが含まれるが、これらに限らない。他のデータとして、近傍の意味ルータに関するロード情報を含めてよい。このデータを経路指定データ176と呼ぶ。転送エージェント175は、経路指定キャッシュ177と経路指定データ176の両方を含んでいる。経路指定キャッシュ177は、着信意味パケットの高速参照を実行し、パケットをどこに転送すべきかに関する決定を下すのに用いられる。経路指定データ176は、経路指定キャッシュ177での参照が失敗したときに使用される。負荷マネージャ180は、意味ルータ20の処理負荷の平衡を保つ。プロファイル・マネージャ190はコンテント消費者の意味プロファイルを集合させる。
【0018】
意味ルータ内の上記の構成要素のうちのいくつかは対話する。負荷マネージャ180は、プロファイル・マネージャ190と対話し、処理負荷と意味ルータのスループットとのバランスを維持する。本発明では、負荷マネージャ180は、プロファイル・マネージャ190によって実行される集合過程の「精度」を低くすることによって経路指定プロファイルを簡略化することができる。集められた意味プロファイルの精度を低くすると、意味ルータ内で経路指定方法をより効率的に実現できるようにするより少ない数の要素を有する意味プロファイルが生じる。しかし、性能がこのように向上することによって、あるリンク用の意味プロファイルの外側にあるパケットがこのリンク上で転送されることがある。このようなパケットは、このリンク上の漏れを構成する。漏れによって、意味パケットの処理は近傍の意味ルータに委任される。この委任は、処理の需要をあるルータから別のルータに移す助けになる。漏れによってシステム全体の経路指定動作の呼出し時間が長くなる。なぜなら、パケットが有限の帯域幅のリンク上で不必要に転送されるからである。意味ルータ20の負荷マネージャ180は、単一のルータ上の処理負荷の低減とシステムの呼出し時間の全体的な延長との平衡を保つ。受信側意味ルータ20は、それ自体の負荷マネージャ180を通じて、取り扱いたい処理の量をそれ自体で決定することができる。任意の特定の意味ルータがそれぞれの異なる精度を有する複数の意味プロファイルを維持することができる。負荷マネージャは、意味ルータ20に対する現在の処理負荷に基づいて、意味パケットの経路指定にどの意味プロファイルを用いるかを「実行時」に動的に選択することができる。意味ルータに対する処理負荷が非常に大きい場合、ルータは、より精度の低い意味プロファイルに切り換え、したがって、処理負荷をその近傍のルータに委任することができる。一方、意味ルータの負荷が軽い場合、意味ルータはそれ自体でパケットをより正確にフィルタリングし、その近傍に対する負荷を少なくすることができる。
【0019】
負荷マネージャ180は、近傍の意味ルータに対する処理負荷も検査する。負荷マネージャ180は、近傍の意味ルータと対話するシグナリング・エージェント185と対話することによってこれを行う。各意味ルータは、その近傍の意味ルータに対する負荷に基づいて実行すべき処理のレベルをさらに選択することによって、ネットワークの最適なスループットおよび全体的な効率に個々に寄与する。
【0020】
図7Aおよび7Bは、本発明の意味ルータ20の一般的な動作の流れ図である。段階200で、意味パケットがルータに到着する。段階205で、負荷マネージャ180はルータが混雑しているかどうかを検査する。ルータが混雑している場合、段階210で、パケットはそれ以上処理することなしに下流側ルータに送信される。段階265で、意味ルータのすべての出力ポート(すなわち、パケットをこのルータに送信したマシン以外のマシンへのすべてのリンク)が選択され、段階255で主処理分岐が再連結される。しかし、意味ルータ20が混雑していない場合、段階220で、パケットが転送エージェントに与えられ、転送エージェントは、意味パケットに含まれている意味署名に基づいて経路指定キャッシュにおいて高速参照を実行する。この高速参照の目的は、パケットが誤って拒絶されることがなくなり、最終的にフィルタリング過程にパスしないパケットが高速に検出されるように、データに対して予備的であるが高速の突合せを実行することである。高速参照を実行する方法は、完全なフィルタリング動作が必要とされるパケットの数を減らすことによって、意味ルータのスループットが増えるように最適化されている。段階225で、意味ルータは、キャッシュ参照動作が成功したかどうかを判定し、成功した場合、通常の探索はバイパスされる。しかし、高速参照が失敗した場合、段階230で、パケットの意味記述子が通常経路指定データと突き合わせて探索される。段階235で、意味ルータは、一致が経路指定キャッシュまたは通常経路指定データにおいて見つかったかどうかを判定する。一致が見つらなかった場合、段階240で、コンテント作成者に向けてプルーン・メッセージが送信される。プルーン・メッセージは、コンテント作成者側の意味ルータに、この意味ルータには意味パケットを転送しないよう通知する。このプルーン・メッセージは、ネットワーク・トラフィックを低減させ、本発明の拡張性に寄与する。プルーン・メッセージは、所定の期間後に無効になる状態情報として意味ルータ内に維持される。プルーン状態が無効になると、コンテント作成者側の意味ルータは、プルーン・メッセージを送信した意味ルータに向かって再び意味パケットの転送を開始する。この場合も、転送は、プルーン・メッセージを送信した意味ルータにリンクされたコンテント消費者および意味ルータによって送信された意味プロファイルに基づいて行われる。
【0021】
段階225または段階235で一致が見つかった場合、段階245で、対応する経路指定データ・エントリが読み取られ、エントリに関連する出力ポートが識別される。段階250で、転送エージェントは、負荷マネージャの助けで、新しい意味パケットについてのポート経路指定決定を反映するように経路指定キャッシュを更新する。経路指定キャッシュを更新すると、将来到着する意味パケットがキャッシュ内で一致する確率が高くなる。このことは、コンテント作成者が関連するパケットの「バースト」で関連するコンテントを放出するときのように、連続するかまたはほぼ連続する意味パケット間に高度の相関があるときに当てはまる。本発明内でこの相関を利用すると、意味ルータの全体的なスループットが高くなる。段階255で、意味パケットは、段階250または段階265で判定された示された出力ポートに対して複製される。上記の動作が行われている間、段階260で、意味ルータの負荷マネージャはさらに、他の意味ルータおよび意味ログ・キーパ(Semantic Log Keeper、SLK)900とバックグラウンドで通信する。この過程は、シグナリングと呼ばれ、以下の「システムへの新しい意味ルータの追加」という節に記載されているが、意味ネットワークの現在のトポロジーおよびそれに対して起こった変化に関してルータを更新し続けることを含む。上記のシグナリング動作は、近傍の意味ルータの経路指定データのコンテントに対して意味ルータを更新し続けることによってネットワーク全体のロバストネスを確保する助けになる。
【0022】
意味ログ・キーパ
意味ログ・キーパ900は、作成者、消費者、および意味ルータが意味ネットワークを形成するように互いに接続するのに必要な情報を維持する。意味ネットワークがオーバレイ・ネットワークとして実現される場合、各構成要素間に直接的なピア・ツー・ピア物理リンクはない。意味ログ・キーパは、ネットワーク用の既知の接触点を形成することによって構成要素同士が接続できるようにする。すべての構成要素は、意味ログ・キーパと通信して、ネットワークの現在の状態に関する情報を検索する。さらに、各構成要素はSLKに定期的なメッセージを送信し、依然としてネットワークに接続されていることを確認する。通常、意味ログ・キーパ機能は、意味ネットワークが実行されているネットワーク内の管理・動作ステーションで実現される。
【0023】
意味パケット
図8は、本発明の意味パケットの一般的な構造を示している。本発明の意味パケット30は、たとえばヘッダ400およびコンテント420を含んでいる。意味パケット30のヘッダ400は、たとえば、プリアンブル405、少なくとも1つの意味署名410、および少なくとも1つの意味記述子415を含んでいる。任意に、ヘッダ400は、タイム・ツー・リブ(Time to Live、TLL)フィールドおよび送信側ID以外の他の指定されないフィールドを含んでもよい。プリアンブル405は、たとえば区別化されたサービス・クラスまたはセキュリティ機能を示す、将来の拡張に関して予想されるフィールドを含んでよい。ヘッダ400は、たとえば、Javaまたはlispや、PLANやNetscriptなどのアクティブ・ネットワーキング業界で一般に使用されている言語などであるが、それらに限らない、ネットワーキング業界で用いられているプログラミング言語で記述することができる。または、ヘッダ400は、標準汎用記述言語(SGML)、または拡張可能記述言語(XML)のようなSGMLの部分集合で記述される。意味署名410は、上述のように、意味ルータの経路指定キャッシュで高速参照を行うのに用いられる。意味署名410が存在すると、いくつかの意味パケットに対して経路指定動作を実行するのに必要な処理時間が短くなることによって意味ルータのスループットが高くなる。意味記述子415は、経路指定されているコンテント420の実際の記述である。意味記述子415は、意味署名410による意味ルータ内の高速参照が失敗したときに意味パケット30を経路指定するのに用いられる。意味パケット30のコンテント420は、消費すべき実際のコンテントまたはコンテントのポインタであってよい。ネットワーキング業界で一般に使用されているポインタの一例としてURL(Uniform Resource Locator)がある。
【0024】
意味プロファイル
図9は、コンテント消費者によって表された意味プロファイル15の一般的な構造を示している。本発明の意味プロファイルの一般的な構造は、たとえば、プリアンブル500、少なくとも1つのプロファイル署名505、少なくとも1つのプロファイル記述子510、有効期間フィールド515、認証520、コマンド・フィールド525を含む。意味プロファイル15のプリアンブル500は意味パケットのプリアンブルに類似しており、コマンド・フィールドの値が異なる。実際のプロファイルのコンテントを伝えるために1つまたは複数のプロファイル記述子510が用いられる。プロファイル署名505は、興味プロファイルが既存のプロファイルから更新されている場合にネットワーク内で既存の意味プロファイルを見つけるのに用いられる。意味プロファイルは、有効期間フィールド515によって示される限られた時間の間記憶される。プロファイルは、有効期間フィールド515に指定された時間が満了した後無効になる。意味プロファイルを常に有効にするには、上記の時間が満了する前に意味プロファイルを新しい意味プロファイル15でリフレッシュする必要がある。プロファイル署名505は、既存のプロファイルを見つけ、したがって、プロファイルが無効になっているかどうかを判定するのに用いられる。認証データ520は、意味プロファイル15のIDを検証するために与えられている。認証データは、悪意あるユーザが真正な意味プロファイル15を無効化するのを妨げる。または、意味ルータおよびコンテント消費者内で、この2つの当事者によって保持されている認証情報に関連してこのフィールドのコンテントを処理し、関与する当事者の相互の評判または背景を検査することができる。これによって信頼関係が確立され、コンテント消費者には、意味ルータから供給された情報が、コンテント・プロバイダから供給されてから悪意に変更されていないと信じてよいと感じられる。コマンド・フィールド525は、意味ルータが意味パケットのコンテントを処理する方法に関する、意味ルータのための情報を含んでいる。または、コマンド・フィールド525は、追加のコマンドを含むように拡張することができる。たとえば、コマンド・フィールド525は、認証データ520が、サード・パーティ・データベースを用いてユーザを検証するためのデジタル署名として使用されることを示すことができる。他の例示的な例として、コマンド・フィールド525は、認証フィールドがブラックリストに載せるべき1人または複数のユーザを識別していることを示すことができ、それにより、このようなユーザはその後、サードパーティ・データベースを用いて評判を検査された後に意味ネットワークから除外される。
【0025】
意味プロファイルの集合
図10は、集められた意味プロファイルの例を、ベンの図示を用いて示している。意味プロファイル15は、コンテント消費者の興味プロファイルを含んでいる。興味プロファイルは基本的に、コンテント消費者が消費したいコンテントの種類の表現である。興味プロファイルの一例として、コンテント消費者Aが野球に興味があるが、ニューヨーク・ヤンキーズTMに関係する試合にしか興味がない場合が挙げられる。しかし、コンテント消費者の意味プロファイル15は、各コンテント消費者の興味間に高い相関が存在するため、重なり合うことがある。上記の例の拡張として、コンテント消費者A’の興味プロファイル(プロファイル1)が他のコンテント消費者の興味プロファイル(プロファイル2およびプロファイル3)と重なり合っているものとする。他のコンテント消費者、たとえばB(プロファイル2)はメジャー・リーグ・ベースボールに興味があるが、アメリカン・リーグ・イーシタン・デビジョンのチームにしか興味がなく、別のコンテント消費者C(プロファイル3)は、アメリカン・リーグの野球チームにしか興味がない場合には、コンテント消費者A、B、およびCの意味プロファイル15はヤンキーズに関するコンテントに関して重なり合う。図10において、集められたプロファイル600は、密な実線で示されている。
【0026】
プロファイルの集合は、プロファイルの単なる加算よりも効率的である。この効率は、それぞれの異なる個々のプロファイル間の高度の相関の結果である。本発明におけるプロファイルを集合させる方法は、システム全体の拡張性に寄与する。集合によって、意味ネットワーク内のプロファイルの総数が少なくなる。意味プロファイルを集合させる概念は、従来のIPネットワークにおけるサブネット化およびスーパーネット化に類似している。各意味ルータにおいて各リンクごとに集められたプロファイルは、経路指定データとして記憶され、意味パケットを経路指定するのに用いられる。
【0027】
任意に、意味プロファイルの集合は厳密でなくてもよい。集合の精度は、1つが意味ルータに対する処理負荷であるいくつかの因子に依存する。意味プロファイルの集合が厳密でない場合、情報空間605内の、漏れと呼ばれるある追加の情報610を、集められた意味プロファイル15を用いて伝搬することができる。漏れのために、コンテント消費者の意味プロファイル15によって指定されていない意味パケット(すなわち、コンテント)615が実際に、コンテント消費者に向けて転送されることがある。意味プロファイルの集合が厳密である場合、このような追加の意味パケットがコンテント消費者に向けて転送されることはない。
【0028】
意味ネットワーク内で意味プロファイルを表すには、ネットワーク内にこのプロファイルの表現が存在する必要がある。この表現をスキーマと呼び。このようなスキーマは融通性に富み、必要に応じてプロファイルの追加/削除/修正を可能にしなければならない。このようなスキーマの一態様では、プロファイルをツリーとして表すことができる。ツリーのルートは、たとえば、Semandexルート・ノードを識別するルート・ノードである。このルートからツリーの葉に向かう経路は、特定のプロファイルの一構成要素である。記述言語XMLで表されたこのようなプロファイルの一例を以下に示す。
【0029】
上記のプロファイル例に示したように、プロファイルに関連する複数のスキーマがあってよい。この例では、一方のスキーマ(op:http://schema.semandex.net/operations/1.0)は、互いに異なるプロファイルを論理的に組み合わせる演算子用の、すべてに共通するスキーマである。他方のスキーマは、この情報空間に特有のスポーツ・スキーマ(sx:http://schema.semandex.net/sports/1.0)である。図11は、(ルートからの)様々な道が、演算子によって組み合わされるスキーマの構成要素を表す、上記のプロファイル用のツリー構造の図である。本発明におけるプロファイルを集合させる方法は、結果として得られる表現が最初の表現よりも簡略化される(ノードまたは演算子が少なくなる)ような論理演算子の処理である。
【0030】
これらのプロファイルは経時的に変化することがある。変化の頻度は、プロファイルに表される所望の種類に応じて様々である。たとえば、短期が望まれる場合がある。そのような望みの例として、ある品目をある価格で購入するための問合せが挙げられる。この品目が購入された後、この望みをコンテント消費者のプロファイルに維持する必要はなくなる。一方、長期が望まれる場合もある。これは、コンテント消費者の興味がある期間にわたって変化するときに起こる。したがって、この2つの極端なケース間でプロファイルが変化する。長期プロファイルの例には、「スポーツのテレビ放送」に対するコンテント消費者の興味が挙げられる。このような興味は長期的であり、経時的にほぼ一定である。これは、2年に一度しか放送されず毎回数週間で終了する「オリンピック・テレビ放送」に対する興味のような、同じ情報空間における短期プロファイルと対称的である。この望みは、前の望みほど連続的ではない。オリンピック・テレビ放送は消費され、オリンピックが終了した後、コンテント消費者はもはやオリンピックに関する情報には興味を示さない。次いで、「ゴルフに関する特定のアドバイスを探す」ことのようなずっと短期的な望みがある。このアドバイスが見つかった後、この興味をプロファイルに維持する必要はなくなる。
【0031】
プロファイルを集合させると、本発明の拡張性に寄与する以下の利点が与えられる。(i)多数の個々のプロファイル間の相関が利用される。(ii)意味ルータにおける経路指定動作が簡略化され高速化される。(iii)意味ルータで必要とされる記憶域の量が少なくなる。(iv)集めされたプロファイルに基づいてサブネット化が実現される。(v)経路指定における拡張性が実現される。
【0032】
複数のプロファイルを併合する最も簡単な方法は、ブール「OR」演算子を使用し、この演算子の下に2つ以上のプロファイルを置く方法である。この例は図12の段階1210に示されている。しかし、上述のすべての利点を得る場合、論理「OR」ノードを追加することによってプロファイルを組み合わせるこの簡単な方法は、プロファイル・データの全体的な複雑さを低減させないので十分ではない。さらに、段階1210に続いて、ルート・ノードから始めることにより、ソース・プロファイルにおいて共通の道を横切ることが可能である。プロファイル同士が異なる場合はいつでも、宛先プロファイル内に共通の「OR」演算子ノードが作成され、ソース・プロファイル上の別々の道がそのノードに接続される。この例が図12の段階1220に示されている。ノードAおよびBを含む道は、両方のプロファイルに共通である。2つのプロファイルはノードCおよびDでは異なっている。本発明の方法のこの局面によれば、共通の「OR」ノードはノードBの下に作成され、2つのノードCおよびDは共通の「OR」ノードの下に接続される。当業者には、他の形式の論理演算が可能であり、この連結が単一の演算についての2つの子ノードのみに限らないことが容易に理解されよう.
【0033】
本発明では、ブール代数を適用することによってさらに簡略化が行われる。たとえば、本発明では、論理「OR」がその点で情報空間全体を包含する可能性を利用する。たとえば、一方が、値が正である(値>0)ことを試験し、他方が、値が1よりも小さい(値<1)ことを試験する2つのノードを、論理「OR」演算によって連結すると、常に真である条件が生成される。このようなノードは、宛先プロファイルから削除することができる。これを実現すると共に、他の改良された集合を実現するための高レベルアルゴリズムを以下に示す。
【0034】
1.個々のプロファイルが同じである間これらのプロファイル内のルートからの道を横切る。
2.プロファイルが異なるものになった後、その場所に共通のORノードを置く。
3.次いで、個々のプロファイルをこれらの共通のOR親の子として接続する。
4.このような組み合わされたツリー上で、いくつかのブール簡略化規則を適用する。
【0035】
簡略化規則によって論理的に等価のツリーが生成される場合、プロファイルをコンテントと照合した結果は両方のツリーについて同じになる。または、簡略化されたツリーが、最初のツリーよりも多くのコンテントに一致することがある。たとえば、ツリーの「OR」ノードを削除することによって2つの試験(値<0)「OR」(値>1)を組み合わせた場合、範囲(0≧値≧1)内の値は、簡略化されたツリーにおける比較にパスする。このような簡略化によって漏れが発生し、追加のパケットが転送され、一致の高速化が妨げられる。漏れが導入されるかどうかはさらに、ドキュメントのサンプル空間内の値の分布によって決定される。前の例では、0と1の間のたいていの値を有する分布から外側の値のみを取り込むように試験が構成されている場合、このような簡略化によってネットワーク・トラフィックが大幅に増大する。
【0036】
FORTRANやCのような従来のコンピュータ・プログラミング言語は、データ(数やアレイなど)の手続き式操作向けに構成され最適化される。しかし、人間は、従来のプログラミング言語における実現態様にそれほど適していない、象徴的で抽象的な手法を用いて複雑な問題を解くと考えられている。これらの言語では抽象的な情報をモデル化できるが、情報を手続き式プログラミング・パラダイムと併用可能なフォーマットに変換するのにかなりのプログラミング作業が必要である。人工インテリジェンスの分野における研究によって、プログラミング言語またはコンピュータ・ベースのツールで具体化される技術が開発されており、このような技術により、実現態様において人間の論理によく似ており、したがってこれらの複雑な問題を解くのに適しているとみなされるプログラムを構築することができる。通常、このようなプログラムは、明確に定義された問題ドメインにおいて人間の専門知識をエミュレートするプログラムであり、エキスパート・システムと呼ばれている。
【0037】
規則ベースのプログラミングは、エキスパート・システムを開発するために最も一般的に使用されている技術の1つである。このプログラミング・パラダイムでは、所与の状況に対して実行すべき1組の行動を指定するヒューリスティック、すなわち学習された挙動を表すのに規則が用いられる。通常、このようなシステムでは、規則は、if部とthen部で構成される。規則のif部は、規則を適用可能にする事実(またはデータ)を指定する一連のパターンである。事実をパターンに一致させる過程を照合と呼ぶ。エキスパート・システム・ツールは、自動的に事実をパターンと照合し、どの規則が適用可能かを判定する推論エンジンと呼ばれる機構を形成する。事実の所与の構成について複数のパターンを照合することができるので、規則のif部はさらにwhenever部とみなすことができる。規則のthen部は、この規則が適用可能であるときに実行すべき1組の行動である。適用可能な規則の行動は、推論エンジンが実行開始するよう指示されたときに実行される。推論エンジンは、1つまたは複数の照合規則を選択し、次いで、選択された規則の行動が実行される(この場合、事実を追加または削除することによって適用可能なリストが影響を受けることがある)。次いで、推論エンジンは、他の規則を選択し、その行動を実行する。この過程は、適用可能な規則がなくなるまで継続する。
【0038】
このようなエキスパート・システム・プログラミング言語の一例として、Javaエキスパート・システム・シェル(Jess)は、全体的にカリフォルニア州リバモア(Livermore)のサンディア国立研究所(Sandia National Laboratories)のアーネスト・フリードマン−ヒル(Ernest Friedman−Hill)によってSunのJava言語で書かれた規則エンジン・スクリプティング環境である。Jessは最初、C言語統合開発システム(CLIPS)エキスパート・システム・シェルの影響を受けた。本発明の一態様として、Jessシステムは、宣言規則の形で供給される知識を用いて、このようなエキスパート・システムを含むJavaアプレットおよびアプリケーションを符号化するのに用いられる。本発明では、Jessシステムは以下の方法を実現するのを可能にする。(i)プロファイル・ツリーのすべてのノードを事実で表現する。(ii)事実を変換するJess言語で簡略化規則を書く。(iii)事実に対するすべての演算をツリーノードに反映できるように、事実のJess表面と容易に統合されるJavaプログラミング言語におけるソフトウェア・コンポーネントとしてツリーノードを実現する。(iv)Jess表現の平文で表されたエキスパート・システムに新しい規則を追加する。
【0039】
意味プロファイルを集合させるアルゴリズムの例は以下のとおりである。
1.プロファイル表現に適したパーサを用いてプロファイル・ファイルを解析する。
2.プロファイルの各要素ごとにプロファイル・ツリー内に新しいノードを作成し初期設定する。
3.表現ツリー内の各ノードに関連するJess事実を作成する。
4.Jess規則言語で表された規則ファイルを読み取る。
5.1つまたは複数の照合規則を選択し、それらの規則に関連する行動を実行する推論エンジンを実行する。
6.対応するJavaメソッドが、規則によって表される簡略化に従ってノードまたはツリーを変換するように、特定の規則の行動にJavaメソッドを関連付ける。
7.メソッドによって実行されるノードの例示的な変換は、子の追加(addChild)、子の除去(removeChild)、子の削除(deleteChilhd)、および親の設定(setParent)を含む。
8.メソッドによって実行されるサブツリー全体の例示的な変換は、併合(merge)、重複の除去(removeDuplicate)、および接続(attach)を含む。
9.ノードの名前、値、親、ラベル、または子を比較することによってエキスパート・システム規則を照合する。
ツリーのノードを表す例示的なJess事実を以下に示す。
重複ノードを除去する例示的な規則は以下のイディオムで書かれる。
規則は、複雑な変換を実行する簡単な演算で構成される。このような演算は、規則が選択されたときに事実を修正することによって行われ、それによって他の規則を選択させることができる。規則のこの連鎖によって、ツリーが全体的に変換される。本発明は、互いに組み合わされたときに複雑な変換を行い、ツリーを全体的に簡略化する1組の簡単な規則を具体化する。
【0040】
集合エンジンは、ネットワーク内の各意味ルータで実現される。1組の入力ポートから入力されたプロファイルは、各エンジンによって集められ、すべての出力ポートに送信される。これと同じ動作がすべての意味ルータで実行される。特定の意味ルータがプロファイルを入力ポート上で受信すると、この意味ルータはこのプロファイルをポートに関連付ける。あるデータが入力されると、ルータはプロファイルをこのデータと比較し、データのコンテントとポートのプロファイルが一致した場合、このポート上で出力を送信する。データとプロファイルとの間に共通するものがない場合、このポート上では何も送信されない。図13は、上記の点を示している。意味ルータB680は、プロファイルRP1681およびRP2682を集合させ、その結果、RPBが意味ルータA 684に送信される。意味ルータAはこのプロファイルをポートに関連付け、AとBを接続する。意味ルータA684にあるデータが入力されると、意味ルータA684はコンテントをプロファイルRPB683と比較する。一致した場合、意味ルータB680に出力が送信される。意味ルータB680はデータをプロファイルRP1681およびRP2682と比較し、それに応じてデータを転送する。
【0041】
コンテント作成者
図14は、コンテント作成者の一般的な動作を示している。段階700で、コンテント作成者は、送信すべき新しいコンテントがあるかどうかを検査する。新しいコンテントがない場合、段階705で、コンテント作成者は、古いパケットを再び送信する必要があるかどうかを検査する。パケットを再び送信する必要がない場合、コンテント作成者は何も行わず、新しいコンテントを作成するのを待つ動作に戻る。パケットを再び送信する必要がある場合、段階710で、コンテント作成者は交渉済みの時間間隔の後で古いパケットを送信する。段階700で判定された新しいコンテントがある場合、段階715で、このコンテントがローカル・アプリケーションから検索される。段階720で、コンテントが処理され、意味コンテント記述および意味署名が得られる。意味記述子はコンテントの意味を記述する。または、意味記述子は他のプレスホルダ・フィールドを有する。このようなプレースホルダは、意味ネットワーク上で動作しているアプリケーションによって利用しかつ/またはカスタマイズすることができる。段階720で、必要に応じて、プレースホルダに環境特有の情報が充填される。意味署名は、意味記述子およびコンテントに関して算出される。この意味署名は、意味パケットをネットワーク内で効率的にかつ迅速に経路指定するために転送エージェントによって利用される。段階725で、段階720で算出されるかあるいは導かれた情報が、単一の意味パケットを形成するように最初のコンテントと組み合わされる。段階730で、意味パケットは、交渉済みの測度でこの意味ルータのすべての近傍の意味ルータに送信される。段階735で、パケット・カウンタが、負荷マネージャが使用できるように更新される。
【0042】
コンテント消費者
図15は、コンテント消費者の一般的な動作を示すフローチャートである。段階800で、コンテント消費者は、ユーザ興味プロファイル(UIP)と呼ばれる意味プロファイルを生成し、この意味プロファイルを意味ネットワークに入力する。または、ユーザ興味プロファイルは、いくつかの関心対象領域を表し、上述の方法によって生成され集められるプロファイルである。意味ネットワークは、図14の方法に従ってコンテント消費者の意味プロファイルに一致するパケットを経路指定する。段階805で、コンテント消費者は、これらの意味的に関連するパケットを意味ルータから受信する。段階810で、コンテント消費者は、通信ネットワーク・プロトコルで一般に使用されている識別フィールドまたは配列フィールドを用いて、パケットが重複しているかどうかを判定する。パケットは、重複していると判定されると、段階815で何もされずに破棄される。段階810により、意味ネットワーク上で動作しているアプリケーションが、冗長で重複した情報を負担させられることはなくなる。パケットは、段階810で重複していないと判定された場合、段階820でコンテント消費者ピア・クライアント内のフィルタによってフィルタリングされる。段階820により、前述のプロファイル集合法によって導入される漏れの結果としてリンク上で送信されるパケットが、コンテント消費者に供給されることはなくなる。フィルタリングは、パケットの意味コンテント記述子と消費者のユーザ興味プロファイルとの間に厳密な照合アルゴリズムを適用することによって行われる。次いで段階825で、パケットがアプリケーションに供給される。本発明の範囲内ではアプリケーションの種類は指定されない。例示的なアプリケーションには、電子メール記憶システム、ウェブ・ブラウザ、自動化命令処理ソフトウェア、およびその他の汎用データ処理アプリケーションが含まれる。段階830で、コンテント消費者は、ネットワーク内のコンテント消費者のプロファイルをリフレッシュすべき時期か否かを判定する。プロファイルをリフレッシュする必要がある場合、段階800で、プロファイルが再び送信され、リフレッシュする必要がない場合、コンテント消費者は、意味パケットの受信モードに戻る。
【0043】
システム内のクライアントと意味ルータとの対話
図16は、ピア・クライアント150と意味ルータ20の選択された構成要素との間で行われる一般的な管理動作を示すブロック図である。ピア・クライアント150と意味ルータ20は共に、ブートストラッピング動作のために意味ログ・キーパ(SLK)と対話する。SLK900は意味ルータ・データ905を維持する。ピア・クライアント150または意味ルータ20は、意味ネットワークに導入されると、ブートストラッピング・データ910を得るためにSLK900と連絡をとる。ピア・クライアント150内の管理モジュールは、SLK900との対話を処理する。ピア・クライアント150および意味ルータ20はこのデータを用いてネットワークの最初の理解を得る。ピア・クライアント150は、SLK900内のデータを用いて近くの意味ルータ20に問い合わせることができる。問合せの応答によって、ピア・クライアント150は1つまたは複数の適切な意味ルータ20を見つけることができる。意味ルータ20はまた、ブートストラッピング・データ910を用いて1つまたは複数の適切な近傍の意味ルータを見つける。意味ルータ20同士は、そのシグナリング・エージェント185を用いて互いに対話する。意味ルータ20内の負荷マネージャ180は、意味ルータ20に対する処理負荷を監視する。処理負荷に関する情報は、ヘルス・チェック・データ915としてSLK900に伝達することができる。プロファイル・マネージャは、シグナリング・エージェントと対話し、近傍の意味ルータ20とプロファイルを交換する。
【0044】
システムへの新しいクライアントの追加
図17は、意味ネットワークへの新しいクライアントの追加を示すフローチャートである。段階1000で、クライアント環境が初期設定される。段階1005で、意味ネットワークのSLKとの連絡がとられる。SLKは、前節の方法に従って、ネットワーク内にすでに存在する意味ルータから供給された、意味ネットワークの現在のトポロジーに関する知識を含んでいる。SLKは、これらのデータの部分集合を新しいクライアントに供給する。段階1010で、ピア・クライアントは、これらのデータを用いて、それぞれの異なる意味ルータに1組のサービス・パラメータを問い合わせることによって、意味ネットワークへの適切な接続点を判定することができる。段階1015で、ピア・クライアントは、問合せを受けた意味ルータからの応答に基づいて、接続すべき適切な意味ルータを選択することができる。意味ルータが適切であるかどうかは、この特定のクライアントによって判定される。意味ルータが適切であるかどうかを決定することのできるサービス・パラメータの例には、ネットワークにおける近接さ、意味的な関連性、および物理的な近接さが含まれる。コンテント消費者の場合、処理は図15の段階800に進む。コンテント作成者の場合、選択された意味ルータにコンテントが送信される。クライアントが1つまたは複数の近傍の意味ルータとのリンクを確立した後、上記の方法に従って通信が行われる。ノードまたはリンクの障害のためにクライアントが意味ネットワークと連絡がとれなくなった場合、段階1005で初期設定過程が再開する。
【0045】
システムへの新しい意味ルータの追加
図18Aおよび18Bは意味ネットワークへの新しい意味ルータの追加を示すフローチャートである。段階1050で、新しい意味ルータは意味ネットワークのデフォルトSLKと連絡をとる。SLKは、段階1055で、SLKの情報の部分集合、すなわち、そのようなブートストラッピング・データに基づいて潜在的な近傍の意味ルータの初期リストを形成できるようにするのに十分な情報の部分集合を意味ルータに返す。段階1065で、リスト内の近傍の意味ルータが問合せを受け、それらの現在の状態、たとえば負荷設定やプロファイル設定が判定される。段階1065で、特定のネットワークの管理されている優先順位に基づいて、1つまたは複数の応答した潜在的な近傍の意味ルータが実際の近傍の意味ルータとして選択される。段階1070で、新しいルータは、その近傍の意味ルータとのリンクを確立し、それによってそのローカル経路指定環境にポートを作成する。リンクを作成すると、近傍の意味ルータのプロファイル・マネージャが1組のプロファイル交換を開始する。段階1075で、意味プロファイルは近傍から受信される。段階1080で、プロファイル・マネージャはループ防止検査を実行する。ループは、同じパスが、ネットワーク内を循環するように連続するように経路指定されるときに生じる。検査は、たとえばインターネット・エンジニアリング・タスク・フォース(IFTF)のインタードメイン・マルチキャスティング・ルーティング(IDMR)グループによって指定されたマルチキャスト経路指定プロトコルで行われる逆方向パス転送(RPF)の方法を用いて行うことができる。ループが生じるのは、誤った意味プロファイル更新により、パケットの循環を可能にするトポロジーが意味ネットワークに作成されるからである。プロファイル・マネージャは、ループが生じる可能性を見つけた場合、段階1085で、送信側に通知し、その送信側によって送信された誤った意味プロファイルを破棄する。ループが形成されない場合、段階1090で意味プロファイルが集められる。集められたプロファイルは、すべての近傍の意味ルータに送信される。経路指定データは、プロファイルの変化を反映するように更新される。SLKは、近傍の意味ルータを見つける過程中に新しいクライアントおよび新しいルータが正しい情報を得るように新しいトポロジーを通知され、さらにヘルス・チェック・データを通知される。
【0046】
負荷マネージャは、意味プロファイルを集合させる方法に関する入力を与える。特定のルータに対する処理負荷が高い場合、意味プロファイルをより低い精度で集合させることができる。集められたプロファイルが、離散した個々のプロファイルの大きな集合のブールORである(すなわち、それぞれの異なる個々のプロファイル間に重なり合いがほとんどまたはまったくなく、漏れが生じていない)場合、コンテント作成者側の上流側意味ルータに対するフィルタリング動作の処理負荷が高くなる。一方、集められたプロファイルが非常に広く浅い(すなわち、厳密ではなく、漏れの割合が大きい))場合、上流側のフィルタリングをほとんど処理負荷なしに実行できるが、現在のルータに向かう多量の不要なトラフィックが生じる。負荷マネージャは、すべての上記の因子を検討し、個々のルータの処理負荷とシステム全体のスループットとの平衡を保つ。すべての負荷平衡動作はバックグランドで継続する。フォアグラウンドでは、段階1095で、意味ルータがパケットの経路指定を開始する。
【0047】
非オーバレイ意味ルータ・アーキテクチャ
図19は、非オーバレイ・ネットワークに備えることのできる本発明の意味ルータの一般的なアーキテクチャを示している。このアーキテクチャは、たとえばIPネットワーク層に基づいて従来のネットワーク・ルータと統合されたマルチプロトコル・ルータ1100を含んでいる。いくつかのリンク層1105は、従来のネットワーク・ルータのそれぞれの異なるリンク層インタフェースを形成する。リンク層よりも上にパケット分類器1110およびいくつかの経路指定エンジンがある。パケット分類器1110は、パケット・ヘッダを参照することによって、パケットをどのように処理するかに関して決定を下す。リンク層よりも上の経路指定エンジンには、MPLS経路指定エンジン1115、IP経路指定エンジン1120、および意味パケット経路指定エンジン1125が含まれる。この構成の利点は、経路指定装置と意味フィルタリング装置が密に統合されることによって得られる。オーバレイ・ネットワーク構成では通常、意味パケットはこのような従来のルータを通過して意味ルータに到達し、次いで意味ルータから出たときに従来のルータをもう1度通過しなければならない。さらに、このようなトラフィックは、従来のルータと意味ルータとの間のネットワーク・リンクの帯域幅によって制限される。通常、従来のルータは、外側媒体(光ファイバや銅ケーブルなど)上で実現できる速度よりもずっと速い速度で内部でパケットを転送することができる。それにより、意味ルータを従来のルータと同じ位置に配置することによってシステムのスループットを高めることができる。この構成の欠点は、従来のルータの処理能力を意味経路指定と従来のネットワークの他の処理要件とで共用しなければならないことである。特定のネットワーク環境における最適な態様は、ネットワークを含む個々の要素の帯域幅と処理機能とのバランスに依存する。
【0048】
システム一般動作の用途
図20は、本発明の例示的な態様を示している。この例には、4つの異なるコンテント消費者、すなわち、クライアントA1150、クライアントB1155、クライアントC1160、およびクライアントD1165がある。これらの消費者のそれぞれは意味プロファイル15を作成し、ピア・クライアントは、それらのプロファイルをフォーマットし、ピア・クライアントが接続されている意味ルータ20に送信する。意味プロファイル15は意味ルータ1 20および意味ルータ2 20で集められる(1170)。この集合動作は、本発明の拡張性に寄与する。集合によってプロファイルは小さくなり、意味ルータ20のメモリ空間においてプロファイルが占有する空間が狭くなり、したがって、意味ルータ20の各ポートに関連付けされるデータ(または状態)の量が少なくなる。さらに、コンテント消費者に関連するプロファイルが変更されると、最も近い意味ルータ20がこの変更を通知される。または、この変更は意味ネットワークにおいて意味ルータ20に伝搬する。意味プロファイル15が集められない場合、各コンテント消費者意味プロファイル15は個別にすべての意味ルータに伝搬される。集合の場合、特定のルータに接続されたコンテント消費者のすべての意味プロファイル間に高度の重なり合いがあるとき、個々のプロファイルの変更がすでに、集められたプロファイルの範囲内である可能性が高い。既存の集合内に収まる確率は、コンテント消費者からコンテント作成者に向かう経路に沿って高くなる。プロファイルの変更は、それがすでに集められたプロファイルの一部である場合には伝搬しなくてよい。通常、集合のために、集められた意味プロファイル15は、変更された意味プロファイル15を非常に容易に包含する。これは通常、意味ネットワークの縁に非常に近い位置で行われる。さらに、意味プロファイルを集合させると、コンテント消費者(たとえば、クライアントA〜D)にある程度の匿名性が与えられる。意味プロファイルが集められた後、コンテント作成者に近い意味ルータは、どのコンテント消費者が集められたプロファイルのどの要素を入力したのかを区別することができなくなる。一方、コンテント作成者25が、ピア・クライアントのクライアントA 1150およびクライアントC 1160が興味を持つコンテントを作成すると、意味ルータ3 20は、意味パケット30を、意味ルータ1 20および意味ルータ2 20によって送信された意味プロファイル15と比較する。これらのルータからのプロファイルは、ピア・クライアントA 1150およびクライアントC 1160の埋め込まれたプロファイルを含んでいるので、比較の結果、意味パケット30と意味プロファイル15は一致し、意味パケット30は意味ルータ1 20および意味ルータ2 20に向けて送信される。意味ルータ1 20と意味ルータ2 20の両方の動作も同じである。意味ルータ1 20および意味ルータ2 20はピア・クライアント(クライアントA、B、C、D)の個々の意味プロファイル15を比較する。この例によれば、ピア・クライアントA 1150の個々の意味プロファイルとコンテント作成者からの意味パケット30が一致し、その結果、意味パケット30はクライアントA 1150に向けて送信される。しかし、パケット30はピア・クライアントB 1155に向けては送信されない。というのは、ピア・クライアントB 1155の意味プロファイルは意味パケット30に一致しないからである。同様な動作が、意味ルータ2 20においてクライアントC 1160およびクライアントD 1165に対して行われる。
【0049】
パーソン・ツー・パーソンeコマース
上述の本発明の用途として、パーソン・ツー・パーソンeコマース・アプリケーションがある。上記の例で、クライアントAがある特定の主題に関する書籍の購入に興味があると仮定する。この書籍は近所の店舗で入手することができる。クライアントAは、このように近所で入手できることを知らない。現在利用可能なサービス・モデルでは、クライアントAは、一般に使用されているいくつかの探索エンジンを用いてwww上で書籍の探索を実行し、書籍を見つけた後、その書籍を3〜4日後に配達するオンライン・ストアから購入することができる。本発明では、この近所の店舗が、コンテント作成者として、適切な意味記述子を用いてこの書籍の入手可能であることに関する情報を公表し、クライアントAが、適切な意味プロファイルを用いてこの書籍に対する興味を表している場合、この店舗で書籍を入手できることに関する情報をクライアントAに供給することができ、それによってクライアントAはその日に近所でこの書籍を購入することができる。
【0050】
企業イントラネット
本発明の一例は、会社の位置が地理的に分散された企業イントラネット環境で動作させることができる。現在、各会社は通常、従業員が興味あるコンテントを探すことのできる中央データベースを有している。通常、このようなコンテントは、会社の財産である情報および外部の供給源から収集された情報を含んでよい。このような環境において、イントラネットに制限されるが他の意味ネットワークと対話することができる意味ネットワーク上に構築されたアプリケーションを作成することができる。このアプリケーションは、意味プロファイルの例示的なフィールドを用いて、情報を探すかまたは供給する順序を決定する。従業員は、このフィールドがプロファイル伝搬の「社内専用」モードまたは「社内後に社外」モードに設定された意味プロファイルを有することができる。したがって、意味経路指定を社内に制限するか、または最初に会社の情報を問い合わせることができる。この意味ネットワークはさらに、ネットワーク内の意味ルータに意味パケットを社外のコンテント消費者に伝搬しないよう指示することによって企業ファイアウォールとして働くこともできる。
【0051】
クローラーレス探索エンジン
図21は、クローラーレス・リアルタイム(Crawler−less Real−time)探索エンジンとしての本発明の例示的な態様を示している。この態様では、探索エンジン1200はコンテント消費者である。探索エンジンは、Xに関する情報の受信に興味がある。ただし、これは、この受信が時間Yからコンテント・プロバイダによって変更されている場合に限られる。コンテント消費者は、所望のコンテントを受信するために、適切な情報を有する意味プロファイル15を作成し、最も近くの意味ルータ20に送信する。意味ネットワーク内の意味ルータ20は、探索エンジンの意味プロファイル15を他のそのようなプロファイルと共に集合させる(35)。コンテント作成者25の近くの意味ルータ20は、集められたプロファイルを受信する。次いで、コンテント作成者25によって作成された意味パケットは最も近くの意味ルータに与えられる。集められたプロファイルによって指定された基準が満たされた場合、パケットは探索エンジン1200に向けて送信される。意味ネットワーク35内のすべての意味ルータ20は同じ動作を実行する。違いは、探索エンジン1200の意味プロファイルに一致するコンテントがコンテント消費者に向けて経路指定されることだけである。
【0052】
本発明のこの態様では、意味プロファイル15、すなわち探索エンジンは、探索エンジンが現在実行している従来型の移動を行う必要がない。このため、コンテント消費者は常に、意味プロファイルに指定された基準に基づくフレッシュなコンテントを受信することができる。
【0053】
位置認識アプリケーション
図22は、意味ネットワーク・オーバレイを有する移動ネットワークにおける本発明の位置認識実現態様を示している。携帯電話ユーザA1250および携帯電話ユーザB1255は、2つの異なる移動セル内にいる。各移動セル1260は、これらの携帯電話ユーザが、この特定の移動セル1260内にいるときに対話する少なくとも1つの基地局1265を含んでいる。所与の基地局の近くにいることにより、携帯電話システムは各加入者の概略的位置を認識する。この情報は、以下の例示的な方法で使用することができる。携帯電話ユーザがどちらもロック音楽のファンであると仮定する。さらに、これらの携帯電話ユーザの近くであるが別の移動セル1260内でコンサートが予定されていると仮定する。携帯電話ユーザA1250はコンサートのチケットを有しているが、もはやコンサートに行くことはできない。携帯電話ユーザB1255は、コンテント作成者1270、すなわちコンサートのプロモーターによって作成されたコンテントに一致する意味プロファイルを入力することによってこのコンサートのことを知る。ユーザAは、このコンサートのチケットを売りたい旨を含む意味パケットを作成する。ユーザB1255はさらに、このコンサートのチケットを売りたい人がいればそれを購入したい旨を含む意味プロファイルを送信する。次いで、ユーザAの意味パケットは、意味的な関連性のためにユーザBに向けて経路指定される。このようにして、ユーザB1255はチケットが入手可能であることを知り、ユーザ同士は、互いにそれほど離れていないので会うことができる。したがって、このようにして、ユーザAおよびBは、意味オーバレイ・ネットワーク上に書かれた位置認識意味アプリケーションを利用することができる。当業者には明らかであるように、たとえばグローバル位置検知機器を用いた他の形態の位置認識サービスを同様に使用することができる。
【0054】
本発明を前述の例示的な態様において説明し図示したが、本発明の開示が一例に過ぎず、かつ特許請求の範囲に記載された本発明の趣旨および範囲から逸脱せずに、過程および機器の構成および組合せおよび配置の詳細に多数の変更を加えてよいことが明らかであろう。
【図面の簡単な説明】
【図1】本発明のコンテント経路指定システムの概略を示す図である。
【図2】本発明のシステムの一般的な動作の流れ図である。
【図3】本発明のコンテント経路指定システムの反転動作を示す図である。
【図4】本発明が動作する環境を示す図である。
【図5】本発明のピア・クライアントの一般的な構造を示す図である。
【図6】本発明の意味ルータの一般的な構造を示す図である。
【図7Aおよび7B】本発明の意味ルータの一般的な動作の流れ図である。
【図8】本発明の意味パケットの一般的な構造を示す図である。
【図9】コンテント消費者によって表された意味プロファイルの一般的な構造を示す図である。
【図10】集められた意味プロファイルの例を示す図である。
【図11】集められたプロファイルのツリー構造を示す図である。
【図12】高度なプロファイル集合を有するプロファイル・サブツリーの組合せを示す図である。
【図13】集合エンジンの一般的な動作の例を示す図である。
【図14】コンテント作成者の一般的な動作を示す図である。
【図15】コンテント消費者の一般的な動作を示すフローチャートである。
【図16】ピア・クライアントと意味ルータとの間で行われる、一般的な管理動作を示すブロック図である。
【図17】意味ネットワークへの新しいクライアントの追加を示すフローチャートである。
【図18Aおよび18B】意味ネットワークへの新しい意味ルータの追加を示すフローチャートである。
【図19】ネットワークに備えることのできる、本発明の意味ルータ用の一般的なアーキテクチャを示す図である。
【図20】本発明の簡略化されたシステムを示す図である。
【図21】クローラーレス・リアルタイム探索エンジンとしての本発明の実現態様を示す図である。
【図22】位置認識情報配信システムとしての本発明の実現態様を示す図である。
様々な図における同じ参照番号は同じ要素を示す。
Claims (48)
- 経路指定されているコンテントの意味に基づいて、ネットワークを通してコンテントを経路指定する装置であって、
少なくとも1つのネットワーク・インタフェース・カード、
シグナリング・エージェント、
転送エージェント、
負荷マネージャ、および
意味プロファイル・マネージャ
を含むコンピュータを含む装置。 - シグナリング・エージェントは、装置と他の経路指定装置との通信に対処し、かつ他の経路指定装置との接続性を判定し、
転送エージェントは、着信意味パケットを転送し、
負荷マネージャは、経路指定装置の処理負荷を管理し、
プロファイル・マネージャは、意味プロファイルを集合させる、請求項1記載の装置。 - 意味プロファイルは、経路指定テーブルを形成するのに用いられる存在論的ツリー(ontological tree)として集められる、請求項2記載の装置。
- 負荷マネージャは、集められた意味プロファイルの精度を低下させることによって経路指定装置の処理負荷を管理する、請求項3記載の装置。
- シグナリング・エージェントは、集められた意味プロファイルを他の経路指定装置に送信し、他の経路指定装置の経路指定データを更新する、請求項3記載の装置。
- プロファイル・マネージャ、負荷マネージャおよびシグナリング・エージェントは、経路指定装置の処理負荷の平衡を保つように対話する、請求項1記載の装置。
- 負荷マネージャは、経路指定装置の処理負荷を部分的に近傍の経路指定装置に委任することによって処理負荷を管理する、請求項1記載の装置。
- 負荷マネージャは、他の経路指定装置および意味ログ・キーパと対話して、ネットワークの現在のトポロジーを認識する、請求項1記載の装置。
- 転送エージェントは、経路指定キャッシュおよび経路指定データから構成されている、請求項1記載の装置。
- 転送エージェントは、経路指定キャッシュに含まれている情報を使用することによって、着信意味パケットをその宛先に経路指定する、請求項9記載の装置。
- 転送エージェントは、意味パケットの意味記述を分析して意味パケットの宛先を判定する、請求項10記載の装置。
- 経路指定されているコンテントの意味に基づいて、ネットワークを通してコンテントを経路指定する方法であって、
意味プロファイルを受信する段階、
意味プロファイルを他の意味プロファイルと共に集合させる段階、
意味パケットを受信する段階、および
意味パケットに含まれているコンテントと集められた意味プロファイルとの比較に基づいて、意味パケットを宛先に経路指定する段階
を含む方法。 - 意味パケットを作成する前に、コンテントを分類する段階をさらに含む、請求項12記載の方法。
- 経路指定された意味パケットを、コンテント消費者に到達する前にフィルタリングする(filtering)段階をさらに含む、請求項12記載の方法。
- 意味パケットはヘッダおよびコンテントを含む、請求項12記載の方法。
- ヘッダはネットワーキング業界のプログラミング言語で書かれている、請求項15記載の方法。
- ヘッダはXML記述言語で書かれている、請求項15記載の方法。
- 意味パケットのヘッダは、プリアンブル、少なくとも1つの意味署名、および少なくとも1つの意味記述子を含む、請求項15記載の方法。
- 意味パケットの意味記述子は環境特有情報をさらに含む、請求項18記載の方法。
- 意味パケットの意味記述子は、カスタマイズされた情報をさらに含む、請求項18記載の方法。
- 意味署名を用いて、ネットワークを通して意味パケットを経路指定する転送エージェントをさらに含む、請求項18記載の方法。
- 従来のネットワーク・ルータ上にオーバレイ・ネットワークとして設けられる、請求項12記載の方法。
- 意味パケットをトネリング(tunneling)によってネットワークを通して送信する段階をさらに含む、請求項22記載の方法。
- 意味プロファイルはコンテント消費者の興味を表す、請求項12記載の方法。
- コンテントは、それが意味プロファイルに指定されたコンテント消費者の興味に一致する場合にのみ、コンテント消費者に転送される、請求項12記載の方法。
- コンテントを意味プロファイルに一致させることは、構成されたXMLパケット・ヘッダとコンテント経路指定ツリーを比較することによってなされる、請求項25記載の方法。
- 意味プロファイルは、
プリアンブル、
少なくとも1つの意味署名、
少なくとも1つの意味記述子
意味プロファイルの有効期間に関する情報、
認証データ、および
意味ルータに指示を与えるコマンド・フィールド
を含む、請求項12記載の方法。 - 意味プロファイルのプリアンブルは、少なくとも1つの意味記述子を含む、請求項27記載の方法。
- プロファイル記述子はネットワーキング業界のプログラミング言語で書かれている、請求項27記載の方法。
- プロファイル記述子はXML記述言語で書かれている、請求項27記載の方法。
- 認証データは、ユーザを検証するのに用いられる、請求項27記載の方法。
- 意味プロファイルは、誰がコンテントにアクセスするかを制御することによって、意味ネットワークがファイアウォールとして働くのを可能にする情報をさらに含む、請求項27記載の方法。
- コンテント消費者によって受信されるコンテントを、ネットワークが決定するのを可能にするポリシー・プロファイルをさらに含む、請求項27記載の方法。
- 意味プロファイルを集合させる段階が、
プロファイル・ファイル構文を解析する段階、
プロファイル・ファイル内のあらゆる情報要素上に、プロファイル・ツリーのノードを作成して存在させる(populate)段階、
ノードに関連する事実を作成する段階、
規則がノードの名前、値、親、ラベル、および子を比較するように書かれている規則ファイルに読み込む段階、
事実に基づいて規則を起動する(fire)規則エンジンを動作させる段階、
事実が起動されたときに、プロファイル・ツリーの少なくとも1つのノードを変換する、対応するメソッドを呼び出す段階、ならびに
変換のためにメソッドをサブツリーに接続する段階
を含む、請求項12記載の方法。 - 事実および規則はJessシステムで表現され、メソッドはJavaプログラミング言語で表現される、請求項34記載の方法。
- クライアントを意味ネットワークに接続する方法であって、
意味ログ・キーパと連絡をとる段階、
意味ログ・キーパから得られた経路指定データを用いて、異なる意味ルータに問い合わせる段階、および
問合せに対する応答に基づいて適切な意味ルータを選択する段階
を含む方法。 - 選択された意味ルータが、コンテント消費者から意味プロファイルを受信する段階をさらに含む、請求項36記載の方法。
- 選択されたルータがコンテント作成者から意味パケットを受信する段階をさらに含む、請求項36記載の方法。
- コンテントを公表する方法であって、
コンテント・プロファイルを受信する段階、
コンテント・プロファイルを他のコンテント・プロファイルと共に集合させる段階、
集められたコンテント・プロファイルを意味ネットワークに配信する段階、
集められたコンテント・プロファイルを意味ネットワーク内の意味ルータに記憶する段階、
シーク・パケットを受信する段階、および
意味ルータに記憶されている集められたコンテント・プロファイルに部分的に基づいて、シーク・パケットを経路指定する段階
を含む方法。 - シーク・パケットはリターン・アドレスを含む、請求項39記載の方法。
- コンテントをコンテント消費者にプッシュする(push)段階をさらに含む、請求項39記載の方法。
- 意味プロファイルを集合させるプロファイル・マネージャ、および
集められた意味プロファイルに基づいて、近傍の意味ルータに意味パケットを転送する転送エージェント
を含む意味ルータ。 - 経路指定エンジン、
ネットワーク経路指定エンジン、および
意味パケット経路指定エンジン
を含むマルチプロトコル・ルータ。 - ネットワークを通してコンテントを経路指定する装置であって、
少なくとも1つの意味ルータを有し、各意味ルータが以下を含む、ネットワークに接続されている装置:
意味パケットを受信する手段、
意味プロファイルを受信する手段、
意味プロファイルを他の意味プロファイルと共に集合させる手段、および
集められた意味プロファイルに基づいて、少なくとも次の宛先にコンテントを経路指定する手段。 - コンピュータ・システムに、
意味プロファイルを受信させ、
意味プロファイルを他の意味プロファイルと共に集合させ、
意味パケットを受信させ、かつ
集められた意味プロファイルを用いて、受信された意味パケットをネットワークを通じて少なくとも次の宛先アドレスに経路指定させるための、
コンピュータが実行可能な指示を記憶する、コンピュータ可読媒体を含む製品。 - 分散コンピュータ・ネットワーク内のオンライン探索エンジン用の方法であって、
指定されたコンテントに対する興味を受信する段階、
指定されたコンテントに対する該興味を含む、意味プロファイルを作成する段階、
意味プロファイルを意味ルータに伝搬する段階、
意味プロファイルを他の意味プロファイルと共に、少なくとも1つの意味ルータ上に集合させる段階、
集められた意味プロファイルをネットワークを通じて伝搬する段階、
意味パケットを受信する段階、および
集められた意味プロファイルに基づいて、ネットワークを通じて探索エンジンに向けて意味パケットを伝搬する段階
を含む方法。 - コンピュータで実施される、情報検索方法であって、
意味プロファイルを受信する段階、
意味プロファイルを他の意味プロファイルと共に集合させる段階、
意味パケットを受信する段階、および
意味パケットに含まれているコンテントと集められた意味プロファイルとの比較に基づいて、意味パケットを宛先に経路指定する段階を
含む方法。 - 拡張可能な意味ネットワークであって、
意味ネットワークのノード間に分散された複数の意味ルータを含み、
複数の意味ルータのそれぞれは、他の意味ルータが接続された複数のポートを有しており、
メッセージが、該複数のポートのうちの1つを介して1つの意味ルータを経由して、現在の意味ルータにより受信され、該複数のポートのうちの少なくとも1つを介して好ましい経路に沿って次の意味ルータに送信され、
各意味ルータは、メッセージのコンテントに基づいてメッセージを経路指定する次の意味ルータを決定する、存在論的ツリーを含んでおり、
存在論的ツリーは意味プロファイルの集合に基づく、ネットワーク。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22558600P | 2000-08-16 | 2000-08-16 | |
US09/922,127 US7216179B2 (en) | 2000-08-16 | 2001-08-03 | High-performance addressing and routing of data packets with semantically descriptive labels in a computer network |
PCT/US2001/025458 WO2002015474A2 (en) | 2000-08-16 | 2001-08-14 | High-performance addressing and routing of data packets with semantically descriptive labels in a computer network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004507159A true JP2004507159A (ja) | 2004-03-04 |
Family
ID=26919741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002520475A Pending JP2004507159A (ja) | 2000-08-16 | 2001-08-14 | コンピュータ・ネットワークにおける意味的記述ラベルを有するデータ・パケットの高性能アドレス指定および経路指定の方法 |
Country Status (9)
Country | Link |
---|---|
US (2) | US7216179B2 (ja) |
EP (1) | EP1310075B1 (ja) |
JP (1) | JP2004507159A (ja) |
CN (1) | CN1465169A (ja) |
AU (1) | AU2001284903A1 (ja) |
CA (1) | CA2419789A1 (ja) |
DE (1) | DE60125954T2 (ja) |
IL (1) | IL154428A0 (ja) |
WO (1) | WO2002015474A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150040501A (ko) * | 2013-10-07 | 2015-04-15 | 에스케이텔레콤 주식회사 | 콘텐츠 동기화 방법 및 이를 위한 장치 |
Families Citing this family (261)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010032278A1 (en) | 1997-10-07 | 2001-10-18 | Brown Stephen J. | Remote generation and distribution of command programs for programmable devices |
CA2401982C (en) * | 2000-03-07 | 2007-12-11 | Nippon Telegraph And Telephone Corporation | Semantic information-oriented network (sion) |
US7688727B1 (en) | 2000-04-17 | 2010-03-30 | Juniper Networks, Inc. | Filtering and route lookup in a switching device |
US7215637B1 (en) | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US6798777B1 (en) | 2000-04-17 | 2004-09-28 | Juniper Networks, Inc. | Filtering and route lookup in a switching device |
US7216179B2 (en) * | 2000-08-16 | 2007-05-08 | Semandex Networks Inc. | High-performance addressing and routing of data packets with semantically descriptive labels in a computer network |
US7574495B1 (en) | 2000-09-13 | 2009-08-11 | Fortinet, Inc. | System and method for managing interworking communications protocols |
US7487232B1 (en) * | 2000-09-13 | 2009-02-03 | Fortinet, Inc. | Switch management system and method |
US7272643B1 (en) * | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US7444398B1 (en) * | 2000-09-13 | 2008-10-28 | Fortinet, Inc. | System and method for delivering security services |
US7389358B1 (en) | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US6738355B1 (en) * | 2000-11-01 | 2004-05-18 | Agilent Technologies, Inc. | Synchronization method for multi-probe communications network monitoring |
US7047273B2 (en) * | 2000-11-28 | 2006-05-16 | Navic Systems, Inc. | Load balancing in set top cable box environment |
US7904194B2 (en) | 2001-02-09 | 2011-03-08 | Roy-G-Biv Corporation | Event management systems and methods for motion control systems |
BR0117030A (pt) * | 2001-05-28 | 2004-04-20 | Nokia Corp | Método e entidade de controle para rotear uma chamada entre pelo menos dois elementos de rede lógicos |
US7181547B1 (en) | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
US20030165139A1 (en) * | 2001-08-15 | 2003-09-04 | Tsu-Wei Chen | Packet routing via payload inspection |
US7411954B2 (en) * | 2001-10-17 | 2008-08-12 | Precache Inc. | Efficient implementation of wildcard matching on variable-sized fields in content-based routing |
US7545805B2 (en) * | 2001-08-15 | 2009-06-09 | Precache, Inc. | Method and apparatus for content-based routing and filtering at routers using channels |
US6718339B2 (en) * | 2001-08-31 | 2004-04-06 | Sharp Laboratories Of America, Inc. | System and method for controlling a profile's lifetime in a limited memory store device |
US7293109B2 (en) * | 2001-10-15 | 2007-11-06 | Semandex Networks, Inc. | Dynamic content based multicast routing in mobile networks |
US7580349B1 (en) * | 2001-11-02 | 2009-08-25 | Nortel Networks Limited | Content-aware dynamic network resource allocation |
CA2366183A1 (en) * | 2001-12-21 | 2003-06-21 | Ibm Canada Limited-Ibm Canada Limitee | Dynamic status tree facility |
CN100458767C (zh) * | 2002-03-28 | 2009-02-04 | 普里凯许公司 | 用于在公共预订网络中可靠并且高效地进行基于内容的路由、查询以及响应的方法和设备 |
US7747747B1 (en) | 2002-05-06 | 2010-06-29 | Apple Inc. | Method and arrangement for supressing duplicate network resources |
US7203192B2 (en) | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US7177311B1 (en) * | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
US7376125B1 (en) | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
US7161904B2 (en) | 2002-06-04 | 2007-01-09 | Fortinet, Inc. | System and method for hierarchical metering in a virtual router based network switch |
CN100347994C (zh) * | 2002-06-21 | 2007-11-07 | 汤姆森特许公司 | 可线性扩展的广播路由器装置 |
US20040078450A1 (en) * | 2002-07-08 | 2004-04-22 | Tsu-Wei Chen | Packet routing via payload inspection for digital content delivery |
US20040083305A1 (en) * | 2002-07-08 | 2004-04-29 | Chung-Yih Wang | Packet routing via payload inspection for alert services |
US7587517B2 (en) * | 2002-07-08 | 2009-09-08 | Precache Inc. | Packet routing via payload inspection for quality of service management |
US7689485B2 (en) * | 2002-08-10 | 2010-03-30 | Cisco Technology, Inc. | Generating accounting data based on access control list entries |
US7096383B2 (en) | 2002-08-29 | 2006-08-22 | Cosine Communications, Inc. | System and method for virtual router failover in a network routing system |
US20040088274A1 (en) * | 2002-10-31 | 2004-05-06 | Zhichen Xu | Semantic hashing |
US7421433B2 (en) * | 2002-10-31 | 2008-09-02 | Hewlett-Packard Development Company, L.P. | Semantic-based system including semantic vectors |
US20040088301A1 (en) * | 2002-10-31 | 2004-05-06 | Mallik Mahalingam | Snapshot of a file system |
US7266120B2 (en) * | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
US20040111529A1 (en) * | 2002-12-10 | 2004-06-10 | Intel Corporation (A Delaware Corporation) | Dynamic host based load balancing of a multihomed network |
FR2849975B1 (fr) * | 2003-01-14 | 2005-09-23 | Cit Alcatel | Procede de configuration d'un chemin de routage dans un routeur ip et reseau |
US7043470B2 (en) * | 2003-03-05 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Method and apparatus for improving querying |
US7039634B2 (en) * | 2003-03-12 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | Semantic querying a peer-to-peer network |
US20040205242A1 (en) * | 2003-03-12 | 2004-10-14 | Zhichen Xu | Querying a peer-to-peer network |
US20040181607A1 (en) * | 2003-03-13 | 2004-09-16 | Zhichen Xu | Method and apparatus for providing information in a peer-to-peer network |
US7392512B2 (en) * | 2003-09-08 | 2008-06-24 | Microsoft Corporation | System and method for automatic conversion from WAP client provisioning XML represented objects to OMA DM tree structure represented objects |
US20060064503A1 (en) * | 2003-09-25 | 2006-03-23 | Brown David W | Data routing systems and methods |
US8027349B2 (en) | 2003-09-25 | 2011-09-27 | Roy-G-Biv Corporation | Database event driven motion systems |
US20050128995A1 (en) * | 2003-09-29 | 2005-06-16 | Ott Maximilian A. | Method and apparatus for using wireless hotspots and semantic routing to provide broadband mobile serveices |
US7607136B2 (en) * | 2003-10-28 | 2009-10-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for interfacing with a distributed computing service |
US7570600B1 (en) * | 2003-12-17 | 2009-08-04 | Symantec Operating Corporation | Overlay network with efficient routing and recovery |
US7376670B2 (en) | 2004-02-20 | 2008-05-20 | Alcatel-Lucent | System and method for provisioning presence application services |
US20060029106A1 (en) * | 2004-06-14 | 2006-02-09 | Semandex Networks, Inc. | System and method for providing content-based instant messaging |
US8009586B2 (en) | 2004-06-29 | 2011-08-30 | Damaka, Inc. | System and method for data transfer in a peer-to peer hybrid communication network |
US8050272B2 (en) * | 2004-06-29 | 2011-11-01 | Damaka, Inc. | System and method for concurrent sessions in a peer-to-peer hybrid communications network |
US7570636B2 (en) | 2004-06-29 | 2009-08-04 | Damaka, Inc. | System and method for traversing a NAT device for peer-to-peer hybrid communications |
US8437307B2 (en) | 2007-09-03 | 2013-05-07 | Damaka, Inc. | Device and method for maintaining a communication session during a network transition |
US7933260B2 (en) | 2004-06-29 | 2011-04-26 | Damaka, Inc. | System and method for routing and communicating in a heterogeneous network environment |
US8180883B1 (en) * | 2004-08-02 | 2012-05-15 | Cisco Technology, Inc. | Method and system for processing directives included in management events |
US7499419B2 (en) | 2004-09-24 | 2009-03-03 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US20070115979A1 (en) * | 2004-11-18 | 2007-05-24 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
US7808904B2 (en) * | 2004-11-18 | 2010-10-05 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
US20060165053A1 (en) * | 2005-01-21 | 2006-07-27 | Nec Laboratories America, Inc. | Content based data packet routing using labels |
US20120166371A1 (en) * | 2005-03-30 | 2012-06-28 | Primal Fusion Inc. | Knowledge representation systems and methods incorporating data consumer models and preferences |
US9104779B2 (en) | 2005-03-30 | 2015-08-11 | Primal Fusion Inc. | Systems and methods for analyzing and synthesizing complex knowledge representations |
US10002325B2 (en) | 2005-03-30 | 2018-06-19 | Primal Fusion Inc. | Knowledge representation systems and methods incorporating inference rules |
US7664041B2 (en) * | 2005-05-26 | 2010-02-16 | Dale Trenton Smith | Distributed stream analysis using general purpose processors |
US8055575B2 (en) * | 2005-10-14 | 2011-11-08 | Financial Intergroup Holdings, Ltd. | Central counterparty for data management |
WO2007068881A2 (en) * | 2005-12-13 | 2007-06-21 | British Telecommunications Public Limited Company | User specific database querying method and apparatus |
US8531953B2 (en) * | 2006-02-21 | 2013-09-10 | Barclays Capital Inc. | System and method for network traffic splitting |
US8122087B2 (en) * | 2006-03-21 | 2012-02-21 | Aol Inc. | Matching engine for comparing data feeds with user profile criteria |
GB2435565B (en) * | 2006-08-09 | 2008-02-20 | Cvon Services Oy | Messaging system |
US20080256026A1 (en) * | 2006-10-17 | 2008-10-16 | Michael Glen Hays | Method For Optimizing And Executing A Query Using Ontological Metadata |
US20080101368A1 (en) * | 2006-10-31 | 2008-05-01 | Weinman Joseph B | Method and apparatus for providing message content based route selection |
US20080137668A1 (en) * | 2006-12-08 | 2008-06-12 | The Regents Of The University Of California | Social semantic networks for distributing contextualized information |
US7958155B2 (en) * | 2007-04-17 | 2011-06-07 | Semandex Networks, Inc. | Systems and methods for the management of information to enable the rapid dissemination of actionable information |
US8041743B2 (en) * | 2007-04-17 | 2011-10-18 | Semandex Networks, Inc. | Systems and methods for providing semantically enhanced identity management |
US20090164387A1 (en) * | 2007-04-17 | 2009-06-25 | Semandex Networks Inc. | Systems and methods for providing semantically enhanced financial information |
US8935718B2 (en) | 2007-05-22 | 2015-01-13 | Apple Inc. | Advertising management method and system |
US8051056B2 (en) * | 2007-05-29 | 2011-11-01 | Microsoft Corporation | Acquiring ontological knowledge from query logs |
US20080307436A1 (en) * | 2007-06-06 | 2008-12-11 | Microsoft Corporation | Distributed publish-subscribe event system with routing of published events according to routing tables updated during a subscription process |
US8082583B1 (en) | 2007-07-09 | 2011-12-20 | Trend Micro Incorporated | Delegation of content filtering services between a gateway and trusted clients in a computer network |
US8862164B2 (en) | 2007-09-28 | 2014-10-14 | Damaka, Inc. | System and method for transitioning a communication session between networks that are not commonly controlled |
WO2009070718A1 (en) | 2007-11-28 | 2009-06-04 | Damaka, Inc. | System and method for endpoint handoff in a hybrid peer-to-peer networking environment |
US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
US20090287781A1 (en) * | 2008-05-19 | 2009-11-19 | International Business Machines Corporation | Grouping messages using patterns in a messaging system |
GB2463669A (en) * | 2008-09-19 | 2010-03-24 | Motorola Inc | Using a semantic graph to expand characterising terms of a content item and achieve targeted selection of associated content items |
US8204060B2 (en) * | 2009-01-30 | 2012-06-19 | Palo Alto Research Center Incorporated | Method and system for facilitating forwarding a packet in a content-centric network |
CN102498479B (zh) * | 2009-06-19 | 2015-05-13 | 日本技术贸易株式会社 | 内容管理装置和内容管理方法 |
US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
IT1397439B1 (it) * | 2009-12-30 | 2013-01-10 | St Microelectronics Srl | Procedimento e dispositivi per la distribuzione di contenuti mediali e relativo prodotto informatico |
US8347242B2 (en) * | 2010-01-05 | 2013-01-01 | The Boeing Company | Processing wiring diagrams in a data processing system |
US8725895B2 (en) | 2010-02-15 | 2014-05-13 | Damaka, Inc. | NAT traversal by concurrently probing multiple candidates |
US8892646B2 (en) | 2010-08-25 | 2014-11-18 | Damaka, Inc. | System and method for shared session appearance in a hybrid peer-to-peer environment |
US8874785B2 (en) | 2010-02-15 | 2014-10-28 | Damaka, Inc. | System and method for signaling and data tunneling in a peer-to-peer environment |
US9043488B2 (en) | 2010-03-29 | 2015-05-26 | Damaka, Inc. | System and method for session sweeping between devices |
US9191416B2 (en) | 2010-04-16 | 2015-11-17 | Damaka, Inc. | System and method for providing enterprise voice call continuity |
US8352563B2 (en) | 2010-04-29 | 2013-01-08 | Damaka, Inc. | System and method for peer-to-peer media routing using a third party instant messaging system for signaling |
US10474647B2 (en) | 2010-06-22 | 2019-11-12 | Primal Fusion Inc. | Methods and devices for customizing knowledge representation systems |
US8611540B2 (en) | 2010-06-23 | 2013-12-17 | Damaka, Inc. | System and method for secure messaging in a hybrid peer-to-peer network |
US8468010B2 (en) | 2010-09-24 | 2013-06-18 | Damaka, Inc. | System and method for language translation in a hybrid peer-to-peer environment |
US10263888B2 (en) * | 2010-09-30 | 2019-04-16 | Trading Technologies International, Inc. | Sticky order routers |
US8743781B2 (en) | 2010-10-11 | 2014-06-03 | Damaka, Inc. | System and method for a reverse invitation in a hybrid peer-to-peer environment |
WO2012057943A1 (en) * | 2010-10-26 | 2012-05-03 | Vonage Network Llc | Systems and methods for integrating information from voice over internet protocol systems and social networking systems |
EP2633656A4 (en) | 2010-10-29 | 2014-06-25 | Nokia Corp | METHOD AND APPARATUS FOR DISTRIBUTING PUBLISHED MESSAGES |
US8701162B1 (en) * | 2010-11-02 | 2014-04-15 | Lockheed Martin Corporation | Method and system for detecting and countering malware in a computer |
US8407314B2 (en) | 2011-04-04 | 2013-03-26 | Damaka, Inc. | System and method for sharing unsupported document types between communication devices |
US8694587B2 (en) | 2011-05-17 | 2014-04-08 | Damaka, Inc. | System and method for transferring a call bridge between communication devices |
US8762570B2 (en) * | 2012-02-21 | 2014-06-24 | Futurewei Technologies, Inc. | Method and apparatus for adaptive forwarding strategies in content-centric networking |
EP2688264B1 (en) | 2012-07-16 | 2016-08-24 | Alcatel Lucent | Method and apparatus for privacy protected clustering of user interest profiles |
US9280546B2 (en) | 2012-10-31 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for accessing digital content using a location-independent name |
US9400800B2 (en) | 2012-11-19 | 2016-07-26 | Palo Alto Research Center Incorporated | Data transport by named content synchronization |
CN104823419B (zh) * | 2012-11-28 | 2018-04-10 | 松下知识产权经营株式会社 | 接收终端及接收方法 |
US10430839B2 (en) | 2012-12-12 | 2019-10-01 | Cisco Technology, Inc. | Distributed advertisement insertion in content-centric networks |
US8977756B2 (en) * | 2013-01-10 | 2015-03-10 | Microsoft Technology Licensing, Llc | SWAN: achieving high utilization in networks |
US10165047B2 (en) | 2013-03-15 | 2018-12-25 | Google Technology Holdings LLC | Methods and apparatus for transmitting service information in a neighborhood of peer-to-peer communication groups |
US9978025B2 (en) | 2013-03-20 | 2018-05-22 | Cisco Technology, Inc. | Ordered-element naming for name-based packet forwarding |
US9935791B2 (en) | 2013-05-20 | 2018-04-03 | Cisco Technology, Inc. | Method and system for name resolution across heterogeneous architectures |
US9185120B2 (en) | 2013-05-23 | 2015-11-10 | Palo Alto Research Center Incorporated | Method and system for mitigating interest flooding attacks in content-centric networks |
US9871865B2 (en) * | 2013-07-11 | 2018-01-16 | Neura, Inc. | Physical environment profiling through internet of things integration platform |
US9600571B2 (en) | 2013-07-11 | 2017-03-21 | Neura, Inc. | Interoperability mechanisms for internet of things integration platform |
US10990894B2 (en) | 2013-07-11 | 2021-04-27 | Neura, Inc. | Situation forecast mechanisms for internet of things integration platform |
US9027032B2 (en) | 2013-07-16 | 2015-05-05 | Damaka, Inc. | System and method for providing additional functionality to existing software in an integrated manner |
US9444722B2 (en) | 2013-08-01 | 2016-09-13 | Palo Alto Research Center Incorporated | Method and apparatus for configuring routing paths in a custodian-based routing architecture |
EP2860629A1 (en) * | 2013-10-10 | 2015-04-15 | Alcatel Lucent | Method, processing framework, aggregator and computer program product for processing data |
US9357016B2 (en) | 2013-10-18 | 2016-05-31 | Damaka, Inc. | System and method for virtual parallel resource management |
US9407549B2 (en) | 2013-10-29 | 2016-08-02 | Palo Alto Research Center Incorporated | System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers |
US9282050B2 (en) | 2013-10-30 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for minimum path MTU discovery in content centric networks |
US9276840B2 (en) | 2013-10-30 | 2016-03-01 | Palo Alto Research Center Incorporated | Interest messages with a payload for a named data network |
US9401864B2 (en) * | 2013-10-31 | 2016-07-26 | Palo Alto Research Center Incorporated | Express header for packets with hierarchically structured variable-length identifiers |
EP2869613B1 (en) * | 2013-10-31 | 2018-01-17 | Deutsche Telekom AG | Method and system of data routing through time-variant contextual trust |
US10101801B2 (en) | 2013-11-13 | 2018-10-16 | Cisco Technology, Inc. | Method and apparatus for prefetching content in a data stream |
US9311377B2 (en) | 2013-11-13 | 2016-04-12 | Palo Alto Research Center Incorporated | Method and apparatus for performing server handoff in a name-based content distribution system |
US10129365B2 (en) * | 2013-11-13 | 2018-11-13 | Cisco Technology, Inc. | Method and apparatus for pre-fetching remote content based on static and dynamic recommendations |
US10089655B2 (en) | 2013-11-27 | 2018-10-02 | Cisco Technology, Inc. | Method and apparatus for scalable data broadcasting |
US9503358B2 (en) | 2013-12-05 | 2016-11-22 | Palo Alto Research Center Incorporated | Distance-based routing in an information-centric network |
US9379979B2 (en) | 2014-01-14 | 2016-06-28 | Palo Alto Research Center Incorporated | Method and apparatus for establishing a virtual interface for a set of mutual-listener devices |
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US10172068B2 (en) | 2014-01-22 | 2019-01-01 | Cisco Technology, Inc. | Service-oriented routing in software-defined MANETs |
US9374304B2 (en) | 2014-01-24 | 2016-06-21 | Palo Alto Research Center Incorporated | End-to end route tracing over a named-data network |
US9531679B2 (en) | 2014-02-06 | 2016-12-27 | Palo Alto Research Center Incorporated | Content-based transport security for distributed producers |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9678998B2 (en) | 2014-02-28 | 2017-06-13 | Cisco Technology, Inc. | Content name resolution for information centric networking |
US10089651B2 (en) | 2014-03-03 | 2018-10-02 | Cisco Technology, Inc. | Method and apparatus for streaming advertisements in a scalable data broadcasting system |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9391896B2 (en) | 2014-03-10 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network |
US9473405B2 (en) | 2014-03-10 | 2016-10-18 | Palo Alto Research Center Incorporated | Concurrent hashes and sub-hashes on data streams |
US9407432B2 (en) | 2014-03-19 | 2016-08-02 | Palo Alto Research Center Incorporated | System and method for efficient and secure distribution of digital content |
US9916601B2 (en) | 2014-03-21 | 2018-03-13 | Cisco Technology, Inc. | Marketplace for presenting advertisements in a scalable data broadcasting system |
US9363179B2 (en) | 2014-03-26 | 2016-06-07 | Palo Alto Research Center Incorporated | Multi-publisher routing protocol for named data networks |
US9363086B2 (en) | 2014-03-31 | 2016-06-07 | Palo Alto Research Center Incorporated | Aggregate signing of data in content centric networking |
US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US10075521B2 (en) | 2014-04-07 | 2018-09-11 | Cisco Technology, Inc. | Collection synchronization using equality matched network names |
US9390289B2 (en) | 2014-04-07 | 2016-07-12 | Palo Alto Research Center Incorporated | Secure collection synchronization using matched network names |
US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
US9451032B2 (en) | 2014-04-10 | 2016-09-20 | Palo Alto Research Center Incorporated | System and method for simple service discovery in content-centric networks |
US9203885B2 (en) | 2014-04-28 | 2015-12-01 | Palo Alto Research Center Incorporated | Method and apparatus for exchanging bidirectional streams over a content centric network |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9455835B2 (en) | 2014-05-23 | 2016-09-27 | Palo Alto Research Center Incorporated | System and method for circular link resolution with hash-based names in content-centric networks |
US9276751B2 (en) | 2014-05-28 | 2016-03-01 | Palo Alto Research Center Incorporated | System and method for circular link resolution with computable hash-based names in content-centric networks |
US9516144B2 (en) | 2014-06-19 | 2016-12-06 | Palo Alto Research Center Incorporated | Cut-through forwarding of CCNx message fragments with IP encapsulation |
US9467377B2 (en) | 2014-06-19 | 2016-10-11 | Palo Alto Research Center Incorporated | Associating consumer states with interests in a content-centric network |
US9537719B2 (en) | 2014-06-19 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and apparatus for deploying a minimal-cost CCN topology |
US9426113B2 (en) | 2014-06-30 | 2016-08-23 | Palo Alto Research Center Incorporated | System and method for managing devices over a content centric network |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9959156B2 (en) | 2014-07-17 | 2018-05-01 | Cisco Technology, Inc. | Interest return control message |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9535968B2 (en) | 2014-07-21 | 2017-01-03 | Palo Alto Research Center Incorporated | System for distributing nameless objects using self-certifying names |
CA2956617A1 (en) | 2014-08-05 | 2016-02-11 | Damaka, Inc. | System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9503365B2 (en) | 2014-08-11 | 2016-11-22 | Palo Alto Research Center Incorporated | Reputation-based instruction processing over an information centric network |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9391777B2 (en) | 2014-08-15 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for performing key resolution over a content centric network |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US9467492B2 (en) | 2014-08-19 | 2016-10-11 | Palo Alto Research Center Incorporated | System and method for reconstructable all-in-one content stream |
US9497282B2 (en) | 2014-08-27 | 2016-11-15 | Palo Alto Research Center Incorporated | Network coding for content-centric network |
US10204013B2 (en) | 2014-09-03 | 2019-02-12 | Cisco Technology, Inc. | System and method for maintaining a distributed and fault-tolerant state over an information centric network |
US9553812B2 (en) | 2014-09-09 | 2017-01-24 | Palo Alto Research Center Incorporated | Interest keep alives at intermediate routers in a CCN |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US9536059B2 (en) | 2014-12-15 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and system for verifying renamed content using manifests in a content centric network |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US9846881B2 (en) | 2014-12-19 | 2017-12-19 | Palo Alto Research Center Incorporated | Frugal user engagement help systems |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9473475B2 (en) | 2014-12-22 | 2016-10-18 | Palo Alto Research Center Incorporated | Low-cost authenticated signing delegation in content centric networking |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
CN104661249B (zh) * | 2014-12-29 | 2018-07-06 | 中国科学院计算机网络信息中心 | 一种降低ndn网络移动用户内容获取延迟的系统和方法 |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9602596B2 (en) | 2015-01-12 | 2017-03-21 | Cisco Systems, Inc. | Peer-to-peer sharing in a content centric network |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9462006B2 (en) | 2015-01-21 | 2016-10-04 | Palo Alto Research Center Incorporated | Network-layer application-specific trust model |
US9552493B2 (en) | 2015-02-03 | 2017-01-24 | Palo Alto Research Center Incorporated | Access control framework for information centric networking |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10116605B2 (en) | 2015-06-22 | 2018-10-30 | Cisco Technology, Inc. | Transport stack name scheme and identity management |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US10610144B2 (en) | 2015-08-19 | 2020-04-07 | Palo Alto Research Center Incorporated | Interactive remote patient monitoring and condition management intervention system |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US9794238B2 (en) | 2015-10-29 | 2017-10-17 | Cisco Technology, Inc. | System for key exchange in a content centric network |
US9807205B2 (en) | 2015-11-02 | 2017-10-31 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary |
US10009446B2 (en) | 2015-11-02 | 2018-06-26 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary learning |
US10021222B2 (en) | 2015-11-04 | 2018-07-10 | Cisco Technology, Inc. | Bit-aligned header compression for CCN messages using dictionary |
US10097521B2 (en) | 2015-11-20 | 2018-10-09 | Cisco Technology, Inc. | Transparent encryption in a content centric network |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10078062B2 (en) | 2015-12-15 | 2018-09-18 | Palo Alto Research Center Incorporated | Device health estimation by combining contextual information with sensor data |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US9949301B2 (en) | 2016-01-20 | 2018-04-17 | Palo Alto Research Center Incorporated | Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10038633B2 (en) | 2016-03-04 | 2018-07-31 | Cisco Technology, Inc. | Protocol to query for historical network information in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US9832116B2 (en) | 2016-03-14 | 2017-11-28 | Cisco Technology, Inc. | Adjusting entries in a forwarding information base in a content centric network |
US10212196B2 (en) | 2016-03-16 | 2019-02-19 | Cisco Technology, Inc. | Interface discovery and authentication in a name-based network |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US11436656B2 (en) | 2016-03-18 | 2022-09-06 | Palo Alto Research Center Incorporated | System and method for a real-time egocentric collaborative filter on large datasets |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
US10091025B2 (en) | 2016-03-31 | 2018-10-02 | Damaka, Inc. | System and method for enabling use of a single user identifier across incompatible networks for UCC functionality |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
US10305865B2 (en) | 2016-06-21 | 2019-05-28 | Cisco Technology, Inc. | Permutation-based content encryption with manifests in a content centric network |
US10148572B2 (en) | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US10009266B2 (en) | 2016-07-05 | 2018-06-26 | Cisco Technology, Inc. | Method and system for reference counted pending interest tables in a content centric network |
US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
JP7065498B2 (ja) * | 2018-02-03 | 2022-05-12 | アレグロスマート株式会社 | データオーケストレーションプラットフォーム管理 |
US11095525B2 (en) * | 2018-04-19 | 2021-08-17 | International Business Machines Corporation | Diagramming system for a distributed data processing system |
US10565229B2 (en) | 2018-05-24 | 2020-02-18 | People.ai, Inc. | Systems and methods for matching electronic activities directly to record objects of systems of record |
US11924297B2 (en) | 2018-05-24 | 2024-03-05 | People.ai, Inc. | Systems and methods for generating a filtered data set |
US11463441B2 (en) | 2018-05-24 | 2022-10-04 | People.ai, Inc. | Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US648795A (en) * | 1900-01-20 | 1900-05-01 | John R Richardson | Roller-bearing for axles. |
US7236575B2 (en) * | 1997-08-29 | 2007-06-26 | Arbinet-Thexchange, Inc. | System and method for IP bandwidth trading |
US6029195A (en) | 1994-11-29 | 2000-02-22 | Herz; Frederick S. M. | System for customized electronic identification of desirable objects |
US5873084A (en) | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
EP0914637B1 (en) * | 1996-07-03 | 2001-10-17 | Sopheon N.V. | Document producing support system |
FI106990B (fi) | 1996-12-31 | 2001-05-15 | Nokia Mobile Phones Ltd | Menetelmä informaation välittämiseksi käyttäjälle |
US6055364A (en) | 1997-07-31 | 2000-04-25 | Cisco Technology, Inc. | Content-based filtering of multicast information |
US6324584B1 (en) * | 1997-11-26 | 2001-11-27 | International Business Machines Corp. | Method for intelligent internet router and system |
US6006272A (en) * | 1998-02-23 | 1999-12-21 | Lucent Technologies Inc. | Method for network address translation |
US6421675B1 (en) | 1998-03-16 | 2002-07-16 | S. L. I. Systems, Inc. | Search engine |
US6169989B1 (en) | 1998-05-21 | 2001-01-02 | International Business Machines Corporation | Method and apparatus for parallel profile matching in a large scale webcasting system |
US6633685B1 (en) * | 1998-08-05 | 2003-10-14 | Canon Kabushiki Kaisha | Method, apparatus, and storage media for image processing |
US6498795B1 (en) * | 1998-11-18 | 2002-12-24 | Nec Usa Inc. | Method and apparatus for active information discovery and retrieval |
US6374290B1 (en) * | 1999-04-01 | 2002-04-16 | Cacheflow, Inc. | Self moderated virtual communities |
US6697824B1 (en) * | 1999-08-31 | 2004-02-24 | Accenture Llp | Relationship management in an E-commerce application framework |
US6606744B1 (en) * | 1999-11-22 | 2003-08-12 | Accenture, Llp | Providing collaborative installation management in a network-based supply chain environment |
US20040098449A1 (en) * | 2000-01-20 | 2004-05-20 | Shai Bar-Lavi | System and method for disseminating information over a communication network according to predefined consumer profiles |
US6701362B1 (en) | 2000-02-23 | 2004-03-02 | Purpleyogi.Com Inc. | Method for creating user profiles |
WO2001067359A1 (en) * | 2000-03-08 | 2001-09-13 | Kamoon, Inc. | Method and system for enabling the exchange, management and supervision of leads and requests in a network |
US7260635B2 (en) * | 2000-03-21 | 2007-08-21 | Centrisoft Corporation | Software, systems and methods for managing a distributed network |
US20020062300A1 (en) * | 2000-03-27 | 2002-05-23 | Vadim Asadov | Internet knowledge network using agents |
AU4219601A (en) * | 2000-03-31 | 2001-10-15 | Classwave Wireless Inc. | Dynamic protocol selection and routing of content to mobile devices |
GB2361335B (en) | 2000-04-14 | 2003-05-07 | Friendspace Inc | Communications arrangement |
US20020049727A1 (en) * | 2000-05-19 | 2002-04-25 | David Rothkopf | Method and apparatus for providing customized information |
US20020091736A1 (en) * | 2000-06-23 | 2002-07-11 | Decis E-Direct, Inc. | Component models |
US6965920B2 (en) | 2000-07-12 | 2005-11-15 | Peter Henrik Pedersen | Profile responsive electronic message management system |
US7216179B2 (en) | 2000-08-16 | 2007-05-08 | Semandex Networks Inc. | High-performance addressing and routing of data packets with semantically descriptive labels in a computer network |
US6922567B1 (en) | 2000-08-22 | 2005-07-26 | Telefonaktiebolaget L.M. Ericsson | Systems, methods and computer program products for identifying items of interest that are geographically proximate to wireless communicator users |
FI113898B (fi) | 2000-11-21 | 2004-06-30 | Nokia Corp | Menetelmä sisällön tuottamiseksi langattomaan viestintälaitteeseen |
US20020174050A1 (en) | 2000-12-27 | 2002-11-21 | James Eynard | Business capacity transaction management system |
US7151763B2 (en) | 2001-06-29 | 2006-12-19 | Bellsouth Intellectual Property Corporation | Retrieving voice-based content in conjunction with wireless application protocol browsing |
US7293109B2 (en) | 2001-10-15 | 2007-11-06 | Semandex Networks, Inc. | Dynamic content based multicast routing in mobile networks |
US20050021666A1 (en) | 2002-10-08 | 2005-01-27 | Dinnage David M. | System and method for interactive communication between matched users |
US20040122891A1 (en) | 2002-12-19 | 2004-06-24 | Meyers Paul A | Proactively notify users of solutions |
JP4165298B2 (ja) | 2003-05-29 | 2008-10-15 | 株式会社日立製作所 | 端末装置、及び通信網の切替え方法 |
US7346168B2 (en) | 2003-09-29 | 2008-03-18 | Avaya Technology Corp. | Method and apparatus for secure wireless delivery of converged services |
-
2001
- 2001-08-03 US US09/922,127 patent/US7216179B2/en not_active Expired - Lifetime
- 2001-08-14 AU AU2001284903A patent/AU2001284903A1/en not_active Abandoned
- 2001-08-14 WO PCT/US2001/025458 patent/WO2002015474A2/en active IP Right Grant
- 2001-08-14 CN CN01815579.0A patent/CN1465169A/zh active Pending
- 2001-08-14 IL IL15442801A patent/IL154428A0/xx unknown
- 2001-08-14 DE DE60125954T patent/DE60125954T2/de not_active Expired - Lifetime
- 2001-08-14 CA CA002419789A patent/CA2419789A1/en not_active Abandoned
- 2001-08-14 JP JP2002520475A patent/JP2004507159A/ja active Pending
- 2001-08-14 EP EP01964002A patent/EP1310075B1/en not_active Expired - Lifetime
-
2007
- 2007-02-26 US US11/710,870 patent/US7555563B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150040501A (ko) * | 2013-10-07 | 2015-04-15 | 에스케이텔레콤 주식회사 | 콘텐츠 동기화 방법 및 이를 위한 장치 |
KR102111573B1 (ko) | 2013-10-07 | 2020-05-15 | 에스케이텔레콤 주식회사 | 콘텐츠 동기화 방법 및 이를 위한 장치 |
Also Published As
Publication number | Publication date |
---|---|
US7555563B2 (en) | 2009-06-30 |
AU2001284903A1 (en) | 2002-02-25 |
DE60125954D1 (de) | 2007-02-22 |
EP1310075B1 (en) | 2007-01-10 |
EP1310075A2 (en) | 2003-05-14 |
DE60125954T2 (de) | 2007-10-18 |
WO2002015474A3 (en) | 2002-08-08 |
CN1465169A (zh) | 2003-12-31 |
US7216179B2 (en) | 2007-05-08 |
CA2419789A1 (en) | 2002-02-21 |
WO2002015474A2 (en) | 2002-02-21 |
US20070239892A1 (en) | 2007-10-11 |
IL154428A0 (en) | 2003-09-17 |
US20020150093A1 (en) | 2002-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7216179B2 (en) | High-performance addressing and routing of data packets with semantically descriptive labels in a computer network | |
CN105721311B (zh) | 一种用于更新链路状态信息的方法及系统 | |
CN105743664B (zh) | 用于内容中心网络中的多源组播的系统和方法 | |
CN102045252B (zh) | 用于内容连网的自适应多接口使用 | |
US7702744B2 (en) | Semantic information network (SION) | |
EP3054635B1 (en) | System and method for on-demand content exchange with adaptive naming in information-centric networks | |
Behnel et al. | On quality-of-service and publish-subscribe | |
CA2523897A1 (en) | Rendezvousing resource requests with corresponding resources | |
Esteve et al. | Towards a new generation of information-oriented internetworking architectures | |
CN104917681A (zh) | 用于内容中心网络中使用合取范式策略的包转发的系统和方法 | |
Richerzhagen | Mechanism Transitions in Publish/Subscribe Systems: Adaptive Event Brokering for Location-based Mobile Social Applications | |
Sunaga et al. | Technical trends in P2P-based communications | |
Neto et al. | Transformation based routing overlay for privacy and reusability in multi-domain iot | |
Tarkoma et al. | State of the art review of distributed event systems | |
CN114401199A (zh) | 一种层次化的网络能力模型 | |
Crowcroft et al. | Channel islands in a reflective ocean: Large-scale event distribution in heterogeneous networks | |
Ananthakrishnan et al. | Group based Publisher-Subscriber Communication Primitives for ndnSIM | |
Adjie-Winoto et al. | An architecture for intentional name resolution and application-level routing | |
Verma et al. | Forwarding Strategy in SDN-Based Content Centric Network | |
Tode et al. | NDN Based Participatory Crowdsensing Framework with Area-focused Interest Forwarding | |
Koh et al. | Minimizing cost and delay in shared multicast trees | |
Yassine et al. | Routing approaches in named data network: a survey and emerging research challenges | |
Gashi | Path Protection Switching in Information Centric Networks (ICN) | |
Li et al. | CoLoRSim: A Highly Scalable ICN Simulation Platform | |
M Brito et al. | Information-Centric Networks |