JP2006203904A - 方法、コンテンツベースルータ、コンテンツベースネットワーク - Google Patents

方法、コンテンツベースルータ、コンテンツベースネットワーク Download PDF

Info

Publication number
JP2006203904A
JP2006203904A JP2006012451A JP2006012451A JP2006203904A JP 2006203904 A JP2006203904 A JP 2006203904A JP 2006012451 A JP2006012451 A JP 2006012451A JP 2006012451 A JP2006012451 A JP 2006012451A JP 2006203904 A JP2006203904 A JP 2006203904A
Authority
JP
Japan
Prior art keywords
content
router
data packet
routing
label
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.)
Granted
Application number
JP2006012451A
Other languages
English (en)
Other versions
JP4367650B2 (ja
Inventor
Yasuhiro Miyao
泰寛 宮尾
Sudeept Bhatnagar
バトナガ スディープト
Samrat Ganguly
ガングリ サムラット
Rauf Izmailov
イズマイロフ ラオフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JP2006203904A publication Critical patent/JP2006203904A/ja
Application granted granted Critical
Publication of JP4367650B2 publication Critical patent/JP4367650B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 多数のユーザに対して容易かつ効率的に適応できるコンテンツベースルータのための改善された技術を提供する。
【解決手段】 入口ルータ102でデータパケットを受信すると、入口ルータ102はデータパケットのコンテンツを、格納されているサブスクリプションとマッチングする。コンテンツはXMLデータを使用して記述されており、ユーザサブスクリプションはXMLクエリーで規定される。ルータはマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルをデータパケットに割り当て、転送すべきコンテンツベースルータにデータパケットを送信する。
【選択図】 図1

Description

本発明はデータネットワーク構築に関し、特に、コンテンツベースデータパケットルーティングに関する。
従来、インターネットプロトコル(IP)ネットワークにおけるデータパケットのルーティングは周知である。基本的なIPルーティングにおいて、データパケットはデータパケットの最終宛先とされるIPアドレスである宛先アドレスを含む。データパケットがルータに到達すると、ルータはパケットの宛先アドレスに基づいて経路上の次のルータ(即ち、ネクストホップ)を決定し、次のルータにパケットを送信する。ある特殊なタイプのIPルーティングはルーティングテーブルを用いてパケットのネクストホップを決定する。ルーティングテーブルはIPアドレスのリスト(というより、IPアドレスレンジ)と、それぞれのIPアドレスレンジに関連したネクストホップを含む。データパケットが受信されると、ルーティングテーブルは宛先アドレスをルーティングテーブル内の適切なIPアドレスレンジにマッチングさせ、ルーティングテーブルにおいて識別されたネクストホップにデータパケットを送信する。ルーティングテーブルアドレスレンジは、しばしばIPアドレスプレフィックスとして表され、IPパケット宛先アドレスをこれらのIPアドレスプレフィックスにマッチングさせる技術を、ロンゲスト・プレフィックス・マッチングという。一般的には宛先アドレスへのデータパケットのルーティング、特にロンゲスト・プレフィックス・マッチングは、データネットワーク技術においてはよく知られている。
別のタイプのルーティングとして、コンテンツベースルーティングが挙げられるが、これはデータパケットが、予め特定されている宛先アドレスというよりはむしろ、コンテンツに基づいてルーティングされるものである。この種のルーティングは、パブリッシュ(publish)/サブスクライブ(subscribe)システムにおいて有用であり、これは、コンテンツプロバイダがネットワークにその情報をパブリッシュ(発行)している間、ユーザ(サブスクライバー)がその情報にサブスクライブすることが可能であるというものである。この種のシステムでは、特定のコンテンツにサブスクライブすることによって、興味のある情報をユーザが選択的に決定できる。コンテンツプロバイダはそれから、どのユーザがコンテンツを受信するべきかという特別な情報無しでコンテンツをネットワークにパブリッシュする。ユーザ(サブスクライバー)のサブスクリプション(サブスクリプションはクエリーによって規定される。サブスクリプションは、選択条件を表している)をコンテンツプロバイダのパブリッシュにマッチングさせることによって、コンテンツはネットワークを介して普及し、ユーザ(サブスクライバー)はサブスクライブしたコンテンツだけを受信する。
適切なユーザへコンテンツをフィルタリングしルーティングすることは複雑なタスクであり、それは、例えば、オーバーレイ(overlay)ネットワークに組織化されるアプリケーションレベルコンテンツベースルータによって実行される。オーバーレイネットワークは仮想ネットワーク構造をしており、互いに通信するアプリケーションレベルルータと、既存の根本的なIPネットワークインフラを利用するエンドユーザクライエントによって実行される。オーバーレイネットワークは基本的に、基本的なネットワークの信用できるポイントツーポイント通信プロトコル(即ち、TCP)を利用して、なんらかの付加的な特徴あるいはサービスを実施している。オーバーレイネットワークサービスには、独立した基本ネットワークが与えられる。コンテンツベースオーバーレイネットワークにおいては、基本的ネットワークが標準のポイントツーポイントデータ通信に使用される間、コンテンツベースのサービスがオーバーレイネットワークに与えられる。
コンテンツベースオーバーレイネットワークにおいて、コンテンツベースのサービスはコンテンツベースルータによって実行される。ユーザ(サブスクライバー)があるコンテンツにサブスクライブすると、そのサブスクリプションはコンテンツベースルータのルーティングテーブルに格納される。ルーティングテーブルはまた、格納されている様々なサブスクリプションに対して次に転送すべきコンテンツベースルータを識別する。パブリッシュされたコンテンツがルータに到達すると、コンテンツはルータに格納されているサブスクリプションとマッチングされ、コンテンツは適切なネクストホップコンテンツベースルータに送信される。パブリッシュされたコンテンツが最初にオーバーレイネットワークに入るコンテンツベースルータは、入口ルータと呼ばれる。
コンテンツベースルーティングを実現するためには、サブスクリプションを規定してコンテンツをそれらの記述にマッチングすることができるように、コンテンツを記述するためのなんらかの技術を使用する必要がある。このような技術の一つが、XML(Extensible Markup Language)であり、これはタグやタグに関する数値を使用した電子文書を記述するための言語として知られている。正確には、XMLは実際のところメタ言語、すなわち他の言語を記述するための言語であり、様々な異なったタイプの文書に対してカスタマイズされたマークアップ言語のデザインが可能である。XMLは、いかなる種類の構造化された情報を格納するため、および、通信が不可能な異なったコンピューターシステム間を通過させるために情報を同封したりカプセル化するために使用されることもある。XMLは、非特許文献1においてさらに詳しく規定されており、参照として、本明細書に組み込まれる。
コンテンツベースオーバーレイネットワークにおいてXMLを実行する際、ルータはXMLルータと呼ばれることがある。このような実行において、各XMLルータはXMLクエリーとしてサブスクリプションを格納する。コンテンツが各XMLルータに到着すると、ルータは到着したコンテンツのXML記述(即ち、メタデータ)を、格納されているXMLクエリーと比較しなければならない。この場合、まず異なったタグとそれらの値を決定するためにXML記述を構文解析し、その後そのタグと値を格納されているXMLクエリー(即ち、サブスクリプション)とマッチングすることが必要となる。到着したコンテンツがサブスクリプションと一致すると判断された場合、XMLルータはコンテンツを、ルーティングテーブルに基づきオーバーレイネットワーク上のネクストホップXMLルータに送信する。コンテンツを受信し、XML記述を構文解析し、格納されているXMLクエリーにマッチングさせ、ネクストホップXMLルータにコンテンツを送信するという一連のプロセスは、最終的にコンテンツが、ラストホップ(即ち出口)XMLルータによってサブスクライバーに運ばれるまで、オーバーレイネットワークの各XMLルータで遂行される。
F.Yergeau,T.Bray,J.Paoli,C.M.Sperberg−McQueen,E.Maler, Extensible Markup Language(XML)1.0(第3版)、W3C Recommendation 2004年2月4日 E.Rosen,A.Viswanathan,R.Callon, マルチプロトコル・ラベル・スイッチング・アーキテクチュア、インターネット・エンジニアリング・タスク・フォース(IETF)、リクエストフォ−コメント(RFC)3031、January 2001
上記XMLによるコンテンツベースオーバーレイネットワークの問題点は、ユーザが多数の時やトラフィックが相当な量の時には適切でないことである。XML記述の構文解析やそれに関するコンテンツのユーザのXMLクエリーに対するマッチングが遅くなり、計算負荷が高くなるからである。このため、ユーザやコンテンツトラフィックが増えれば、コンテンツベースオーバーレイネットワークに負荷がかかりすぎ、深刻な実行遅延をおこしかねない。
従って、多数のユーザに対して容易かつ効率的に適応できるコンテンツベースルータのための改善された技術が必要となる。
本発明の第1の態様によれば、
コンテンツベースルータにおいて実行される、コンテンツベースルーティングのための方法であって、
コンテンツを有するデータパケットを受信するステップと、
前記受信したデータパケットのコンテンツを、格納されているサブスクリプションに対してマッチングするマッチングステップと、
前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる割り当てステップと、
前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信する送信ステップとを有することを特徴とする方法が得られる。
本発明の第2の態様によれば、
コンテンツを有するデータパケットを受信する手段と、
前記受信したデータパケットのコンテンツを、格納されているサブスクリプションに対してマッチングするマッチング手段と、
前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる割り当て手段と、
前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信する送信手段とを有することを特徴とするコンテンツベースルータが得られる。
本発明の第3の態様によれば、
コンテンツを有するデータパケットを受信するインタフェイスと、
前記受信したデータパケットの前記コンテンツを、格納されているサブスクリプションに対してマッチングし、前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てるプロセッサと、
前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信するインタフェイスとを有することを特徴とするコンテンツベースルータが得られる。
本発明の第4の態様によれば、
入口ルータと中継ルータとを有するコンテンツベースネットワークであって、
前記入口ルータは、
コンテンツを有するデータパケットを受信するインタフェイスと、
前記受信したデータパケットの前記コンテンツを、格納されているサブスクリプションに対してマッチングし、前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる手段と、
前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、前記中継ルータに送信するインタフェイスとを有し、
前記中継ルータは、
前記ルーティングラベルを付加された前記データパケットを受信するインタフェイスと、
格納されているラベルベースルーティングテーブルと、
前記ラベルベースルーティングテーブル及び前記ルーティングラベルに基づいて、前記ルーティングラベルを付加された前記データパケットを別のコンテンツベースルータに送信するインタフェイスを有することを特徴とするコンテンツベースネットワークが得られる。
本発明の第5の態様によれば、
プロセッサと、該プロセッサに所定の処理を実行させるためのプログラムを格納すると共に前記プロセッサが前記プログラムを実行する際に一時記憶としても動作する記憶手段とを備えたコンテンツベースルータにおける前記プログラムであって、
前記所定の処理は、
サブスクリプションと、該サブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルとを、前記記憶手段に格納しておくステップと、
コンテンツを有するデータパケットを受信するステップと、
前記受信したデータパケットのコンテンツを、前記記憶手段に格納されているサブスクリプションに対してマッチングするマッチングステップと、
前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる割り当てステップと、
前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信するステップとを有することを特徴とするコンテンツベースルータ用プログラムが得られる。
本発明によれば、コンテンツベースルーティングを、従来の技術より早くより効率的に行うことができる。
次に本発明の実施例について図面を参照して説明する。
本発明は、ラベルベースルーティングをコンテンツベースルーティングと組み合わせて使用することにより、従来のコンテンツベースルーティングシステムをより効果的なものにしようとするものである。
以下に述べる本発明の一実施例において、コンテンツベースルータ(入口ルータ)でデータパケットを受信すると、当該ルータはデータパケットのコンテンツを、格納されているサブスクリプションにマッチングさせる。ルータはマッチングに基づきデータパケットにルーティングラベルを割り当て、データパケットを第2のコンテンツベースルータ(中継ルータ)に送信する。パケット経路に沿って配置されている中継ルータは、付加的なコンテンツマッチングを実行するのではなく、格納されているルーティングテーブルと割り当てられたラベルを用いて、次に転送すべきコンテンツルータを決定する。出口ルータで受信されると、メッセージのコンテンツは、出口ルータによってサービスをうけるユーザのサブスクリプションとマッチングされ、出口ルータは、サブスクリプションとコンテンツが一致したエンドユーザにデータパケットを提供する。中継ルータが、メッセージのルーティングのためのコンテンツマッチングを実行する必要がないので、本発明によるコンテンツベースルーティングは、従来の技術より速くより効率的である。
一実施例において、データパケットはデータパケットのコンテンツを記述したXMLデータを含み、サブスクリプションはXMLクエリーによって規定される。データパケットコンテンツをサブスクリプションにマッチングする際、まずXMLデータを構文解析し、その後にXMLデータをXMLクエリーにマッチングさせる。
本発明の原理に従えば、ルーティングラベルを使用した様々な変形例が考えられる。メッセージに割り当てられたルーティングラベルは、入口ルータから出口ルータへの単一経路を規定することができ、この時一つ以上の中継ルータを含むことが可能である。ルーティングラベルはまた、一つの入口ルータから複数の出口ルータへの転送経路(ルーティングパス)を規定することもでき、この場合、中継ルータを通る一つ以上の経路を含むことが可能である。さらに、複数のラベルを単一のメッセージに割り当てることも可能であり、その複数のラベルは各々単一経路あるいはルーティングツリーのいずれかを規定する。
時間がかかる上に高価なXML構文解析やクエリー評価が中継ルータで実行されないため、コンテンツベースルーティングと組み合わせたラベルベースルーティングは改良されたパフォーマンスを提供できる。コンテンツベースルーティングと組み合わせたラベルベースルーティングにはまた、他の利点もある。例えば、データパケットコンテンツは入口ルータで、割り当てられるラベルを決めてから、圧縮され、その圧縮フォームに、決められたラベルが付加された状態で、中継ルータを通って送信されるかもしれない。ルーティングがラベルによって予め規定されているので、コンテンツそれ自体は中継ルータで必要ではなく、コンテンツにとって必要なことは単に、適切なサブスクライバーに送信されるために、出口ルータで解凍されることだけである。
本発明のこれら及びそれ以外の利点は、以下の詳細な説明と添付図面を言及することによって、当業者にとって明白となるであろう。
図1は本発明のコンテンツベースルーティングの原理が実行されるオーバーレイネットワークを示している。図1は、コンテンツベースルータとして、オーバーレイルータ(A)102、オーバーレイルータ(B)104、オーバーレイルータ(C)106、オーバーレイルータ(D)108、オーバーレイルータ(E)110、オーバーレイルータ(F)112、及びオーバーレイルータ(G)114を有するオーバーレイネットワークを示している。オーバーレイルータ(A)102は入口ルータとして作用し、オーバーレイルータ(B)104、オーバーレイルータ(C)106、及びオーバーレイルータ(D)108は中継ルータとして作用し、オーバーレイルータ(E)110、オーバーレイルータ(F)112、及びオーバーレイルータ(G)114は出口ルータとして作用する。これらのルータは、例えばプログラム可能なコンピュータを使用して実施されてもよい。
図2を参照すると、コンテンツベースルータ102のハイレベルブロック図が示されている。なお、他のコンテンツベースルータ104、106、108、110、112、及び114も、図2のコンテンツベースルータ102と同様のハードウエアを有するが、ソフトウエア及び動作においては図2のコンテンツベースルータ102とは異なることは、説明が進めば、明らかになろう。
図2において、コンテンツベースルータ102の機能は、プロセッサ204によって制御される。プロセッサ204は、ルータ102全体の操作を規定する、メモリ209に格納されたコンピュータプログラム208を実行する。ルータ102は、また、データや様々なルーティングテーブル情報(これらについては以下詳細に説明する)を格納するためのメモリ210を含む。すなわち、メモリ210は、プロセッサ204がコンピュータプログラム208を実行する際に一時記憶として動作するものである。メモリ210は、コンピュータの読み取り可能な格納媒体であれば、磁気、光学、その他いかなるタイプの格納媒体でもよい。図2ではメモリ210が単一ユニットとして示されているが、メモリ210は複数のメモリユニットであってもよく、この場合各メモリユニットは適切なタイプの格納媒体であってもよい。さらに、コンピュータプログラム208は別個のメモリ209に格納されているが、コンピュータプログラム208は、メモリ210の一部である、1つ以上のメモリユニットに格納することも可能である。概念的には、メモリ209とメモリ210とを一つの記憶手段として捉えることも可能である。
ルータ102は、また、データネットワークとの通信を可能にするネットワークインタフェイス206を含む。特別な実行においては、ネットワークインタフェイス206は、ルータ102が複数のポートでデータの受信、送信ができるようにするための複数のネットワークインタフェイスを有している。
ルータ102は、また、入出力装置212を含み、これは、例えばキーボード、マウス、ディスプレイ、ボタン、スピーカー等を含み、ルータ102とユーザ対話を可能にするものである。
基本的なコンテンツベースルータはまた他の公知要素を含み、図2はルータ102のハイレベル機能の説明のために使用されていることを、当業者なら気づくであろう。さらに、上述の説明では、ルータ102の全体の機能は、コンピュータプログラムを実行するプロセッサ204によって制御されるようになっているが、このような機能は、ソフトウェアやハードウェア、あるいはソフトウェアとハードウェアのいかなる組み合わせによっても制御されることは理解されるべきである。
図1に戻って、各コンテンツベースルータ間のリンクが論理結合で示されることで、コンテンツベースルータとリンクによって規定されるオーバーレイネットワークが表されている。これらの論理結合は必ずしも物理的結合でなくてよく、結合されているコンテンツベースルータの間に他のルータ(例えば、IPルータ)や、他のノードがあってもよい。このように図1に示されるように、リンクは単に、結合された2つのコンテンツベースルータが直接あるいは何らかのネットワーク接続を使用して互いに通信可能であることを示しているのみである。また図1に示されているように、エンドユーザサブスクライバーのコンピューターは、SUB−1 116、SUB−2 118、SUB−3 120である。これらのエンドユーザとしてのサブスクライバーは、図1に示されているコンテンツベースオーバーレイネットワークによって提供されるコンテンツベースルーティングサービスへのサブスクライバーである。このように、各サブスクライバーは興味があって、サブスクライバーのコンピュータで受信を希望するコンテンツにサブスクライブすることが可能である。
本発明の1実施例によると、すべてのサブスクリプションはルータA102に格納され、全てのパブリッシュされたコンテンツが処理のためにルータA102を介してルートされる。ルータA102はコンテンツがオーバーレイネットワークに入るルータであるため、ルータA102はパブリッシュされたコンテンツに対しては入口ルータと考えることができる。サブスクライバーがなんらかのコンテンツに対してサブスクライブしたい場合、これらのサブスクリプション(すなわち、サブスクライバーがサブスクライブしようとするコンテンツの定義(あるいは選択条件))がルータA102に送られ、格納される。このようなサブスクリプションはルータA102のメモリ210内のサブスクリプションテーブルに格納される。
図1は本発明の原理を示すために使用され、オーバーレイネットワークの基本的な実際の実行を示すものではない。オーバーレイネットワークの本質が与えられているが、例えば、様々なルータ間(例えばルータA102とルータG114)には付加的なネットワークの接続性があるかもしれない。さらに、様々なルータに関連したエンドユーザサブスクライバーがいるかもしれない。しかしながら、参照を簡略化するために、このような付加的な接続性及びサブスクライバーは図1には示されていない。以下の説明に使用されるリンクやサブスクライバーのみが図1に示されている。
図3には、具体的なサブスクリプションテーブルが示されている。図3はフィールド304、306を含むサブスクリプションテーブル302を示している。サブスクリプションテーブル302の各レコードはサブスクリプションを示し、フィールド304はコンテンツへのサブスクリプションの記述を含み、フィールド306はサブスクリプションに関するサブスクライバーを識別する。レコード308はサブスクライバーSUB−1のサブスクリプションを示し、サブスクライバーSUB−1は金融に関するコンテンツにサブスクライブしていて、このコンテンツはNYSE(ニューヨーク証券取引所)におけるABC社の株取引についてであり、株価指数が50以上であることを意味する。これは図3において、
STOCK=ABC CO.
EXCHANGE=NYSE
PRICE>50
のように記される。サブスクライバーSUB−2(レコード310)、SUB−3(レコード312)についての同様のサブスクリプションが図3に記されている。好ましい実施例において、コンテンツルーティングはXML処理に基づいて実行される。テーブル302のフィールド304に示されているサブスクリプションは、XMLクエリーによって記述される。上述のようにXMLは公知であるが、様々なコンテンツサブスクリプションを示すXMLクエリーは、すでに当業者によって開発されている。XML実施例は好ましいが、サブスクリプションを記述するための使用可能な技術が他にもいろいろ存在する。記述を簡略化するために、テーブル302に記述されているサブスクリプションは、図示されているような、より一般的な概念を使用するであろう。
図1において、上述のように、全てのパブリッシュされたコンテンツは、初期処理として入口ルータA102を介してルートされる。例えばPUB−1 122のようなパブリッシャーがあるコンテンツをパブリッシュしたい場合、コンテンツはまずルータA102に送られて、ネットワークに挿入されることになる。さらに、パブリッシャーPUB−1のコンピュータ122とルータA102のリンクは論理結合を示しており、必ずしも物理的結合ではない。このように、PUB−1 122からパブリッシュされたコンテンツはルータA102に到着する前に付加的なネットワークノードを介してルートされることもある。
具体例として操作において、PUB−1 122が以下のようなコンテンツをパブリッシュしたと仮定する:
STOCK=ABC CO.
EXCHANGE=NYSE
PRICE=20
XML実施例においては、パブリッシュされたコンテンツが標準XMLタグ及び特性によって記述されるかもしれないが、ここでは、説明の簡易化のために、記述されているような、より一般的な概念を使用するものとする。図1及び図3において、ルータA102でコンテンツが受信されると、コンテンツは構文解析され、サブスクリプションテーブル302にあるサブスクリプションとマッチングされる。XMLの構文解析及びマッチング技術は公知であるが、このような処理は時間がかかり負荷も集中することになる。従来の技術では、ルータA102が構文解析してコンテンツをサブスクリプションにマッチングさせた後、ルータA102はコンテンツをオーバーレイネットワーク上の一つ以上の付加的なルータに送信し、ここで各付加的ルータは同じ構文解析とマッチングを行い、このような構文解析及びマッチングは、コンテンツが適切なサブスクライバーへ配信されるまで、各コンテンツベースルータで行われる。このような従来の処理は非常に時間を消費し、それゆえこのような従来のコンテンツベースルータは多数のサブスクライバーや顕著なトラフィック負荷に対して対応できない。本発明によれば、以下に詳細に記述されるように構文解析及びマッチングのステップは、ある特定のルータ(例えば入り口、出口ルータ)でのみ行われるので、コンテンツベースルーティングの効果がかなり改善される。
図1及び図3に加えて図4をも参照して、本発明の一実施例によると、ルータA102は構文解析を行って、入力されたコンテンツをサブスクリプションテーブル302(これは、上述のように、ルータA102のメモリ210(図2)に設けられる)にあるサブスクリプションとマッチングさせる。上記具体例を続けると、ルータA102において、PUB−1 122から受信された上述のコンテンツは、サブスクリプションテーブル302のレコード310のサブスクリプションにのみ一致する。レコード310のフィールド306に示されているように、コンテンツはサブスクライバーSUB−2 118に送信されるのみでよい。ルータA102はまた、各サブスクライバーに関連したコンテンツベース出口ルータのリストをテーブル314(これも、ルータA102のメモリ210(図2)に設けられる)に格納する。コンテンツベース出口ルータは、サブスクライバーに配信される前にコンテンツが送信されるオーバーレイネットワークのラストコンテンツベースルータとも呼ばれる。サブスクライバーSUB−2 118に対するコンテンツベース出口ルータは、ルータF112となる。
ルータA102は、また、ルータA102からコンテンツベース出口ルータE、F、及びGまでの予め決められた経路に関連したラベル(すなわち、ルーティングラベル)のリストをテーブル316(これも、ルータA102のメモリ210(図2)に設けられる)に格納する。上記具体例において出口ルータF112が認識されると、ルータA102は、テーブル316を参照して、ルータA102からルータF112までの経路に関連したラベル2を選択し、ラベル2を付加したコンテンツを含むメッセージ(図5に示す)を作る。
本発明はオーバーレイネットワーク内でラベルベースルーティングを使用することで、パフォーマンスを改善し、入口ルータから出口ルータまでの経路上にある各コンテンツベースルータ(中継ルータ)でのXMLの構文解析及びマッチングの必要性を除去する。ラベルベースルーティングは標準IPルーティング、例えばマルチプロトコルラベルスイッチング(MPLS)のコンテクストでも知られており、これは、非特許文献2に記述されており、参照することにより、本書に組み込まれる。MPLSにおいて、短い固定長ラベルが生成され、IPパケットヘッダの略記表示のような役割を果たす。次のルーティングの決定(ラベルスイッチルータによってなされる)はオリジナルのIPアドレスの代わりにMPLSラベルに基づいてなされる。MPLSラベルであるラベル(ルーティングラベル)に関しては、中継ルータの各々において、受信ラベルのラベル値に応じて送信ラベルのラベル値を付替えるラベル付替えを行う場合を行う場合と、中継ルータの各々において、ラベル付替えを行わない場合とがある。以下の説明では、中継ルータの各々において、ラベル付替えを行わない場合を説明するが、本発明は、それに限定されず、中継ルータの各々において、ラベル付替えを行っても良いことは言うまでもない。
ラベルは予め規定されており、ルータ間の様々な経路を規定する。具体的なラベルと関連した経路が図6(A)〜(E)に図示されている。図6(A)において、ラベル1は、ルータB104とC106を介してルータA102からルータE110までの経路を規定する。図6(B)において、ラベル2はルータB104とルータD108を介してルータA102からルータF112までの経路を規定する。図6(C)において、ラベル3はルータB104とルータD108を介してルータA102からルータG114までの経路を規定する。経路に加えて、本発明の一実施例によると、ラベルはまた、マルチプルパスあるいはルーティングツリーをも規定可能である。例えば、図6(D)において、ラベル4は、ルータB104とルータC106を介して、ルータA102からルータE110までの一経路と、ルータB104とルータD108を介してルータA102からルータF112までの別の経路を有するツリーを示している。図6(E)において、ラベル5はルータB104とルータC106を介してルータA102からルータE110に至る一つの経路と、ルータB104とルータD108を介してルータA102からルータF112に至る別の経路と、ルータB104とルータD108を介してルータA102からルータG114に至るもう一つ別の経路を有するツリーを表示している。このように規定された経路とツリーに関して、例えば、ルータA102からルータE110間の直接接続も可能である。たとえ可能であったとしても、諸々の理由により、図6(A)に記述されているような経路で、メッセージがルータA102からルータE110にルートされることが望ましい。理由の一つは、負荷のバランスである。もう一つの理由は(図1には記述されていないが)、経路上にメッセージを受け取るべき別のサブスクライバーがいることが考えられるためである(例えば、コンテンツベースオーバーレイネットワークに関して、ルータC106が出口ルータとして機能するサブスクライバーがいる場合が想定される)。
図6(A)〜(D)に図示された経路は、図7(A)〜(C)に図示されている各オーバーレイルータに格納されている適切なラベルベースルーティングテーブルによって実施される。図7(A)はルータB104に格納されているルーティングテーブルである。図7(B)は、ルータC106に格納されているルーティングテーブルである。図7(C)はルータD108に格納されているルーティングテーブルである。これらルータB104、ルータC106、及びルータD108も、図2の入口ルータ102と同様の構成を有しており、この場合、各ルーティングテーブルはルータB104、ルータC106、及びルータD108の各々のメモリ(図2の210)に格納される。各ルーティングテーブルは、各ラベルに関する一つ以上の転送先ルータに沿ったラベルのリストを含んでいる。ラベルを含んだメッセージを受信すると、ルータはルーティングテーブル内で識別されたラベルに関する転送先ルータにメッセージを送信する。当業者にはお分かりのように、図7(A)〜(C)に図示されているルーティングテーブルは、図6(A)〜(E)の転送経路(ルーティングパス)及びルーティングツリーを実施する。
図1において、上述の説明を続けると、PUB−1 122が以下のコンテンツをパブリッシュしていた。
STOCK=ABC CO.
EXCHANGE=NYSE
PRICE=20
既述のように、このコンテンツはルータF112へ送信されなければならないので、これはサブスクライバーSUB−2 118に配信される。宛先として出口ルータF112が決定されると、入口ルータA102は図6(B)の経路を示しているラベル2を付加した、パブリッシュされたコンテンツを含んだメッセージを生成する。ルータA102はこのメッセージをルータB104に送信する。ラベル2を伴ったメッセージを受信すると、ルータB104はルーティングテーブル(図7(A))のラベル2を見に行って、このメッセージがルータD108に送信されるべきものであると決定し、メッセージをルータD108に送信する。ラベル2を伴ったメッセージ2を受信すると、ルータD108はルーティングテーブル(図7(C))のラベル2を見に行って、このメッセージがルータF112に送信されるべきであると決定し、メッセージをルータF112に送信する。
メッセージが出口ルータF112で受信されると、ルータF112は構文解析をして、コンテンツを格納されているサブスクリプションに対してマッチングさせなければならない。出口ルータは、その出口ルータによって提供されるサブスクライバーのサブスクリプションを格納しさえすればよい。従って、図1に示されている例において、出口ルータF112は、サブスクライバーSUB−2 118のサブスクリプションを格納しさえすればよい。また、出口ルータF112はサブスクリプションテーブル302(図3)のレコード310に示されているサブスクリプションを格納する。メッセージを受信したら、出口ルータF112はコンテンツがサブスクライバーSUB−2の118サブスクリプション内容とマッチ一致していることを決定し、ルータF112はサブスクライバーSUB−2 118へ、ラベルを除去したコンテンツを送信する。実際は、出口ルータは多くのサブスクライバーをサポートするため、メモリ内には多数のサブスクリプション内容が格納されている。
図1において、もう一つの例として、PUB−1 122が以下のようなコンテンツをパブリッシュすると仮定する。
STOCK=ABC CO.
EXCHANGE=NYSE
PRICE=55
図3及び図4において、このコンテンツは入口ルータA102におけるサブスクリプションテーブル302のレコード308と310の両方のサブスクリプション内容に一致している。レコード308及び310のフィールド306に示されているように、このコンテンツはサブスクライバーSUB−1 116とSUB−2 118に送信されなければならない。図4のテーブル314に示されているように、サブスクライバーSUB−1 116用の出口ルータはルータE110、サブスクライバーSUB−2 118の出口ルータはルータF112となっている。
図4において、出口ルータE110とルータF112が宛先として決定されると、入口ルータA102は2つのラベルを伴った(付加された)パブリッシュされたコンテンツを含んだメッセージ(図8に示す)を生成する。そのメッセージは、図6(A)に示されている出口ルータE110への経路を示すラベル1を含み、メッセージはまた、図6(B)に示される出口ルータF112への経路を示すラベル2をも含んでいる。
図1において、ルータA102はこのメッセージをルータB104に送信する。ラベル1及び2を付加されたメッセージを受信すると、ルータB104はルーティングテーブル(図7(A))のラベルを見に行き、このメッセージがルータC106及びD108に送信されるべきであると決定し、そしてルータC106及びD108にメッセージを送信する。ラベル1及び2を伴ったメッセージを受信すると、ルータC106は、受信したラベル1に応答して、ルーティングラベル(図7(B))のラベル1を見に行って、このメッセージがルータE110に送信されるべきであると決定し、そしてルータE110にメッセージを送信する。ラベル1及び2を伴ったメッセージを受信すると、ルータD108は、受信したラベル2に応答して、ルーティングテーブル(図7(C))のラベル2を見に行って、このメッセージがルータF112に送信されるべきであると決定し、それからメッセージをルータF112に送信する。
出口ルータE110でメッセージを受信すると、ルータE110は、上述のように、構文解析をし、格納されているサブスクリプション内容にコンテンツをマッチングさせ、このメッセージがサブスクライバーSUB−1 116へ送信されるべきであると決定する。出口ルータF112でメッセージを受信すると、ルータF112は、上述のように、構文解析を行い、格納されているサブスクリプション内容とコンテンツをマッチングさせ、このメッセージをサブスクライバーSUB−2 118に送信するべきであると決定する。
上述のように、本発明を実施する際に、一つのメッセージに複数のラベルを使用するため、メッセージのコンテンツを複数の出口ルータにルーティングし、ゆえに複数サブスクライバーにルーティングすることができる。
ここで本発明の変形例を説明する。
図1において、入口ルータA102は、2つのラベル1及び2を付加されたコンテンツを含んだ図8のメッセージの代りに、図9に示すように、コンテンツを複製して、ラベル1を付加されたコンテンツを含んだ第1のメッセージと、ラベル2を付加されたコンテンツを含んだ第2のメッセージとを生成しても良い。
この場合、図1において、ルータA102は、第1のメッセージと第2のメッセージとをルータB104に送信する。第1及び第2のメッセージを受信すると、ルータB104はルーティングテーブル(図7(A))のラベルを見に行き、第1及び第2のメッセージがルータC106及びD108に送信されるべきであると決定し、そしてルータC106及びD108に第1及び第2のメッセージを送信する。ラベル1を伴った第1のメッセージを受信すると、ルータC106は、受信したラベル1に応答して、ルーティングラベル(図7(B))のラベル1を見に行って、このメッセージがルータE110に送信されるべきであると決定し、そしてルータE110にメッセージを送信する。ラベル2を伴った第2のメッセージを受信すると、ルータD108は、受信したラベル2に応答して、ルーティングテーブル(図7(C))のラベル2を見に行って、このメッセージがルータF112に送信されるべきであると決定し、それからメッセージをルータF112に送信する。
次に本発明の他の変形例を説明する。
この変形例は、単一メッセージに関して複数のラベルを使用するのではなく、一つのラベルを使用し、単一のラベルが単一の経路ではなくルーティングツリーを規定する場合を説明する。
図1において、例えば、PUB−1 122が以下のコンテンツをパブリッシュする例に戻ってみる。
STOCK=ABC CO.
EXCHANGE=NYSE
PRICE=55
図3及び図4において、上述のように、このコンテンツは、入口ルータA102におけるサブスクリプションテーブル302のレコード308及び310の両方のサブスクリプション内容に一致し、出口ルータE110及びF112をそれぞれ介してサブスクライバーSUB−1 116及びSUB−2 118に送信されなければならない。
2つのラベル1及び2を伴ったパブリッシュされたコンテンツを含むメッセージ(図8)を生成する代わりに、入口ルータA102は、図4のテーブル316を参照して、出口ルータE及びFの両方を表すラベル4を付加したコンテンツを含むメッセージ(図10に示す)を生成する。すなわち、入口ルータA102は、図6(D)に図示されているルーティングツリーを規定する単一のラベル(ラベル4)を伴ったパブリッシュされたコンテンツを生成する。
図1において、ルータA102は、この図10のメッセージをルータB104に送信する。ラベル4を伴ったメッセージを受信すると、ルータB104は、ルーティングテーブル(図7(A))のラベルを見に行き、このメッセージがルータC106及びルータD108に送信されるべきであると決定し、その後このメッセージをルータC106とルータD108に送信する。ラベル4を伴ったメッセージを受信すると、ルータC106は、ルーティングテーブル(図7(B))のラベル4を見に行き、このメッセージがルータE110に送信されるべきであると決定し、その後メッセージをルータE110に送信する。ラベル4を伴ったメッセージを受信すると、ルータD108は、ルーティングテーブル(図7(C))のラベル4を見に行き、このメッセージがルータF112に送信されるべきであると決定し、その後メッセージをルータF112に送信する。出口ルータE110及びF112における処理はこのように進められる。
図1において、更にもう一つの例として、PUB−1 1122が以下のような記述を有するコンテンツをパブリッシュした場合について説明する。
STOCK=ABC CO.
EXCHANGE=NYSE
PRICE=65
図3及び図4において、このコンテンツは、入口ルータA102におけるサブスクリプションテーブル302の全てのレコード308、310、312にあるサブスクリプションとマッチングする。レコード308、310、及び312のフィールド306に示されているように、このコンテンツはサブスクライバーSUB−1 116、SUB−2 118、SUB−3 120 に送信されなければならない。図4のテーブル314に示されているように、サブスクライバーSUB−1 116の出口ルータはルータE110であり、サブスクライバーSUB−2 118の出口ルータはルータF112であり、サブスクライバーSUB−3 120の出口ルータはルータG114である。
図4において、宛先として出口ルータE110、F112、及びG114が決定された場合に、入口ルータA102が図4のテーブル316を参照して、メッセージを送信するための技術が2つある。そのうちの1つの技術では、入口ルータA102が、ラベル1、ラベル2、ラベル3という3つのラベルを伴ったパブリッシュされたコンテンツを含むメッセージを生成する。ラベル1は、図6(A)に示されるような出口ルータE110への経路を示し、ラベル2は、図6(B)に示されるような出口ルータF112への経路を示し、ラベル3は、図6(C)に示されるような出口ルータ114への経路を示している。もう一つの技術では、入口ルータA102は、ラベル5という単一ラベルを伴ったパブリッシュされたコンテンツを含んだメッセージを生成する。ラベル5は、図6(E)に示されるようなルーティングツリーを規定し、ラベル5が付加したメッセージは出口ルータE110、F112、G120へと経路付けされる。出口ルータでの処理は上述したとおりに進められる。
図1及び図4に加えて図11を参照して、本発明の別の実施例によるオーバーレイネットワークについて説明する。
まず構成について説明する。図1において、入口ルータA102は、図4における、テーブル302と、各出口ルータが収容するサブスクライバーのリストを有するテーブル314とに代えて、図11に示すような、各出口ルータをサブスクライバーと見立てたサブスクリプションをレコード608、610、612として格納するテーブル602を保持する。すなわち、入口ルータA102は、図11のテーブル602と、図4のテーブル316とを、ルータA102のメモリ210(図2)に有する。
次に動作について説明する。例えば、出口ルータE110は、あるユーザからサブスクリプションのメッセージを受信するごとに、出口ルータE110が保持するサブスクリプションの内容を参照して、上記メッセージに対応する登録内容があるかどうか調べる。そして、上記メッセージに対応する登録内容がない場合に限り、出口ルータE110は、出口ルータE110に上記メッセージを新たなメッセージとして登録すると共に、出口ルータE自身をサブスクライバーとしたサブスクリプションメッセージを入口ルータA102に送る。出口ルータE自身をサブスクライバーとしたメッセージを受信した入口ルータA102は、出口ルータE自身をサブスクライバーとしたメッセージを有するレコード614をテーブル602に加える。
以上により、入口ルータA102は各ユーザのサブスクリプションメッセージ毎にレコードを持つ必要がなくなる。また入口ルータA102はデータパケットを転送するための出口ルータを602の表から直接決定することができる。
本発明は、従来のコンテンツベースルーティングスキーム以上の利点を提供するものである。コンテンツベースルーティングを組み合わせてラベルベースルーティングを使用することにより、本発明は、改良されたコンテンツベースルーティングシステムを提供する。本発明の利点によれば、コンテンツの構文解析及び、コンテンツとサブスクリプションのマッチングのみが入り口及び出口ルータにおいて実行される。中継ルータは割り当てられたラベルに基づいて、ルーティグによって時間を節約する。
本発明の原理に従って実現されたシステムはまた、さらなる利点を可能にする。例えば、中継ルータはコンテンツではなくラベルに基づいて経路を決定するので、コンテンツは入口ルータで、割り当てられるラベルを決めてから、圧縮され、その圧縮フォームに、決められたラベルが付加された状態で、送信され、出口ルータで圧縮フォームを解凍することが可能となり、メッセージの経路決定に必要となる処理能力を削減することができる。メッセージコンテンツを解析し、中継コンテンツベースルータでサブスクリプションマッチングを行うような従来の技術で圧縮を行うことは、非常に非効率的である。従来の技術で圧縮を行うために、経路上にある各ルータはメッセージを解凍し、解析し、格納されているサブスクリプションとメッセージのコンテンツをマッチングさせ、興味のある宛先を識別するためにルーティングテーブルを見に行き、そして識別された宛先へ送信するまえにメッセージを圧縮しなければならない。
当業者であれば理解可能であろうが、ここに記載されている本発明の実施例には様々な変更が可能である。例えば、単一のメッセージに割り当てられた複数のラベルを、それぞれ単一の経路、ツリー、あるいば経路とツリーの組み合わせに関連付けることが可能である。
上述の説明は全ての具体例や図示によって表されているが、これに限定されるものではなく、また、ここに開示されている本発明の範囲は上述の説明によって決められるものではなく、むしろ許可される特許請求の範囲において解釈される請求項によって決定されるものである。ここに図示され、記載されている実施例は本発明の原理を単に図示しているのみであり、当業者は、本発明の範囲と精神を逸脱することなく様々な変形を実行することが可能である。また、当業者は、本発明の範囲及び精神を逸脱することなく、他の特徴との組み合わせを実行することが可能である。例えば、上記の実施例がオーバーレイネットワークに関するものであったとしても、本発明の原理は他のタイプのネットワークにおいても実施可能であるということである。また、例えば、本発明の原理は、オーバーレイネットワークのような設計ではなく、コンテンツベースルータ同士が直接通信を行うような従来のネットワークにおいても実施が可能である。
本発明のコンテンツベースルーティングの原理が実行されるオーバーレイネットワークを示すブロック図である。 本発明によるコンテンツベースルータ(入口ルータ)を示すブロック図である。 本発明によるコンテンツベースルータ(入口ルータ)で用いるサブスクリプションテーブルを説明するための図である。 本発明によるコンテンツベースルータ(入口ルータ)で用いる3つのテーブルを説明するための図である。 本発明によるコンテンツベースルータ(入口ルータ)で生成したラベル2を付加したコンテンツを含むメッセージを示す図である。 (A)〜(E)は本発明の動作を説明するための転送経路(ルーティングパス)及びルーティングツリーを示す図である。 (A)〜(C)は本発明によるコンテンツベースルータ(中継ルータ)B、C、Dで用いるルーティングテーブルを示す図である。 本発明によるコンテンツベースルータ(入口ルータ)で生成したラベル1及び2を付加したコンテンツを含むメッセージを示す図である。 本発明によるコンテンツベースルータ(入口ルータ)で生成したラベル1を付加したコンテンツを含むメッセージと、ラベル2を付加したコンテンツを含むメッセージとを示す図である。 本発明によるコンテンツベースルータ(入口ルータ)で生成した、複数の出口ルータを表すラベル4を付加したコンテンツを含むメッセージを示す図である。 本発明の別の実施例によるオーバーレイネットワークにおけるテンツベースルータ(入口ルータ)で用いられる別のテーブルを説明するための図である。
符号の説明
102 コンテンツベースルータ(入口ルータA)
104 コンテンツベースルータ(中継ルータB)
106 コンテンツベースルータ(中継ルータC)
108 コンテンツベースルータ(中継ルータD)
110 コンテンツベースルータ(出口ルータE)
112 コンテンツベースルータ(出口ルータF)
114 コンテンツベースルータ(出口ルータG)
116 サブスクライバーのコンピュータ(SUB−1)
118 サブスクライバーのコンピュータ(SUB−2)
120 サブスクライバーのコンピュータ(SUB−3)
122 パブリッシャー(PUB−1)
204 プロセッサ
206 ネットワークインタフェイス
208 コンピュータプログラム
209 メモリ
210 メモリ
212 入出力装置
302 スブスクリプションテーブル
314 テーブル
316 テーブル

Claims (28)

  1. コンテンツベースルータにおいて実行される、コンテンツベースルーティングのための方法であって、
    コンテンツを有するデータパケットを受信するステップと、
    前記受信したデータパケットのコンテンツを、格納されているサブスクリプションに対してマッチングするマッチングステップと、
    前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる割り当てステップと、
    前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信する送信ステップとを有することを特徴とする方法。
  2. 請求項1に記載の方法において、
    前記割り当てステップは、前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されている複数のサブスクリプションにマッチした場合、マッチした複数のサブスクリプションのサブスクライバーに対応した複数の出口ルータをそれぞれ表す複数のルーティングラベルを、前記データパケットに割り当てるステップであり、
    前記送信ステップは、前記複数のルーティングラベルを割り当てられ、前記複数のルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信するステップであることを特徴とする方法。
  3. 請求項1に記載の方法において、
    前記割り当てステップは、前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されている複数のサブスクリプションにマッチした場合、マッチした複数のサブスクリプションのサブスクライバーに対応した複数の出口ルータをそれぞれ表す複数のルーティングラベルを、前記データパケットを複製して得られた複数のデータパケットにそれぞれ割り当てるステップであり、
    前記送信ステップは、前記複数のルーティングラベルをそれぞれ割り当てられ、前記複数のルーティングラベルをそれぞれ付加された前記複数のデータパケットを、次に転送すべきコンテンツベースルータに送信するステップであることを特徴とする方法。
  4. 請求項1に記載の方法において、
    前記割り当てステップは、前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されている複数のサブスクリプションにマッチした場合、マッチした複数のサブスクリプションのサブスクライバーに対応した複数の出口ルータを表す一つのルーティングラベルを、前記データパケットに割り当てるステップであり、
    前記送信ステップは、前記1つのルーティングラベルを割り当てられ、前記1つのルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信するステップであることを特徴とする方法。
  5. 請求項1に記載の方法において、前記データパケットは前記コンテンツを記述しているXMLデータを有し、前記サブスクリプションはXMLクエリーによって規定されることを特徴とする方法。
  6. 請求項5に記載の方法において、前記マッチングステップは、前記XMLデータを前記XMLクエリーに対してマッチングするステップであることを特徴とする方法。
  7. 請求項1に記載の方法において、前記ルーティングラベルは、ルーティングツリーを規定することを特徴とする方法。
  8. 請求項1に記載の方法において、前記ルーティングラベルは、ルーティングパスを規定することを特徴とする方法。
  9. 請求項1に記載の方法において、
    前記割り当てステップにおいて割り当てられるルーティングラベルを決めてから、前記データパケットの前記コンテンツを圧縮するステップを、さらに有し、
    前記送信ステップは、圧縮されたコンテンツに、決められたルーティングラベルが付加された状態で、前記データパケットを、次に転送すべきコンテンツベースルータに送信するステップであることを特徴とする方法。
  10. コンテンツを有するデータパケットを受信する手段と、
    前記受信したデータパケットのコンテンツを、格納されているサブスクリプションに対してマッチングするマッチング手段と、
    前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる割り当て手段と、
    前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信する送信手段とを有することを特徴とするコンテンツベースルータ。
  11. 請求項10に記載のコンテンツベースルータにおいて、
    前記割り当て手段は、前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されている複数のサブスクリプションにマッチした場合、マッチした複数のサブスクリプションのサブスクライバーに対応した複数の出口ルータをそれぞれ表す複数のルーティングラベルを、前記データパケットに割り当てる手段であり、
    前記送信手段は、前記複数のルーティングラベルを割り当てられ、前記複数のルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信する手段であることを特徴とするコンテンツベースルータ。
  12. 請求項10に記載のコンテンツベースルータにおいて、
    前記割り当て手段は、前記マッチング手段において前記データパケットのコンテンツが前記格納されている複数のサブスクリプションにマッチした場合、マッチした複数のサブスクリプションのサブスクライバーに対応した複数の出口ルータをそれぞれ表す複数のルーティングラベルを、前記データパケットを複製して得られた複数のデータパケットにそれぞれ割り当てる手段であり、
    前記送信手段は、前記複数のルーティングラベルをそれぞれ割り当てられ、前記複数のルーティングラベルをそれぞれ付加された前記複数のデータパケットを、次に転送すべきコンテンツベースルータに送信する手段であることを特徴とするコンテンツベースルータ。
  13. 請求項10に記載のコンテンツベースルータにおいて、
    前記割り当て手段は、前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されている複数のサブスクリプションにマッチした場合、マッチした複数のサブスクリプションのサブスクライバーに対応した複数の出口ルータを表す一つのルーティングラベルを、前記データパケットに割り当てる手段であり、
    前記送信手段は、前記1つのルーティングラベルを割り当てられ、前記1つのルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信する手段であることを特徴とするコンテンツベースルータ。
  14. 請求項10に記載のコンテンツベースルータにおいて、前記データパケットは前記コンテンツを記述しているXMLデータを有し、前記サブスクリプションはXMLクエリーによって規定されることを特徴とするコンテンツベースルータ。
  15. 請求項14に記載のコンテンツベースルータにおいて、前記マッチング手段は、前記XMLデータを前記XMLクエリーに対してマッチングするステップであることを特徴とするコンテンツベースルータ。
  16. 請求項10に記載のコンテンツベースルータにおいて、前記ルーティングラベルは、ルーティングツリーを規定することを特徴とするコンテンツベースルータ。
  17. 請求項10に記載のコンテンツベースルータにおいて、前記ルーティングラベルは、ルーティングパスを規定することを特徴とするコンテンツベースルータ。
  18. 請求項10に記載のコンテンツベースルータにおいて、
    前記割り当て手段において割り当てられるルーティングラベルを決めてから、前記データパケットの前記コンテンツを圧縮する手段を、さらに有し、
    前記送信手段は、圧縮されたコンテンツに、決められたルーティングラベルが付加された状態で、前記データパケットを、次に転送すべきコンテンツベースルータに送信する手段であることを特徴とするコンテンツベースルータ。
  19. コンテンツを有するデータパケットを受信するインタフェイスと、
    前記受信したデータパケットの前記コンテンツを、格納されているサブスクリプションに対してマッチングし、前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てるプロセッサと、
    前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信するインタフェイスとを有することを特徴とするコンテンツベースルータ。
  20. 請求項19に記載のコンテンツベースルータにおいて、前記受信したデータパケットは前記コンテンツを記述しているXMLデータを有し、前記サブスクリプションはXMLクエリーによって規定されることを特徴とするコンテンツベースルータ。
  21. 請求項19に記載のコンテンツベースルータにおいて、前記ルーティングラベルはルーティングツリーを規定することを特徴とするコンテンツベースルータ。
  22. 請求項19に記載のコンテンツベースルータにおいて、前記ルーティングラベルはルーティングパスを規定することを特徴とするコンテンツベースルータ。
  23. 入口ルータと中継ルータとを有するコンテンツベースネットワークであって、
    前記入口ルータは、
    コンテンツを有するデータパケットを受信するインタフェイスと、
    前記受信したデータパケットの前記コンテンツを、格納されているサブスクリプションに対してマッチングし、前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる手段と、
    前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、前記中継ルータに送信するインタフェイスとを有し、
    前記中継ルータは、
    前記ルーティングラベルを付加された前記データパケットを受信するインタフェイスと、
    格納されているラベルベースルーティングテーブルと、
    前記ラベルベースルーティングテーブル及び前記ルーティングラベルに基づいて、前記ルーティングラベルを付加された前記データパケットを別のコンテンツベースルータに送信するインタフェイスを有することを特徴とするコンテンツベースネットワーク。
  24. 請求項23に記載のコンテンツベースネットワークにおいて、
    出口ルータを更に有し、
    前記出口ルータは、
    前記中継ルータから、前記ルーティングラベルを付加された前記データパケットを受信するインタフェイスと、
    前記受信した、前記ルーティングラベルを付加された前記データパケットの前記コンテンツを、格納されているサブスクリプションに対してマッチングし、前記受信した、前記ルーティングラベルを付加された前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、前記ルーティングラベルを除去して前記データパケットを送信するインタフェイスとを有することを特徴とするコンテンツベースネットワーク。
  25. 請求項23に記載のコンテンツベースネットワークにおいて、前記データパケットは前記コンテンツを記述しているXMLデータを有し、前記サブスクリプションはXMLクエリーによって規定されることを特徴とするコンテンツベースネットワーク。
  26. 請求項23に記載のコンテンツベースネットワークにおいて、前記ルーティングラベルは、ルーティングツリーを規定することを特徴とするコンテンツベースネットワーク。
  27. 請求項23に記載のコンテンツベースネットワークにおいて、前記ルーティングラベルは、ルーティングパスを規定することを特徴とするコンテンツベースネットワーク。
  28. プロセッサと、該プロセッサに所定の処理を実行させるためのプログラムを格納すると共に前記プロセッサが前記プログラムを実行する際に一時記憶としても動作する記憶手段とを備えたコンテンツベースルータにおける前記プログラムであって、
    前記所定の処理は、
    サブスクリプションと、該サブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルとを、前記記憶手段に格納しておくステップと、
    コンテンツを有するデータパケットを受信するステップと、
    前記受信したデータパケットのコンテンツを、前記記憶手段に格納されているサブスクリプションに対してマッチングするマッチングステップと、
    前記マッチングステップにおいて前記データパケットのコンテンツが前記格納されているサブスクリプションにマッチした場合、マッチしたサブスクリプションのサブスクライバーに対応した出口ルータを表すルーティングラベルを、前記データパケットに割り当てる割り当てステップと、
    前記ルーティングラベルを割り当てられ、前記ルーティングラベルを付加された前記データパケットを、次に転送すべきコンテンツベースルータに送信するステップとを有することを特徴とするコンテンツベースルータ用プログラム。
JP2006012451A 2005-01-21 2006-01-20 方法、コンテンツベースルータ、コンテンツベースネットワーク Expired - Fee Related JP4367650B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/040,849 US20060165053A1 (en) 2005-01-21 2005-01-21 Content based data packet routing using labels

Publications (2)

Publication Number Publication Date
JP2006203904A true JP2006203904A (ja) 2006-08-03
JP4367650B2 JP4367650B2 (ja) 2009-11-18

Family

ID=36696671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006012451A Expired - Fee Related JP4367650B2 (ja) 2005-01-21 2006-01-20 方法、コンテンツベースルータ、コンテンツベースネットワーク

Country Status (2)

Country Link
US (1) US20060165053A1 (ja)
JP (1) JP4367650B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011037105A1 (ja) * 2009-09-25 2011-03-31 日本電気株式会社 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
JP2011135575A (ja) * 2009-12-24 2011-07-07 Samsung Electronics Co Ltd コンテンツ名ベースの端末装置、そのルーティング方法、及びルーティングテーブルを用いるネットワーク装置
JP2012501127A (ja) * 2008-08-26 2012-01-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークにおけるパケット転送
WO2013146885A1 (ja) 2012-03-28 2013-10-03 日本電気株式会社 通信システム、上位レイヤスイッチ、制御装置、スイッチ制御方法及びプログラム
JP2013258479A (ja) * 2012-06-11 2013-12-26 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト転送システムおよびマルチキャスト転送方法
JP2016537925A (ja) * 2013-09-30 2016-12-01 華為技術有限公司Huawei Technologies Co.,Ltd. 経路制御方法、デバイス、およびシステム

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061445A1 (en) * 2005-09-13 2007-03-15 Deganaro Louis R Cooperative routing between traffic control device and multi-server application
WO2008048304A2 (en) * 2005-12-01 2008-04-24 Firestar Software, Inc. System and method for exchanging information among exchange applications
US9497164B2 (en) * 2010-05-27 2016-11-15 At&T Intellectual Property I, L.P. System and method of redirecting internet protocol traffic for network based parental controls
WO2012068303A2 (en) 2010-11-16 2012-05-24 Tibco Software Inc. Fast content-based routing
CN103907316B (zh) * 2010-12-14 2017-11-24 华为技术有限公司 用于内容导向网络互通的系统和方法
US8725896B2 (en) * 2010-12-16 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for forked routing
US8675659B2 (en) 2010-12-16 2014-03-18 Openet Telecom Ltd. Methods, systems and devices for multiphase decoding
US8824370B2 (en) 2010-12-16 2014-09-02 Openet Telecom Ltd. Methods, systems and devices for dynamic context-based routing
US8725820B2 (en) 2010-12-16 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for horizontally scalable high-availability dynamic context-based routing
US8943221B2 (en) 2010-12-16 2015-01-27 Openet Telecom Ltd. Methods, systems and devices for pipeline processing
US8732320B2 (en) * 2011-04-12 2014-05-20 Tibco Software Inc. Fast content-based routing
US9130760B2 (en) 2011-04-26 2015-09-08 Openet Telecom Ltd Systems, devices and methods of establishing a closed feedback control loop across multiple domains
US8929859B2 (en) 2011-04-26 2015-01-06 Openet Telecom Ltd. Systems for enabling subscriber monitoring of telecommunications network usage and service plans
US9450766B2 (en) 2011-04-26 2016-09-20 Openet Telecom Ltd. Systems, devices and methods of distributing telecommunications functionality across multiple heterogeneous domains
US9565074B2 (en) 2011-04-26 2017-02-07 Openet Telecom Ltd. Systems, devices, and methods of orchestrating resources and services across multiple heterogeneous domains
US9444692B2 (en) 2011-04-26 2016-09-13 Openet Telecom Ltd. Systems, devices and methods of crowd-sourcing across multiple domains
US9565063B2 (en) 2011-04-26 2017-02-07 Openet Telecom Ltd. Systems, devices and methods of synchronizing information across multiple heterogeneous networks
US9641403B2 (en) 2011-04-26 2017-05-02 Openet Telecom Ltd. Systems, devices and methods of decomposing service requests into domain-specific service requests
US9300531B2 (en) 2011-12-12 2016-03-29 Openet Telecom Ltd. Systems, devices, and methods of orchestration and application of business rules for real-time control of subscribers in a telecommunications operator's network
US9173081B2 (en) 2012-01-27 2015-10-27 Openet Telecom Ltd. System and method for enabling interactions between a policy decision point and a charging system
US8891541B2 (en) 2012-07-20 2014-11-18 International Business Machines Corporation Systems, methods and algorithms for named data network routing with path labeling
US9426053B2 (en) * 2012-12-06 2016-08-23 International Business Machines Corporation Aliasing of named data objects and named graphs for named data networks
CN103856575B (zh) * 2012-12-06 2017-09-01 国际商业机器公司 用于在包括多个路由器的命名数据网络中对数据对象别名化的方法和计算机实现的系统
US8965845B2 (en) 2012-12-07 2015-02-24 International Business Machines Corporation Proactive data object replication in named data networks
US9560127B2 (en) 2013-01-18 2017-01-31 International Business Machines Corporation Systems, methods and algorithms for logical movement of data objects
CN104348728B (zh) * 2013-08-08 2018-03-09 华为技术有限公司 生成转发信息的方法及设备
US9900222B2 (en) * 2015-10-26 2018-02-20 Microsoft Technology Licensing, Llc Validating routing tables of routing devices
CN111416854B (zh) * 2020-03-16 2022-04-19 海南大学 云服务发布方法、订阅方法、装置和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7072303B2 (en) * 2000-12-11 2006-07-04 Acme Packet, Inc. System and method for assisting in controlling real-time transport protocol flow through multiple networks
US7209977B2 (en) * 2001-10-01 2007-04-24 International Business Machines Corporation Method and apparatus for content-aware web switching
US7293109B2 (en) * 2001-10-15 2007-11-06 Semandex Networks, Inc. Dynamic content based multicast routing in mobile networks
US7895299B2 (en) * 2003-12-19 2011-02-22 Solace Systems, Inc. Dynamic links in content-based networks
US7526493B2 (en) * 2003-12-19 2009-04-28 Solace Systems, Inc. Meta-tagging in content routed networks
US7801857B2 (en) * 2003-12-19 2010-09-21 Solace Systems, Inc. Implicit routing in content based networks
US8477627B2 (en) * 2004-07-19 2013-07-02 Solace Systems, Inc. Content routing in digital communications networks

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501127A (ja) * 2008-08-26 2012-01-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークにおけるパケット転送
WO2011037105A1 (ja) * 2009-09-25 2011-03-31 日本電気株式会社 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
JP5621778B2 (ja) * 2009-09-25 2014-11-12 日本電気株式会社 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
US8971339B2 (en) 2009-09-25 2015-03-03 Nec Corporation Contents base switching system and contents base switching method
JP2011135575A (ja) * 2009-12-24 2011-07-07 Samsung Electronics Co Ltd コンテンツ名ベースの端末装置、そのルーティング方法、及びルーティングテーブルを用いるネットワーク装置
WO2013146885A1 (ja) 2012-03-28 2013-10-03 日本電気株式会社 通信システム、上位レイヤスイッチ、制御装置、スイッチ制御方法及びプログラム
US9515926B2 (en) 2012-03-28 2016-12-06 Nec Corporation Communication system, upper layer switch, control apparatus, switch control method, and program
JP2013258479A (ja) * 2012-06-11 2013-12-26 Nippon Telegr & Teleph Corp <Ntt> マルチキャスト転送システムおよびマルチキャスト転送方法
JP2016537925A (ja) * 2013-09-30 2016-12-01 華為技術有限公司Huawei Technologies Co.,Ltd. 経路制御方法、デバイス、およびシステム
US10491519B2 (en) 2013-09-30 2019-11-26 Huawei Technologies Co., Ltd. Routing method, device, and system

Also Published As

Publication number Publication date
JP4367650B2 (ja) 2009-11-18
US20060165053A1 (en) 2006-07-27

Similar Documents

Publication Publication Date Title
JP4367650B2 (ja) 方法、コンテンツベースルータ、コンテンツベースネットワーク
US9461907B2 (en) Data routing
US8477609B1 (en) Method and system for scaling network traffic managers
US6888828B1 (en) System and method for providing at least one service obtained from a service network for a user in a packet switched communication network
US8094660B2 (en) VLAN server
US7529199B1 (en) System and method for resolving conflicts in proxy routing information associated with multicast distribution trees
CN105743664B (zh) 用于内容中心网络中的多源组播的系统和方法
US8176164B1 (en) Method and system for managing network traffic
KR20160076445A (ko) 정보 중심 네트워크들에서 링크 상태 정보를 사용한 효율적인 이름 기반 콘텐츠 라우팅을 위한 시스템 및 방법
US6970942B1 (en) Method of routing HTTP and FTP services across heterogeneous networks
JP2008211835A (ja) ペイロード検査を介したパケット・ルーティング、及びパブリッシュ/サブスクライブ型ネットワークにおけるサブスクリプション処理
CN105376292A (zh) 基于名称的转发中的显式策略反馈
CN104917681A (zh) 用于内容中心网络中使用合取范式策略的包转发的系统和方法
CN105991793A (zh) 报文转发的方法和装置
Jepsen et al. Packet subscriptions for programmable asics
US7779087B2 (en) Processing numeric addresses in a network router
KR20090022341A (ko) 유비쿼터스 웹서비스 게이트웨이 및 방법
US9762678B2 (en) Method, apparatus and computer program for modifying an endpoint reference representing a web service endpoint
US7689648B2 (en) Dynamic peer network extension bridge
GB2354850A (en) Message broker using tree structures
US9015309B2 (en) Networked probe system
JP2002032281A (ja) 構造化情報を配信するシステム
US11895078B2 (en) System for communicating among end-user devices having different message channel formats and associated methods
US20180083877A1 (en) System and method for making optimal routing decisions based on device-specific parameters in a content centric network
JP2005159983A (ja) ラベルスイッチングネットワーク、ルートサーバ、およびラベルエッジルータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090818

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees