(57)【要約】【課題】ルーティングのための通信回数を低減する。【解決手段】バス２０を介して複数のノード１０ａ〜１０ｈがリング状に接続された車載ネットワークシステム１００において、各ノード１０が備えるルーティング装置は、パケットＰの送信先ノードごとに予め設定したパケットの転送経路を記憶するルーティングテーブル記憶部１２と、パケットＰの転送経路からの除外が必要となった場合にパケットの転送経路の変更を要求する経路変化パケットＣを、両側の隣接ノードに送信する負荷監視部１４と、いずれかの隣接ノードから経路変化パケットＣを受信した場合、送信元とは反対側の隣接ノードに経路変化パケットＣを転送する転送部１５と、経路変化パケットＣに含まれる経過情報Ｄ４に基づいて、パケットＰの転送経路を再設定するルーティング部１６と、を備える。【選択図】図４
2020053893.tif 000002
【特許請求の範囲】
【請求項１】
伝送路を介して複数のノードがリング状に接続され、パケットの送信元ノードと送信先ノードとの間に位置する各ノードが、前記パケットを転送することでノード間のパケット通信を行うように構成されたネットワークにおいて、各ノードが備えるルーティング装置であって、
前記パケットの送信先となる他のノードごとに予め設定した前記パケットの転送経路を記憶する記憶部と、
前記パケットの転送経路からの除外が必要となった場合に前記パケットの転送経路の変更を要求する経路変化パケットを、両側の隣接ノードに送信する送信部と、
いずれかの隣接ノードから前記経路変化パケットを受信した場合、前記経路変化パケットを送信したノードとは反対側の隣接ノードに前記経路変化パケットを転送する転送部と、
いずれかの隣接ノードから受信した前記経路変化パケットに含まれる、当該経路変化パケットの転送経路上に位置し前記経路変化パケットが経過したノードを示す経過情報に基づいて、前記パケットの転送経路を再設定するルーティング部と、
を備えるルーティング装置。
【請求項２】
前記転送部は、前記経路変化パケットを転送する際に、前記経過情報に自ノードの情報を記録する、請求項１記載のルーティング装置。
【請求項３】
前記パケットの転送経路は、前記パケットの送信先となる他のノードごとに、前記パケットの出力先ノードを両側の隣接ノードのいずれかに設定したものであり、
前記ルーティング部は、
いずれかの隣接ノードから受信した前記経路変化パケットの前記経過情報に、前記パケットの送信先となる他のノードが含まれている場合、前記経過情報に含まれている側の隣接ノードを前記パケットの出力先ノードとするように、前記パケットの転送経路を再設定する、請求項１又は２記載のルーティング装置。
【請求項４】
前記ルーティング部は、
いずれかの隣接ノードから受信した前記経路変化パケットの前記経過情報に、前記パケットの送信先となる他のノードが含まれていない場合、前記経過情報に含まれていない側の隣接ノードを前記パケットの出力先ノードとするように、前記パケットの転送経路を再設定する請求項３記載のルーティング装置。
【請求項５】
前記経路変化パケットは、前記パケットの転送経路からの除外が必要となった転送不可ノードに関する情報を含み、
ルーティング部は、前記転送不可ノードを送信先とする前記パケットの転送経路の再設定は行わない、請求項１〜４のいずれか一項に記載のルーティング装置。
【請求項６】
前記転送部および前記ルーティング部は、両側の隣接ノードの双方から前記経路変化パケットを受信した場合には、先に受信した前記経路変化パケットについて、前記反対側の隣接ノードへの転送と、前記転送経路の再設定を行い、後に受信した前記経路変化パケットについては処理を行わない、請求項１〜５のいずれか一項に記載のルーティング装置。
【請求項７】
伝送路を介して複数のノードがリング状に接続され、パケットの送信元ノードと送信先ノードとの間に位置する各ノードが、前記パケットを転送することでノード間のパケット通信を行うように構成されたネットワークにおけるルーティング方法であって、
各ノードでは、パケットの送信先となる他のノードごとに前記パケットの転送経路が予め設定されており、
各ノードは、前記パケットの転送経路からの除外が必要となった場合に前記パケットの転送経路の変更を要求する経路変化パケットを、両側の隣接ノードに送信し、
各ノードは、いずれかの隣接ノードから前記経路変化パケットを受信した場合、前記経路変化パケットを送信したノードとは反対側の隣接ノードに前記経路変化パケットを転送すると共に、
いずれかの隣接ノードから受信した前記経路変化パケットに含まれる、当該経路変化パケットの転送経路上に位置するノードを示す経過情報に基づいて、前記パケットの転送経路を再設定する、ルーティング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルーティング方法およびルーティング装置に関する。
【背景技術】
【０００２】
車載ネットワークシステムは、車両の各機器を制御するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）等から構成される複数のノードを、複数の伝送路で接続したものである。パケットの送信元ノードと送信先ノードとの間に位置する各ノードが、パケットを転送することでノード間のパケット通信を行う。
近年、自動運転等の機能を支える為に、経路故障時や負荷増大時に、パケットの転送経路の切替えを行うことができるように、ネットワークを冗長化することが求められている。
冗長化に対応するためのネットワークトポロジーとして、マルチリング型やメッシュ型等の様々なものがあるが、車載ネットワークシステムにおいては配線の複雑化を避けるために、リング型が採用されることがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１３０１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
リング型の車載ネットワークシステムにおいては、各ノードから他のそれぞれのノードへのパケットの転送経路は予め設定されている。しかしながら、例えばあるノードの通信負荷が増大する等の原因によって、そのノードを除外して転送を行うことが必要になる場合がある。その場合は、まず、高負荷状態のノードが各ノードに転送経路の変更要求を含む通知を送信する。その後に、通知を受信した各ノードが、他のノードそれぞれに対して、ルーティングのための通信を行って、高負荷状態のノードをバイパスした転送経路を再設定する必要がある。各ノードが他の全てのノードそれぞれと通信を行うため通信回数が増加し、電力消費の増加や通信機器の高性能化等、コスト増加に繋がるおそれがある。
【０００５】
リング型の車載ネットワークシステムにおいて、高負荷等の原因によってバイパスすべきノードが発生した際に、ルーティングのための通信回数を低減したルーティング装置およびルーティング方法が求められている。
【課題を解決するための手段】
【０００６】
本発明のルーティング装置は、
伝送路を介して複数のノードがリング状に接続され、パケットの送信元ノードと送信先ノードとの間に位置する各ノードが、前記パケットを転送することでノード間のパケット通信を行うように構成されたネットワークにおいて、各ノードが備えるルーティング装置であって、
前記パケットの送信先となる他のノードごとに予め設定した前記パケットの転送経路を記憶する記憶部と、
前記パケットの転送経路からの除外が必要となった場合に前記パケットの転送経路の変更を要求する経路変化パケットを、両側の隣接ノードに送信する送信部と、
いずれかの隣接ノードから前記経路変化パケットを受信した場合、前記経路変化パケットを送信したノードとは反対側の隣接ノードに前記経路変化パケットを転送する転送部と、
いずれかの隣接ノードから受信した前記経路変化パケットに含まれる、当該経路変化パケットの転送経路上に位置するノードを示す経過情報に基づいて、前記パケットの転送経路を再設定するルーティング部と、
を備える。
【０００７】
本発明のルーティング方法は、
伝送路を介して複数のノードがリング状に接続され、パケットの送信元ノードと送信先ノードとの間に位置する各ノードが、前記パケットを転送することでノード間のパケット通信を行うように構成されたネットワークにおけるルーティング方法であって
各ノードでは、パケットの送信先となる他のノードごとに前記パケットの転送経路が予め設定されており、
各ノードは、前記パケットの転送経路からの除外が必要となった場合に前記パケットの転送経路の変更を要求する経路変化パケットを、両側の隣接ノードに送信し、
各ノードは、いずれかの隣接ノードから前記経路変化パケットを受信した場合、前記経路変化パケットを送信したノードとは反対側の隣接ノードに前記経路変化パケットを転送すると共に、
いずれかの隣接ノードから受信した前記経路変化パケットに含まれる、当該経路変化パケットの転送経路上に位置するノードを示す経過情報に基づいて、前記パケットの転送経路を再設定する。
【発明の効果】
【０００８】
本発明によれば、ルーティング装置およびルーティング方法において、ルーティングのための通信回数を低減することができ、電力消費の増加や通信機器の高性能化を抑制して、コストを低減することができる。
【図面の簡単な説明】
【０００９】
【図１】車載ネットワークシステムの概要を示す図である。
【図２】各ノードの構成を示すブロック図である。
【図３】ルーティングテーブルの内容を示す図である。
【図４】経路変化パケットの転送経路を示す図である。
【図５】経路変化パケットの内容の一例を示す図である。
【図６】ルーティングの一例を示す図である。
【図７】各ノードにおける経路変化パケットＣの送信処理を説明するフローチャートである。
【図８】経路変化パケットを受信した各ノードの処理を示すフローチャートである。
【図９】図８のステップＳ１４のルーティングの詳細を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図面を参照して説明する。
図１は、車載ネットワークシステム１００の概要を示す図である。
図１に示すように、車載ネットワークシステム１００は、複数のノード１０ａ〜１０ｈをバス２０によりリング状に接続して構成している。図１の例では、８つのノード１０ａ〜１０ｈが接続されている例を示しているが、ノードの数は適宜増減可能である。なお、以降の説明および図面において、個々のノードを区別せずに言及する場合には、単に「ノード１０」と記載する。各ノード１０は、それぞれ車載機器を制御するＥＣＵ等で構成する。車載機器は、例えば、エンジン、ブレーキ、パワーウィンドウ、オーディオ機器、空調装置等である。
【００１１】
各ノード１０は、バス２０によって、一方側および他方側でそれぞれ他の２つのノード１０と直接的に接続されているが、以降、これらの直接的に接続されたノード１０を「隣接ノード」という。
車載ネットワークシステム１００では、パケットＰの送信元ノードと送信先ノードとの間に位置する各ノード１０は、いずれかの隣接ノードから受信したパケットＰを、送信元とは反対側の隣接ノードに転送していくことでノード間のパケット通信を行う。
【００１２】
ノード１０ａ〜１０ｈはリング状に接続されているため、パケットＰを送信元ノードから送信先ノードまで転送する際には、２つのパターンの転送経路がある。例えば、ノード１０ｆからノード１０ｂにパケットＰを送る際に、図中実線の矢印で示すように、ノード１０ｇから時計回りに転送する転送経路Ｒ１と、図中破線の矢印で示すように、ノード１０ｅから反時計回りに転送する転送経路Ｒ２がある。
【００１３】
送信元ノードから送信先ノードへのパケットＰの送信にいずれの転送経路を使用するかは、車両の工場出荷時等に、通信回数等を考慮して予め設定する。しかしながら、各ノード１０の実際の使用状況によっては、予め設定した転送経路を変更することが望まれる場合がある。例えば、ノード１０ｆからノード１０ｂへのパケットＰの転送経路が、予め時計回りの転送経路Ｒ１に設定されていても、例えば経路Ｒ１上のノード１０ａが高負荷になった場合には、反時計回りの転送経路Ｒ２に変更して、ノード１０ａをバイパスすることが望ましい。実施の形態では、各ノード１０の使用状況に応じて、動的に転送経路を再設定するルーティングを行う。
【００１４】
図２は、各ノード１０の構成を示すブロック図である。
図２に示すように、各ノード１０は、入出力部１１ａ、１１ｂ、ルーティングテーブル記憶部１２および制御部１３を備える。
【００１５】
入出力部１１ａ、１１ｂは、それぞれ入出力ポートを含んで構成され、バス２０を介して両側の隣接ノードに接続し、パケットＰの入力および出力を行う。
【００１６】
ルーティングテーブル記憶部１２は、ＲＯＭおよびＲＡＭ等のメモリから構成され、ルーティングテーブルを記憶する。詳細は省略するが、メモリは他にも、各ノード１０の処理に必要なプログラムや閾値等を記憶する。
【００１７】
ルーティングテーブルは、各ノード１０が、パケットＰの送信先となる他のノードごとに、パケットＰの転送経路を示したテーブルである。
図３は、ルーティングテーブルの内容を示す図である。
図３に示すように、ルーティングテーブル１２０は、送信先となる他のノード（以下、単に「送信先ノード」ともいう）ごとに、パケットＰの出力先となるノード（以下、単に「出力先ノード」ともいう）を示している。出力先ノードは、各ノード１０の両側の隣接ノードのうちのいずれか一方である。
【００１８】
図３では、一例としてノード１０ｆのルーティングテーブル１２０を示しているが、出力先ノードとして、隣接ノード１０ｅまたは隣接ノード１０ｇのいずれかが記録されている。
前記したように、リング状に接続された車載ネットワーク１００において、送信元ノードから送信先ノードまでのパケットＰの転送経路は、時計回りの転送経路Ｒ１または反時計回りの転送経路Ｒ２の２パターンがある（図１参照）。
各ノード１０は、いずれかの隣接ノードからパケットＰを受信した場合、そのパケットＰが自ノード１０宛てのものでなければ、受信したパケットＰを送信元と反対側の隣接ノードに転送する。そのため、ルーティングテーブル１２０において、送信先ノードごとに、各ノード１０がパケットＰを出力する隣接ノードを記録しておくことによって、パケットＰが送信元ノードから送信先ノードまで時計回りまたは反時計回りの転送経路で送信されるかが決定される。
【００１９】
図３の例では、送信先ノードがノード１０ｃの場合、出力先ノードはノード１０ｅが記録されている。すなわち、ノード１０ｆからノード１０ｃ宛てのパケットＰは、ノード１０ｅ、Ｄを経過して反時計回りの転送経路Ｒ２で転送される（図１参照）。一方、送信先ノードがノード１０ｂの場合、出力先ノードはノード１０ｇが記録されている。すなわち、ノード１０ｆからノード１０ｂ宛のパケットＰは、ノード１０ｇ、１０ｈ、１０ａを経過して、時計回りの転送経路Ｒ１で転送される（図１参照）。
【００２０】
各ノード１０のルーティングテーブル１２０は予め決定されているが、前記したように、ノードの負荷状態に応じて転送経路を再設定するルーティングが行われると、ルーティングテーブル１２０は更新される。
【００２１】
制御部１３は、図示は省略するが、ＣＰＵ、ＲＯＭおよびＲＡＭ等のメモリ、タイマ等から構成される。ＣＰＵがＲＯＭに格納されたプログラムを実行することにより、制御部１３の機能を実現する。ＲＡＭは、例えば、ＲＯＭに格納されたプログラムを実行する際にワークメモリとして使用される。
【００２２】
制御部１３は、ノード１０全体の制御及び管理を行う。詳細な説明は省略するが、制御部１３は、いずれかの隣接ノードからパケットＰを受信した際に、そのパケットＰが自ノード１０宛のものであればパケットＰの内容に応じた処理を行う。制御部１３は、また、パケットＰが他のノード宛のものであれば、そのパケットＰを送信元とは反対側の隣接ノードに転送する転送処理を行う。
制御部１３は、また、実施の形態のルーティング方法を実施するルーティング装置として機能する。制御部１３は、ルーティング装置の機能構成として、負荷監視部１４、転送部１５およびルーティング部１６を備える。
【００２３】
負荷監視部１４は、各ノード１０の通信負荷と処理負荷の状態を監視する。負荷監視部１４は、例えば、各ノード１０の通信量を測定し、単位時間当たりの通信量が所定値以上になった場合、経路変化パケットＣを生成する。所定値は、そのノード１０が高負荷状態であることを示す通信量とすることができる。経路変化パケットＣは、転送経路から除外する必要があるノード（以下、「転送不可ノード」という）を通知するとともに、各ノード１０に転送不可ノードをバイパスした転送経路の再設定を要求するパケットである。負荷監視部１４は、生成した経路変化パケットＣを、入出力部１１ａ、１１ｂを介して両側の隣接ノードに送信する。
【００２４】
転送部１５は、いずれかの隣接ノードから経路変化パケットＣを受信すると、その経路変化パケットＣを、送信元とは反対側の隣接ノードに転送する。
図４は、経路変化パケットＣの転送経路を説明する図である。
図４では、一例としてノード１０ａが転送不可ノードとなった場合を示しているが、他のノードでも同じ処理を行う。
図４に示すように、転送不可ノードとなったノード１０ａの転送部１５は、負荷監視部１４が生成した経路変化パケットＣを両側の隣接ノード１０ｂ、１０ｈにそれぞれ送信する。経路変化パケットＣは、隣接ノード１０ｂを起点とする時計回りの転送経路Ｒ３（図中実線の矢印）と、隣接ノード１０ｈを起点とする反時計回りの転送経路Ｒ４（図中破線の矢印）で転送される。
【００２５】
図５は、経路変化パケットＣの内容の一例を示す図である。
図５は、一例として、図４に示すノード１０ａから反時計回りの転送経路Ｒ４で転送され、ノード１０ｆが受信した経路変化パケットＣの内容を示している。
図５に示すように、経路変化パケットＣは、転送不可ノードの情報Ｄ１と、出力先ノードの情報Ｄ２と、転送経路の再設定要求を示すフラグＤ３と、経過情報Ｄ４を含んでいる。
【００２６】
転送不可ノードの情報Ｄ１は、例えば転送不可ノードに割り当てられたＩＰアドレスとする。図５の例では、転送不可ノードであるノード１０ａの情報が記載される。
出力先ノードの情報Ｄ２は、経路変化パケットＣの出力先となるいずれかの隣接ノードを示す情報であり、例えば、出力先ノードに割り当てられたＩＰアドレスとする。図５の例では、ノード１０ｆが隣接ノード１０ｇから受信した時点での経路変化パケットＣを図示しているため、ノード１０ｆの情報が記載されている。
転送経路の再設定要求を示すフラグＤ３は、適宜設定することができるが、図５では一例として「１」を示している。
【００２７】
経過情報Ｄ４は、経路変化パケットＣが経過したノードの情報を意味する。「経路変化パケットＣが経過したノード」とは、転送経路Ｒ４上に位置し、経路変化パケットＣを受信して転送を行ったノードという意味である。図５の例では、経過情報Ｄ４として、転送不可ノード１０ａとノード１０ｆとの間のノード１０ｈ、１０ｇの情報が記載される。経過情報Ｄ４も、例えば各ノードに割り当てられたＩＰアドレスとすることができる。
【００２８】
転送部１５は、経路変化パケットＣを転送する際に、受信した経路変化パケットＣの情報を更新する。転送部１５は、出力先ノードの情報Ｄ２を、自ノード１０ｆから、送信元とは反対側の隣接ノード１０ｅの情報に書き換える。転送部１５はさらに、自ノード１０ｆの情報を経過情報Ｄ４に追記する。図５の例では、ノード１０ｈ、１０ｇの情報にノード１０ｆの情報を追記する。
【００２９】
転送部１５は、更新した経路変化パケットＣを、出力先ノード１０ｅに対応する入出力部１１ａ、１１ｂの出力ポートから送信する。
【００３０】
各ノード１０のルーティング部１６は、各ノード１０が受信した経路変化パケットＣの転送経路の再設定要求を示すフラグＤ３が「１」になっていた場合は、経路変化パケットＣの経過情報Ｄ４に基づいて、ルーティングテーブル１２０の転送経路を再設定するルーティングを行う。
【００３１】
図６は、ルーティングの一例を示す図である。
図６は、一例として、ノード１０ｆが、ノード１０ａから反時計回りの転送経路Ｒ４で転送された経路変化パケットＣに基づいて、図３に示したルーティングテーブル１２０を再設定する例を説明する。図６の（ａ）は、ルーティングの概念を説明する図であり、図６の（ｂ）は、ルーティングによるルーティングテーブル１２０の具体的な変更を示している。
【００３２】
前記したように、ルーティングテーブル１２０は、送信先ノードごとにパケットＰの出力先ノードを設定したものであり、出力先ノードは各ノード１０の両側の隣接ノードのうちのいずれか一方である。ノード１０ｆのルーティングテーブル１２０は、隣接ノード１０ｅおよびノード１０ｇのいずれかを記載している。
【００３３】
ルーティング部１６は、ルーティングテーブル１２０に記録されている送信先ノードごとに、出力先ノードを以下の２つの条件に従って設定する。
ｉ）送信先ノードが、経路変化パケットＣの経過情報Ｄ４に「含まれている」場合、その経過情報Ｄ４に「含まれている」側の隣接ノードを、その送信先ノードに対応する出力先ノードに設定する。
ｉｉ）送信先ノードが、経路変化パケットＣの経過情報Ｄ４に「含まれていない」場合、その経過情報Ｄ４に「含まれていない」側の隣接ノードを、その送信先ノードに対応する出力先ノードに設定する。
【００３４】
まず、前記ｉ）の条件について説明する。
図６の（ａ）に示した例では、ノード１０ｈ、１０ｇが、図５の経路変化パケットＣの経過情報Ｄ４に「含まれている」ノードに該当する。そして、経過情報Ｄ４に「含まれている」側の隣接ノードはノード１０ｇである。
図中に黒塗りの矢印で示すように、これらのノード１０ｈ、１０ｇをパケットＰの送信先ノードとする場合、経過情報Ｄ４に「含まれている」側の隣接ノード１０ｇを出力先ノードとすれば、転送不可ノード１０ａを経由せずにパケットＰを転送することができる。
【００３５】
図６の（ｂ）に示すように、ルーティング部１６は、前記ｉ）の条件に従ってルーティングテーブル１２０の送信先ノード１０ｇ、１０ｈについて出力先ノードをノード１０ｇに設定する。なお、図６の（ｂ）に示すように、送信先ノード１０ｇ、１０ｈは、予め設定した出力先ノードがノード１０ｇであるため、出力先ノードの実質的な変更は無い。
【００３６】
次に、前記ｉｉ）の条件について説明する。
図６の（ａ）に示した例では、ノード１０ｂ〜１０ｅが図５の経路変化パケットＣの経過情報Ｄ４に「含まれていない」ノードに該当する。そして、経過情報Ｄ４に「含まれていない」側の隣接ノードは、ノード１０ｅである。
図中に白抜きの矢印で示すように、これらのノード１０ｂ〜１０ｅをパケットＰの送信先ノードとする場合、経過情報Ｄ４に「含まれていない」側の隣接ノード１０ｅを出力先ノードとすれば、転送不可ノード１０ａを経由せずにパケットＰを転送することができる。
【００３７】
図６の（ｂ）に示すように、ルーティング部１６は、ルーティングテーブル１２０の送信先ノード１０ｂ〜１０ｅについて、出力先ノードをノード１０ｅに設定する。なお、送信先ノード１０ｃ、１０ｄ、１０ｅについては、予め設定した出力先ノードがノード１０ｅであるため、実質的な変更は無い。送信先ノード１０ｂのみ、予め設定した出力先ノードがノード１０ｇであるため、出力先ノードがノード１０ｅに実質的に変更される。
【００３８】
なお、転送不可ノード１０ａも経路変化パケットＣの経過情報Ｄ４に含まれていないパケットであるが、ルーティング部１６は、転送不可ノードの情報Ｄ１を参照して、転送不可ノード１０ａについてはルーティングの処理を行わない。
【００３９】
図４に戻り、実施の形態では、経路変化パケットＣを、時計回りの転送経路Ｒ３と反時計回りの転送経路Ｒ４でそれぞれ転送している。そのため、ノードの中には、一方の転送経路で転送された経路変化パケットＣを受信した後に、もう一方の転送経路で転送された経路変化パケットＣも受信することがある。図４の例では、ノード１０ｆとノード１０ｅが、それぞれ経路変化パケットＣを２回受信した場合を示している。
【００４０】
ノード１０ｆは、転送経路Ｒ４で転送された経路変化パケットＣを隣接ノード１０ｇから受信して隣接ノード１０ｅに転送した後に、転送経路Ｒ３で転送された経路変化パケットＣを隣接ノード１０ｅから受信している。
ノード１０ｅは、転送経路Ｒ３で転送された経路変化パケットＣを隣接ノード１０ｄから受信して隣接ノード１０ｆに転送した後に、転送経路Ｒ４で転送された経路変化パケットＣを隣接ノード１０ｆから受信している。
【００４１】
このように、各ノード１０が異なる転送経路から経路変化パケットＣを２回受信した場合に、いずれの経路変化パケットＣに基づいてルーティングを行っても結果は同じとなる。そのため、各ノード１０は、所定時間内に経路変化パケットＣを２回受信し、それらが含む転送不可ノードの情報Ｄ１が同じだった場合は、先に受信した経路変化パケットＣについてのみ、前記した転送部１５とルーティング部１６の処理を行う。各ノード１０は、後から受信した経路変化パケットＣについては処理を行わずに破棄する。
【００４２】
図４の例では、ノード１０ｅ、ノード１０ｆがそれぞれ２回目に受信した経路変化パケットＣを破棄する。これによって、車載ネットワークシステム１００全体における経路変化パケットＣの転送処理が終了する。
【００４３】
また、転送不可ノードが高負荷の状態が解消された場合には、転送経路を予め設定した状態に戻しても良い。図４の例において、転送不可ノード１０ａの負荷監視部１４は、単位時間当たりの通信量が所定値未満となった場合、高負荷状態が解消されたことを通知するパケットを両側の隣接ノード１０ｂ、１０ｈに送信する。通知パケットを受信した各ノード１０の転送部１５は、経路変化パケットＣと同様に通知パケットの転送処理を行い、ルーティング部１６は、ルーティングテーブル１２０の転送経路を予め設定した初期状態に戻す処理を行う。
【００４４】
以上説明した、ルーティング装置を備えた各ノード１０が実施する実施の形態のルーティング方法を、フローチャートを用いて説明する。
図７は、各ノード１０における経路変化パケットＣの送信処理を示すフローチャートである。
図７に示すように、各ノード１０の負荷監視部１４は、そのノード１０における通信量が所定値以上になった場合は（ステップＳ０１：Ｙｅｓ）、経路変化パケットＣを生成して、両側の隣接ノードに送信する（ステップＳ０２）。その後、そのノード１０における通信量が所定値未満になった場合は（ステップＳ０３：Ｙｅｓ）、負荷監視部１４は高負荷状態が解消されたことを通知するパケットを生成して、両側の隣接ノードに送信する（ステップＳ０４）。
【００４５】
図８は、経路変化パケットＣを受信した各ノード１０の処理を示すフローチャートである。
図８に示すように、各ノード１０がいずれかの隣接ノードから経路変化パケットＣを受信した場合（ステップＳ１１）、反対側の隣接ノードから経路変化パケットＣを既に受信していれば（ステップＳ１２：Ｎｏ）、経路変化パケットＣを廃棄して処理を終了する。
【００４６】
各ノード１０において、経路変化パケットＣを１回目に受信した場合は（ステップＳ１２：Ｙｅｓ）、転送部１５は、経過情報Ｄ４に自ノード１０の情報を追記して、送信元と反対側の隣接ノードに経路変化パケットＣを転送する（ステップＳ１３）。ルーティング部１６は、受信した経路変化パケットＣに基づいてルーティングテーブル１２０の転送経路を再設定するルーティングを行い（ステップＳ１４）、処理を終了する。
なお、フローチャートでは、転送処理（ステップＳ１３）の後にルーティング（ステップＳ１４）を記載している、ルーティングを先に行っても良いし、両方の処理を並行して行っても良い。
【００４７】
図９は、図８のステップＳ１４のルーティングの詳細を説明するフローチャートである。
各ノード１０のルーティング部１６は、ルーティングテーブル１２０に記載された送信先ノードのそれぞれに、順次ルーティングを行っていく。
図９に示すように、ルーティング部１６は、ルーティングテーブル１２０の各送信先ノードを参照し、送信先ノードが転送不可ノードであれば（ステップＳ１４１：Ｙｅｓ）、ルーティングは行わずにステップＳ１４５に進む。図６の例では、ノード１０ａについては、ルーティングを行わない。
【００４８】
ルーティング部１６は、送信先ノードが転送不可ノードでなければ（ステップＳ１４１：Ｎｏ）、経路変化パケットＣの経過情報Ｄ４を参照して、その送信先ノードが経過情報Ｄ４に含まれているかを判定する（ステップＳ１４２）。
ルーティング部１６は、送信先ノードが経過情報Ｄ４に含まれている場合（ステップＳ１４２：Ｙｅｓ）、その送信先ノードに対応する出力先ノードを、経過情報Ｄ４に含まれている側の隣接ノードに設定する（ステップＳ１４３）。図６の例では、送信先ノード１０ｇ、１０ｈについて、出力先ノードを隣接ノード１０ｇに設定する。
【００４９】
ルーティング部１６は、送信先ノードが経過情報Ｄ４に含まれていない場合（ステップＳ１４２：Ｙｅｓ）、その送信先ノードに対応する出力先ノードを、経過情報Ｄ４に含まれていない側の隣接ノードに設定する（ステップＳ１４４）図６の例では、送信先ノード１０ｂ〜１０ｅについて、出力先ノードを隣接ノード１０ｅに設定する。
【００５０】
ルーティング部１６は、一つの送信先ノードのルーティングが完了した後、ルーティングを行っていない送信先ノードがある場合は（ステップＳ１４５：Ｎｏ）、ステップＳ１４１に戻って、次の送信先ノードについてステップＳ１４１〜Ｓ１４４の処理を行う。
【００５１】
以上述べたように、実施の形態のルーティング装置は、
（１）バス２０（伝送路）を介して複数のノード１０ａ〜１０ｈがリング状に接続され、パケットＰの送信元ノードと送信先ノードとの間に位置する各ノード１０が、パケットＰを転送することでノード間のパケット通信を行うように構成された車載ネットワークシステム１００（ネットワーク）において、各ノード１０が備えるルーティング装置であって、
パケットＰの送信先ノード（送信先となる他のノード）ごとに予め設定したパケットの転送経路を記載したルーティングテーブル１２０を記憶するルーティングテーブル記憶部１２（記憶部）と、
パケットＰの転送経路からの除外が必要となった場合にパケットの転送経路の変更を要求する経路変化パケットＣを、両側の隣接ノードに送信する負荷監視部１４（送信部）と、
いずれかの隣接ノードから経路変化パケットＣを受信した場合、経路変化パケットＣを送信したノードとは反対側の隣接ノードに経路変化パケットＣを転送する転送部１５と、
いずれかの隣接ノードから受信した経路変化パケットＣに含まれる、当該経路変化パケットＣの転送経路上に位置し経路変化パケットＣが経過したノードを示す経過情報Ｄ４に基づいて、パケットＰの転送経路を再設定するルーティング部１６と、を備える。
【００５２】
高負荷等の原因によって転送不可ノードが発生した際に、転送不可ノードから各ノード１０に発信される経路変化パケットＣに、転送不可ノードと各ノード１０の間の経過したノードを示す経過情報Ｄ４を含めるようにする。各ノード１０は、経過情報Ｄ４に基づいて、転送不可ノードをバイパスするように転送経路を再設定することができる。これによって、各ノード１０が転送経路を再設定するために相互に通信を行う必要がなく、ルーティングのための通信回数を低減することができる。これによって、電力消費や通信機器に関するコストを抑制することができる。
【００５３】
（２）転送部１５は、経路変化パケットＣを転送する際に、前記経過情報に自ノードの情報を記録する。
各ノード１０の転送部１５が経路変化パケットＣを転送する際に、自ノード１０の情報を経過情報Ｄ４に追記していくことで、各ノード１０が他のノードの配置関係について予め記憶しておく必要がないため、各ノード１０のメモリに必要な容量を低減し、コストを抑制することができる。
【００５４】
（３）パケットＰの転送経路は、パケットＰの送信先ノードごとに、パケットＰの出力先ノードを両側の隣接ノードのいずれかに設定したものであり、
ルーティング部１６は、
いずれかの隣接ノードから受信した経路変化パケットＣの経過情報Ｄ４に、パケットＰの送信先ノードが含まれている場合、経過情報Ｄ４に含まれている側の隣接ノードをパケットの出力先ノードとするように、パケットＰの転送経路を再設定する。
【００５５】
またルーティング部１６は、
いずれかの隣接ノードから受信した経路変化パケットＣの経過情報Ｄ４に、パケットＰの送信先ノードが含まれていない場合、経過情報Ｄ４に含まれていない側の隣接ノードをパケットＰの出力先ノードとするように、パケットＰの転送経路を再設定する。
【００５６】
このようにパケットＰの転送経路を再設定することで、経過情報Ｄ４に含まれている送信先ノードだけでなく、経過情報Ｄ４に含まれていない送信先ノードについても転送経路を再設定することができるため、効率良くルーティングを行うことができる。
【００５７】
（４）前記経路変化パケットは、パケットＰの転送経路からの除外が必要となった転送不可ノードに関する情報Ｄ１を含み、
ルーティング部１６は、転送不可ノードを送信先ノードとするパケットＰの転送経路の再設定は行わない。
転送不可ノード自体が送信先ノードである場合は、転送不可ノードをバイパスした転送経路を設定することは不可能であるため、転送不可ノードについてはルーティングを行わないことによって、ルーティングの処理効率を向上させることができる。
【００５８】
（５）転送部１５およびルーティング部１６は、両側の隣接ノードの双方から経路変化パケットＣを受信した場合には、先に受信した経路変化パケットＣについて、反対側の隣接ノードへの転送と、転送経路の再設定を行い、後に受信した経路変化パケットＣについては処理を行わない。
このようにすることで、同じ転送不可ノードから送信された経路変化パケットＣについて、ルーティングを重複して行うことが無いため、ルーティングの処理効率を向上させることができる。また、経路変化パケットＣに転送経路の終端となるノードの指定を含めなくても、経路変化パケットＣを２回受信したノード１０が２回目に受信した経路変化パケットＣを転送せずに破棄することで、転送処理を終了させることができる。
【００５９】
実施の形態のルーティング方法を実施するルーティング装置も、同様の効果を得ることができる。
なお、前記した実施の形態では、高負荷のノードが発生したときにルーティングを行う態様を説明したが、これに限られず、例えば、通信不良等のノードが発生したときにルーティングを行っても良い。
【符号の説明】
【００６０】
１０、１０ａ〜１０ｈ  ノード
１１ａ、１１ｂ  入出力部
１２  ルーティングテーブル記憶部
１２０  ルーティングテーブル
１３  制御部
１４  負荷監視部
１５  転送部
１６  ルーティング部
２０  バス
１００  車載ネットワークシステム
Ｒ１、Ｒ２  （パケットの）転送経路
Ｒ３、Ｒ４  （経路変化パケットの）転送経路
Ｐ  パケット
Ｃ  経路変化パケット
Ｄ１  転送不可ノードの情報
Ｄ２  出力先ノードの情報
Ｄ３  フラグ
Ｄ４  経過したノードの情報（経過情報）
【図１】
2020053893.tif 000003
【図２】
2020053893.tif 000004
【図３】
2020053893.tif 000005
【図４】
2020053893.tif 000006
【図５】
2020053893.tif 000007
【図６】
2020053893.tif 000008
【図７】
2020053893.tif 000009
【図８】
2020053893.tif 000010
【図９】
2020053893.tif 000011