説明

メッセージ転送システム、制御装置、メッセージ転送ノード、メッセージ転送方法およびプログラム

【課題】P2P型のメッセージ転送におけるホップ数を低減し、メッセージ転送遅延を抑える。
【解決手段】メッセージ転送システムは、フロースイッチと、それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える制御装置と、を含む。前記メッセージ転送ノードは、前記経路表に従ったメッセージの転送時に、前記制御装置に新規の経路エントリを登録する。前記制御装置は、前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッセージ転送システム、制御装置、メッセージ転送ノード、メッセージ転送方法およびプログラムに関し、特に、個々のメッセージ転送ノードが経路表に従ってメッセージを転送することにより送信元から到達先へのメッセージの転送を行うピアツーピアネットワーク(以下、「P2P」と記す。)を構成するメッセージ転送システム、制御装置、メッセージ転送ノード、メッセージ転送方法およびプログラムに関する。
【背景技術】
【0002】
Distributed Hash Table(DHT)技術を用いたP2P型のメッセージ転送では、メッセージ種別毎に割り振られた識別子を用いて、メッセージ転送が行われる。
【0003】
非特許文献1には、Virtual Ring Routing方式が開示されている。Virtual Ring Routing方式では、図11に示されたように、個々のメッセージ転送ノード(図11では簡易化のため、メッセージ転送ノードを「BR」(Brokerの略)と記し、BR20〜BR29のみを図示する。)がノード識別子を持ち、そのノード識別子の数値順に1つのリングが構築される。そのリングを形成する過程において、メッセージ転送ノードは、ノード識別子を交換しながら、メッセージ転送のための経路表を構築している。
【0004】
例えば、図11のBR20は、前後2つずつのメッセージ転送ノードを隣接ノードとして経路表を構築している。同様に、他のメッセージ転送ノードも、前後2つずつのメッセージ転送ノードを隣接ノードとして経路表を構築している。ここで、例えばBR20からBR28へメッセージを転送する場合、そのメッセージは、経路表を参照して、ノード識別子を辿っていき、BR20、BR22、BR24、BR26、BR28という経路を辿って、転送される。
【0005】
このようなP2P型のメッセージ転送を利用してPublish−Subscribe型モデルの通信を実現することができる。この場合、メッセージを送信するPublisherが、いずれかのメッセージ転送ノードに接続し、広告処理を行う。
【0006】
図11では、Publisher(図11のPUB10)が、BR20に接続していることが示されている。また同様に、Subscriber(図11のSUB30)がBR29に接続していることが示されている。
【0007】
Publish−Subscribe通信は、Publisherによる広告処理と、Subscriberによる購読処理によって、メッセージ転送経路が設定される。この広告処理の過程では、いずれかのメッセージ転送ノードがRendezvous Point(ランデブーポイント、図11のRP40)として選定される。この広告処理のための制御メッセージが、例えばBR20、BR22、BR24、BR26、BR28という経路を辿ることによって、PUB10〜BR20〜BR28/RP40へのメッセージ転送経路が確定する。一方、Subscriberは購読処理を通してRendezvous Pointへ受信登録を行う。購読処理の場合は、受信登録のための制御メッセージが、例えばBR29、BR28という経路を辿り、その経路を逆に辿ることによって、BR28/RP40〜BR29〜SUB30というメッセージ転送経路が確定する。このように、Rendezvous Pointは、Publish−Subscribe通信における仲介機能を提供するものである。
【0008】
以上のようにして、例えばPUB10、SUB30へメッセージを配信する場合、メッセージは、BR20、BR22、BR24、BR26、BR28/RP40、BR29、SUB30という経路で転送される。
【0009】
その他特許文献1に、P2Pのオーバーレイネットワークにおけるスキップテーブルの更新方法が記載されている。また、非特許文献2、3は、オープンフローと呼ばれる集中制御型の制御装置(コントローラ)を持つネットワークのホワイトペーパーと仕様書である。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2009−171156号公報
【非特許文献】
【0011】
【非特許文献1】Matthew Caesar, Miguel Castro, Edmund B. Nightingale, Greg O’Shea, Antony Rowstron著,“Virtual Ring Routing: Network Routing Inspired by DHTs”,SIGCOMM2006
【非特許文献2】Nick McKeownほか7名、“OpenFlow: Enabling Innovation in Campus Networks”、[online]、[平成23(2011)年5月26日検索]、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献3】“OpenFlow Switch Specification” Version 1.1.0 Implemented (Wire Protocol 0x02) [平成23(2011)年5月26日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0012】
以下の分析は、本発明によって与えられたものである。上述したVirtual Ring Routing方式に代表されるメッセージ転送方式の問題点は、P2P技術によって構築されたリングが大規模化した場合に、ホップ数、即ち、メッセージが経由するメッセージ転送ノード(BR)の数が増加することである。これは、Publish−Subscribe通信においては、PublisherからRendezvous Pointへのメッセージ転送においてホップ数が増加することを意味する。
【0013】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記したP2P型のメッセージ転送におけるホップ数を低減し、メッセージ転送遅延を抑えることのできるメッセージ転送システム、制御装置、メッセージ転送方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0014】
本発明の第1の視点によれば、メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える制御装置と、を含み、前記メッセージ転送ノードのいずれかが、前記経路表に従ったメッセージの転送時に、前記制御装置に新規の経路エントリを登録し、前記制御装置は、前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御するメッセージ転送システムが提供される。
【0015】
本発明の第2の視点によれば、メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、に接続され、少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部と、前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御する転送制御部と、を備える制御装置が提供される。
【0016】
本発明の第3の視点によれば、個々のメッセージ転送ノードが経路表に従ってメッセージを転送することにより送信元から到達先へのメッセージの転送を行うピアツーピアネットワークの前記メッセージ転送ノードとしてメッセージを転送するメッセージ転送部と、新規メッセージを受信した際に、所定の制御装置に、少なくとも自装置の情報を含んだ経路エントリを登録する経路エントリ登録部と、前記メッセージの到達先となった場合、前記所定の制御装置の該当経路エントリに、自装置の情報を追加する経路エントリ更新部と、を備えたメッセージ転送ノードが提供される。
【0017】
本発明の第4の視点によれば、メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える制御装置と、を含むメッセージ転送システムにおけるメッセージ転送方法であって、前記メッセージ転送ノードが、新規メッセージの転送時に、前記制御装置に新規の経路エントリを登録するステップと、前記制御装置が、前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御するステップと、を含むメッセージ転送方法が提供される。本方法は、メッセージを転送するメッセージ転送ノードおよびその制御装置という、特定の機械に結びつけられている。
【0018】
本発明の第5の視点によれば、メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える制御装置と、を含むメッセージ転送システムの前記制御装置を構成するコンピュータに、前記メッセージ転送ノードによる新規メッセージの転送時に前記メッセージ転送ノードから、少なくとも送信元と到達先を指定した経路エントリの登録を受け付ける処理と、前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御する処理とを実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0019】
本発明によれば、送信元および到達先を共通にするメッセージを、より少ないホップ数で転送することが可能となり、メッセージ転送遅延を抑えることが可能となる。
【図面の簡単な説明】
【0020】
【図1】本発明の第1の実施形態の構成を表した図である。
【図2】本発明の第1の実施形態の各装置の詳細構成を表したブロック図である。
【図3】本発明の第1の実施形態の管理される経路エントリの一例である。
【図4】本発明の第1の実施形態の動作を表したシーケンス図である。
【図5】図1に広告メッセージと配信メッセージの転送経路を追記した図である。
【図6】図3の経路エントリがメッセージ転送ノードBR28により更新された状態を示す図である。
【図7】本発明の第2の実施形態の各装置の詳細構成を表したブロック図である。
【図8】本発明の第2の実施形態の動作を表したシーケンス図である。
【図9】本発明の第2の実施形態の制御装置にて管理される経路エントリの一例である。
【図10】本発明の第3の実施形態の構成を表した図である。
【図11】非特許文献1のメッセージ転送方法を説明するための図である。
【発明を実施するための形態】
【0021】
はじめに本発明の一実施形態の概要について図面を参照して説明する。以下、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0022】
本発明は、図1に示すように、個々のメッセージ転送ノードがそれぞれ経路表を保持し、前記経路表に従ってメッセージを転送することによりメッセージを送信元から到達先に転送するよう動作する複数のメッセージ転送ノードBR20〜BR28と、メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチ50〜53と、これらメッセージ転送ノードBR20〜BR28およびフロースイッチ50〜53を制御する制御装置60とを含む構成にて実現できる。
【0023】
より具体的には、制御装置60は、少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える。また各メッセージ転送ノードBR20〜BR28は、新規メッセージ(例えば、出版購読型モデルにおける出版者ノードからの広告メッセージ)の転送時に、前記制御装置に新規の経路エントリを登録する。このような新規の経路エントリは、例えば、起点に位置する送信元のメッセージ転送ノードが当該メッセージの識別子と自装置の情報を含む新規エントリを登録し、到達先のメッセージ転送ノードが該当エントリに自装置の情報を追加することで作成できる。制御装置60は、前記新規エントリと同一の送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路(即ち、ショートカット経路)でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御する(図5参照)。
【0024】
このようにすることで、送信元および到達先を共通にするメッセージの転送ホップ数を低減し、メッセージ転送遅延を抑えることが可能となる。
【0025】
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態の構成を表した図である。図1を参照すると、複数のメッセージ転送ノード(BR)20〜29と、これらの複数のメッセージ転送ノード(BR)20〜29を相互に接続するフロースイッチ50〜53と、これらメッセージ転送ノード(BR)20〜29およびフロースイッチ50〜53を制御する制御装置60と、を含むメッセー転送ネットワークが示されている。なお、以下の説明では、図1に示すとおり、メッセージ転送ノード(BR)20に出版者ノードPUB10が接続され、メッセージ転送ノード(BR)29に購読者ノードSUB30が接続されているものとする。図1は、メッセージ転送ノードBR28がRendezvous Point(ランデブーポイント、以下、「RP」)40として選定された状態を示している。
【0026】
図2は、上記図1に示された各装置の詳細構成を表したブロック図である。図2を参照すると、メッセージ転送ノード(BR)20〜29と、フロースイッチ50〜53と、制御装置60とが示されている(出版者ノードPUB10、購読者ノードSUB30及びRP40は省略)。
【0027】
制御装置60は、メッセージ転送のための経路エントリを集中保持し、メッセージ転送ノードBR20〜BR29からの照会や登録・更新要求に応じる経路エントリ管理部601と、フロースイッチ50〜53を含むネットワークトポロジを参照して前記経路エントリに示された送信元から到達先までの経路を計算する経路計算部602と、前記計算された経路での転送に必要なフロースイッチ50〜53へのフローエントリの設定やメッセージの出力指示等を行う転送制御部603とを備えて構成される。なお、制御装置60の上記経路計算機能やフローエントリ設定機能は、非特許文献2、3のオープンフロースイッチを制御するオープンフローコントローラと同等の仕組みを用いて実現することもできる。
【0028】
また、前記経路計算部602に代えて、前記制御装置60に、任意のメッセージ転送ノード間の最短経路情報と、最短経路での転送時に各フロースイッチに設定するフローエントリを保持させる構成も採用可能である。
【0029】
メッセージ転送ノード(以下、「BR」)20〜29は、非特許文献1に示したような経路表を用いたメッセージの転送、または、制御装置60からの指示に応じフロースイッチ50〜52に設定されたショートカット転送用のフローエントリに適合するようメッセージのヘッダ領域等を書き換えてからメッセージを転送するメッセージ転送部201と、メッセージ転送部201にて受信した新規メッセージについて制御装置60に対し、経路エントリの登録有無を照会する経路エントリ照会部202と、前記経路エントリの照会の結果、該当する経路エントリが登録されていない場合、制御装置60に対して新規の経路エントリの登録を要求する経路エントリ登録部203と、経路表を用いた広告メッセージを転送した際に自装置が到達先であることが確定した場合、制御装置60に対して該当経路エントリに自装置の識別子とアドレスの追加を要求する経路エントリ更新部204と、を備えて構成される。
【0030】
フロースイッチ50〜53は、受信メッセージのヘッダ情報等と照合するマッチングルール(照合規則)と、当該メッセージに対して実行する処理内容(Instructions)とを対応付けたフローエントリ(処理規則)を格納するフローテーブル501と、フローテーブル501から受信メッセージに適合するマッチングルールを持つフローエントリを検索して、該当するフローエントリに定められた処理を実行する転送処理部502とを備えて構成される。また、前記検索の結果、受信メッセージに適合するマッチングルールを持つフローエントリが見つからなかった場合、転送処理部502は、制御装置60に対して、受信メッセージに適合するマッチングルールを持つフローエントリの設定を要求する。上記転送処理部502と制御装置60の動作を用いて、図2のBR20〜29と制御装置60間の情報の授受を実現することができる。また、このようなフロースイッチ50〜53は、非特許文献2、3のオープンフロースイッチや、その他同等の通信装置にて構成することもできる。
【0031】
また、上記した各ノード(BR、出版者ノード、購読者ノード等)や制御装置60の各機能は、物理的なコンピュータ上のほか、また仮想化されたVirtual Machine上で動作するコンピュータプログラムにより実現することができる。
【0032】
本実施形態における広告メッセージは、少なくともメッセージ種別、メッセージ識別子(MSG_ID)、送信元ノード識別子を含む。具体的には、メッセージ種別は広告メッセージであるか否かが判別される。MSG_IDは、例えば天候情報、交通情報、障害情報といったメッセージ毎に付与されるメッセージの名前をハッシュすることで識別子を生成することができる。そして、送信元ノード識別子は、BRが持つノード識別子を使用する。このノード識別子としては、例えば、BRのIPアドレスを用いたり、またIPアドレスに加えて、BRが起動した時の時刻を使用するなどして、ユニークな識別子を生成できる。本実施形態では、BR20〜29にそれぞれ20〜29の識別子が付与されているものとする。
【0033】
図3は、制御装置60の経路エントリ管理部601に保持される経路エントリの例である。図3の例では、メッセージ識別子(MSG_ID)と、送信元ノードの識別子(src_ID)と、送信元ノードのアドレス(src_address)と、到達先ノードの識別子(dst_ID)と、到達先ノードのアドレス(dst_address)と、を対応付けたエントリが示されている。なお、以下の説明では、メッセージ識別子(MSG_ID)として、到達先のノードの識別子を用いるものとする。送信元ノードのアドレス(src_address)としては、MACアドレスとIPアドレスの双方または少なくとも一方を用いるものとする。なお、前記経路エントリ管理部601に保持される経路エントリは、一定時間の経過など、所定のタイミングで削除することが望ましい。
【0034】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、BR20が、出版者ノードPUB10から、BR28宛ての広告メッセージを受信し、その後の配信メッセージを、BR22〜BR26を介さずにBR28に転送する例を挙げて説明する。
【0035】
図4は、本発明の第1の実施形態の動作を表したシーケンス図である。図4を参照すると、まず、BR20は、出版者ノードPUB10から、メッセージ識別子(MSG_ID)として到達先のノードの識別子であるBR28の識別子が設定された広告メッセージを受信すると、制御装置60に対し、該当する広告メッセージに対応する経路エントリが作成済みであるか否かを問い合わせる(S001)。
【0036】
ここでは、制御装置60の経路エントリ管理部601に、到達先のノードの識別子であるBR28が設定されたエントリが未登録であるため、制御装置60は、BR20に対し該当エントリなしと応答する。
【0037】
前記応答を受信したBR20は、制御装置60に対し、広告メッセージに設定された到達先のノードの識別子であるBR28の識別子(MSG_ID)と、問い合わせ元である自装置の識別子(20)と、自装置のアドレス(src_address)とを持つ経路エントリの登録を要求する(S002)。この時点で、図3のような経路エントリが経路エントリ管理部601に登録される。
【0038】
次に、BR20は、メッセージ転送部201に保持されている経路表に従って広告メッセージの転送を行う(S003)。具体的には、BR20は、経路表を参照しBR22に宛てて広告メッセージを転送する。すると、広告メッセージを受信したフロースイッチ50は、広告メッセージに対応するフローエントリを保持していないため、制御装置60に対し、前記広告メッセージの転送に必要なフローエントリの設定を要求する。制御装置60は、前記要求を受けると、フロースイッチ50に、BR22への広告メッセージの転送を指示する。なお、制御装置60からフロースイッチ50へのメッセージの転送指示には、非特許文献3のPacket−Outメッセージを用いることができる。
【0039】
前記広告メッセージしたBR22は、経路表を参照し、BR24に宛てて広告メッセージを転送する。該広告メッセージを受信したフロースイッチ50は、先のBR20からの広告メッセージの受信時と同様に、制御装置60に問い合わせてフロースイッチ51に広告メッセージを転送する。該広告メッセージを受信したフロースイッチ51も同様に、制御装置60に問い合わせてBR24に広告メッセージを転送する。このようにして、広告メッセージは、図5の破線の矢線に示すように、BR20→BR22→BR24→BR26→BR28と転送される。BR28では、MSG_IDがBR28のノード識別子(=28)と一致するため、BR28がRP40として確定する(S004)。
【0040】
次に、RP40となったBR28は、制御装置60に対し、該当する広告メッセージに対応する経路エントリ(MSG_ID=28、src_ID=20である経路エントリ)が作成済みであるか否かを問い合わせる(S005)。
【0041】
ここでは、S002で該当経路エントリが登録済みであるため、制御装置60は、BR28に対し該当エントリの内容(図3のMSG_ID=28、src_ID=20等)を応答する。
【0042】
前記応答を受信したBR28は、制御装置60に対し、応答された経路エントリに、到達先ノード識別子(dst_ID)として自装置の28、到達先ノードアドレス(dst_Address)として自装置のMACアドレスやIPアドレスを追加するよう要求する(S006)。この時点で、図6のような経路エントリが経路エントリ管理部601に登録される。
【0043】
その後、制御装置60は、上記広告メッセージに後続する配信メッセージを、BR22からBR26を介さずに、フロースイッチ50〜52経由でBR20からBR28に転送する転送経路を計算し(S007)、当該転送経路を実現するフローエントリ(ショートカット転送用のフローエントリ)をフロースイッチ50〜52に設定する(S008)。例えば、図1に示したようなネットワークトポロジが構成されている場合、図5の実線の矢線に示すように、BR20からフロースイッチ50、フロースイッチ50からフロースイッチ51、フロースイッチ51からフロースイッチ52、フロースイッチ52からBR28で配信メッセージを転送する転送経路が計算される。なお、この場合のフローエントリのマッチングルールとして、BR20、28のアドレスやメッセージ識別子(MSG_ID)を使用することで、各フロースイッチ50〜52に対象メッセージを一意に特定させることができる。
【0044】
より具体的には、BR20、28のアドレスとしては、例えば、BR20〜29およびフロースイッチ50〜52によって構成される下位ネットワークがレイヤ2(L2)ネットワークであれば、BR20やBR28のMACアドレスが用いられる。また、フロースイッチ50〜52によって構成される下位ネットワークがIPネットワークであれば、BR20、28のアドレスとして、BR20やBR28のIPアドレスを用いることができる。また、MSG_IDは、IPパケットペイロードに含ませたり、ヘッダオプションとして加えたりすることによって識別させることができる。
【0045】
制御装置60は、BR20に対し、MSG_ID(=28)を持つメッセージのショートカット転送指示を送信する(S009)。このショートカット転送指示には、到達先であるBR28の識別子(=28)や、BR28のMACアドレスやIPアドレス等が含まれる。
【0046】
以上の処理の後、出版者ノードPUB10から配信メッセージを受信した場合、BR20は、フロースイッチ50に設定されたショートカット転送用のフローエントリのマッチングルールに適合するようメッセージのヘッダ領域等を書き換えてからフロースイッチ50に転送する。フロースイッチ50は、受信したメッセージに適合するフローエントリに従って、メッセージを転送する。ここでは、フロースイッチ50にて受信されたメッセージはフロースイッチ51に転送される。同様に、MSG_ID(=28)を持つ配信メッセージは、フロースイッチ51、フロースイッチ52を経由して、BR28へ転送される(S010)。
【0047】
以上のように、本実施形態によれば、図5に示すように、経路表に従って、最初の広告メッセージを転送した後、以降の配信メッセージを、途中のBRを経由することなくフロースイッチ50〜52経由でショートカット転送することが可能になる。
【0048】
[第2の実施形態]
続いて、上記第1の実施形態に変更を加えた第2の実施形態について図面を参照して詳細に説明する。例えば、天候情報や気温情報を観測するセンサーが出版者ノードとして接続され、これらの観測値が1つのBRに集められるケースがある。これらのセンサーは、各々配置された場所が異なるが、メッセージの到達先を示すMSG_IDは重なっている。本実施形態では、このような場合に、経路エントリを再利用できるようにしたものである。
【0049】
図7は、本発明の第2の実施形態の詳細構成を表した図である。図2に示した第1の実施形態との相違点は、BR20a〜29a側の経路エントリ照会部202a、経路エントリ更新部204a、および、制御装置側の経路エントリ管理部601aの動作が異なっている点である。
【0050】
本実施形態では、ある出版者ノード(例えば、センサー)が、ある到達先ノードに対して広告メッセージを送信し、経路表に従った転送により到達先が確定し経路エントリの登録及び更新が済んでいる場合、当該経路エントリを同一の到達先ノードへのメッセージ転送に利用する。
【0051】
具体的には、本実施形態の経路エントリ照会部202aは、制御装置60に対し、新規メッセージに対応する経路エントリが登録済みであるか否かを問い合わせる。このとき、制御装置60から、同一のMSG_IDを持つ経路エントリが登録済みである旨の応答を受けている場合、経路エントリ照会部202aは、経路エントリ更新部204aに、当該経路エントリへ自装置が受信したメッセージの配信のための経路エントリの追加登録を要求する。
【0052】
その後、制御装置60の経路エントリ管理部601aは、前記追加された経路エントリに従って、経路計算と、フローエントリの生成、設定を行う。これにより、前述した第1の実施形態の経路表に従った広告メッセージの転送を省略することができる。
【0053】
続いて、本実施形態の動作について説明する。また、以下の説明では、上記第1の実施形態で説明したようにBR20を送信元としBR28を到達先とするメッセージに対する経路エントリが作成されており(図6参照)、新たにBR21がBR28を到達先とする広告メッセージを受信したものとして説明する。
【0054】
図8は、本発明の第2の実施形態の動作を表したシーケンス図である。図8を参照すると、まず、BR21は、出版者ノードPUB10から、メッセージ識別子(MSG_ID)として到達先のノードの識別子であるBR28の識別子が設定された広告メッセージを受信すると、制御装置60に対し、該当する広告メッセージに対応する経路エントリが作成済みであるか否かを問い合わせる(S101)。
【0055】
ここでは、BR28を到達先とするメッセージに対する経路エントリが登録済みであるため、制御装置60は、BR28に対し該当エントリの内容(図6のMSG_ID=28、src_ID=20等)を応答する。
【0056】
前記応答を受信したBR21は、制御装置60に対し、応答された経路エントリに、第2の送信元ノードのノード識別子(src_ID)として自装置の21、第2の送信元ノードのアドレス(dst_Address)として自装置のMACアドレスやIPアドレスを追加するよう要求する(S102)。この時点で、図9のように、経路エントリに第2の送信元ノードの情報が追加される。
【0057】
その後、制御装置60は、BR21からBR28にメッセージを転送するための経路を計算し(S103)、該経路を実現するためのフローエントリをフロースイッチ50〜52に設定する(S104)。なお、このときに、制御装置60が、フロースイッチ50〜52に設定済みのフローエントリを書き換えることにより、フロースイッチ50〜52に、BR20からBR28宛てのメッセージに加えて、BR21からBR28宛てのメッセージを転送させるようにしてもよい。この場合、非特許文献3に示されているワイルドカードをマッチングルールに設定することでもよい。
【0058】
その後は第1の実施形態と同様であり、制御装置60は、BR21に対し、BR21が受信したMSG_ID(=28)を持つメッセージのショートカット転送指示を送信する(S105)。このショートカット転送指示には、到達先であるBR28の識別子=28、BR28のMACアドレスやIPアドレス等が含まれる。
【0059】
以上の処理の後、出版者ノードPUB10から配信メッセージを受信した場合、BR21は、BR28宛のメッセージについて、フロースイッチ50に設定されたショートカット転送用のフローエントリのマッチングルールに適合するようメッセージのヘッダ領域等を書き換えてからフロースイッチ50経由で転送する。
【0060】
フロースイッチ50は、受信したメッセージに適合するフローエントリに従って、メッセージを転送する。ここでは、フロースイッチ50にて受信されたメッセージはフロースイッチ51に転送される。同様に、MSG_ID(=28)を持つ配信メッセージは、フロースイッチ51、フロースイッチ52を経由して、BR28へ転送される(S105)。
【0061】
以上のように、本実施形態によれば、広告メッセージの転送を省略し、既存の経路エントリを用いてショートカット転送を行うことが可能となる。
【0062】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、図10に示すように、制御装置を、オープンフローコントローラ61と、各BRからの経路エントリの照会等に応答する制御装置60に分離することも可能である。
【0063】
また、上記した実施形態では説明を省略したが、その他のメッセージ転送ノードを到達先とする場合においても同様の手順で、経路エントリを登録し、対応するフローエントリをフロースイッチに設定することで、転送時のホップ数を低減することが可能である。
【産業上の利用可能性】
【0064】
本発明は、例えば、分散配置された企業系サーバ間でのメッセージ交換サービスを行うメッセージングシステム等の用途に適用できる。またネットワーク制御情報を配信するメッセージングシステムとしても活用できる。この形態では、複数のネットワークに対して同時並行的にネットワーク制御情報を配信する。このように分散型のシステムは、互いに相互連携することが一般的であり、メッセージ配信遅延が小さいことが望ましい。本発明を適用すれば、少ないホップ数でメッセージ配信が可能となるため、メッセージ配信遅延を最小化することが可能となる。
【符号の説明】
【0065】
10 出版者ノード(PUB)
20〜29 メッセージ転送ノード(BR)
30 購読者ノード(SUB)
40 ランデブーポイント(RP)
50〜53 フロースイッチ
60 制御装置
61 オープンフローコントローラ
201 メッセージ転送部
202、202a 経路エントリ照会部
203 経路エントリ登録部
204、204a 経路エントリ更新部
501 フローテーブル
502 転送処理部
601、601a 経路エントリ管理部
602 経路計算部
603 転送制御部

【特許請求の範囲】
【請求項1】
メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、
それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、
少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える制御装置と、を含み、
前記メッセージ転送ノードのいずれかが、前記経路表に従ったメッセージの転送時に、前記制御装置に新規の経路エントリを登録し、
前記制御装置は、
前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御すること、
を特徴とするメッセージ転送システム。
【請求項2】
前記制御装置は、
前記第2の転送経路上のフロースイッチに前記第2の転送経路を実現する処理規則を設定することにより、前記フロースイッチを制御する請求項1のメッセージ転送システム。
【請求項3】
前記経路エントリは、
新規メッセージを受信した送信元のメッセージ転送ノードが、前記制御装置の経路管理部に対し、前記メッセージの識別子と自装置の識別子とアドレスとを持つ新規エントリを登録し、
前記新規メッセージの到達先のメッセージ転送ノードが、前記新規エントリの到達先として自装置の識別子とアドレスを登録することによって作成される請求項1または2のメッセージ転送システム。
【請求項4】
前記経路エントリの送信元として、複数のメッセージ転送ノードを登録可能であり、
新規メッセージを受信したメッセージ転送ノードは、前記制御装置に対し、前記到達先が共通する経路エントリの登録有無を問い合わせ、
前記制御装置は、前記到達先が共通する経路エントリが登録済みである場合、経路エントリの送信元として、前記メッセージ転送のノードを追加するとともに、前記追加された送信元から前記フロースイッチを経由して前記到達先に至る第3の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御する請求項1から3いずれか一のメッセージ転送システム。
【請求項5】
前記送信元のメッセージ転送ノードは、出版購読型モデルにおける出版者ノードに接続され、
前記メッセージの到達先のメッセージ転送ノードが、出版購読型モデルにおけるランデブーポイントとして機能する請求項1から4いずれか一のメッセージ転送システム。
【請求項6】
メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、
それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、に接続され、
少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部と、
前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御する転送制御部と、を備えること、
を特徴とする制御装置。
【請求項7】
個々のメッセージ転送ノードが経路表に従ってメッセージを転送することにより送信元から到達先へのメッセージの転送を行うピアツーピアネットワークの前記メッセージ転送ノードとしてメッセージを転送するメッセージ転送部と、
新規メッセージを受信した際に、所定の制御装置に、少なくとも自装置の情報を含んだ経路エントリを登録する経路エントリ登録部と、
前記メッセージの到達先となった場合、前記所定の制御装置の該当経路エントリに、自装置の情報を追加する経路エントリ更新部と、
を備えたメッセージ転送ノード。
【請求項8】
メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、
それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、
少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える制御装置と、を含むメッセージ転送システムにおけるメッセージ転送方法であって、
前記メッセージ転送ノードが、新規メッセージの転送時に、前記制御装置に新規の経路エントリを登録するステップと、
前記制御装置が、前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御するステップと、を含むメッセージ転送方法。
【請求項9】
メッセージと照合する照合規則と当該照合規則に適合するメッセージの転送先とを定めた処理規則に従ってメッセージ転送を行うフロースイッチと、
それぞれ経路表を保持し、個々のメッセージ転送ノードが前記経路表に従って前記フロースイッチを介してメッセージを転送することにより、送信元から到達先にメッセージを転送する複数のメッセージ転送ノードと、
少なくとも送信元と到達先のメッセージ転送ノードを指定した経路エントリを管理する経路管理部を備える制御装置と、を含むメッセージ転送システムの前記制御装置を構成するコンピュータに、
前記メッセージ転送ノードによる新規メッセージの転送時に前記メッセージ転送ノードから、少なくとも送信元と到達先を指定した経路エントリの登録を受け付ける処理と、
前記経路エントリに登録された送信元から到達先に送信されるべきメッセージについて、前記経路表に従ったメッセージの転送経路よりもホップ数の少ない第2の転送経路でメッセージを転送するよう前記メッセージ転送ノードおよびフロースイッチを制御する処理とを実行させるプログラム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図1】
image rotate

【図5】
image rotate

【図10】
image rotate


【公開番号】特開2013−38647(P2013−38647A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−174090(P2011−174090)
【出願日】平成23年8月9日(2011.8.9)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成22年度 総務省、「クラウドサービスを支える高信頼・省電力ネットワーク制御技術の研究開発(高信頼クラウドサービス制御基盤技術)」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】