(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023120607
(43)【公開日】2023-08-30
(54)【発明の名称】通信システム、通信装置、プログラム、及び処理方法
(51)【国際特許分類】
H04L 41/122 20220101AFI20230823BHJP
H04L 41/0853 20220101ALI20230823BHJP
【FI】
H04L41/122
H04L41/0853
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022023552
(22)【出願日】2022-02-18
(11)【特許番号】
(45)【特許公報発行日】2023-02-08
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】前迫 敬介
(72)【発明者】
【氏名】張 亮
(72)【発明者】
【氏名】熊倉 顕
(57)【要約】 (修正有)
【課題】SDNコントローラ100が複数のSDNスイッチ200に対するトポロジ情報収集のための制御パケットの送信を行わなくてよくし、オーバヘッドを削減する通信システム、通信装置、処理方法及びプログラムを提供する。
【解決手段】通信システム10は、SDNコントローラ100と、複数の通信装置200とを備え、複数の通信装置のそれぞれは、リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、隣接ノードから制御パケットに対する応答パケットを受信する応答パケット受信部と、隣接ノードから応答パケットを受信した場合に、隣接ノードに関する情報を含む通知情報をコントローラに送信する通知情報送信部を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コントローラと、
複数の通信装置と
を備え、
前記複数の通信装置のそれぞれは、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報を前記コントローラに送信する通知情報送信部と
を有する、通信システム。
【請求項2】
前記アドホックルーティングは、リアクティブ型のアドホックルーティングである、請求項1に記載の通信システム。
【請求項3】
前記制御パケットは、Helloパケットである、請求項1又は2に記載の通信システム。
【請求項4】
前記アドホックルーティングは、AODVであり、
前記制御パケットは、Helloパケットであり、
前記応答パケットは、HelloAckパケットである、請求項1又は2に記載の通信システム。
【請求項5】
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを前記隣接ノードに送信する応答パケット送信部と
を備える、請求項1から4のいずれか一項に記載の通信システム。
【請求項6】
前記制御パケット受信部が前記制御パケットを受信したことに応じて、前記制御パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部
を備える、請求項5に記載の通信システム。
【請求項7】
前記応答パケット受信部が前記応答パケットを受信したことに応じて、前記応答パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部
を備える、請求項5に記載の通信システム。
【請求項8】
前記応答パケット送信部は、前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しない、請求項6又は7に記載の通信システム。
【請求項9】
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されている場合に、前記応答パケット送信部による前記応答パケットが前記隣接ノードに送信されないように制御する応答パケット制御部
を備える、請求項6又は7に記載の通信システム。
【請求項10】
前記通知情報送信部は、前記隣接ノードから前記応答パケットを受信した場合において、前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記通知情報を前記コントローラに送信し、登録されている場合、前記通知情報を前記コントローラに送信しない、請求項6又は7に記載の通信システム。
【請求項11】
前記コントローラは、集中経路制御のための通信プロトコルに準拠している、請求項1から10のいずれか一項に記載の通信システム。
【請求項12】
前記コントローラは、OpenFlowに準拠しており、前記複数の通信装置に対するトポロジ情報収集のための制御パケットの送信を行わない、請求項1から11のいずれか一項に記載の通信システム。
【請求項13】
前記コントローラは、
前記複数の通信装置のそれぞれから受信した前記通知情報に基づいて、前記複数の通信装置によって構成されているネットワークのトポロジを特定するトポロジ特定部
を有する、請求項1から12のいずれか一項に記載の通信システム。
【請求項14】
通信装置であって、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する通知情報送信部と
を備える、通信装置。
【請求項15】
コンピュータを、請求項14に記載の通信装置として機能させるためのプログラム。
【請求項16】
通信装置によって実行される処理方法であって、
前記通信装置がリンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信ステップと、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信ステップと、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する送信ステップと
を備える、処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、通信装置、プログラム、及び処理方法に関する。
【背景技術】
【0002】
特許文献1には、コントローラとスイッチとの間の通信に用いられるプロトコルとして、OpenFlowを用いたSDN(Software Defined Networking)コントローラが記載されている。
[先行技術文献]
[特許文献]
[特許文献1]特開2017-163383号公報
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施の態様によれば、通信システムが提供される。通信システムは、コントローラと、複数の通信装置とを備えてよい。複数の通信装置のそれぞれは、リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部を有してよい。複数の通信装置のそれぞれは、隣接ノードから制御パケットに対する応答パケットを受信する応答パケット受信部を有してよい。複数の通信装置のそれぞれは、隣接ノードから応答パケットを受信した場合に、隣接ノードに関する情報を含む通知情報をコントローラに送信する通知情報送信部を有してよい。
【0004】
前記アドホックルーティングは、リアクティブ型のアドホックルーティングであってよい。前記制御パケットは、Helloパケットであってよい。前記アドホックルーティングは、AODVであってよく、前記制御パケットは、Helloパケットであってよく、前記応答パケットは、HelloAckパケットであってよい。
【0005】
前記通信システムは、隣接ノードから前記制御パケットを受信する制御パケット受信部を有してよい。前記通信システムは、前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを前記隣接ノードに送信する応答パケット送信部を有してよい。前記通信システムは、前記制御パケット受信部が前記制御パケットを受信したことに応じて、前記制御パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部を有してよい。前記通信システムは、前記応答パケット受信部が前記応答パケットを受信したことに応じて、前記応答パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部を有してよい。
【0006】
前記応答パケット送信部は、前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しなくてよい。前記通信システムは、前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されている場合に、前記応答パケット送信部による前記応答パケットが前記隣接ノードに送信されないように制御する応答パケット制御部を有してよい。前記処理機能部は、前記隣接ノードから前記応答パケットを受信した場合において、前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記通知情報を前記コントローラに送信し、登録されている場合、前記通知情報を前記コントローラに送信しなくてよい。
【0007】
前記コントローラは、集中経路制御のための通信プロトコルに準拠していてよい。前記コントローラは、OpenFlowに準拠しており、前記複数の通信装置に対するトポロジ情報収集のための制御パケットの送信を行わなくてよい。前記コントローラは、前記複数の通信装置のそれぞれから受信した前記通知情報に基づいて、前記複数の通信装置によって構成されているネットワークのトポロジを特定するトポロジ特定部を有してよい。
【0008】
本発明の一実施態様によれば、通信装置が提供される。通信装置は、リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部を有してよい。通信装置は、前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部を有してよい。通信装置は、前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する処理機能部を有してよい。
【0009】
本発明の一実施態様によれば、コンピュータを、上記通信装置として機能させるためのプログラムが提供される。
【0010】
本発明の一実施態様によれば、通信装置によって実行される処理方法が提供される。処理方法は、前記通信装置がリンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信ステップを有してよい。処理方法は、前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信ステップを有してよい。処理方法は、前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する送信ステップを有してよい。
【0011】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0012】
【
図2】本実施形態に係る通信システム10における処理について説明するための概念図である。
【
図3】本実施形態に係る通信システム10における処理について説明するための概念図である。
【
図4】SDNコントローラ100の構成の一例を概略的に示す。
【
図5】SDNスイッチ200の構成の一例を概略的に示す。
【
図6】SDNスイッチ200による処理の流れの一例を概略的に示す。
【
図7】SDNコントローラ100の機能構成の一例を概略的に示す。
【
図8】SDNスイッチ200の機能構成の一例を概略的に示す。
【
図9】SDNコントローラ100又はSDNスイッチ200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0013】
複数のSDNスイッチによる無線メッシュネットワークをSDNコントローラによって集中制御(経路制御等)する無線メッシュSDNが知られている。SDNを実現するプロトコルとして、OpenFlowが知られている。OpenFlowにおいて、各SDNスイッチは、ノード・リンク情報をSDNコントローラへ送信する。SDNコントローラは、複数のSDNスイッチから受信した情報を用いて、ネットワークトポロジを把握し、経路制御に利用する(SDNコントローラからSDNスイッチに経路を配布したりする)。SDNスイッチは、SDNコントローラへの接続経路を常に(起動時やトポロジ変更時も)知っておく必要がある。SDNコントローラ障害時にもSDNスイッチ間疎通を実現する必要がある。そのような課題に対して、アドホックルーティング(例えば、AODV(Ad hoc On-Demand Distance Vector)等)の併用が考えられる。アドホックルーティングによって、自律分散処理により各SDNスイッチにてバックアップ経路を保持することができる。このような併用時の課題として、制御パケットによるオーバヘッドの増加が想定される。本実施形態に係る通信システム10は、このような課題の解決に貢献可能な技術を提供する。通信システム10は、コントローラと、コントローラの制御対象である複数の通信装置とを備える。コントローラは、集中経路制御のための通信プロトコルに準拠していてよい。
【0014】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0015】
図1は、通信システム10の一例を概略的に示す。
図1に示す例において、通信システム10は、SDNコントローラ100と、複数のSDNスイッチ200とを備える。SDNコントローラ100は、コントローラの一例であり、SDNスイッチ200は、通信装置の一例である。
【0016】
SDNスイッチ200は、他のSDNスイッチ200と無線リンクを確立可能であれば、どのような装置であってもよい。SDNスイッチ200は、例えば、HAPS(High Altitude Platform Station)に搭載される通信装置であってよく、例えば、ハードウェア型のスイッチやソフトウェア型のスイッチであってよい。SDNスイッチ200は、例えば、ドローン等の無人航空機に搭載される通信装置であってよく、例えば、ハードウェア型のスイッチやソフトウェア型のスイッチであってよい。SDNスイッチ200は、スマートフォン等の携帯電話、タブレット端末、及びPC(Personal Compuer)等であってもよい。
【0017】
ここでは、通信システム10が、OpenFlowに準拠し、アドホックルーティングを併用する場合について説明する。通信システム10が用いるアドホックルーティングは、リアクティブ型のアドホックルーティングであってよい。ここでは、通信システム10がAODVを用いる場合を主に例に挙げて説明するが、通信システム10は、DSR(Dynamic Source Routing)等の他のリアクティブ型のアドホックルーティングを用いてもよい。
【0018】
通常、このような併用によって、SDNスイッチ200は、SDNコントローラ100が経路探索アルゴリズム(ex.ダイクストラ法)に従って計算し、OpenFlowに従って配信した経路表と、アドホックルーティングにより定義された経路表とを用いることができる。SDNコントローラ100が経路探索アルゴリズム(ex.ダイクストラ法)に従って計算し、OpenFlowに従って配信した経路表は、トポロジ変更やコントローラ障害時には無効となる可能性があるが、アドホックルーティングにより定義された経路表をバックアップ経路として利用することができる。しかし、何も工夫することなくOpenFlowとアドホックルーティングとを併用すると、制御パケットによるオーバヘッドの増加が問題となり得る。
【0019】
図2は、本実施形態に係る通信システム10における処理について説明するための概念図である。既知のOpenFlowでは、例えば、複数のSDNスイッチ200のそれぞれが、SDNコントローラ100からのLLDP(Link Layer Discovery Protocol)パケット送信命令によって、リンクを確立している他のSDNスイッチ200である隣接ノードに、LLDPパケットを定期的に送信し、LLDPパケットを受信したSDNスイッチ200はその情報をSDNコントローラ100に報告する。また、既知のAODVでは、複数のSDNスイッチ200のそれぞれが、隣接ノードにHelloパケットを定期的に送信し、複数のSDNスイッチ200のそれぞれは、受信したHelloパケットによって自身の隣接ノードを把握する。OpenFlowとAODVを単に併用すると、LLDPパケットの転送と、Helloパケットの送信との両方が実施されることになり、2種の制御パケット利用によってオーバヘッドが大きくなる。
【0020】
本実施形態に係る通信システム10は、例えば、LLDPパケットのような、OpenFlowにおけるトポロジ情報収集のための制御パケットを利用せずに、SDNスイッチ200のHello-ACK機能を有効にし、SDNスイッチ200がHello-ACKパケットを受信した場合に、SDNコントローラ100に通知情報を送信するように構成する。通知情報は、Helloパケットの送信元のSDNスイッチ200の情報と、Hello-ACKパケットの送信元のSDNスイッチ200の情報とを含む情報であってよい。Hello-ACKパケットを受信したSDNスイッチ200は、例えば、受信したHello-ACKパケットをPacket-INメッセージによってSDNコントローラ100に送信する。このような構成とすることによって、SDNコントローラ100がトポロジを把握可能にでき、SDNコントローラ100が、複数のSDNスイッチ200に対するトポロジ情報収集のための制御パケットの送信を行わなくてよくすることができる。これにより、オーバヘッドを削減することができる。
【0021】
図3は、本実施形態に係る通信システム10における処理について説明するための概念図である。ここでは、通信システム10が、
図2で説明した構成に対して、更なるオーバヘッド削減を実現する構成を有する場合について説明する。
【0022】
図2に示す構成を採用することによって、例えば、SDNスイッチ200のb(スイッチbと記載する場合がある。)からSDNスイッチ200のa(スイッチaと記載する場合がある。)へのHelloパケットに対して、スイッチaからスイッチbにHelloACKパケットが送信され、スイッチbが通知情報をSDNコントローラ100に送信することによって、SDNコントローラ100は、スイッチaとスイッチbとの間のリンクを認識する。ここで、何も工夫しないと、スイッチaからスイッチbへHelloパケットが送信されたときに、スイッチbからスイッチaにHelloACKパケットが送信され、スイッチaが通知情報をSDNコントローラ100に送信することになるが、SDNコントローラ100は、スイッチaとスイッチbとの間のリンクを認識済みであるため、通知情報をSDNコントローラ100へ送信する処理が無駄になり得る。すなわちこの場合、スイッチaからSDNコントローラ100への通知情報の送信は必要ないことになる。
【0023】
そこで、例えば、複数のSDNスイッチ200のそれぞれが、Helloパケットを受信したとき又はHelloACKパケットを受信したときに、送信元のSDNスイッチ200を、隣接ノード情報に登録するようにしてよい。そして、例えば、複数のSDNスイッチ200のそれぞれが、HelloACKパケットを受信したときに、送信元のSDNスイッチ200が隣接ノード情報に登録されている場合には、SDNコントローラ100への通知情報の送信を行わないようする。これにより、全体的な、通知情報の送信数を適切に低減することができ、更なるオーバヘッド削減を実現することができる。また、例えば、複数のSDNスイッチ200のそれぞれが、Helloパケットを受信したときに、送信元のSDNスイッチ200が隣接ノード情報に登録されている場合には、HelloACKパケットの送信を行わないようにする。これにより、全体的な、HelloACKパケット及び通知情報の送信数を適切に削減することができ、更なるオーバヘッド削減を実現することができる。
【0024】
図4は、SDNコントローラ100の構成の一例を概略的に示す。SDNコントローラ100は、通信部102、OpenFlow処理部104、トポロジ特定部106、トポロジ格納部108、及び転送ルール格納部110を備える。
【0025】
通信部102は、複数のSDNスイッチ200のそれぞれと通信する。通信部102は、複数のSDNスイッチ200によって構成されているメッシュネットワークを介して、複数のSDNスイッチ200のそれぞれと通信してよい。
【0026】
OpenFlow処理部104は、OpenFlowに関する処理を実行する。OpenFlow処理部104は、SDNスイッチ200によって送信された通知情報を通信部102が受信した場合に、通知情報をトポロジ特定部106に送信する。
【0027】
トポロジ特定部106は、複数のSDNスイッチ200によって送信された通知情報を用いて、複数のSDNスイッチ200によって構成されているネットワークのトポロジを特定する。トポロジ格納部108は、トポロジ特定部106によって特定されたトポロジを格納する。OpenFlow処理部104は、トポロジ特定部106によって特定されたトポロジに基づいて経路制御を実行してよい。OpenFlow処理部104は、トポロジ特定部106によって特定されたトポロジに基づいて転送ルールを生成してよい。転送ルール格納部110は、OpenFlow処理部104によって生成された転送ルールを格納する。OpenFlow処理部104は、転送ルールを複数のSDNスイッチ200のそれぞれに送信してよい。
【0028】
図5は、SDNスイッチ200の構成の一例を概略的に示す。SDNスイッチ200は、通信部202、アドホックルーティング処理部206、隣接ノード情報格納部208、OpenFlow処理部210、及び転送ルール格納部212を備える。
【0029】
通信部202は、SDNコントローラ100と通信する。通信部202は、他のSDNスイッチ200と通信する。
【0030】
アドホックルーティング処理部206は、アドホックルーティングに関する処理を実行する。アドホックルーティング処理部206は、隣接ノードに対して、アドホックルーティングにおける制御パケットを送信してよい。アドホックルーティング処理部206は、例えば、予め定められた条件に従って、隣接ノードにHelloパケットを送信する。アドホックルーティング処理部206は、例えば、予め定められた周期に従って、定期的にHelloパケットを隣接ノードに送信する。
【0031】
アドホックルーティング処理部206は、隣接ノード情報格納部208が格納している隣接ノード情報を管理する。隣接ノード情報は、隣接ノードとして登録したSDNスイッチ200を識別可能な識別情報を含む。識別情報は、SDNスイッチ200を識別可能であればどのような情報であってもよい。例えば、識別情報は、MACアドレスや、MACアドレスに基づいて生成されたスイッチID等である。
【0032】
アドホックルーティング処理部206は、例えば、他のSDNスイッチ200からHelloパケットを受信したときに、登録情報格納部208に格納されている隣接ノード情報に、送信元のSDNスイッチ200を登録する。アドホックルーティング処理部206は、他のSDNスイッチ200からHelloパケットを受信した場合であって、隣接ノード情報格納部208に格納されている隣接ノード情報に、Helloパケットの送信元のSDNスイッチ200が登録されていない場合に、当該SDNスイッチ200を隣接ノード情報に登録してよい。また、アドホックルーティング処理部206は、例えば、隣接ノード情報に登録されているSDNスイッチ200のそれぞれについて、Helloパケットを定期的に受信しているか否かを確認する。アドホックルーティング処理部206は、例えば、隣接ノード情報に登録されているSDNスイッチ200から、予め定められた期間の間、Helloパケットを受信しなかった場合に、当該SDNスイッチ200の登録を解除する。
【0033】
アドホックルーティング処理部206は、例えば、他のSDNスイッチ200からHelloACKパケットを受信したときに、隣接ノード情報格納部208に格納されている隣接ノード情報に、送信元のSDNスイッチ200を登録する。アドホックルーティング処理部206は、他のSDNスイッチ200からHelloACKパケットを受信した場合であって、隣接ノード情報格納部208に格納されている隣接ノード情報に、HelloACKパケットの送信元のSDNスイッチ200が登録されていない場合に、当該SDNスイッチ200を隣接ノード情報に登録してよい。
【0034】
OpenFlow処理部210は、OpenFlowに関連する処理を実行する。OpenFlow処理部210は、SDNコントローラ100から転送ルールを受信した場合に、転送ルール格納部212に格納したり、転送ルール格納部212にすでに転送ルールが格納されている場合には、転送ルールを更新したりする。OpenFlow処理部210は、転送ルール格納部212に格納されている転送ルールに従って、データの送信先やデータの中継先を判断し、データ転送を行う。
【0035】
図6は、通信システム10における処理の流れの一例を概略的に示す。ここでは、SDNスイッチ200が、Helloパケットを受信したとき又はHelloACKパケットを受信したときに、送信元のSDNスイッチ200を隣接ノード情報に登録し、Helloパケットを受信した場合に、送信元が登録済みでない場合に限りHelloACKを送信するように構成されている場合を例に挙げて説明する。スイッチaとスイッチbとが、互いを登録していない状態を開始状態として説明する。
【0036】
ステップ(ステップをSと省略して記載する場合がある。)102では、スイッチaが、Helloパケットを送信し、スイッチbが受信する。スイッチbは、受信したHelloパケットの送信元であるスイッチaが登録済みであるか否かを判定する。登録済みではないので、スイッチbは、HelloACKパケットをスイッチaに対して送信し(S104)、スイッチaを隣接ノード情報に登録する(S106)。
【0037】
HelloACKパケットを受信したスイッチaは、HelloACKパケットの送信元であるスイッチbが登録済みであるか否かを判定する。登録済みではないので、スイッチaは、通知情報をSDNコントローラ100に送信し(S110)、スイッチbを隣接ノード情報に登録する(S110)。スイッチaは、例えば、S104において受信したHelloACKパケットをPacket-INメッセージによってSDNコントローラ100に送信する。SDNコントローラ100は、受信した通知情報を用いて、トポロジ情報を計算する(S112)。
【0038】
S114では、スイッチbがHelloパケットを送信し、スイッチaが受信する。スイッチaは、受信したHelloパケットの送信元であるスイッチbが登録済みであるか否かを判定する。登録済みであるため、スイッチaは、HelloACKパケットを送信しない。
【0039】
S116では、スイッチaがHelloパケットを送信し、スイッチbが受信する。スイッチbは、受信したHelloパケットの送信元であるスイッチaが登録済みであるか否かを判定する。登録済みであるため、スイッチbは、HelloACKパケットを送信しない。
【0040】
このように、通信システム10によれば、スイッチaとスイッチbとの隣接関係をSDNコントローラ100が把握しているにもかかわらず、スイッチaとスイッチbとの隣接関係を通知する通知情報が送信されてしまうことを防ぐことができる。さらにいえば、HelloACKパケットの送信数も適切に低減することができる。
【0041】
図7は、SDNコントローラ100の機能構成の一例を概略的に示す。SDNコントローラ100は、通信部112、通知情報取得部114、トポロジ特定部116、トポロジ格納部118、転送ルール生成部120、及び転送ルール格納部122を備える。
【0042】
通信部112は、複数のSDNスイッチ200のそれぞれと通信する。通信部112は、複数のSDNスイッチ200によって構成されているメッシュネットワークを介して、複数のSDNスイッチ200のそれぞれと通信してよい。通信部112は、通信部102によって実現されてよい。
【0043】
通知情報取得部114は、通信部112がSDNスイッチ200から受信した通知情報を取得する。通知情報取得部114は、取得した通知情報をトポロジ特定部106に送信する。通知情報取得部114は、OpenFlow処理部104によって実現されてよい。
【0044】
トポロジ特定部116は、複数のSDNスイッチ200のそれぞれから受信した通知情報に基づいて、複数のSDNスイッチ200によって構成されているネットワークのトポロジを特定する。トポロジ特定部116は、トポロジ特定部106によって実現されてよい。
【0045】
トポロジ格納部118は、トポロジ特定部116によって特定されたトポロジを格納する。トポロジ格納部118は、トポロジ格納部108によって実現されてよい。
【0046】
転送ルール生成部120は、トポロジ格納部118に格納されているトポロジに基づいて、転送ルールを生成する。転送ルール生成部120は、OpenFlow処理部104によって実現されてよい。転送ルール格納部122は、転送ルール生成部120によって生成された転送ルールを格納する。通信部112は、転送ルール生成部120によって生成された転送ルールを、複数のSDNスイッチ200のそれぞれに送信してよい。
【0047】
図8は、SDNスイッチ200の機能構成の一例を概略的に示す。SDNスイッチ200は、格納部220、通信部230、処理機能部240、及び応答パケット制御部250を備える。なお、SDNスイッチ200がこれらの全てを備えることは必須とは限らない。
【0048】
格納部220は、各種情報を格納する。格納部220は、例えば、隣接ノード情報を格納する。格納部220は、例えば、転送ルールを格納する。
【0049】
通信部230は、リンク確立部232、パケット送信部234、パケット受信部236、及び転送ルール受信部238を有する。リンク確立部232は、他のSDNスイッチ200とリンクを確立する。
【0050】
パケット送信部234は、リンク確立部232が無線リンクを確立した他のSDNスイッチ200に対して、予め定められた条件に従って、アドホックルーティングにおける制御パケットを送信する。当該制御パケットは、隣接関係を確認するためのものであれば、どのようなものであってもよい。制御パケットは、例えば、Helloパケットである。パケット送信部234は、例えば、予め定められた周期で定期的に制御パケットを他のSDNスイッチ200に対して送信する。制御パケット送信部234は、制御パケットをブロードキャストしてよい。パケット送信部234は、制御パケット送信部の一例であってよい。
【0051】
パケット受信部236は、他のSDNスイッチ200から制御パケットを受信する。パケット受信部236は、制御パケット受信部の一例であってよい。
【0052】
パケット送信部234は、パケット受信部236が受信した制御パケットに対する応答パケットを、制御パケットの送信元のSDNスイッチ200に対して送信してよい。パケット送信部234は、応答パケット送信部の一例であってよい。パケット送信部234は、例えば、応答パケット機能が有効にされている場合に、パケット送信部234が制御パケットを受信したことに応じて、応答パケットを、制御パケットの送信元のSDNスイッチ200に対して送信する。応答パケットは、例えば、HelloACKパケットである。応答パケット機能は、例えば、HelloACK機能である。
【0053】
パケット受信部236は、パケット送信部234が他のSDNスイッチ200に対して送信した制御パケットに対する応答パケットを、当該他のSDNスイッチ200から受信してよい。パケット受信部236は、応答パケット受信部の一例であってよい。
【0054】
パケット送信部234は、アドホックルーティング処理部206によって実現されてよい。パケット受信部236は、アドホックルーティング処理部206によって実現されてよい。
【0055】
転送ルール受信部238は、SDNコントローラ100から転送ルールを受信する。転送ルール受信部238は、受信した転送ルールを格納部220に格納する。転送ルール受信部238は、OpenFlow処理部210によって実現されてよい。通信部230は、格納部220に格納した転送ルールに従って、データの送信先や、データの中継先を判断し、データ転送を行う。
【0056】
処理機能部240は、管理処理実行部242及び通知情報送信部244を有する。管理処理実行部242は、格納部220に格納されている隣接ノード情報の管理処理を実行する。管理処理実行部242は、アドホックルーティング処理部206によって実現されてよい。
【0057】
管理処理実行部242は、例えば、パケット受信部236が、隣接ノードから制御パケットを受信したことに応じて、制御パケットを送信した隣接ノードを隣接ノード情報に登録する。管理処理実行部242は、パケット受信部236が制御パケットを受信した場合であって、制御パケットの送信元のSDNスイッチ200が隣接ノード情報に登録されていない場合に、当該SDNスイッチ200を隣接ノード情報に登録してよい。また、管理処理実行部242は、例えば、隣接ノード情報に登録されているSDNスイッチ200について、制御パケットを定期的に受信しているか否かを確認する。管理処理実行部242は、例えば、隣接ノード情報に登録されているSDNスイッチ200から、予め定められた期間の間、制御パケットを受信しなかった場合に、当該SDNスイッチ200の登録を解除する。
【0058】
管理処理実行部242は、例えば、パケット受信部236が、隣接ノードから応答パケットを受信したことに応じて、応答パケットを送信した隣接ノードを隣接ノード情報に登録する。管理処理実行部242は、パケット受信部236が応答パケットを受信した場合であって、応答パケットの送信元のSDNスイッチ200が隣接ノード情報に登録されていない場合に、当該SDNスイッチ200を隣接ノード情報に登録してよい。また、管理処理実行部242は、例えば、隣接ノード情報に登録されているSDNスイッチ200について、応答パケットを定期的に受信しているか否かを確認する。管理処理実行部242は、例えば、隣接ノード情報に登録されているSDNスイッチ200から、予め定められた期間の間、制御パケットを送信しているにもかかわらず、応答パケットを受信しなかった場合に、当該SDNスイッチ200の登録を解除する。
【0059】
通知情報送信部244は、通知情報をSDNコントローラ100に送信する。通知情報送信部244は、例えば、パケット受信部236が隣接ノードから応答パケットを受信した場合に、当該隣接ノードに関する情報を含む通知情報をSDNコントローラ100に送信する。このような構成とすることによって、SDNコントローラ100が、LLDPパケットのようなOpenFlowにおけるトポロジ情報収集のためのパケットを送信しなくても、SDNコントローラ100がトポロジ情報を収集することを可能にでき、オーバヘッドを削減することができる。
【0060】
通知情報送信部244は、例えば、管理処理実行部242によって、SDNスイッチ200の登録が解除された場合に、当該SDNスイッチ200が隣接ノードでなくなったことを通知する通知情報をSDNコントローラ100に送信する。通知情報送信部244は、アドホックルーティング処理部206又はOpenFlow処理部210によって実現されてよい。
【0061】
応答パケット制御部250は、パケット受信部236が隣接ノードから制御パケットを受信した場合において、制御パケットを送信した隣接ノードが、格納部220に格納されている隣接ノード情報に登録されている場合に、パケット送信部234による応答パケットが当該隣接ノードに送信されないように制御する。応答パケット制御部250は、例えば、パケット送信部234が応答パケットを送信しないように、パケット送信部234を制御する。応答パケット制御部250は、例えば、パケット送信部234が送信出力した応答パケットが、SDNスイッチ200の外部に送信されることを防ぐ。これにより、制御パケットを送信した隣接ノードが隣接ノード情報に登録されていない場合には、応答パケットが当該隣接ノードに到達し、当該隣接ノードが通知情報をSDNコントローラ100に送信することにより、SDNコントローラ100は隣接関係を把握する。そして、制御パケットを送信した隣接ノードが隣接ノード情報に登録されている場合には、応答パケットを当該隣接ノードに送信しないにすることによって、当該隣接ノードからSDNコントローラ100への通知情報の送信も発生しないことになり、SDNコントローラ100が既に隣接関係を把握しているにもかかわらず、不必要に通知情報が送信されてしまうことを防ぐことができる。
【0062】
SDNスイッチ200が応答パケット制御部250を備える代わりに、パケット送信部234の機能を調整してもよい。例えば、パケット送信部234は、パケット受信部236が制御パケットを受信した場合において、制御パケットを送信した隣接ノードが、格納部220に格納されている隣接ノード情報に登録されていない場合に、応答パケットを当該隣接ノードに送信し、登録されている場合、応答パケットを当該隣接ノードに送信しないようにする。これにより、制御パケットを送信した隣接ノードが隣接ノード情報に登録されていない場合には、当該隣接ノードが、当該応答パケットを受信したことに応じて、通知情報をSDNコントローラ100に送信することになり、SDNコントローラ100が隣接関係を把握する。そして、制御パケットを送信した隣接ノードが隣接ノード情報に登録されている場合には、応答パケットを当該隣接ノードに送信しないことによって、当該隣接ノードからSDNコントローラ100への通知情報の送信も発生しないことになり、SDNコントローラ100が既に隣接関係を把握しているにもかかわらず、不必要に通知情報が送信されてしまうことを防ぐことができる。パケット送信部234がこのように構成されている場合、SDNスイッチ200は、応答パケット制御部250を備えなくてよい。
【0063】
応答パケットの送信を制御することに代えて、通知情報送信部244の機能を調整してもよい。例えば、通知情報送信部244は、パケット受信部236が隣接ノードから応答パケットを受信した場合において、当該隣接ノードが、格納部220に格納されている隣接ノード情報に登録されていない場合に、通知情報をSDNコントローラ100に送信し、登録されている場合、通知情報をSDNコントローラ100に送信しないようにする。これにより、応答パケットを送信した隣接ノードが隣接ノード情報に登録されていない場合には、通知情報をSDNコントローラ100に送信することになり、SDNコントローラ100が隣接関係を把握する。そして、応答パケットを送信した隣接ノードが隣接ノード情報に登録されている場合には、通知情報をSDNコントローラ100に送信しないことになるので、SDNコントローラ100が既に隣接関係を把握しているにもかかわらず、不必要に通知情報を送信してしまうことを防ぐことができる。
【0064】
図9は、SDNコントローラ100又はSDNスイッチ200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0065】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0066】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0067】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0068】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0069】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0070】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0071】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0072】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0073】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0074】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0075】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0076】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0077】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0078】
上記実施形態では、SDNスイッチ200同士が無線リンクを確立して無線通信する場合を例に挙げて説明したが、これに限らない。通信システム10は、有線ネットワークを構築する複数の通信装置と、複数の通信装置を制御するコントローラとを備えてもよい。
【0079】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0080】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0081】
10 通信システム、100 SDNコントローラ、102 通信部、104 OpenFlow処理部、106 トポロジ特定部、108 トポロジ格納部、110 転送ルール格納部、112 通信部、114 通知情報取得部、116 トポロジ特定部、118 トポロジ格納部、120 転送ルール生成部、122 転送ルール格納部、200 SDNスイッチ、202 通信部、206 アドホックルーティング処理部、208 隣接ノード情報格納部、210 OpenFlow処理部、212 転送ルール格納部、220 格納部、230 通信部、232 リンク確立部、234 パケット送信部、236 パケット受信部、238 転送ルール受信部、240 処理機能部、242 管理処理実行部、244 通知情報送信部、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ
【手続補正書】
【提出日】2022-12-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コントローラと、
複数の通信装置と
を備え、
前記複数の通信装置のそれぞれは、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報を前記コントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記制御パケット受信部が前記制御パケットを受信したことに応じて、前記制御パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しない応答パケット送信部と
を有する、通信システム。
【請求項2】
コントローラと、
複数の通信装置と
を備え、
前記複数の通信装置のそれぞれは、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報を前記コントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記応答パケット受信部が前記応答パケットを受信したことに応じて、前記応答パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しない応答パケット送信部と
を有する、通信システム。
【請求項3】
コントローラと、
複数の通信装置と
を備え、
前記複数の通信装置のそれぞれは、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報を前記コントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを送信する応答パケット送信部と、
前記制御パケット受信部が前記制御パケットを受信したことに応じて、前記制御パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されている場合に、前記応答パケット送信部による前記応答パケットが前記隣接ノードに送信されないように制御する応答パケット制御部と
を有する、通信システム。
【請求項4】
コントローラと、
複数の通信装置と
を備え、
前記複数の通信装置のそれぞれは、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報を前記コントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを送信する応答パケット送信部と、
前記応答パケット受信部が前記応答パケットを受信したことに応じて、前記応答パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されている場合に、前記応答パケット送信部による前記応答パケットが前記隣接ノードに送信されないように制御する応答パケット制御部と
を有する、通信システム。
【請求項5】
前記アドホックルーティングは、リアクティブ型のアドホックルーティングである、請求項1から4のいずれか一項に記載の通信システム。
【請求項6】
前記制御パケットは、Helloパケットである、請求項1から5のいずれか一項に記載の通信システム。
【請求項7】
前記アドホックルーティングは、AODVであり、
前記制御パケットは、Helloパケットであり、
前記応答パケットは、HelloAckパケットである、請求項1から5のいずれか一項に記載の通信システム。
【請求項8】
前記コントローラは、集中経路制御のための通信プロトコルに準拠している、請求項1から7のいずれか一項に記載の通信システム。
【請求項9】
前記コントローラは、OpenFlowに準拠しており、前記複数の通信装置に対するトポロジ情報収集のための制御パケットの送信を行わない、請求項1から8のいずれか一項に記載の通信システム。
【請求項10】
前記コントローラは、
前記複数の通信装置のそれぞれから受信した前記通知情報に基づいて、前記複数の通信装置によって構成されているネットワークのトポロジを特定するトポロジ特定部
を有する、請求項1から9のいずれか一項に記載の通信システム。
【請求項11】
通信装置であって、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記制御パケット受信部が前記制御パケットを受信したことに応じて、前記制御パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しない応答パケット送信部と
を備える、通信装置。
【請求項12】
通信装置であって、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記応答パケット受信部が前記応答パケットを受信したことに応じて、前記応答パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しない応答パケット送信部と
を備える、通信装置。
【請求項13】
通信装置であって、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを送信する応答パケット送信部と、
前記制御パケット受信部が前記制御パケットを受信したことに応じて、前記制御パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されている場合に、前記応答パケット送信部による前記応答パケットが前記隣接ノードに送信されないように制御する応答パケット制御部と
を備える、通信装置。
【請求項14】
通信装置であって、
リンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信部と、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信部と、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する通知情報送信部と、
隣接ノードから前記制御パケットを受信する制御パケット受信部と、
前記制御パケット受信部が受信した前記制御パケットに対する応答パケットを送信する応答パケット送信部と、
前記応答パケット受信部が前記応答パケットを受信したことに応じて、前記応答パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行部と、
前記制御パケット受信部が前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されている場合に、前記応答パケット送信部による前記応答パケットが前記隣接ノードに送信されないように制御する応答パケット制御部と
を備える、通信装置。
【請求項15】
コンピュータを、請求項11から14のいずれか一項に記載の通信装置として機能させるためのプログラム。
【請求項16】
通信装置によって実行される処理方法であって、
前記通信装置がリンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信ステップと、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信ステップと、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する送信ステップと
を備え、
隣接ノードから前記制御パケットを受信する制御パケット受信ステップと、
前記制御パケットを受信したことに応じて、前記制御パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行ステップと、
前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、受信した前記制御パケットに対する応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しない応答パケット送信ステップと
を更に備える、処理方法。
【請求項17】
通信装置によって実行される処理方法であって、
前記通信装置がリンクを確立している他の通信装置である隣接ノードに対してアドホックルーティングにおける制御パケットを送信する制御パケット送信ステップと、
前記隣接ノードから前記制御パケットに対する応答パケットを受信する応答パケット受信ステップと、
前記隣接ノードから前記応答パケットを受信した場合に、前記隣接ノードに関する情報を含む通知情報をコントローラに送信する送信ステップと
を備え、
前記応答パケット受信ステップにおいて前記応答パケットを受信したことに応じて、前記応答パケットを送信した前記隣接ノードを隣接ノード情報に登録する管理処理実行ステップと、
隣接ノードから前記制御パケットを受信する制御パケット受信ステップと、
前記制御パケットを受信した場合において、前記制御パケットを送信した前記隣接ノードが前記隣接ノード情報に登録されていない場合に、受信した前記制御パケットに対する応答パケットを当該隣接ノードに送信し、登録されている場合、前記応答パケットを当該隣接ノードに送信しない応答パケット送信ステップと
を更に備える、処理方法。