(57)【要約】【課題】  パケット転送のレイテンシを低減することにより、通信ネットワークのスループットを向上する。【解決手段】  本発明の一態様に係る通信装置は、通信ネットワークＮＷ内の経路制御を自律的に行う通信ノードＮに用いる通信装置１０である。通信装置１０は、有効期間が設定された宛先ノードごとの経路エントリを記憶する記憶部１２と、有効期間中の経路エントリに該当する他局宛のパケットを隣接ノードに中継する中継処理を行う制御部１１と、を備える。制御部１１が行う中継処理には、先に行われるパケットの転送処理と、転送処理の後に行われる、パケットに対応する経路エントリの有効期間を設定値に更新する更新処理と、が含まれる。【選択図】      図３
2016201654.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワーク内の経路制御を自律的に行う通信ノードに用いる通信装置であって、
有効期間が設定された宛先ノードごとの経路エントリを記憶する記憶部と、
前記有効期間中の前記経路エントリに該当する他局宛のパケットを隣接ノードに中継する中継処理を行う制御部と、を備えており、
前記制御部が行う前記中継処理には、
先に行われる前記パケットの転送処理と、
前記転送処理の後に行われる、前記パケットに対応する前記経路エントリの前記有効期間を設定値に更新する更新処理と、が含まれる通信装置。
【請求項２】
前記更新処理は、
転送済みの複数の前記パケットのアドレス情報を蓄積する処理と、
蓄積された複数の前記パケットのアドレス情報に基づいて、複数の前記パケットに対応する前記経路エントリの前記有効期間をそれぞれ設定値に更新する処理と、を含む請求項１に記載の通信装置。
【請求項３】
前記更新処理は、
前記パケットの転送完了を検出する処理と、
前記パケットの転送完了を検出するごとに、当該パケットに対応する前記経路エントリの前記有効期間を設定値に更新する処理と、含む請求項１に記載の通信装置。
【請求項４】
通信ネットワーク内の経路制御を自律的に行う通信ノードに用いる通信装置が行うパケットの中継方法であって、
有効期間が設定された宛先ノードごとの経路エントリを記憶する第１ステップと、
前記有効期間中の前記経路エントリに該当する他局宛のパケットを隣接ノードに中継する中継処理を行う第２ステップと、を含み、
前記第２ステップの前記中継処理には、
先に行われる前記パケットの転送処理と、
前記転送処理の後に行われる、前記パケットに対応する前記経路エントリの前記有効期間を設定値に更新する更新処理と、が含まれるパケットの中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びパケットの中継方法に関する。
具体的には、本発明は、通信ネットワーク内の経路制御を自律的に行う通信ノードに用いる通信装置において、パケット転送のレイテンシを低減する技術に関する。
【背景技術】
【０００２】
各通信ノードが自律的に経路探索を行う通信ネットワークとして、ディスタンスベクタ型のルーティングプロトコルの通信ネットワークがある。ディスタンスベクタ型のルーティングプロトコルはディスタンス（距離）とベクタ（方向）により適したルートを決定するアルゴリズムである。
例えば、ＡＯＤＶ（Adhoc ON-Demand Distance Vector）は、ディスタンスベクタ型のルーティングプロトコルの代表例である。
【０００３】
ＡＯＤＶでは、各通信ノードが宛先ノードごとの経路エントリを保持しており、経路要求（ＲＲＥＱ）と経路応答（ＲＲＥＰ）の受信を契機として、各通信ノードが自身の経路エントリに記す情報を決定することにより、所定の通信ノード間の経路が確立される。
また、各通信ノードが保持する宛先ノードごとの経路エントリには、当該経路エントリが使用されるごとに所定の設定値（推奨は３秒）に更新される、有効期間（Lifetime）が含まれている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】RFC3561  2. Overview
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＡＯＤＶを実装する従来の通信装置では、他局宛のパケットを受信すると、パケットの送信に先だって経路エントリの有効期間の更新が先に行われ、この更新が完了してからパケットの送信が行われる。
その理由は、経路エントリの有効期間内にパケットが中継されなければ当該経路エントリが無効になり、新たな経路探索が必要となるので、経路エントリの有効期間の確保を優先させたからと考えられる。
【０００６】
しかし、パケットの受信と送信の間に有効期間の更新を含む中継処理では、有効期間の更新を含む分だけパケット転送のレイテンシが増加する。
その結果、データ通信のスループットが低下することになり、ネットワーク全体の通信速度を悪化させるという問題がある。この問題は、通信ネットワークに含まれる通信ノードの数が多くなるほど顕著になる。
【０００７】
本発明は、かかる従来の問題点に鑑み、パケット転送のレイテンシを低減することにより、通信ネットワークのスループットを向上することができる通信装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）  本発明の一態様に係る通信装置は、通信ネットワーク内の経路制御を自律的に行う通信ノードに用いる通信装置であって、有効期間が設定された宛先ノードごとの経路エントリを記憶する記憶部と、前記有効期間中の前記経路エントリに該当する他局宛のパケットを隣接ノードに中継する中継処理を行う制御部と、を備えており、前記制御部が行う前記中継処理には、先に行われる前記パケットの転送処理と、前記転送処理の後に行われる、前記パケットに対応する前記経路エントリの前記有効期間を設定値に更新する更新処理と、が含まれる。
【０００９】
（４）  本発明の一態様に係る中継方法は、通信ネットワーク内の経路制御を自律的に行う通信ノードに用いる通信装置が行うパケットの中継方法であって、有効期間が設定された宛先ノードごとの経路エントリを記憶する第１ステップと、前記有効期間中の前記経路エントリに該当する他局宛のパケットを隣接ノードに中継する中継処理を行う第２ステップと、を含み、前記第２ステップの前記中継処理には、先に行われる前記パケットの転送処理と、前記転送処理の後に行われる、前記パケットに対応する前記経路エントリの前記有効期間を設定値に更新する更新処理と、が含まれる。
【発明の効果】
【００１０】
本発明によれば、パケット転送のレイテンシを低減することにより、通信ネットワークのスループットを向上することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る通信システムの接続形態を示す図である。
【図２】通信装置の内部構成を示すブロック図である。
【図３】通信装置の制御部の内部構成を示すブロック図である。
【図４】従来のパケット中継処理を示す説明図である。
【図５】第１実施形態のパケット中継処理を示す説明図である。
【図６】第２実施形態のパケット中継処理を示す説明図である。
【発明を実施するための形態】
【００１２】
＜本発明の実施形態の概要＞
以下、本発明の実施形態の概要を列記して説明する。
（１）  本実施形態の通信装置は、通信ネットワーク内の経路制御を自律的に行う通信ノードに用いる通信装置であって、有効期間が設定された宛先ノードごとの経路エントリを記憶する記憶部と、前記有効期間中の前記経路エントリに該当する他局宛のパケットを隣接ノードに中継する中継処理を行う制御部と、を備えており、前記制御部が行う前記中継処理には、先に行われる前記パケットの転送処理と、前記転送処理の後に行われる、前記パケットに対応する前記経路エントリの前記有効期間を設定値に更新する更新処理と、が含まれる。
【００１３】
本実施形態の通信装置によれば、制御部が、他局宛のパケットの中継処理において、パケットの転送処理を先に行い、パケットに対応する経路エントリの有効期間を設定値に更新する更新処理を後に行うので、従来の中継処理に比べて、有効期間の更新に必要な時間だけパケット転送のレイテンシを削減することができる。
このため、上記の通信装置を通信ノードに採用することにより、各通信ノードのパケット転送のレイテンシが低減し、通信ネットワークのスループットが向上する。
【００１４】
（２）  本実施形態の通信装置において、前記更新処理は、例えば、転送済みの複数の前記パケットのアドレス情報を蓄積する処理と、蓄積された複数の前記パケットのアドレス情報に基づいて、複数の前記パケットに対応する前記経路エントリの前記有効期間をそれぞれ設定値に更新する処理と、を含むことが好ましい。
この場合、パケットの転送完了の検出ごとに有効期間を更新する場合に比べて、パケットの転送処理の実行周期を短縮でき、通信ネットワークのスループットをより向上できるという利点がある。
【００１５】
（３）  本実施形態の通信装置において、前記更新処理は、前記パケットの転送完了を検出する処理と、前記パケットの転送完了を検出するごとに、当該パケットに対応する前記経路エントリの前記有効期間を設定値に更新する処理と、含むものであってもよい。
この場合、複数のパケットのアドレス情報を蓄積するバッファを設ける必要がなくなるので、当該バッファを設ける場合に比べてより簡便に実装できるという利点がある。
【００１６】
（４）  本実施形態のパケットの中継方法は、経路制御方法は、通信ネットワーク内の経路制御を自律的に行う通信ノードに用いる通信装置が行うパケットの中継方法であって、有効期間が設定された宛先ノードごとの経路エントリを記憶する第１ステップと、前記有効期間中の前記経路エントリに該当する他局宛のパケットを隣接ノードに中継する中継処理を行う第２ステップと、を含み、前記第２ステップの前記中継処理には、先に行われる前記パケットの転送処理と、前記転送処理の後に行われる、前記パケットに対応する前記経路エントリの前記有効期間を設定値に更新する更新処理と、が含まれる。
【００１７】
本実施形態の中継方法によれば、第２ステップの中継処理において、パケットの転送処理を先に行い、パケットに対応する経路エントリの有効期間を設定値に更新する更新処理を後に行うので、従来の中継処理に比べて、有効期間の更新に必要な時間分だけパケット転送のレイテンシを削減することができる。
このため、上記の中継方法を行う通信装置を通信ノードに採用することにより、各通信ノードのパケット転送のレイテンシが低減し、通信ネットワークのスループットが向上する。
【００１８】
＜本発明の実施形態の詳細＞
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
なお、レイヤ２の通信で用いるＰＤＵ（Protocol Data Unit）を「フレーム」と呼び、レイヤ３の通信で用いるＰＤＵを「パケット」と呼ぶことが多いが、以下の説明では、「パケット」及び「フレーム」をいずれもＰＤＵの意味で用いる。
【００１９】
〔通信システムの接続形態〕
図１は、本発明の実施形態に係る通信システムの接続形態を示す図である。
図１に示すように、本実施形態の通信システムは、複数の通信ノードＮ０〜Ｎ６を含む通信ネットワークＮＷと、１つの通信ノードＮ０と上位網３を介して通信する管理装置４とを備えている。
【００２０】
なお、以下の説明において、各通信ノードＮ０〜Ｎ６の共通事項を説明する場合には、それらの通信ノードＮ０〜Ｎ６の代表符号として「Ｎ」を用いる。
図１の通信ネットワークＮＷでは、各通信ノードＮが１又は複数の隣接ノードと伝送路５により通信可能に接続されている。伝送路５を構成する通信媒体は、１芯又は２芯の光ファイバ又はメタル回線などの伝送線路であってもよいし、無線ＬＡＮなどを利用した無線通信路であってもよい。
【００２１】
図１の通信ネットワークＮＷでは、通信ノードＮ０は親局１であり、通信ノードＮ１〜Ｎ６は子局２である。子局２の通信ノードＮ１〜Ｎ６は、リング状のトポロジー（Ｎ１→Ｎ２→Ｎ３→Ｎ６→Ｎ５→Ｎ４→Ｎ１）となっている。
また、リング内の１つの通信ノードＮ６は、伝送路５により親局１の通信ノードＮ０と接続されている。従って、例えば、通信ノードＮ１から通信ノードＮ０に至る経路は、Ｎ１→Ｎ２→Ｎ３→Ｎ６→Ｎ０と、Ｎ１→Ｎ４→Ｎ５→Ｎ６→Ｎ０との２つの経路に冗長化することができる。
【００２２】
親局１の通信ノードＮ０は、インターネットなどの上位網３に通信可能に接続されている。子局２の通信ノードＮ１〜Ｎ６には、端末装置６がそれぞれ通信可能に接続されている。
図１では、図示の簡略化のために、１つの子局２（通信ノードＮ３）のみが端末装置６と接続されているが、実際には、すべての子局２（通信ノードＮ１〜Ｎ６）が端末装置６と通信可能に接続されている。
【００２３】
管理装置４は、サーバコンピュータ又はパーソナルコンピュータなどのＩＰ通信が可能なコンピュータ装置よりなる。管理装置４は、上位網３及び親局１を経由したＩＰ通信と通信ネットワークＮＷ内の通信により、所定の端末装置６と通信可能である。
端末装置６は、パーソナルコンピュータなどのＩＰ通信が可能なコンピュータ装置よりなる。端末装置６は、通信ネットワークＮＷ内での通信と親局１及び上位網３を経由したＩＰ通信により、管理装置４と通信可能である。
【００２４】
〔通信システムの利用形態〕
図１の通信ネットワークＮＷの利用形態には、例えば利用形態１〜３が含まれる。
利用形態１：電力会社が管理する高圧開閉器などの複数の配電機器に対する遠隔制御と、その配電機器に関するリモートセンシング
利用形態２：工場内に設置された複数の製造機械に対する遠隔制御と、その製造機械に関するリモートセンシング
利用形態３：社内のコンピュータ装置及びこの装置に接続された共用機器の遠隔監視
【００２５】
利用形態１では、端末装置６は、配電機器（図示せず）の動作を管理装置４が遠隔制御するための制御指令の中継装置として機能する。
例えば、通信ノードＮ１の端末装置６に接続された配電機器を制御する場合、管理装置４は、当該配電機器のための制御指令を含む下りフレームを、通信ノードＮ１の端末装置６宛てに送信する。この端末装置６は、受信した下りフレームに含まれる制御指令に従って配電機器の動作を制御する。
【００２６】
また、利用形態１では、端末装置６は、配電機器に関するセンシング情報を管理装置４に伝送するための中継装置として機能する。
例えば、通信ノードＮ１の端末装置６に接続された配電機器のセンシング情報を収集する場合、端末装置６は、配電機器の各種センサ（例えば電圧計など）が測定したセンシング情報を含む上りフレームを、管理装置４宛てに送信する。管理装置４は、受信した上りフレームに含まれるセンシング情報を集計する。
【００２７】
同様に、利用形態２では、端末装置６は、製造機械（図示せず）の動作を管理装置４が遠隔制御するための制御指令の中継装置として機能する。
例えば、通信ノードＮ１の端末装置６に接続された製造機械を制御する場合、管理装置４は、当該製造機械のための制御指令を含む下りフレームを、通信ノードＮ１の端末装置６宛てに送信する。この端末装置６は、受信した下りフレームに含まれる制御指令に従って製造機械の動作を制御する。
【００２８】
また、利用形態２では、端末装置６は、製造機械に関するセンシング情報を管理装置４に伝送するための中継装置として機能する。
例えば、通信ノードＮ１の端末装置６に接続された製造機械のセンシング情報を収集する場合、端末装置６は、製造機械の各種センサ（例えば速度計など）が測定したセンシング情報を含む上りフレームを、管理装置４宛てに送信する。管理装置４は、受信した上りフレームに含まれるセンシング情報を集計する。
【００２９】
利用形態３では、端末装置６は、社内の従業員が使用するデスクトップパソコン又はノートパソコンなどのパーソナルコンピュータよりなる。
また、共用機器は、パーソナルコンピュータに通信可能に接続され、当該コンピュータとともに使用されるプリンタ、コピー機又はファクシミリなどのＯＡ機器よりなる。
【００３０】
例えば、通信ノードＮ１の端末装置６に着目すると、端末装置６は、所定の社内規則に反する端末操作（例えば、不正なホームページへのインターネットアクセスなど）があった場合に、その操作内容の情報を含む上りフレームを管理装置４宛てに送信する。
また、通信ノードＮ１の端末装置６の共用機器に着目すると、端末装置６は、所定の社内規則に反する共用機器の操作（例えば、所定枚数以上の印刷）があった場合に、その操作内容の情報を含む上りフレームを管理装置４宛てに送信する。
【００３１】
上記の通り、本実施形態の通信ネットワークＮＷは、管理装置４を運用する管理者が、各通信ノードＮに対応する対象機器（配電設備や製造機械など）を遠隔監視するための通信ネットワークとして利用することができる。
この場合、通信ノードＮは対象機器に近接して設置され、対象機器が多くなるにつれてトポロジーが複雑になる。このため、通信ネットワークＮＷのトポロジーは、図１に示す単純なリング状に限らず、複数のリングを含む形態や、ツリー状又はメッシュ状などの複雑なトポロジーとなる場合もある。
【００３２】
なお、通信ノードＮが中継する通信フレームのうち、管理装置４宛ての上りフレームに含めるデータを「監視データ」という。監視データには、上記の配電設備や製造機械に関する「センシング情報」や、パーソナルコンピュータや共用機器に対する「操作内容を示す情報」などが含まれる。
また、図１の通信システムにおいて、１つの通信ノードＮに複数の端末装置６に対応させる接続形態であってもよいし、１つの端末装置６に複数の配電設備又は製造機械を対応させる接続形態であってもよい。
【００３３】
〔通信装置の構成〕
図２は、通信装置１０の内部構成を示すブロック図である。図２の通信装置１０は、図１の通信ネットワークＮＷの通信ノードＮの全部又は一部に採用することができる。
図２に示すように、本実施形態の通信装置１０は、制御部１１、記憶部１２、通信部１３、電源供給部１４、及びクロック部１５を備える。また、記憶部１２は、不揮発性メモリ１６と揮発性メモリ１７を含む。
【００３４】
制御部１１は、ＣＰＵ（Central Processing Unit）よりなる。制御部１１は、内部バス１８を介して通信部１３及び各メモリ１６，１７と接続されている。制御部１１は、通信ノードＮの各部を統括的に制御する。
不揮発性メモリ１６は、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、ＵＳＢ（Universal Serial Bus）メモリ、ＳＤメモリカードなどよりなる。揮発性メモリ１７は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）などよりなる。
【００３５】
不揮発性メモリ１６には、ブートローダプログラム、ＯＳ（Operating System）プログラム、及びアプリケーションプログラムなどがインストールされている。アプリケーションプログラムには、通信制御用のプログラムが含まれる。
揮発性メモリ１７は、制御部１１が不揮発性メモリ１６から読み出した通信制御用のプログラムの格納と、このプログラムのワーキングメモリとして使用される。
【００３６】
通信部１３は、通信ネットワークＮＷにおける経路制御プロトコルに従う通信機能と、端末装置６との通信プロトコルに従う通信機能とを有する通信インタフェースである。
制御部１１は、揮発性メモリ１７に記憶させた通信制御用のプログラムに従って通信部１３に対する通信制御を実行する。通信部１３は、制御部１１の指示に従って隣接ノードとの間でＩＰパケット（以下、単に「パケット」という。）を送受信する。
【００３７】
例えば、制御部１１は、通信ネットワークＮＷに属する隣接ノードとのパケットの送受信については、当該通信ネットワークＮＷに採用された所定の経路制御プロトコル（ＡＯＤＶやＤＹＭＯなど）に則って実行する。具体的には、通信経路の確立と、確立した経路を用いたパケットの転送処理である。
また、制御部１１は、端末装置６との通信フレームの送受信については、当該端末装置６との間で採用された所定の通信プロトコルに則って実行する。
【００３８】
電源供給部１４は、ＡＣ／ＤＣコンバータを内部に含む。電源供給部１４は、商用電源（例えば、１００Ｖの交流）よりなる外部電源を所定電圧の直流に変換し、変換後の直流電圧を、通信ノードＮ内の各部に供給する。
クロック部１５は、ローカル時刻を独自に計時するクロック回路よりなり、電源供給部１４からの電源供給を受けることなく、コイン形リチウム電池などの予備電源（図示せず）によって動作し、ローカル時刻を制御部１１に常に出力している。
【００３９】
〔通信ノードの経路制御プロトコル〕
通信ネットワークＮＷを構成する通信ノードＮは、隣接ノードから受信したパケットを所定の経路制御プロトコルに従って中継することにより、通信ネットワークＮＷ内においてパケットを「バケツリレー方式」にて転送する。
具体的には、本実施形態の通信ネットワークＮＷでは、経路要求が発生してから各通信ノードＮが経路探索を行うディスタンスベクタ型のルーティングプロトコルが採用されている。
【００４０】
上記のルーティングプロトコルには、例えば、ＡＯＤＶ（Adhoc ON-Demand Distance Vector）、ＤＹＭＯ（Dynamic MANET On-Demand）などがある。本実施形態ではＡＯＤＶを想定する。
ＡＯＤＶでは、すべての通信ノードＮ（図１では通信ノードＮ０〜Ｎ６）が「ルーティングテーブル（経路表）」を保持し、パケットに経路情報を含めることなく、自ノードのルーティングテーブルを利用して動的に経路制御を行う。
【００４１】
すなわち、ＡＯＤＶは、自律型の経路制御プロトコルであり、通信ノードＮの消失や出現が比較的頻繁に生じる動的なネットワークが想定されている。従って、ネットワークの経路は永続的でなく、各種の障害で特定のリンクがリンク断となったり、新たな通信ノードＮが出現して新規のリンクが現れたりする。
かかるネットワークの変化に追従し、各通信ノードが経路を自律的に確立するため、ルーティングテーブルには次の内容の「経路エントリ」が終点（宛先）ごとに定義される。
【００４２】
（経路エントリの内容）
「終点アドレス」：Destination IP Address
「終点シーケンス番号」：Destination Sequence Number
「終点シーケンス番号の有効フラグ」：Valid Destination Sequence Number flag
「その他のフラグ」：Other state and routing flags 
(e.g., valid, invalid, repairable, being repaired)
【００４３】
「ネットワークインタフェース」：Network Interface
「ホップ数」：Hop Count (number of hops needed to reach destination)
「次ホップ」：Next Hop
「プリカーソルリスト」：List of Precursors
「有効期間」：Lifetime (expiration or deletion time of the route)
【００４４】
「終点シーケンス番号」は、経路の新しさを示すための指標である。終点シーケンス番号は、大きいほど新しい経路であることを示す。古いシーケンス番号の経路を使用しないことで、制御メッセージのループを防止している。
また、リンク断などの経路の変化が生じた場合は、該当する終点シーケンス番号をインクリメントし、ＲＥＲＲによりネットワーク全般に拡散させる。これにより、ネットワークの経路に新たな変化が生じたことを通知し、当該経路を無効化するよう促す。
【００４５】
「有効期間」は、経路エントリが有効である期間を表す。有効期間の推奨値は、例えばＡＯＤＶでは３秒とされている。有効期間は、経路エントリが使用される度に更新され、最後のデータ通信から有効期間を超えて利用されない経路エントリは無効となる。
従って、有効期間を超えたために経路エントリがいったん無効になると、新たなＲＲＥＱによって当該経路エントリが再度有効にならない限り、当該経路エントリをパケットの中継に利用できない。
【００４６】
ＡＯＤＶでは、経路制御メッセージとして次の５種類が定義されている。通信ノードＮは、これらのメッセージを交換して経路を最適な状態に維持する。
ＲＲＥＱ（Route Request）メッセージ
ＲＲＥＰ（Route Reply）メッセージ
ＲＥＲＲ（Route Error）メッセージ
ＲＲＥＰ−ＡＣＫ（Route Reply Acknowledgment）メッセージ
ＨＥＬＬＯメッセージ
【００４７】
ＲＲＥＱは、送信元ノードが経路探索を要求する場合にフラッディングする制御メッセージである。ＲＲＥＰは、宛先ノードがＲＲＥＱに応答して送信元ノードにユニキャストで送信する制御メッセージである。ＲＥＲＲは、リンク切れを探知した中間ノードが送信元ノードに向かって通知する制御メッセージである。
ＲＲＥＰ−ＡＣＫは、片方向のリンク検出のために用いられる制御メッセージである。ＨＥＬＬＯは、隣接ノードの生存状況をチェックするための制御メッセージである。
【００４８】
例えば、図１の通信ネットワークＮＷにおいて、通信ノードＮ３が、通信ノードＮ５との経路探索のために経路要求を行う場合を想定する。
この場合、送信元の通信ノードＮ３は、通信ノードＮ５を宛先アドレスとするＲＲＥＱをフラッディングする。ＲＲＥＱを受信した通信ノードＮ２，Ｎ１，Ｎ４，Ｎ６もそれぞれ同じＲＲＥＱをフラッディングする。これにより、ＲＲＥＱが右回り及び左回りの各ルートで通信ノードＮ５に到着する。
【００４９】
各通信ノードＮは、ＲＲＥＱを転送する際に、送信元アドレス（通信ノードＮ３のＩＰアドレス）に対する逆方向の経路（以下、「逆経路」という。）をそれぞれ生成する。
宛先に設定された通信ノードＮ５は、先着のＲＲＥＱ（図１の例では、Ｎ３→Ｎ６→Ｎ５の順で中継されたＲＲＥＱ）に対して、通信ノードＮ３宛のＲＲＥＰをユニキャストで返信する。ＲＲＥＰは、ＲＲＥＱの転送時に生成される逆経路により、送信元である通信ノードＮ３に届けられる。
【００５０】
各通信ノードＮは、ＲＲＥＰを転送する際に、宛先アドレスに対する順方向の経路（以下、「順経路」という。）を生成する。これにより、通信ノードＮ３と通信ノードＮ５の間の双方向の経路が確立される。
このようにして、通信ノードＮ３と通信ノードＮ５の間の通信経路が確立されると、通信ノードＮ３は、通信ノードＮ５に対するデータパケットの送信を開始する。
【００５１】
〔通信装置の制御部の構成〕
図３は、ＡＯＤＶに準拠する通信ネットワークＮＷの通信ノードＮとして採用し得る、通信装置１０の制御部１１の内部構成を示すブロック図である。
本実施形態の通信ネットワークＮＷに関して、前述の利用形態１〜３を想定すると、センシング情報や操作内容を示す情報の収集対象である端末装置６が多く存在するほど、通信ネットワークＮＷに必要な通信ノードＮの台数が多くなる。
【００５２】
従って、通信ノードＮに採用する通信装置１０は、ハードウェア及びソフトウェアの両面において、省電力で動作できかつ安価に製作できることが好ましい。
そこで、本実施形態の通信装置１０では、シングルコアのＣＰＵよりなる制御部１１が採用され、その制御部１１が複数の処理をプリエンプティブに実行する、例えばリアルタイムＯＳが採用されている。制御部１１は、リアルタイムＯＳに組み込まれたＡＯＤＶの通信制御を実行可能なアプリケーションプログラムを実行する。
【００５３】
図３に示すように、制御部１１は、ＡＯＤＶの通信制御のアプリケーションプログラムを実行することにより実現される機能部として、ヘッダ判定部２１、プロトコル判定部２２、エントリ判定部２３、及びＡＯＤＶ処理部２４を備える。
ＡＯＤＶ処理部２４は、その内部の機能部として、メッセージ処理部２５、パケット中継部２６、及び経路探索部２７に細分化されている。なお、図３中の符号２８は、揮発性メモリ１７に含まれる「探索待ちキュー」である。
【００５４】
通信部１３が受信したパケット又は探索待ちキュー２８のパケットは、ヘッダ判定部２１に順番に入力される。ヘッダ判定部２１は、入力されたパケットのＩＰヘッダから、当該パケットが自局宛又は他局宛のいずれであるかを判定する。
ヘッダ判定部２１は、判定結果が自局宛のパケットをプロトコル判定部２２に送り、判定結果が他局宛てのパケットをエントリ判定部２３に送る。
【００５５】
プロトコル判定部２２は、入力されたパケットのＩＰヘッダから、当該パケットがＡＯＤＶの制御メッセージであるかその他のパケットであるかを判定する。
プロトコル判定部２２は、判定結果がＡＯＤＶの制御メッセージであるパケットをＡＯＤＶ処理部２４のメッセージ処理部２５に送る。プロトコル判定部２２は、判定結果がその他であるパケット（例えば、自局宛のデータパケット）を管理装置４又は端末装置６との通信制御などの処理を行う汎用処理部２９に送る。
【００５６】
エントリ判定部２３は、入力されたパケットのＩＰヘッダの宛先情報から、当該宛先の経路エントリが有効であるか、或いは、無効又はエントリなしであるかを判定する。
エントリ判定部２３は、判定結果が有効であるパケットをＡＯＤＶ処理部２４のパケット中継部２６に送る。エントリ判定部２３は、判定結果が無効又はエントリなしであるパケットをＡＯＤＶ処理部２４の経路探索部２７に送る。
【００５７】
メッセージ処理部２５は、入力されたパケット（自局宛のＡＯＤＶの制御メッセージ）に対して、当該パケットの制御メッセージの種別に応じた所定の処理を実行する。
例えば、入力された制御メッセージがＲＲＥＱの場合、メッセージ処理部２５は、送信元に対する逆経路の生成を行う。また、メッセージ処理部２５は、シーケンス番号、ホップカウント数などの経路情報について、ＲＲＥＱの情報と自身が保持する情報とを比較し、ＲＲＥＱの情報の方が新しい場合は自身の経路情報を更新する。
【００５８】
入力された制御メッセージがＲＲＥＰの場合、メッセージ処理部２５は、宛先に対する順経路の生成を行う。また、メッセージ処理部２５は、シーケンス番号、ホップカウント数などの経路情報について、ＲＲＥＰの情報と自身が保持する情報とを比較し、ＲＲＥＰの情報の方が新しい場合は自身の経路情報を更新する。
【００５９】
パケット中継部２６は、入力されたパケット（他局宛でかつ有効な経路エントリが存在するデータパケットやＡＯＤＶの制御メッセージ）に対して、該当する経路エントリの情報に基づいてパケットの中継処理を行う。
具体的には、パケット中継部２６が行う中継処理には、「パケットの転送処理」と「有効期間の更新処理」が含まれる。
【００６０】
パケット中継部２６が実行するパケットの転送処理は、入力された他局宛のパケットを、現時点で有効である経路エントリに含まれる次ホップの通信ノードＮに送信するように、通信部１３を制御する処理である。
パケット中継部２６が実行する有効期間の更新処理は、入力された他局宛のパケットの宛先に関連する４つの経路（具体的には、「順経路」、「逆経路」、「順経路の次ホップ」及び「逆経路の次ホップ」）の有効期間を、所定の設定値に更新する処理である。
【００６１】
経路探索部２７は、入力されたパケット（他局宛でかつ経路エントリが無効又は経路エントリが存在しないデータパケットやＡＯＤＶの制御メッセージ）に対して、経路探索処理を行う。
経路探索部２７が実行する経路探索処理には、入力された他局宛のパケットに含まれる宛先を含むＲＲＥＱを発行する処理と、発行したＲＲＥＱを探索待ちキューに一時的に格納する処理と、発行したＲＲＥＱを通信部１３に送信させる処理とが含まれる。
【００６２】
〔従来のパケット中継処理〕
図４は、従来のパケット中継処理を示す説明図である。
図４に示すように、パケット中継部２６が実行する従来のパケット中継処理には、パケット転送タスク３１と期間更新タスク３２が含まれる。
パケット転送タスク３１は、上述の「パケットの転送処理」に対応するタスクであり、期間更新タスク３２は、上述の有効期間の更新処理に対応するタスクである。
【００６３】
従来のパケット中継処理では、パケット中継部２６は、パケット転送タスク３１と期間更新タスク３２をプリエンプティブに実行する。
図４の従来例では、パケット転送タスク３１は、受信した他局宛のパケットのＩＰヘッダから経路エントリを探索して中継先を決定すると、中継先へのパケット送信の前に、経路エントリの有効期間の「更新要求」を期間更新タスク３２に送信する。更新要求には、受信パケットのＩＰヘッダから抽出した送信元アドレスと宛先アドレスとが含まれる。
【００６４】
更新要求を受信した期間更新タスク３２は、現時点で有効である経路エントリの有効期間を設定値に更新する。有効期間を更新する経路エントリは、パケットの宛先に対する経路（順経路）、パケットの送信元に対する経路（逆経路）、順経路及び逆経路に関するそれぞれの次ホップの経路の合計４つのエントリである。
これらの経路の有効期間の更新は、更新要求にて通知されたＩＰパケットの宛先アドレスと送信元アドレスに基づいて実行される。
【００６５】
具体的には、期間更新タスク３２は、ＩＰパケットの宛先に相当する順経路の経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
期間更新タスク３２は、順経路の経路エントリに含まれる次ホップに相当する経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
【００６６】
また、期間更新タスク３２は、ＩＰパケットの送信元に相当する逆経路の経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
期間更新タスク３２は、逆経路の経路エントリに含まれる次ホップに相当する経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
期間更新タスク３２による有効期間の更新が完了すると、パケット転送タスク３１は、決定した中継先に対するパケットの送信を開始する。
【００６７】
このように、従来の中継処理では、有効な経路エントリの有効期間を更新してから、他局宛のパケットの送信が行われる。
なお、図４の従来の中継処理は、期間更新タスク３２の優先度をパケット転送タスク３１の優先度より高く設定することにより実装される。
【００６８】
〔従来の中継処理の課題と解決策〕
図４の従来のパケット中継処理では、他局宛のパケットを受信すると、パケットの送信に先だって経路エントリの有効期間が更新され、この更新が完了してからパケットの送信が行われる。
その理由は、ＡＯＤＶの通信規格では、経路エントリの有効期間内にデータパケットが中継されなければ当該経路エントリが無効になり、新たな経路探索が必要となるので、経路エントリの有効期間を確保することを優先したからであると考えられる。
【００６９】
しかし、パケットの受信→有効期間の更新→パケットの送信の順で中継処理が行われる従来のパケット中継処理では、有効期間の更新を含む分だけパケットの転送処理のレイテンシが増加する。
その結果、例えばセッション形式のデータ通信のスループットが低下することになり、ネットワーク全体の通信速度を悪化させるという問題がある。この問題は、前述の利用形態１〜３のような、多数の通信ノードＮを含む通信ネットワークＮＷにおいて著しい。
【００７０】
通信ネットワークＮＷのスループットの確保を主眼とすると、経路エントリが有効である以上は各通信ノードＮが素早くパケットを転送した上で、経路エントリの有効期間を後から確認すれば足りると考えられる。
また、経路エントリの有効期間の更新を必ずしもパケット転送と同じタイミングで行う必要はなく、有効期間の更新処理の開始が少々遅延しても、特に大きな問題はないと考えられる。
【００７１】
そこで、本実施形態では、経路エントリの有効期間の更新処理を、パケットの転送を完了した後に行う構成を採用する。
すなわち、本実施形態の通信装置１０では、制御部１１が、他局宛のパケットについて該当する経路エントリが見つかると、パケットの転送処理を先行して実行し、転送処理を完了した後に、使用した経路エントリの有効期間の更新処理を実行する。これにより、パケットの中継処理において、有効期間の更新の時間分だけ処理遅延が省略され、パケット転送のレイテンシが改善される。
【００７２】
〔第１実施形態のパケット中継処理〕
図５は、第１実施形態のパケット中継処理を示す説明図である。
図５に示すように、パケット中継部２６が実行する第１実施形態のパケット中継処理には、パケット転送タスク４１と期間更新タスク４２が含まれる。
パケット転送タスク４１は、上述の「パケットの転送処理」に対応するタスクであり、期間更新タスク４２は、上述の有効期間の更新処理に対応するタスクである。
【００７３】
第１実施形態のパケット中継処理においても、パケット中継部２６は、パケット転送タスク４１と期間更新タスク４２をプリエンプティブに実行する。
図５の第１実施形態では、パケット転送タスク４１は、受信した他局宛のパケットのＩＰヘッダから経路エントリを探索して中継先を決定すると、中継先へのパケット送信を実行し、この送信を完了したあと即座に、経路エントリの有効期間の「更新要求」を期間更新タスク４２に送信する。更新要求には、受信パケットのＩＰヘッダから抽出した送信元アドレスと宛先アドレスとが含まれる。
【００７４】
更新要求を受信した期間更新タスク４２は、現時点で有効である経路エントリの有効期間を設定値に更新する。有効期間を更新する経路エントリは、パケットの宛先に対する経路（順経路）、パケットの送信元に対する経路（逆経路）、順経路及び逆経路に関するそれぞれの次ホップの経路の合計４つのエントリである。
これらの経路の有効期間の更新は、更新要求にて通知されたＩＰパケットの宛先アドレスと送信元アドレスに基づいて実行される。
【００７５】
具体的には、期間更新タスク４２は、ＩＰパケットの宛先に相当する順経路の経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
期間更新タスク４２は、順経路の経路エントリに含まれる次ホップに相当する経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
【００７６】
また、期間更新タスク４２は、ＩＰパケットの送信元に相当する逆経路の経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
期間更新タスク４２は、逆経路の経路エントリに含まれる次ホップに相当する経路エントリを探索し、当該経路エントリの有効期間を設定値に更新する。
期間更新タスク４２による有効期間の更新が完了すると、パケット転送タスク４１は、経路エントリが有効である次の他局宛のパケットの転送が可能となる。
【００７７】
このように、第１実施形態の中継処理では、他局宛のパケットの転送を完了するごとに当該経路エントリの有効期間の更新が行われる。
なお、図５の第１実施形態の中継処理は、パケット転送タスク４１の優先度を期間更新タスク３２の優先度をより高く設定することにより実装される。
【００７８】
図４と図５を対比すれば明らかな通り、第１実施形態のパケット中継処理によれば、期間更新タスク４２による有効期間の更新に必要な時間分だけ、パケット受信からパケット送信までのレイテンシを削減することができる。
このため、かかるパケット中継処理を行う通信装置１０を通信ネットワークＮＷの通信ノードＮに採用することにより、各通信ノードＮのパケット転送のレイテンシが低減し、通信ネットワークＮＷのスループットを向上することができる。
【００７９】
また、第１実施形態のパケット中継処理（図５）では、パケットの転送完了の検出（更新要求の発生）ごとに有効期間を更新するので、後述の第２実施形態（図６）のような、複数の更新要求を蓄積するバッファ５３を設ける必要がない。このため、後述の第２実施形態の場合（図６）に比べて簡便に実装することができる。
【００８０】
〔第２実施形態のパケット中継処理〕
図６は、第２実施形態のパケット中継処理を示す説明図である。
図６に示すように、パケット中継部２６が実行する第２実施形態のパケット中継処理には、パケット転送タスク５１と期間更新タスク５２が含まれる。
パケット転送タスク５１は、上述の「パケットの転送処理」に対応するタスクであり、期間更新タスク５２は、上述の有効期間の更新処理に対応するタスクである。
【００８１】
第２実施形態のパケット中継処理においても、パケット中継部２６は、パケット転送タスク５１と期間更新タスク５２をプリエンプティブに実行する。
図６の第２実施形態では、パケット転送タスク５１は、受信した他局宛のパケットのＩＰヘッダから経路エントリを探索して中継先を決定すると、中継先へのパケット送信を実行し、この送信を完了したあと即座に、経路エントリの有効期間の「更新要求」を期間更新タスク５２に送信する。更新要求には、受信パケットのＩＰヘッダから抽出した送信元アドレスと宛先アドレスとが含まれる。
【００８２】
第１実施形態のパケット中継処理（図５）では、期間更新タスク４２が更新要求の受信ごとに有効期間を更新するが、第２実施形態のパケット中継処理（図６）では、期間更新タスク５２は、更新要求を直ちに処理せずに蓄積し、複数の更新要求を纏めて処理する。
すなわち、期間更新タスク５２は、受信した更新要求を揮発性メモリ１７に設けた更新要求バッファ５３にいったん蓄積する。従って、ＣＰＵの実行権は期間更新タスク５２から返上され、パケット転送タスク５１が直ちに次のパケット転送に移行できる。
【００８３】
その後、期間更新タスク５２は、更新要求バッファ５３に所定数（図例では３つ）の更新要求が蓄積されると、古い更新要求１〜３から順に経路エントリの有効期間を設定値に更新する。
有効期間を更新する経路エントリは、パケットの宛先に対する経路（順経路）、パケットの送信元に対する経路（逆経路）、順経路及び逆経路に関する次ホップの経路の合計４つのエントリである。
【００８４】
これらの経路の有効期間の更新は、更新要求にて通知されたＩＰパケットの宛先アドレスと送信元アドレスに基づいて実行される。
なお、各更新要求１〜３に対する有効期間の更新処理の内容は、第１実施形態の場合と同様であるから、説明を省略する。
【００８５】
期間更新タスク５２は、更新要求１〜３に対する有効期間の更新処理を、パケット転送タスク５１によるパケット転送後の所定のタイミングで実行することができる。
例えば、期間更新タスク５２が、パケットが輻輳していないタイミングで有効期間の更新を実施すれば、実効的なスループットを改善できるため好適である。なお、処理順序は古いものから実施してもよいし、まとめて実施してもよい。
【００８６】
一方、パケットの輻輳状態が長く続くために、有効期間の更新処理が長く実行されない場合の対策として、次のような割り込み処理が考えられる。
すなわち、例えば、高優先に設定された割り込みタスクにより定期的に最も古い更新要求の時刻を確認し、現時点における経過時間が許容範囲を超過する場合は、一時的に高優先で当該更新要求を処理することにしてもよい。
【００８７】
第２実施形態のパケット中継処理では、期間更新タスク５２をパケット転送タスク５１よりも低優先に設定する必要はないが、低優先に設定してもよい。
期間更新タスク５２をパケット転送タスク５１よりも低優先に設定する場合、パケット転送タスク５１が更新要求を期間更新タスク５２に通知するタイミングは、一連のパケットの中継処理のどのタイミングで行ってもよい。期間更新タスク５２が低優先の場合は、必ずパケット転送の後に更新要求のバッファ５３への記憶処理が実行される。
【００８８】
第２実施形態のパケット中継処理において、期間更新タスク５２は、更新要求を受信した時刻を併せてバッファ５３に記録し、先送りした時間分を補正することにしてもよい。
すなわち、更新要求を受信した時刻をＴ１とし、実際に更新処理を行う時刻をＴ２とすると、有効期間の設定値（例えば３秒）から、ΔＴ＝Ｔ２−Ｔ１で算出される時間差ΔＴを差し引いた値を更新後の有効期間とすることにより、結果として受信時刻で処理した場合と等価となる。
【００８９】
図４と図６を対比すれば明らかな通り、第２実施形態のパケット中継処理においても、期間更新タスク４２による有効期間の更新に必要な時間分だけ、パケット受信からパケット送信までのレイテンシを削減することができる。
このため、かかるパケット中継処理を行う通信装置１０を通信ネットワークＮＷの通信ノードＮに採用することにより、各通信ノードＮのパケット転送のレイテンシが低減し、通信ネットワークＮＷのスループットを向上することができる。
【００９０】
また、第２実施形態のパケット中継処理（図６）では、複数の更新要求１〜３とパケットごとのアドレス情報がバッファ５３に蓄積され、蓄積されたアドレス情報に基づいて複数のパケット分の有効期間の更新処理が行われる。
従って、パケットの転送完了の検出ごとに有効期間を更新する第１実施形態の場合（図５）に比べて、パケット転送処理の実行周期を短縮することができる。このため、通信ネットワークＮＷのスループットをより向上することができる。
【００９１】
〔その他の変形例〕
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【００９２】
例えば、本実施形態では、ディスタンスベクタ型のルーティングプロトコルとしてＡＯＤＶとＤＹＭＯを例示したが、これに限定されない。プロトコルの一部に改良と修正を加えたり、リンクステート型のプロトコルと組み合わせたりするなどの変更も可能である。
【００９３】
また、各通信ノードＮがディスタンスベクタ型のルーティングプロトコルに則って経路制御を行う本実施形態の通信ネットワークＮＷにおいて、ルート選択基準であるメトリックの種類は、ホップ数やノード間距離などがあり、採用するプロトコルに応じて所定のパラメータが選択され得る。
【００９４】
更に、本実施形態の通信ネットワークＮＷにおいて、各通信ノードＮに適用する経路選択アルゴリズムは、必ずしもメトリックが最適（例えばホップ数が最小）なルートを選択するアルゴリズムだけでなく、好適なもの（他の制約を加味して、例えば２番目に適したもの）を選択するなどの、他のアルゴリズムであってもよい。
【符号の説明】
【００９５】
１  親局
２  子局
３  上位網
４  管理装置
５  伝送路
６  端末装置
１０  通信装置
１１  制御部
１２  記憶部
１３  通信部
１４  電源供給部
１５  クロック部
１６  不揮発性メモリ
１７  揮発性メモリ
１８  内部バス
２１  ヘッダ判定部
２２  プロトコル判定部
２３  エントリ判定部
２４  ＡＯＤＶ処理部
２５  メッセージ処理部
２６  パケット中継部
２７  経路探索部
２８  探索待ちキュー
２９  汎用処理部
３１  パケット転送タスク
３２  期間更新タスク
４１  パケット転送タスク
４２  期間更新タスク
５１  パケット転送タスク
５２  期間更新タスク
５３  更新要求バッファ
Ｎ０〜Ｎ６  通信ノード
ＮＷ  通信ネットワーク
【図１】
2016201654.tif 000003
【図２】
2016201654.tif 000004
【図３】
2016201654.tif 000005
【図４】
2016201654.tif 000006
【図５】
2016201654.tif 000007
【図６】
2016201654.tif 000008