特許第6542816号(P6542816)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 古河電気工業株式会社の特許一覧

<>
  • 特許6542816-ノード装置およびその制御方法 図000002
  • 特許6542816-ノード装置およびその制御方法 図000003
  • 特許6542816-ノード装置およびその制御方法 図000004
  • 特許6542816-ノード装置およびその制御方法 図000005
  • 特許6542816-ノード装置およびその制御方法 図000006
  • 特許6542816-ノード装置およびその制御方法 図000007
  • 特許6542816-ノード装置およびその制御方法 図000008
  • 特許6542816-ノード装置およびその制御方法 図000009
  • 特許6542816-ノード装置およびその制御方法 図000010
  • 特許6542816-ノード装置およびその制御方法 図000011
  • 特許6542816-ノード装置およびその制御方法 図000012
  • 特許6542816-ノード装置およびその制御方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6542816
(24)【登録日】2019年6月21日
(45)【発行日】2019年7月10日
(54)【発明の名称】ノード装置およびその制御方法
(51)【国際特許分類】
   H04L 12/721 20130101AFI20190628BHJP
【FI】
   H04L12/721 Z
【請求項の数】7
【全頁数】20
(21)【出願番号】特願2017-14458(P2017-14458)
(22)【出願日】2017年1月30日
(65)【公開番号】特開2018-125607(P2018-125607A)
(43)【公開日】2018年8月9日
【審査請求日】2018年4月11日
(73)【特許権者】
【識別番号】000005290
【氏名又は名称】古河電気工業株式会社
(74)【代理人】
【識別番号】100130247
【弁理士】
【氏名又は名称】江村 美彦
(74)【代理人】
【識別番号】100167863
【弁理士】
【氏名又は名称】大久保 恵
(72)【発明者】
【氏名】力宗 真寛
(72)【発明者】
【氏名】熊谷 篤
(72)【発明者】
【氏名】辻 勇斗
(72)【発明者】
【氏名】三浦 昌之
【審査官】 宮島 郁美
(56)【参考文献】
【文献】 特開2016−201654(JP,A)
【文献】 特開2016−220102(JP,A)
【文献】 国際公開第2014/102993(WO,A1)
【文献】 特開平11−041271(JP,A)
【文献】 米国特許出願公開第2008/0310340(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/26,12/50−12/955
H04B7/24−7/26,H04W4/00−99/00
(57)【特許請求の範囲】
【請求項1】
複数のノード装置がリンクによって通信可能に接続されたネットワークシステムを構成する前記ノード装置において、
他のノード装置への経路を示す情報である経路エントリおよび該経路エントリの有効期限を記憶する第1の記憶手段と、
使用中の前記経路エントリを一意に特定するための情報を有する経路インデックスを記憶する第2の記憶手段と、
他のノード装置から受信したパケットの送信先に対応する前記経路インデックスが前記第2の記憶手段に記憶されていない場合には、前記経路インデックスを前記第2の記憶手段に追加する追加手段と、
前記第2の記憶手段に記憶された前記経路インデックスのうち所定の個数の前記経路インデックスに対し、前記第1の記憶手段に記憶された前記有効期限を更新する更新手段と、
前記第2の記憶手段に記憶されている更新済みの前記経路インデックスを削除する削除手段と、を有し、
前記更新手段は、前記パケットの中継処理を実行する中継処理部および/またはノード装置の各部を制御する制御部の使用率を参照し、前記中継処理部および/または前記制御部の使用率が所定の閾値未満である場合には、前記中継処理部および/または前記制御部の使用率に応じた個数の前記経路インデックスに対応する前記経路エントリを更新する、
ことを特徴とするノード装置。
【請求項2】
前記更新手段は、前記中継処理部および/または前記制御部の使用率が所定の閾値未満である場合であって、前記中継処理部および/または前記制御部の使用率が低いときにはN1個、使用率が高いときにはN2(<N1)個の前記経路インデックスに対応する前記経路エントリを更新することを特徴とする請求項1に記載のノード装置。
【請求項3】
前記更新手段は、前記経路エントリが更新されない状態が所定時間以上継続した場合には、前記中継処理部および/または前記制御部の使用率が所定の閾値以上であるときでも、前記経路エントリの前記有効期限を更新することを特徴とする請求項1または2に記載のノード装置。
【請求項4】
前記中継処理部および/または前記制御部の使用率は、単位時間内における処理が実行されている時間の割合を示すことを特徴とする請求項1乃至3のいずれか1項に記載のノード装置。
【請求項5】
前記更新手段は、前記中継処理部が処理対象とする前記パケットを格納する処理キューに格納されている処理待ちの前記パケットの個数が所定の閾値未満である場合には前記第2の記憶手段に記憶されている前記経路インデックスのうち、前記処理キューに格納されている前記パケットの個数に対応する個数の前記経路エントリを更新する、ことを特徴とする請求項1乃至4のいずれか1項に記載のノード装置。
【請求項6】
前記第2の記憶手段は、前記経路エントリをFIFO(First In First Out)形式で記憶していることを特徴とする請求項1乃至5のいずれか1項に記載のノード装置。
【請求項7】
複数のノード装置がリンクによって通信可能に接続されたネットワークシステムを構成する前記ノード装置の制御方法において、
他のノード装置への経路を示す情報である経路エントリおよび該経路エントリの有効期限を第1の記憶部に記憶させる第1の記憶ステップと、
使用中の前記経路エントリを一意に特定するための情報を有する経路インデックスを第2の記憶部に記憶させる第2の記憶ステップと、
他のノード装置から受信したパケットの送信先に対応する前記経路インデックスが前記第2の記憶部に記憶されていない場合には、前記経路インデックスを前記第2の記憶部に追加する追加ステップと、
前記第2の記憶部に記憶された前記経路インデックスのうち所定の個数の前記経路インデックスに対し、前記第1の記憶部に記憶された前記有効期限を更新する更新ステップと、
前記第2の記憶部に記憶されている更新済みの前記経路インデックスを削除する削除ステップと、を有し、
前記更新ステップは、前記パケットの中継処理を実行する中継処理部および/またはノード装置の各部を制御する制御部の使用率を参照し、前記中継処理部および/または前記制御部の使用率が所定の閾値未満である場合には、前記中継処理部および/または前記制御部の使用率に応じた個数の前記経路インデックスに対応する前記経路エントリを更新する、
ことを特徴とするノード装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ノード装置およびその制御方法に関するものである。
【背景技術】
【0002】
ルーティング手法のひとつに、非特許文献1に示すAODV(Ad hoc On-Demand Distance Vector)と呼ばれる手法がある。このAODVは、無線ネットワークに最適であるアドホックなルーティング手法であり、AODVによるルーティングの骨子としては、送信先のノード装置までの経路を必要とするノード装置がブロードキャストによって経路探索パケットを送信し、経路探索パケットを受信したノード装置は経路探索パケットの情報を参照して送信元への経路を形成するとともに、経路探索パケットを周囲に転送する。送信先のノード装置または送信先のノード装置に対する十分新しい情報を持つノード装置に経路探索パケットが到着すると、該当ノード装置は経路探索パケットを破棄し、形成されている送信元のノード装置への経路を利用して経路回答パケットを送信し、送信元のノード装置へ経路を通知することでたがいに経路を確立する。複数の経路の候補がある場合、最も経路のコスト値(ホップ数もしくは中継経路毎に定められる任意の値)が少ない経路が選択される。
【0003】
このようなAODVにより経路探索を行うと、各ノード装置は経路探索パケットを受信する毎に、経路探索パケット中のコスト情報に対して転送元からのコストを加算し、受信した方向へ経路探索パケットを送信したノード装置に向けた経路を形成した後、再度経路探索パケットを転送する。経路探索パケットが経路宛先もしくは経路宛先について十分新しい情報を知っているノード装置へ到達すると経路探索パケット転送は打ち切られ、経路探索パケットを送信したノード装置に向けて経路回答情報が送信され、経路探索パケットを送信したノード装置は宛先への経路を作成することができる。ここで情報の新旧は各ノード装置が持つシーケンス番号(Sequence Number)と呼ばれる番号で管理され、自身に関する経路探査または回答処理が実行されるたびに増加され、他ノード装置が経路探査処理を実行した際、経路情報とともに記録される。以降他のノード装置は新たに到達するパケット中のシーケンス番号と、既に記録したシーケンス番号を比較することで情報の新旧を検知し、更新の可否を決定することができる。
【0004】
AODV技術はマルチホップ無線で利用されているルーティング技術であり、必要に応じて各ノード装置が経路探索信号をブロードキャストし、経路探索の目的となるノード装置もしくは目的となるノード装置への有効な経路を知っているノード装置が、探索を実行したノード装置に向けて経路回答パケットを発行し、経路探索パケットを発行したノード装置は経路回答パケットに含まれている情報によって目的となるノード装置との通信を実行することができる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】IETF RFC3561 "Ad hoc On-Demand Distance Vector (AODV) Routing" (Experimental, 2003)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、AODVでは、各ノード装置が宛先ノード毎の経路エントリを記憶しており、経路要求(RREQ:Route Request)と、経路応答(RREP:Route Reply)の受信時に、各ノード装置が経路エントリを記憶することで、ノード装置間の経路を確立する。また、各ノード装置が記憶する宛先ノード毎の経路エントリは、頻繁に使用される場合にはアクティブとされ、使用されなくなって所定時間(例えば、3秒)が経過すると無効状態になり、無効状態が所定時間(例えば、15秒)継続すると削除される。
【0007】
このため、各ノード装置は、他のノード装置からパケットを受信した場合、対応する経路エントリの有効期限の更新処理を実行し、経路エントリの状態を管理する必要がある。パケットの受信と送信の間に有効期限の更新処理を実行する場合、処理に要する時間のだけパケット転送のレイテンシが発生する。このような問題は、ネットワークシステムを構成するノード装置の数が多くなるほど顕著になる。
【0008】
そこで、本発明は、パケット転送のレイテンシを低減することで、ネットワークシステムのスループットを向上することが可能なノード装置およびその制御方法を提供することを目的としている。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、複数のノード装置がリンクによって通信可能に接続されたネットワークシステムを構成する前記ノード装置において、他のノード装置への経路を示す情報である経路エントリおよび該経路エントリの有効期限を記憶する第1の記憶手段と、使用中の前記経路エントリを一意に特定するための情報を有する経路インデックスを記憶する第2の記憶手段と、他のノード装置から受信したパケットの送信先に対応する前記経路インデックスが前記第2の記憶手段に記憶されていない場合には、前記経路インデックスを前記第2の記憶手段に追加する追加手段と、前記第2の記憶手段に記憶された前記経路インデックスのうち所定の個数の前記経路インデックスに対し、前記第1の記憶手段に記憶された前記有効期限を更新する更新手段と、前記第2の記憶手段に記憶されている更新済みの前記経路インデックスを削除する削除手段と、を有し、前記更新手段は、前記パケットの中継処理を実行する中継処理部および/またはノード装置の各部を制御する制御部の使用率を参照し、前記中継処理部および/または前記制御部の使用率が所定の閾値未満である場合には、前記中継処理部および/または前記制御部の使用率に応じた個数の前記経路インデックスに対応する前記経路エントリを更新する、ことを特徴とする。
【0010】
また、本発明は、前記更新手段は、前記中継処理部および/または前記制御部の使用率が所定の閾値未満である場合であって、前記中継処理部および/または前記制御部の使用率が低いときにはN1個、使用率が高いときにはN2(<N1)個の前記経路インデックスに対応する前記経路エントリを更新することを特徴とする。
【0011】
また、本発明は、前記更新手段は、前記経路エントリが更新されない状態が所定時間以上継続した場合には、前記中継処理部および/または前記制御部の使用率が所定の閾値以上であるときでも、前記経路エントリの前記有効期限を更新することを特徴とする。
【0012】
また、本発明は、前記中継処理部および/または前記制御部の使用率は、単位時間内における処理が実行されている時間の割合を示すことを特徴とする。
【0013】
また、本発明は、前記更新手段は、前記中継処理部が処理対象とする前記パケットを格納する処理キューに格納されている処理待ちの前記パケットの個数が所定の閾値未満である場合には前記第2の記憶手段に記憶されている前記経路インデックスのうち、前記処理キューに格納されている前記パケットの個数に対応する個数の前記経路エントリを更新する、ことを特徴とする。
【0015】
また、本発明は、前記第2の記憶手段は、前記経路エントリをFIFO(First In First Out)形式で記憶していることを特徴とする。
このような構成によれば、更新対象となる経路エントリを容易に特定することができる。
【0016】
また、本発明は、複数のノード装置がリンクによって通信可能に接続されたネットワークシステムを構成する前記ノード装置の制御方法において、他のノード装置への経路を示す情報である経路エントリおよび該経路エントリの有効期限を第1の記憶部に記憶させる第1の記憶ステップと、使用中の前記経路エントリを一意に特定するための情報を有する経路インデックスを第2の記憶部に記憶させる第2の記憶ステップと、他のノード装置から受信したパケットの送信先に対応する前記経路インデックスが前記第2の記憶部に記憶されていない場合には、前記経路インデックスを前記第2の記憶部に追加する追加ステップと、前記第2の記憶部に記憶された前記経路インデックスのうち所定の個数の前記経路インデックスに対し、前記第1の記憶部に記憶された前記有効期限を更新する更新ステップと、前記第2の記憶部に記憶されている更新済みの前記経路インデックスを削除する削除ステップと、を有し、前記更新ステップは、前記パケットの中継処理を実行する中継処理部および/またはノード装置の各部を制御する制御部の使用率を参照し、前記中継処理部および/または前記制御部の使用率が所定の閾値未満である場合には、前記中継処理部および/または前記制御部の使用率に応じた個数の前記経路インデックスに対応する前記経路エントリを更新する、ことを特徴とする。
【発明の効果】
【0017】
本発明によれば、パケット転送のレイテンシを低減することで、ネットワークシステムのスループットを向上することが可能なノード装置およびその制御方法を提供することができる。
【図面の簡単な説明】
【0018】
図1】本発明のネットワークシステムの構成例を示す図である。
図2図1に示すノード装置の詳細な構成例を示す図である。
図3】第1実施形態の動作を説明するための図である。
図4】第1実施形態の動作を説明するためのフローチャートである。
図5】第2実施形態の動作を説明するためのである。
図6】第2実施形態の動作を説明するためのフローチャートである。
図7】第3実施形態の動作を説明するための図である。
図8】第3実施形態を説明するためのフローチャートである。
図9】第4実施形態の動作を説明するための図である。
図10】第4実施形態を説明するためのフローチャートである。
図11】第5実施形態の動作を説明するための図である。
図12】第5実施形態を説明するためのフローチャートである。
【発明を実施するための形態】
【0019】
次に、本発明の実施形態について説明する。
【0020】
(A)第1実施形態の構成の説明
図1は、本発明の第1実施形態に係るネットワークシステムの構成の一例を示す図である。図1に示すように、第1実施形態に係るネットワークシステムは、ノード装置10−1〜10−11を有しており、ノード装置10−1〜10−11がリンクによって接続されている。なお、図1の例では、ノード装置10−1〜10−11は、移動体ではなく、固定の装置として構成される。また、ノード装置10−1〜10−11は、AODVに基づいてルーティング処理を実行する。
【0021】
図2はノード装置の詳細な構成例を示している。なお、ノード装置10−1〜10−11は同様の構成を有しているので、以下では、これらをノード装置10として説明する。図2に示すように、ノード装置10は、パケット中継処理部11、制御部12、記憶部13、受信部14−1〜14−n、および、送信部15−1〜15−nを有している。なお、図1の例では、例えば、ノード装置10−3には2つのリンクが接続されているので、受信部14−1〜14−nおよび送信部15−1〜15−nのうちリンクに接続されているのは2つである。
【0022】
ここで、パケット中継処理部11は、制御部12の制御に応じて、受信部14−1〜14−nによって受信されたパケットを、そのヘッダに格納されている情報に応じて、対応する送信部15−1〜15−nから送出する。制御部12は、記憶部13に記憶されている経路テーブル13aに応じて、受信パケットのヘッダを書き換え、パケット中継処理部11を介して、パケットを中継するとともに、経路要求(RREQ)パケットおよび経路回答(RREP)パケットに関する処理を実行する。
【0023】
記憶部13は、半導体メモリによって構成され、パケットを転送するための情報である経路テーブル13a、経路テーブル13aに記憶されている経路エントリを管理するための管理テーブル13b、および、後述する経路探索に関する処理を実行するためのプログラムやデータを格納している。受信部14−1〜14−nは、リンクを介してパケットを受信する。また、送信部15−1〜15−nは、リンクを介してパケットを送信する。なお、ハイフンの後に同じ数字が付与された受信部および送信部は、同じリンクに接続されている。例えば、受信部14−1と送信部15−1は同じリンクに接続されている。
【0024】
(B)第1実施形態の動作の説明
つぎに、本発明の第1実施形態の動作について説明する。以下では、図1に示すネットワークシステムにおいて、ノード装置10−2がノード装置10−7への経路を探索するために、経路要求を行う場合を想定する。その場合、送信元のノード装置10−2は、ノード装置10−7を送信先アドレスとするRREQをフラッディングする。RREQを受信したノード装置10−3〜10−6,10−8,10−9も同様のRREQをフラッディングする。
【0025】
このとき、各ノード装置は、RREQを転送する際に、パケットに含まれる送信元アドレス(ノード装置10−2のアドレス)と、直前のノード装置のアドレスとを対応付けて経路エントリとして、記憶部13の経路テーブル13aに記憶する。例えば、今の例では、ノード装置10−4は、RREQをノード装置10−3から受信することから、送信元アドレスであるノード装置10−2のアドレスと、ノード装置10−3のアドレスとを対応付けして記憶部13の経路テーブル13aに経路エントリとして記憶する。なお、このようにして登録した経路エントリの送信元アドレスは、送信先アドレスとして使用し、直前のノード装置のアドレスは、パケットの次の転送先(次ホップ)として使用される。
【0026】
ノード装置10−2から送信されたRREQは、時計回りおよび反時計回りの経路を経てノード装置10−7に到着する。ノード装置10−7は、反時計回りの経路(ノード装置10−2,ノード装置10−8,ノード装置10−9,ノード装置10−7)の方が、コスト値(例えば、通過するノード装置およびリンクの数)が小さいことから、ノード装置10−2を送信先アドレスとするRREPをユニキャストでノード装置10−9を介して返信する。RREPは、RREQの転送時に生成される経路エントリを参照して、送信元であるノード装置10−2に届けられる。
【0027】
このとき、各ノード装置は、RREPを転送する際に、パケットに含まれる送信元アドレス(ノード装置10−7のアドレス)と、直前のノード装置のアドレスとを対応付けて経路エントリとして、記憶部13の経路テーブル13aに記憶する。例えば、ノード装置10−3は、RREPをノード装置10−4から受信することから、送信元アドレスであるノード装置10−7のアドレスと、ノード装置10−4のアドレスとを対応付けして記憶部13の経路テーブル13aに経路エントリとして記憶する。このようにして登録した経路エントリの送信元アドレスは、送信先アドレスとして使用し、直前のノード装置のアドレスは、パケットの次の転送先(次ホップ)として使用される。なお、経路エラー(RERR:Route Error)を送信するためのプリカーソルリスト(PL:Precursor List)として、1つ前のノード装置を経路エントリに併せて登録するようにしてもよい。例えば、ノード装置10−3の場合には、送信先がノード装置10−7である経路エントリについては、1つ前に該当するノード装置10−2をPLとして登録することができる。また、同じく、ノード装置10−3の場合に、送信先がノード装置10−2である経路エントリについては、1つ前に該当するノード装置10−4をPLとして登録することができる。
【0028】
以上の動作により、ノード装置10−2と、ノード装置10−7との間で経路が確立される。このようにして、ノード装置10−2と、ノード装置10−7との間で経路が確立されると、ノード装置10−2はノード装置10−7に対してデータパケットの送信を開始する。
【0029】
ところで、RREQおよびRREPの転送に応じて記憶部13の経路テーブル13aには、経路エントリが記憶される。従来技術では、このような経路エントリは、当該経路エントリが使用されないで、所定の時間(例えば、3秒)が経過すると「無効」の状態となり、無効の状態が所定の時間(例えば、15秒)経過すると経路テーブル13aから削除される。また、経路エントリは、当該経路エントリが使用された場合には、有効期限がリセットされ(例えば、0にされ)、前述した3秒および15秒のカウントが再スタートされる。このため、従来技術では、経路が使用されるたびに対応する経路エントリの有効期限を更新(リセット)する必要があることから、例えば、制御部12に処理の負荷がかかるという問題点がある。
【0030】
一方、本発明の第1実施形態では、各ノード装置は、経路テーブル13aに格納されている経路エントリを管理するための管理テーブル13bを有しており、この管理テーブル13bに基づいて、経路テーブル13aの経路エントリの有効期限の更新処理を実行する。図3は、管理テーブル13bの動作を説明するための図である。図3(A)に示すように、管理テーブル13bには、経路テーブル13aに格納されている経路エントリに対応する経路インデックスが格納されている。例えば、図3(A)に示す経路インデックスAは、経路テーブル13aに格納されている経路エントリA(不図示)に対応するインデックスである。
【0031】
他の装置宛のパケットを受信した場合、制御部12は、経路テーブル13aに該当する経路エントリが格納されているかを検索し、格納されている場合には当該経路エントリを用いて、パケットを転送する。なお、本実施形態では、このとき、該当する経路エントリの有効期限の更新処理は実行しない。一方、経路テーブル13aに経路エントリが格納されていない場合には、RREQを実行して経路探索を行い、その結果として得られる経路エントリを経路テーブル13aに格納する。
【0032】
つぎに、制御部12は、使用した(または新たに生成した)経路エントリに対応する経路インデックスが管理テーブル13bに格納されているか否かを判定し、対応する経路インデックスが格納されていない場合には経路インデックスを生成して格納する。例えば、経路エントリEを使用した場合に、経路エントリEに対応する経路インデックスEが管理テーブル13bに格納されていない場合には、図3(A)に示すように経路インデックスEを管理テーブル13bの末尾に追加登録する。ここで、経路インデックスとは、経路テーブル13aに格納されている経路エントリを特定するための情報(例えば、経路エントリを一意に特定するためのID(Identification)情報や、経路エントリが格納されているアドレスを示すアドレス情報)を有している。例えば、経路インデックスEを例に挙げると、経路インデックスEには経路テーブル13aに格納されている経路エントリEのアドレスを示す情報が格納されている。
【0033】
管理テーブル13bは、所定時間毎に更新処理が実行される。すなわち、制御部12は、更新処理を実行してから所定の時間が経過すると、管理テーブル13bに格納されている全ての経路インデックスに対応する経路エントリの有効期限を更新するとともに、有効期限の更新が完了した経路インデックスについては管理テーブル13bから削除する。例えば、図3(B)の例では、左端に格納されている経路インデックスAに格納されているIDまたはアドレスを参照し、経路テーブル13aに格納されている経路エントリAの有効期限を更新する。なお、更新の方法としては、例えば、有効期限を延長する方法がある。すなわち、経路エントリは、使用されない状態が継続して所定の時間(例えば、15秒)が経過すると有効期限が切れたとして経路テーブル13aから削除されるが、更新処理の対象となった経路インデックスに対応する経路エントリについては、有効期限を延長し、所定の時間が0秒からカウントされるようにする。なお、0秒ではなく、所定の時間(例えば、1秒)に設定されるようにしてもよい。
【0034】
制御部12は、管理テーブル13bに格納されている全ての経路インデックスに対応する経路エントリの有効期限の更新処理を一括して実行する(図3(B)参照)。その結果、全ての経路インデックスに対応する経路エントリの有効期限の更新処理が完了すると、制御部12は、管理テーブル13bに格納されている全ての経路インデックスを削除する。その結果、管理テーブル13bには経路インデックスが格納されていない状態になる(図3(C)参照)。
【0035】
なお、管理テーブル13bが更新される時間は、経路テーブル13aに格納されている経路エントリの有効期限よりも短く設定する必要がある。例えば、経路エントリの有効期限が15秒である場合には、15秒未満に設定する必要がある。経路インデックスに基づいて経路エントリを更新する際に、経路エントリの有効期限を超過すると、経路エントリが削除されるからである。
【0036】
つぎに、図4を参照して、第1実施形態の詳細な動作を説明する。図4は、図1に示す各ノード装置において実行される処理の一例を説明するフローチャートである。図4に示すフローチャートが開始されると、以下のステップが実行される。
【0037】
ステップS10では、制御部12は、内蔵している(図示しない)タイマをリセットする。この結果、タイマのカウント値が“0”に設定されるとともに、タイマが経過時間のカウントを開始する。
【0038】
ステップS11では、制御部12は、他のノード装置を送信先とするパケットを受信したか否かを判定し、受信したと判定した場合(ステップS11:Y)にはステップS12に進み、それ以外の場合(ステップS11:N)にはステップS15に進む。
【0039】
ステップS12では、制御部12は、ステップS11で受信したパケットの解析処理を実行する。より詳細には、制御部12は、パケットのヘッダ情報を参照して、パケットの送信先等を解析する。なお、解析処理が完了すると、制御部12は、経路テーブル13aを検索し、該当する経路エントリが存在するか否かを判定し、経路エントリが存在しない場合には経路探索処理を実行する。また、該当する経路エントリが存在する場合には、当該経路エントリを参照して、パケットの転送処理を実行する。なお、このとき、経路エントリの有効期限の更新処理は実行しない。
【0040】
ステップS13では、制御部12は、ステップS12の解析の結果得られた情報に基づいて、記憶部13の管理テーブル13bを検索し、対応する経路インデックスが存在するか否か否かを判定し、対応する経路インデックスが存在すると判定した場合(ステップS13:Y)にはステップS15に進み、それ以外の場合(ステップS13:N)にはステップS14に進む。
【0041】
ステップS14では、制御部12は、ステップS13で対応する経路インデックスが存在しないことから、新たな経路インデックスとして登録する。なお、経路インデックスとしては、対応する経路エントリが格納されている経路テーブル13aのアドレスや、経路エントリを一意に特定することができるID情報を用いることができる。もちろん、これら以外の情報を用いてもよい。
【0042】
ステップS15では、制御部12は、ステップS10(またはステップS16)でリセットしたタイマのカウント値を参照し、リセットがされてから所定の時間(例えば、14秒)が経過したか否かを判定し、所定の時間が経過したと判定した場合(ステップS15:Y)にはステップS16に進み、それ以外の場合(ステップS15:N)にはステップS19に進む。
【0043】
ステップS16では、制御部12は、タイマをリセットする。この結果、タイマのカウント値が“0”に設定されるとともに、タイマが経過時間のカウントを開始する。
【0044】
ステップS17では、制御部12は、管理テーブル13bに格納されている経路インデックスに対応する経路エントリの有効期限を更新する処理を実行する。例えば、図3(B)の例では、経路インデックスA〜Eに対応する経路エントリA〜Eのそれぞれの有効期限を更新する。なお、有効期限の更新の具体例としては、例えば、0に設定する方法がある。なお、0以外の値に設定するようにしてもよい。
【0045】
ステップS18では、制御部12は、記憶部13の管理テーブル13bに格納されている全ての経路インデックスを削除する。この結果、管理テーブル13bは、図3(C)に示すように空の状態となる。
【0046】
ステップS19では、制御部12は、処理を終了するか否かを判定し、処理を終了しないと判定した場合(ステップS19:N)にはステップS11に戻って前述の場合と同様の処理を繰り返し、それ以外の場合(ステップS19:Y)には処理を終了する。
【0047】
以上の処理によれば、前述した動作を実現することができる。
【0048】
以上に説明したように、本発明の第1実施形態によれば、管理テーブル13bを設けて、使用中の経路エントリに対応する経路インデックスを格納し、前回の更新から所定の時間が経過した場合に、管理テーブル13bに格納されている経路インデックスに対応する経路エントリの有効期限を一括して更新するようにしたので、パケットを受信するたびに経路エントリの有効期限を更新する場合に比較して、制御部12等の処理を軽減することができる。これにより、パケット転送のレイテンシを低減するとともに、ネットワークシステムのスループットを向上することが可能になる。
【0049】
(C)第2実施形態の構成の説明
つぎに、本発明の第2実施形態について説明する。なお、第2実施形態では、第1実施形態と比較すると、管理テーブル13bがFIFO(First In First Out)形式のテーブルとなっている。また、制御部12が実行する処理が異なっている。これら以外の構成は、第1実施形態と同様であるので詳細な説明は省略する。
【0050】
(D)第2実施形態の動作の説明
図5は、第2実施形態の動作を説明するための図である。各ノード装置は、図5(A)に示すように、他のノード装置を送信先とするパケットを受信した場合、同じ経路インデックスが存在していないことを確認した上で、経路インデックスを管理テーブル13bの末尾に追加する。図5(A)の例では、経路インデックスE(例えば、図1のノード装置10−7を送信先とする経路エントリに対応する経路インデックス)を新たに追加する例であるが、経路インデックスEは、管理テーブル13bには存在していないことから、経路インデックスEをFIFO形式の管理テーブル13bの末尾に追加する。
【0051】
制御部12は、管理テーブル13bを更新してから所定の時間が経過した場合(例えば、14秒が経過した場合)には、図5(B)に示す経路インデックスA〜Eのうち、例えば、予め定められた所定の個数の経路インデックス(図5の例では3つの経路インデックスA,C,E)に対応する経路エントリの有効期限を更新するとともに、経路インデックスA,C,Eを一括して削除する。なお、経路インデックスが削除されると、FIFO形式の管理テーブル13bは、経路インデックスを図の右方向に移動させるので、図5(C)に示すように、管理テーブル13bには、経路インデックスB,Eのみが存在する状態となる。
【0052】
ここで、経路インデックスを削除する個数は、例えば、デフォルトで設定された値を用いることができる。これ以外にも、例えば、管理者が所望の値を設定できるようにしたり、ネットワークの遅延状態またはレイテンシに応じて最適値を自動的に設定したりするようにしてもよい。
【0053】
なお、対応する経路エントリが存在しない場合には、経路の更新処理(前述したRREQおよびRREPによる処理)が実行されて、経路エントリが再度生成されて経路テーブル13aに格納されるとともに、対応する経路インデックスが生成され、管理テーブル13bに格納される。
【0054】
つぎに、図6を参照して、第2実施形態の詳細な動作を説明する。図6は、図1に示す各ノード装置において実行される処理の一例を説明するフローチャートである。なお、図6において、図4と対応する部分には同一の符号を付しているのでその説明を省略する。図6では、図4と比較すると、ステップS17およびステップS18がステップS30およびステップS31に置換されている。これら以外の処理は、図4の場合と同様である。以下では、ステップS30およびステップS31を中心にして動作を説明する。
【0055】
制御部12は、所定の時間が経過したとステップS15で判定し、ステップS16でタイマをリセットした後、ステップS30において、記憶部13の管理テーブル13bに格納されている所定の個数の経路インデックスに対応する経路エントリの有効期限を更新する。例えば、制御部12は、管理テーブル13bに格納されている3つの経路インデックス(図5の例では経路インデックスA,C,E)に対応する経路エントリA,C,Eの有効期限を更新する処理を実行する。この結果、経路テーブル13aに格納されている経路エントリA,C,Eの有効期限が更新される。
【0056】
ステップS31では、制御部12は、ステップS30において有効期限を更新した経路エントリに対応する経路インデックスを管理テーブル13bから削除する処理を実行する。この結果、図5の例では、有効期限の更新対象となっていない経路インデックスB,Dは図5の右側に移動し、図5(C)の状態となる。
【0057】
以上に説明したように、本発明の第2実施形態によれば、管理テーブル13bに未格納の経路インデックスのみを追加するとともに、所定の時間が経過した際に管理テーブル13bに格納されている経路インデックスの一部に対応する経路エントリの有効期限を更新し、更新対象となった経路エントリに対応する経路インデックスを削除するようにしたので、パケットを受信するたびに有効期限を更新する必要がなくなる。このため、制御部12の負荷を軽減することで、パケット転送のレイテンシを低減するとともに、ネットワークシステムのスループットを向上することが可能になる。また、第1実施形態のように、全ての経路エントリを一括して更新する場合、更新を行うタイミングで制御部12の負荷が増大するが、第2実施形態では分割して更新することから、負荷を分散させることができる。
【0058】
(E)第3実施形態の構成の説明
つぎに、本発明の第3実施形態について説明する。なお、第3実施形態では、第1実施形態と比較すると、管理テーブル13bがFIFO形式のテーブルとなっている。また、制御部12が実行する処理が異なっている。これら以外の構成は、第1実施形態と同様であるので詳細な説明は省略する。
【0059】
(F)第3実施形態の動作の説明
図7は、第3実施形態の動作を説明するための図である。各ノード装置は、図7(A)に示すように、他のノード装置を送信先とするパケットを受信した場合、同じ経路インデックスが存在していないことを確認した後に、経路インデックスを管理テーブル13bの末尾に追加する。図7(A)の例では、経路インデックスE(例えば、図1のノード装置10−7を送信先とする経路)を新たに追加する例であるが、経路インデックスEは、管理テーブル13bには存在していないことから、経路インデックスEをFIFO形式の管理テーブル13bの末尾に追加する。
【0060】
また、第3実施形態では、経路インデックスに基づいて経路エントリの有効期限を更新する場合、更新するタイミングと個数は、制御部12の使用率およびパケット中継処理部11の使用率に応じて決定される。より詳細には、制御部12の使用率U1と、パケット中継処理部11の使用率U2を取得し、これらの使用率がそれぞれ所定の閾値Th1,Th2未満となった場合には、U1,U2の値に応じた所定の個数の経路エントリを更新する。なお、有効期限が更新されない状態が所定時間以上継続した場合には、使用中の経路エントリが削除されることを防ぐために、U1,U2の値に拘わらず、有効期限を更新する処理を実行するようにしてもよい。
【0061】
つぎに、図8を参照して、第3実施形態の詳細な動作を説明する。図8は、図1に示す各ノード装置において実行される処理の一例を説明するフローチャートである。なお、図8において、図4と対応する部分には同一の符号を付しているのでその説明を省略する。図8では、図4と比較すると、ステップS15〜ステップS18がステップS50〜ステップS54に置換されている。これら以外の処理は、図4の場合と同様である。以下では、ステップS50〜ステップS54を中心に動作を説明する。
【0062】
ステップS50では、制御部12は、自身の使用率U1を取得する。ここで、「使用率」とは、所定の単位時間(例えば、1秒)内に、何らかの処理が実行されている時間の割合を示し、使用率が0%の場合は何も実行されず待機状態であり、100%の場合は何らかの処理が継続して行われていることを示す。
【0063】
ステップS51では、制御部12は、パケット中継処理部11の使用率U2を取得する。なお、使用率は前述の場合と同様に、パケット中継処理部11が所定の単位時間内に何らかの処理が実行されている時間の割合を示す。
【0064】
ステップS52では、制御部12は、U1が所定の閾値Th1未満であり、かつ、U2が所定の閾値Th2未満であるか否かを判定し、U1<Th1かつU2<Th2を満たす場合(ステップS52:Y)にはステップS53に進み、それ以外の場合(ステップS52:N)にはステップS19に進む。なお、有効期限が更新されない状態が所定時間以上継続した場合には、使用中の経路エントリが削除されることを防ぐために、U1,U2の値に拘わらず、ステップS53に進み、有効期限を更新する処理を実行するようにしてもよい。
【0065】
ステップS53では、制御部12は、U1,U2に応じた個数の経路インデックスに対応する経路エントリの有効期限を更新する。例えば、U1,U2が0%に近い値の場合にはN1個の経路エントリの有効期限を更新し、U1,U2が閾値Th1,Th2に近い値の場合にはN2(N2<N1)個の経路エントリの有効期限を更新することができる。なお、N1,N2の具体的な値は、予め設定(静的に設定)するようにするか、または、ノード装置またはネットワークシステムの状態に応じて設定(動的に設定)するようにしてもよい。
【0066】
ステップS54では、制御部12は、ステップS53において有効期限の更新処理を実行した経路エントリに対応する経路インデックスを削除する処理を実行する。例えば、図7の例では、経路インデックスA,Bが管理テーブル13bから削除されている。
【0067】
以上に説明したように、本発明の第3実施形態によれば、制御部12およびパケット中継処理部11の使用率に応じて、経路エントリの一部を一括して更新するようにしたので、パケットを受信するたびに経路エントリの有効期限を更新する必要がなくなる。このため、制御部12の負荷を軽減することで、パケット転送のレイテンシを低減するとともに、ネットワークシステムのスループットを向上することが可能になる。また、制御部12およびパケット中継処理部11の使用率が所定の閾値Th1,Th2を下回る場合に更新処理を実行するようにしたので、使用率が低いタイミングを選んで更新処理を実行することができる。また、更新する個数は、制御部12およびパケット中継処理部11の使用率に応じて可変するようにしたので、使用率が低い場合は多くの経路エントリを、使用率が相対的に高い場合には少ない個数の経路エントリを更新することで、制御部12等の負荷を分散することができる。
【0068】
なお、以上の説明では、制御部12およびパケット中継処理部11の双方の使用率U1,U2を参照するようにしたが、これらのいずれか一方のみの使用率を参照して、経路エントリの更新を実施するか否かの判断、および/または、経路エントリを更新する個数を決めるようにしてもよい。また、ステップS53では、U1,U2に応じた個数の経路エントリを更新するようにしたが、例えば、U1,U2を随時取得し、U1,U2が所定の閾値Th1,Th2を上回るまで更新処理を継続するようにしてもよい。もちろん、その際に、使用中の経路エントリの有効時間も参照するようにしてもよい。
【0069】
(G)第4実施形態の構成の説明
つぎに、本発明の第4実施形態について説明する。なお、第4実施形態では、第1実施形態と比較すると、管理テーブル13bがFIFO形式のテーブルとなっている。また、制御部12が実行する処理が異なっている。これら以外の構成は、第1実施形態と同様であるので詳細な説明は省略する。
【0070】
(H)第4実施形態の動作の説明
つぎに、本発明の第4実施形態の動作について説明する。図9は、第4実施形態の動作を説明するための図である。各ノード装置は、図9(A)に示すように、他のノード装置を送信先とするパケットを受信した場合、同じ経路インデックスが存在していないことを確認した後に、経路インデックスを管理テーブル13bの末尾に追加する。
【0071】
また、第4実施形態では、経路インデックスを削除(および対応する経路エントリを更新)する場合、図9(B)に示すように、削除するタイミングと個数は、パケット中継処理部11が有する処理キュー内のパケット数(N)に応じて決定される。より詳細には、パケット中継処理部11は、受信したパケットを、処理キューに格納し、順番に処理(解析処理および転送処理等)を実行する。処理キューに待機状態のパケットが多数存在する場合には、負荷状態が高いことを示すので、その場合には経路エントリの更新処理は保留状態とするか、または、少ない個数の経路エントリを更新する。また、処理キューに存在する待機状態のパケットの個数が少ない場合には、負荷状態が低いことを示すので、その場合には多数の経路エントリの更新処理を実行する。図9(C)の例では、経路インデックスA,C,Eが削除されている(このとき経路エントリA,C,Eが更新されている)。このように、処理キューに格納されるパケットの個数に応じて、経路エントリの更新処理を実行することで、レイテンシを低減するとともに、スループットを向上させることができる。
【0072】
つぎに、図10を参照して、第4実施形態の詳細な動作を説明する。図10は、図1に示す各ノード装置において実行される処理の一例を説明するフローチャートである。なお、図10において、図4と対応する部分には同一の符号を付しているのでその説明を省略する。図10では、図4と比較すると、ステップS15〜ステップS18がステップS70〜ステップS73に置換されている。これら以外の処理は、図4の場合と同様である。以下では、ステップS70〜ステップS73を中心に動作を説明する。
【0073】
ステップS70では、制御部12は、パケット中継処理部11の処理キュー(不図示)内に格納されている待機状態のパケットの個数Nを取得する。
【0074】
ステップS71では、制御部12は、ステップS70で取得した処理キュー内のパケットの個数Nが所定の閾値Th未満か否かを判定し、N<Thを満たす場合(ステップS71:Y)にはステップS72に進み、それ以外の場合(ステップS71:N)にはステップS19に進む。なお、Nの具体的な値は、予め設定(静的に設定)するか、または、ネットワークシステムもしくはノード装置の動作状態に応じて動的に設定するようにしてもよい。なお、有効期限が更新されない状態が所定時間以上継続した場合には、使用中の経路エントリが削除されることを防ぐために、Nの値に拘わらず、ステップS72に進み、有効期限を更新する処理を実行するようにしてもよい。
【0075】
ステップS72では、制御部12は、ステップS70で取得したNの値に応じた個数の経路インデックスに対応する経路エントリの有効期限の更新処理を実行する。例えば、処理キュー内のパケットの個数Nが少ない場合にはより多くの経路エントリを更新し、個数Nが多い場合にはより少ない経路エントリを更新する。なお、具体的に更新する経路エントリの個数は、予め設定(静的に設定)するか、または、ネットワークシステムもしくはノード装置の動作状態に応じて動的に設定するようにしてもよい。
【0076】
以上に説明したように、本発明の第4実施形態によれば、処理キュー内に待機状態のパケットの個数に応じて、経路エントリの一部を一括して更新するようにしたので、パケットを受信するたびに経路エントリの有効期限を更新する必要がなくなる。このため、制御部12の負荷を軽減することで、パケット転送のレイテンシを低減するとともに、ネットワークシステムのスループットを向上することが可能になる。また、処理キュー内のパケットの個数Nが所定の閾値Thを下回る場合に更新処理を実行するようにしたので、負荷が低いタイミングを選んで更新処理を実行することができる。また、更新する個数は、処理キュー内のパケットの個数Nに応じて可変するようにしたので、負荷が低い場合は多くの経路エントリを、負荷が相対的に高い場合には少ない個数の経路エントリを更新することで、制御部12の負荷をより軽減することができる。
【0077】
なお、以上の説明では、ステップS72において、Nに応じた個数の経路エントリを更新するようにしたが、例えば、Nを随時取得し、Nが所定の閾値Thを上回るまで更新処理を継続するようにしてもよい。
【0078】
(I)第5実施形態の構成の説明
つぎに、本発明の第5実施形態について説明する。なお、第5実施形態では、第1実施形態と比較すると、管理テーブル13bがFIFO形式のテーブルとなっている。また、制御部12が実行する処理が異なっている。これら以外の構成は、第1実施形態と同様であるので詳細な説明は省略する。
【0079】
(J)第5実施形態の動作の説明
つぎに、本発明の第5実施形態の動作について説明する。図11は、第5実施形態の動作を説明するための図である。各ノード装置は、図11(A)に示すように、他のノード装置を送信先とするパケットを受信した場合、同じ経路インデックスが存在していないことを確認した後、経路インデックスを管理テーブル13bの末尾に追加する。
【0080】
第5実施形態では、経路エントリを更新する場合、図11(B)に示すように、更新するタイミングはタイマによって決定し、更新する個数は経路エントリの有効期限によって決定する。より詳細には、管理テーブル13bを更新してから所定の時間が経過した場合(例えば、14秒が経過した場合)には、図11(B)に示す経路インデックスA〜Eのうち、有効期限が所定の値(例えば、T)未満の経路エントリの有効期限を更新する。一例として、有効期限を15秒に設定し、有効期限が10秒未満の経路エントリを更新対象とする場合、制御部12は、有効期限が10秒未満の経路エントリについては更新対象とする。図11(B)の例では、有効期限がT未満の3つの経路エントリA,C,Eが一括して更新されている。経路エントリが更新されると、対応する経路インデックスが管理テーブル13bから削除される。経路インデックスが削除されると、FIFO形式の管理テーブル13bは、経路インデックスを図の右方向に移動させるので、図11(C)に示すように、管理テーブル13bには、経路エントリB,Eのみが存在する状態となる。このように、タイマによって定期的に経路エントリの更新処理を実行することで、レイテンシを低減するとともに、スループットを向上させることができる。また、更新する場合には、有効期限がT未満の経路エントリを更新するようにしたので、更新処理を時間的に分散して実行することで、制御部12の負荷が所定のタイミングに集中することを防止できる。
【0081】
つぎに、図12を参照して、第5実施形態の詳細な動作を説明する。図12は、図1に示す各ノード装置において実行される処理の一例を説明するフローチャートである。なお、図12において、図4と対応する部分には同一の符号を付しているのでその説明を省略する。図12では、図4と比較すると、ステップS17およびステップS18がステップS90およびステップS91に置換されている。これら以外の処理は、図4の場合と同様である。以下では、ステップS90およびステップS91を中心に動作を説明する。
【0082】
制御部12は、所定の時間が経過したとステップS15で判定し、ステップS16でタイマをリセットした後、ステップS90において、記憶部13の管理テーブル13bに格納されている経路インデックスに対応する経路エントリのうち、有効期限がT未満の経路エントリの有効期限を更新する。例えば、制御部12は、管理テーブル13bに格納されている経路インデックスに対応する経路エントリのうち、有効期限が所定の時間(例えば、10秒)未満の経路エントリの有効期限を更新する。一例として、有効期限を15秒に設定し、有効期限が10秒未満の経路エントリを更新対象とする場合、制御部12は、有効期限が10秒未満となる経路エントリについては更新対象とする。
【0083】
ステップS91では、制御部12は、ステップS90で有効期限の更新処理を実行した経路エントリに対応する経路インデックスを管理テーブル13bから削除する処理を実行する。例えば、図11の例では、有効期限が更新された経路エントリA,C,Eに対応する経路インデックスA,C,Eが管理テーブル13bから削除される。
【0084】
以上に説明したように、本発明の第5実施形態によれば、所定の時間が経過した際に経路エントリの一部を一括して更新するようにしたので、パケットを受信するたびに有効期限を更新する必要がなくなる。このため、制御部12の負荷を軽減することで、パケット転送のレイテンシを低減するとともに、ネットワークシステムのスループットを向上することが可能になる。また、第1実施形態のように、全ての経路エントリを一括して更新する場合、更新を行うタイミングで制御部12の負荷が増大するが、第5実施形態では分割して更新することから、負荷を分散させることができる。
【0085】
(K)変形実施形態の説明
以上の各実施形態は一例であって、本発明が上述したような場合のみに限定されるものでないことはいうまでもない。例えば、以上の各実施形態では、図1に示すようにノード装置10−1〜10−11の11台が接続されるネットワークシステムを例に挙げて説明したが、10台以下または12台以上のノード装置を接続したネットワークシステムに本発明を適用してもよい。
【0086】
また、第1、第2、および、第5実施形態では、ステップS15の所定の時間は固定として説明したが、所定の時間を任意の値に設定可能としてもよい。あるいは、経路インデックスの個数に応じて、ステップS15の時間を自動的に変更するようにしてもよい。例えば、通信の状況等に応じて、所定の時間を調整するようにしてもよい。そのような構成によれば、通信状況に応じた最適な時間により、経路エントリを更新することができる。
【0087】
また、以上の各実施形態では、ノード装置10−1〜10−11は、移動しない固定の構成としたが、もちろん、これらを移動体として構成するようにしてもよい。もちろん、全てを移動体とするのではなく、一部を移動体として構成するようにしてもよい。
【0088】
また、以上の各実施の形態では、送信先のノード装置が経路回答パケットを送信するようにしたが、これ以外にも、送信先のノード装置までの経路に関する情報を有しているノード装置が経路回答パケットを送信するようにしてもよい。その場合には、前述の各実施形態の場合と同様に、このノード装置に接続されているすべてのノード装置に対して経路回答パケットを送信すれば良い。
【0089】
また、以上の第2〜第5実施形態では、管理テーブル13bは、FIFO形式のメモリであるとし説明したが、もちろん、FIFO形式以外のメモリを使用するようにしてもよい。例えば、通常のメモリを使用し、経路エントリを格納するアドレスを管理することで、FIFOと同様の機能を有するようにしてもよい。また、第1実施形態についても管理テーブル13bをFIFO形式のメモリとしてもよい。
【0090】
また、以上の各実施形態では、経路エントリとしては、送信先アドレス、次ホップ、および、プリカーソルを用いる場合を例に挙げて説明したが、これら以外にも、例えば、送信先シーケンス番号、送信先シーケンス番号の有効フラグ、その他のフラグ、ネットワークインタフェース、ホップ数、および、有効期限等を登録するようにしてもよい。
【符号の説明】
【0091】
10−1〜10−11 ノード
11 パケット中継処理部
12 制御部(追加手段、更新手段、削除手段)
13 記憶部(第1の記憶手段、第2の記憶手段)
13a 経路テーブル
14−1〜14−n 受信部
15−1〜15−n 送信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12