(57)【特許請求の範囲】
【請求項１】
複数の経路の何れかを用いて相手側と通信する通信装置において、
通信相手との間に存在するすべての経路に対し、経路の使用可能状態と、使用中コネクション数とを関連付けて経路情報として管理する経路情報管理部と、
経路状態を監視して、前記経路情報の更新を行う経路監視処理部と、
経路異常として、自装置から送信するパケットの経路と、通信相手から送信されたパケットの経路とが異なるか否かの検出を行う経路変更検出部と、
指定された通信相手に対して、前記経路情報から、経路が使用可能であり、かつ使用中コネクション数が最も少ない条件の経路を選択し、前記経路異常があった場合には、通信相手にメッセージで通知し、かつ自装置から送信されたパケットと、通信相手から送信されたパケットとが常に同一経路を辿るように、前記条件にもとづいて経路を変更する経路獲得処理部と、
前記経路獲得処理部で選択された経路に応じたヘッダを生成してパケットに付加し、選択された経路からパケットを送信する送信処理部と、
を有することを特徴とする通信装置。
【請求項２】
複数の経路の何れかを用いて相手側と通信する通信方法において、
通信相手との間に存在するすべての経路に対し、経路の使用可能状態と、使用中コネクション数とを関連付けて経路情報として管理し、
経路状態を監視して、前記経路情報の更新を行い、
指定された通信相手に対して、前記経路情報から、経路が使用可能であり、かつ使用中コネクション数が最も少ない条件の経路を選択し、
選択された経路に応じたヘッダを生成してパケットに付加し、選択された経路からパケットを送信し、
経路異常として、自装置から送信するパケットの経路と、通信相手から送信されたパケットの経路とが異なるか否かの検出を行い、
前記経路異常があった場合には、通信相手にメッセージで通知し、かつ自装置から送信されたパケットと、通信相手から送信されたパケットとが常に同一経路を辿るように、前記条件にもとづいて経路を変更して通信を行うことを特徴とする通信方法。
【請求項３】
複数の経路の何れかを用いて相手側と通信する通信処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
コンピュータを、
通信相手との間に存在するすべての経路に対し、経路の使用可能状態と、使用中コネクション数とを関連付けて経路情報として管理する経路情報管理部、
経路状態を監視して、前記経路情報の更新を行う経路監視処理部、
経路異常として、自装置から送信するパケットの経路と、通信相手から送信されたパケットの経路とが異なるか否かの検出を行う経路変更検出部、
指定された通信相手に対して、前記経路情報から、経路が使用可能であり、かつ使用中コネクション数が最も少ない条件の経路を選択し、前記経路異常があった場合には、通信相手にメッセージで通知し、かつ自装置から送信されたパケットと、通信相手から送信されたパケットとが常に同一経路を辿るように、前記条件にもとづいて経路を変更する経路獲得処理部、
前記経路獲得処理部で選択された経路に応じたヘッダを生成してパケットに付加し、選択された経路からパケットを送信する送信処理部、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
複数の経路の何れかを用いて相手側と通信する通信処理をコンピュータに実行させるプログラムにおいて、
コンピュータを、
通信相手との間に存在するすべての経路に対し、経路の使用可能状態と、使用中コネクション数とを関連付けて経路情報として管理する経路情報管理部、
経路状態を監視して、前記経路情報の更新を行う経路監視処理部、
経路異常として、自装置から送信するパケットの経路と、通信相手から送信されたパケットの経路とが異なるか否かの検出を行う経路変更検出部、
指定された通信相手に対して、前記経路情報から、経路が使用可能であり、かつ使用中コネクション数が最も少ない条件の経路を選択し、前記経路異常があった場合には、通信相手にメッセージで通知し、かつ自装置から送信されたパケットと、通信相手から送信されたパケットとが常に同一経路を辿るように、前記条件にもとづいて経路を変更する経路獲得処理部、
前記経路獲得処理部で選択された経路に応じたヘッダを生成してパケットに付加し、選択された経路からパケットを送信する送信処理部、
として機能させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信装置、通信方法、記録媒体及びプログラムに関し、特に複数の経路の何れかを用いて相手側と通信する通信装置、複数の経路の何れかを用いて相手側と通信する通信方法、複数の経路の何れかを用いて相手側と通信する通信処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体及び複数の経路の何れかを用いて相手側と通信する通信処理をコンピュータに実行させるプログラムに関する。
【０００２】
【従来の技術】
例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）通信では、ＩＰパケットは複数のルータを経由し、目的の通信装置に届くことが基本であり、通常は複数の経路から１の経路を選択して通信が実行される。
【０００３】
ところで、複数存在する経路から１の経路を選択する方法としては、例えば、ＲＩＰ（Routing Information Protocol）と呼ばれるプロトコルが用いられていた。このＲＩＰにおいては、各ルータが隣接する装置のアドレスとホップ数とを記憶しておき、受信したＩＰパケットをホップ数が最も少ない経路に対して送出することにより、最適な経路を選択していた。
【０００４】
【発明が解決しようとする課題】
ところで、このようなＲＩＰにおいては、ホップ数のみを参照して経路の選択がなされることから、混雑状態を反映した経路の選択ができないという問題点があった。
【０００５】
また、ネットワーク上の所定の装置が故障したような場合には、経路を変更する必要が生じるが、従来においては、各装置間の通信によって故障を示す情報が伝搬されるため、経路情報が収束するまでに時間を要するという問題点があった。
【０００６】
本発明は、以上の状況に鑑みてなされたものであり、経路の混雑状況を反映した経路選択を可能とするとともに、ネットワークを構成する装置の一部に故障が発生した場合においても経路情報が迅速に収束する通信装置を提供することを目的とする。
また、本発明の他の目的は、経路の混雑状況を反映した経路選択を可能とするとともに、ネットワークを構成する装置の一部に故障が発生した場合においても経路情報が迅速に収束する通信方法を提供することである。
さらに、本発明の他の目的は、経路の混雑状況を反映した経路選択を可能とするとともに、ネットワークを構成する装置の一部に故障が発生した場合においても経路情報が迅速に収束するようなプログラムを記録した、コンピュータ読み取り可能な記録媒体を提供することである。
また、本発明の他の目的は、経路の混雑状況を反映した経路選択を可能とするとともに、ネットワークを構成する装置の一部に故障が発生した場合においても経路情報が迅速に収束させる機能を、コンピュータに実行させるプログラムを提供することである。
【０００７】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示す、複数の経路の何れかを用いて相手側と通信する通信装置１において、前記複数の経路に係る情報を記憶する記憶手段１ａと、前記記憶手段１ａに記憶されている複数の経路に係る情報の何れかを選択する選択手段１ｂと、前記選択手段１ｂによって選択された経路に係る情報に応じたヘッダを有するパケットを生成するパケット生成手段１ｃと、前記パケット生成手段１ｃによって生成されたパケットを送信する送信手段１ｄと、を有することを特徴とする通信装置が提供される。
【０００８】
ここで、記憶手段１ａは、複数の経路に係る情報を記憶する。選択手段１ｂは、記憶手段１ａに記憶されている複数の経路に係る情報の何れかを選択する。パケット生成手段１ｃは、選択手段１ｂによって選択された経路に係る情報に応じたヘッダを有するパケットを生成する。送信手段１ｄは、パケット生成手段１ｃによって生成されたパケットを送信する。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の動作原理を説明する原理図である。この図に示すように、本発明に係る通信装置１は、記憶手段１ａ、選択手段１ｂ、パケット生成手段１ｃ、送信手段１ｄ、監視手段１ｅ、および、供給手段１ｆによって構成されており、ネットワーク２に接続されている。
【００１０】
記憶手段１ａは、通信装置１がネットワーク２を経由して図示せぬ他の通信装置と通信する場合に選択可能な複数の経路を示す情報（以下、経路情報と称する）を記憶している。
【００１１】
選択手段１ｂは、記憶手段１ａに記憶されている複数の経路情報から、所定の経路情報を選択する。
パケット生成手段１ｃは、選択手段１ｂによって選択された経路情報に応じたヘッダを有するパケットを生成する。
【００１２】
送信手段１ｄは、パケット生成手段１ｃによって生成されたパケットをネットワーク２に対して送出する。
監視手段１ｅは、ネットワーク２に存在する複数の経路の状態を監視する。
【００１３】
供給手段１ｆは、監視手段１ｅによって得られた経路の状態を記憶手段１ａに供給して記憶させる。
次に、以上の原理図の動作について説明する。
【００１４】
監視手段１ｅは、ネットワーク２の使用可能状況と混雑状況とを監視し、監視結果を供給手段１ｆに対して通知する。
供給手段１ｆは、監視手段１ｅの監視結果を記憶手段１ａに供給し、各経路情報と関連付けて記憶させる。
【００１５】
記憶手段１ａは、特定の通信相手に対する選択可能な経路情報と、その使用可能状況と、混雑状況とを関連付けて記憶する。例えば、通信相手Ｓと通信する際に選択可能な経路は、Ｒａ，Ｒｂ，Ｒｃ，Ｒｄであり、Ｒａは現在使用不可能であり、Ｒｂ，Ｒｃは混雑していることが記憶されている。
【００１６】
選択手段１ｂは、通信相手が特定された場合には、記憶手段１ａに記憶されている情報を参照して、最適な経路を選択する。いまの例では、例えば、使用可能であって混雑していない経路Ｒｄが選択される。
【００１７】
パケット生成手段１ｃは、選択手段１ｂによって選択された経路情報に応じたヘッダを有するパケットを生成する。いまの例では、経路Ｒｄに対応する情報がヘッダに付加されたパケットが生成される。
【００１８】
送信手段１ｄは、パケット生成手段１ｃによって生成されたパケットを、ネットワーク２に対して送出する。
その結果、送信手段１ｄから送出されたパケットは、その時点における使用可能状況や混雑状況を反映した最適な経路を経由して通信相手に送り届けられることになる。
【００１９】
以上に説明したように、本発明に係る通信装置１によれば、経路の使用可能状況や混雑状況に応じて最適な経路を選択し、通信相手との間でパケットを送受信するようにしたので、時々刻々と変化するネットワークの状況を考慮して、最適な経路で通信を行うことが可能となる。
【００２０】
次に、図２を参照して本発明の実施の形態について説明する。
図２は、本発明に係る通信装置１０を含むシステム全体の構成例を示す図である。
【００２１】
この図において、通信装置１０，１１は、本発明に係る装置であり、ＩＰアドレスＩＰｘ，ＩＰｙをそれぞれ有しており、ＬＡＮ（Local Area Network）１２，１３をそれぞれ介して、他の通信装置との間で情報を授受する。なお、通信装置１０の詳細な構成については図３を参照して後述する。
【００２２】
ＬＡＮ１２〜１７は、構内情報通信網であり、例えば、オフィス内やビル内など限られた範囲のコンピュータ同士を接続し、情報の授受を可能とする。
接続装置２０〜２３は、ＩＰアドレスＩＰａ〜ＩＰｄをそれぞれ有しており、ネットワーク同士を相互に接続するとともに、受信したパケットを最適な経路に送出する。
【００２３】
ゲートウエイ（ＧＷ）２４〜２７は、ネットワーク同士を相互に接続するとともに、情報の授受を可能とするためにメッセージのフォーマットやアドレス、プロトコルを接続先のネットワーク用に変換する。
【００２４】
次に、図３を参照して、図２に示す通信装置１０の詳細な構成例について説明する。
この図に示すように、本発明に係る通信装置１０は、パケット受信部１０ａ、ＩＰパケット受信処理部１０ｂ、ＵＤＰ（User Datagram Protocol）受信処理部１０ｃ、経路情報管理部１０ｄ、経路監視処理部１０ｅ、ＴＣＰタイムアウト検出部１０ｆ、ＵＤＰ送信処理部１０ｇ、ＩＰパケット送信処理部１０ｈ、パケット送信部１０ｉ、ＴＣＰ受信処理部１０ｊ、経路変更検出部１０ｋ、経路獲得処理部１０ｍ、および、ＴＣＰ送信処理部１０ｎによって構成されている。
【００２５】
パケット受信部１０ａは、ＬＡＮ１２から自己宛のパケットを受信する。
ＩＰパケット受信処理部１０ｂは、パケット受信部１０ａによって受信されたパケットをそのプロトコルに応じてＴＣＰ受信処理部１０ｊ、ＵＤＰ受信処理部１０ｃ、または、経路監視処理部１０ｅの何れかを選択して供給する。
【００２６】
ＵＤＰ受信処理部１０ｃは、独立したＵＤＰパケット（データグラム）を、アプリケーションが直接やり取りするためのプロトコルであるＵＤＰに従って受信する。具体的には、ＵＤＰ受信処理部１０ｃは、通信相手から送信されてきた経路に関する情報を受信し、経路情報管理部１０ｄに供給する。
【００２７】
経路情報管理部１０ｄは、特定の通信相手との間に存在する全ての経路と、それぞれの経路の使用可能状態、および、使用中のコネクション数とを関連付けて管理している。
【００２８】
図４は、通信装置１０が有する通信装置１１との間の経路情報の一例を示す図である。この図において、「相手隣接アドレス」は、通信装置１１が隣接する接続装置のＩＰアドレスを示している。「自己隣接アドレス」は、通信装置１０が隣接する接続装置のＩＰアドレスを示している。「状態」は、その経路が現在使用可能であるか否かを示す。使用中コネクション数は、その経路に対して現在割り当てられているコネクションの数を示している。なお、コネクションとは、セッションと同意であり、通信の単位を指す。
【００２９】
経路監視処理部１０ｅは、送信処理においてタイムアウトが発生した場合（通信相手から応答が帰ってこない場合）には、ＩＣＭＰ（Internet Message Control Protocol）に基づくエコーパケットを送受信する。
【００３０】
ＴＣＰタイムアウト検出部１０ｆは、送信時においてタイムアウトが発生した場合にはこれを検出し、経路情報管理部１０ｄに通知する。
ＵＤＰ送信処理部１０ｇは、通信相手に対して経路の状態が変化したことを示す情報を送信する。
【００３１】
ＩＰパケット送信処理部１０ｈは、経路監視処理部１０ｅ、ＵＤＰ送信処理部１０ｇ、または、ＴＣＰ送信処理部１０ｎからの情報を取得して、パケット送信部１０ｉに供給する。
【００３２】
パケット送信部１０ｉは、ＩＰパケット送信処理部１０ｈから供給されたパケットをＬＡＮ１２に対して送出する。
ＴＣＰ受信処理部１０ｊは、プロトコルがＴＣＰであるパケットを上位プロトコルに対して受け渡すとともに、パケットのヘッダに付加されている経路情報を経路変更検出部１０ｋに対して供給する。
【００３３】
経路変更検出部１０ｋは、ＴＣＰ受信処理部１０ｊから供給された経路情報（通信相手が選択した経路）と、ＴＣＰ送信処理部１０ｎから供給された経路情報（自己が選択した経路）とを比較し、これらが異なる場合には、通信相手が何らかの理由により経路を変更したとして、その旨を経路獲得処理部１０ｍに通知する。
【００３４】
経路獲得処理部１０ｍは、経路を変更する処理を実行する。
ＴＣＰ送信処理部１０ｎは、上位プロトコルから供給されたパケットをＩＰパケット送信処理部１０ｈに供給するとともに、そのヘッダに付加されている経路情報を抽出して、経路変更検出部１０ｋに供給する。
【００３５】
次に、以上の実施の形態の動作について説明する。
いま、上位プロトコルから、接続装置２０に対するパケットの送信要求がなされたとすると、ＴＣＰ送信処理部１０ｎは、経路獲得処理部１０ｍに対して問い合わせを行い、接続装置２０に至るまでの経路情報が設定済みであるか否かを判定し、設定済みである場合には設定されている経路を用いてパケットを送出する。また、設定されていない場合には、経路獲得処理部１０ｍに対して経路の獲得を依頼する。
【００３６】
経路獲得処理部１０ｍは、経路の獲得が依頼された場合、経路情報管理部１０ｄに格納されている経路情報から、指定された通信相手に係る経路情報を検索する。そして、取得された経路情報から、図４に示す「状態」が使用可能であり、また、「使用中コネクション数」が最も少ないものを最適な経路として選択し、ＴＣＰ送信処理部１０ｎに供給する。このとき、選択した経路情報の使用中コネクション数を“１”だけインクリメントする。例えば、図４の例では、使用可能な状態であって使用中コネクション数が最も少ないのは第３番目の経路であるので、この経路が選択され、使用中コネクション数が“３”に変更される。また、経路獲得処理部１０ｍは、獲得した経路とコネクションとを関連付けて記憶し、次回からの問い合わせに対しては既に獲得されている経路情報を供給する。
【００３７】
ＴＣＰ送信処理部１０ｎは、供給された経路情報に対応するヘッダを生成してパケットに付加し、ＩＰパケット送信処理部１０ｈに供給する。具体的には、ＴＣＰ送信処理部１０ｎは、ＩＰパケットの固定域（ソースアドレスとデスティネーションアドレスを格納する領域）と、ＩＰオプション域（ソースアドレスとデスティネーションアドレスとの間の経路を示す情報を格納する領域）とに対して、経路獲得処理部１０ｍから供給された経路情報を格納する。
【００３８】
いまの例では、選択された経路は、接続装置２０、ゲートウエイ２４、および、接続装置２３を介して通信装置１１に至る経路であるので、図５に示すように、ソースアドレスとデスティネーションアドレスには、通信装置１０，２３のＩＰアドレスであるＩＰｘ，ＩＰｄがそれぞれ格納される。また、ＩＰオプション域には、接続装置２０と通信装置１１のＩＰアドレスであるＩＰａとＩＰｙとがそれぞれ格納される。
【００３９】
このようなヘッダを付加されたパケットは、ＩＰパケット送信処理部１０ｈに供給される。ＩＰパケット送信処理部１０ｈは、受け取ったＩＰパケットをパケット送信部１０ｉを介してＬＡＮ１２に対して送出する。
【００４０】
以上のようにして送出されたパケットは、先ず、接続装置２０に受信され、ゲートウエイ２４，２７を経由して接続装置２３に受信され、そこで、ヘッダの書き換えが再度なされる。即ち、デスティネーションアドレスＩＰｄがＩＰオプション域に格納されている次のアドレスであるＩＰｙによって置換される。その結果、図６に示すようなパケットを得る。
【００４１】
その結果、通信装置１０から送信されたパケットは、接続装置２０、ゲートウエイ２４，２７、および、接続装置２３を経由して通信装置１１に受信されることになる。
【００４２】
通信装置１１は、受信したパケットに対する応答を示すパケットを、同一経路で送信する。その結果、通信装置１０がこのパケットを受信した場合には、通信処理が開始されることになる。
【００４３】
なお、通信装置１０が応答を示すパケットを受信できなかった場合には、通信装置１０のＴＣＰタイムアウト検出部１０ｆによってタイムアウトが検出されることになる。
【００４４】
タイムアウトが検出されると、経路情報管理部１０ｄは、経路獲得処理部１０ｍに通知して新たな経路を獲得させるとともに、それまで使用していた経路の使用中コネクション数を１だけデクリメントする。そして、経路情報管理部１０ｄは、経路監視処理部１０ｅに対して、タイムアウトが発生した経路が本当に使用不能であるのか否かを調べるとともに、経路の復旧を検出するためのエコー処理を実行させる。
【００４５】
エコー処理では、ＩＰパケット送信処理部１０ｈが、故障したと思われる経路に対してエコーパケットを送出し、その応答の有無から経路が使用可能であるか否かを判定する。即ち、所定の時間内にエコーパケットが返送されない場合には、経路が異常であるとして、経路情報管理部１０ｄに記憶されている該当する経路情報の「状態」を「使用不可」に変更するとともに、ＵＤＰ送信処理部１０ｇによりその内容を別の経路を介して通信相手に通知する。また、エコーパケットが所定の時間内に返送された場合には、正常であるとして経路の「状態」を「使用可能」に変更するとともに、その旨をＵＤＰ送信処理部１０ｇにより通信相手に対して通知する。
【００４６】
図７は、経路の異常を通信相手に通知する場合のパケットの構造の一例を示す図である。この例では、ＩＰヘッダには、ソースアドレスとデスティネーションアドレスとが格納されている。また、ＵＤＰヘッダにはポートが格納されている。更に、データ格納領域には、図４に示す相手隣接アドレスと自己隣接アドレスに対応するＩＰアドレス「ＩＰａ」と「ＩＰｃ」とが格納されており、また、「タイプ」にはその経路が正常であるか、または、異常であるかを示す情報が格納されている。
【００４７】
ところで、以上の例では、通信装置１０が経路の異常を検出する場合であったが、通信装置１１が経路の異常を検出した場合には、通信装置１１が経路を変更するので、通信装置１１から送信されたパケットの経路が変化することになる。その場合には、経路変更検出部１０ｋが、自己が送出するパケットと、通信装置１１から送信されて来たパケットの経路が異なることを検出することになる。
【００４８】
経路獲得処理部１０ｍは、経路変更検出部１０ｋによって経路が異なることが検出された場合には、同一の経路を辿るように自己の経路を変更する。その結果、通信装置１１から送信されたパケットと、通信装置１０から送信されたパケットとは常に同一の経路を辿って伝送されることになる。
【００４９】
通信相手が経路を変更した場合には、所定の時間が経過した後に、その旨を示すメッセージが送信されて来るので、ＵＤＰ受信処理部１０ｃは同メッセージを受信すると、経路監視処理部１０ｅに対してエコーパケットを送信させ、当該経路が使用不能であるか否かをチェックした後、使用不能である場合には経路情報管理部１０ｄの該当する経路の状態を「使用不能」に変更する。そして、経路監視処理部１０ｅは、当該経路が復旧されたことを検出するために、エコーパケットを所定の周期で送信する。
【００５０】
以上に示したように、本発明の実施の形態によれば、通信相手との間に存在する全ての経路を経路情報として格納するとともに、各経路の混雑度を示す使用中コネクション数も関連付けて格納するようにしたので、経路の混雑度を考慮に入れて経路を選択することが可能となる。
【００５１】
また、通信相手との間に存在する全ての経路を経路情報として格納するとともに、各経路の使用可能状況を関連付けて記憶するようにしたので、ネットワークを構成する装置の一部に故障が発生した場合においても経路情報を迅速に収束させることが可能となる。
【００５２】
最後に図８〜図１３を参照して、以上の実施の形態において実行される処理の一例について説明する。
図８は、上位プロトコルからパケットの送信要求がなされた場合に実行される処理の一例を説明するフローチャートである。このフローチャートが開始されると、以下の処理が実行される。
［Ｓ１］ＴＣＰ送信処理部１０ｎは、経路獲得処理部１０ｍに問い合わせを行い、その要求に対するコネクションが既に設定されているか否かを判定し、設定済みである場合にはステップＳ２に進み、それ以外の場合にはステップＳ４に進む。
［Ｓ２］経路獲得処理部１０ｍは、対象となる経路が使用不可であるか否かを判定し、使用不可である場合にはステップＳ３に進み、それ以外の場合にはステップＳ８に進む。
［Ｓ３］経路獲得処理部１０ｍは、経路情報管理部１０ｄの該当する経路の使用中コネクション数を１だけデクリメントする。
［Ｓ４］経路獲得処理部１０ｍは、宛先アドレスに該当する経路情報を経路情報管理部１０ｄから選択する。
［Ｓ５］経路獲得処理部１０ｍは、経路情報管理部１０ｄの所定の情報を指示するポインタとしてのＴＣＰコネクションに経路情報を記憶する。
［Ｓ６］経路獲得処理部１０ｍは、経路情報管理部１０ｄに格納されている相手隣接アドレスと自己隣接アドレスとからＩＰオプション域情報を作成する。
［Ｓ７］経路獲得処理部１０ｍは、該当する使用中コネクション数を１だけインクリメントする。
［Ｓ８］ＩＰパケット送信処理部１０ｈは、ＴＣＰ送信処理部１０ｎによって生成されたパケットを、送信相手に向けて送信する。
【００５３】
次に、パケットを送信した場合において、ＴＣＰタイムアウト検出部１０ｆによってタイムアウトが検出された場合に実行される処理の一例について説明する。このフローチャートが開始されると、以下の処理が実行される。
［Ｓ２０］経路監視処理部１０ｅは、エコー処理を起動する。
【００５４】
なお、この処理の詳細は、図１０を参照して後述する。
［Ｓ２１］経路監視処理部１０ｅは、タイムアウトが発生した経路に対応する経路情報のコネクション数を１だけデクリメントする。
［Ｓ２２］経路獲得処理部１０ｍは、経路情報管理部１０ｄから他の経路情報を選択する。即ち、経路獲得処理部１０ｍは、タイムアウトが発生した経路以外であって、状態が「使用可能」で、コネクション数が最も少ないものを代替経路として選択する。
［Ｓ２３］経路獲得処理部１０ｍは、選択された代替経路によってＴＣＰコネクションの経路情報を更新する。
［Ｓ２４］経路獲得処理部１０ｍは、選択された代替経路によってＩＰオプション域情報を更新する。
［Ｓ２５］経路獲得処理部１０ｍは、代替経路の使用中コネクション数を１だけインクリメントする。
【００５５】
次に、図１０を参照して、図９に示す「エコー処理」の詳細について説明する。このフローチャートが開始されると、以下の処理が実行される。
［Ｓ３０］経路監視処理部１０ｅは、ＩＰパケット送信処理部１０ｈにより、対象となる経路に対してエコーを送信する。
［Ｓ３１］経路監視処理部１０ｅは、図示せぬ経路監視タイマを起動する。
［Ｓ３２］経路監視処理部１０ｅは、タイムアウトが発生したか否かを判定し、タイムアウトが発生した場合にはステップＳ３３に進み、それ以外の場合にはステップＳ３２に戻って同様の処理を繰り返す。
［Ｓ３３］経路監視処理部１０ｅは、経路情報管理部１０ｄの該当する経路の状態を「使用不可」に変更する。
［Ｓ３４］ＵＤＰ送信処理部１０ｇは、通信相手に対して経路状態が変化したことを示すメッセージを通知する。
［Ｓ３５］経路監視処理部１０ｅは、復旧処理を起動する。なお、この処理の詳細については、図１１を参照して後述する。
【００５６】
次に、図１１を参照して、図１０に示す「復旧処理」の詳細について説明する。このフローチャートが開始されると、以下の処理が実行される。
［Ｓ４０］経路監視処理部１０ｅは、該当する通信相手に対してエコーパケットを送信する。
［Ｓ４１］経路監視処理部１０ｅは、ＩＰパケット受信処理部１０ｂがエコーパケットを受信したか否かを判定し、受信した場合にはステップＳ４２に進み、それ以外の場合にはステップＳ４０に戻って同様の処理を繰り返す。
［Ｓ４２］経路監視処理部１０ｅは、経路情報管理部１０ｄの該当する経路の状態を「使用可能」に変更する。
［Ｓ４３］ＵＤＰ送信処理部１０ｇは、経路が使用可能となったことを通信相手に対して通知する。
【００５７】
次に、図１２を参照して、通信相手から経路の状態が変化したことが通知された場合の処理の一例を説明する。このフローチャートが開始されると、以下の処理が実行される。
［Ｓ５０］ＵＤＰ受信処理部１０ｃは、経路情報の状態変化を受信する。
［Ｓ５１］経路の状態が使用不可から使用可能に変化した場合にはステップＳ５２に進み、使用可能から使用不可に変化した場合にはステップＳ５３に進む。
［Ｓ５２］エコー処理によって経路の復旧を検出する復旧処理＃２を起動する。なお、この処理の詳細は図１３を参照して後述する。
［Ｓ５３］ＩＰパケット送信処理部１０ｈは、対象経路に対してエコーパケットを送信する。
［Ｓ５４］経路監視処理部１０ｅは、図示せぬ経路監視タイマを起動する。
［Ｓ５５］経路監視処理部１０ｅは、タイムアウトが発生したか否かを判定し、タイムアウトが発生した場合にはステップＳ５６に進み、それ以外の場合にはステップＳ５５に戻って同様の処理を繰り返す。
［Ｓ５６］経路監視処理部１０ｅは、経路情報管理部１０ｄの該当する経路情報の状態を「使用不可」に変更する。
［Ｓ５７］経路監視処理部１０ｅは、図１１に示す復旧処理を起動する。
【００５８】
次に、図１３を参照して、図１２に示す「復旧処理＃２」の詳細について説明する。このフローチャートが開始されると、以下の処理が実行される。
［Ｓ６０］ＩＰパケット送信処理部１０ｈは、エコーパケットを送信する。
［Ｓ６１］ＩＰパケット受信処理部１０ｂは、エコーパケットを受信しなかった場合にはステップＳ６０に戻って同様の処理を繰り返し、それ以外の場合にはステップＳ６２に進む。
［Ｓ６２］経路監視処理部１０ｅは、経路情報管理部１０ｄの該当する経路の状態を「使用可能」に変更する。
【００５９】
以上の処理によれば、図３を参照して既述した機能を実現することが可能となる。
なお、以上の実施の形態では、経路が４つの場合を例に挙げて説明したが、これは一例であり、本発明はこのような場合にの限定されるものではないことはいうまでもない。
【００６０】
また、以上の実施の形態では、経路情報は通信装置１１を対象とするもののみを例示したが、実際には通信相手毎に同様の経路情報が準備されている。
最後に、上記の処理機能は、コンピュータによって実現することができる。その場合、通信装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フロッピーディスク（ＦＤ）、磁気テープなどがある。光ディスク装置には、ＤＶＤ(Digital Versatile Disc)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)などがある。光磁気記録媒体には、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＭＯ(Magneto-Optical disk)などがある。
【００６１】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００６２】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００６３】
【発明の効果】
以上説明したように本発明では、経路異常として、自装置から送信するパケットの経路と、通信相手から送信されたパケットの経路とが異なるか否かの検出を行い、経路異常があった場合には、通信相手にメッセージで通知し、かつ自装置から送信されたパケットと、通信相手から送信されたパケットとが常に同一経路を辿るように、経路が使用可能でありかつ使用中コネクション数が最も少ない条件の経路を選択する構成とした。これにより、ネットワークを構成する装置の一部に故障が発生した場合でもすみやかに最適経路に変更することが可能になる。
【図面の簡単な説明】
【図１】本発明の動作原理を説明する原理図である。
【図２】本発明に係る通信装置を含むシステム全体の構成例である。
【図３】本発明に係る通信装置の実施の形態の構成例である。
【図４】図３に示す経路情報管理部に格納されている経路情報の一例を示す図である。
【図５】図２に示す通信装置１０から送出されるパケットの一例を示す図である。
【図６】図２に示す接続装置２３から送出されるパケットの一例を示す図である。
【図７】図２に示す通信装置１０から送出される経路の状態の変化を示すパケットの一例である。
【図８】上位プロトコルから送信要求があった場合に実行される処理の一例を説明するフローチャートである。
【図９】パケット送信時においてタイムアウトが発生した場合に実行される処理の一例を説明するフローチャートである。
【図１０】図９に示すエコー処理の詳細を説明するフローチャートである。
【図１１】図１０に示す復旧処理の詳細を説明するフローチャートである。
【図１２】他の通信装置から経路の変化を示す情報を受信した場合に実行される処理の一例を説明するフローチャートである。
【図１３】図１２に示す復旧処理＃２の詳細を説明するフローチャートである。
【符号の説明】
１  通信装置
１ａ  記憶手段
１ｂ  選択手段
１ｃ  パケット生成手段
１ｄ  送信手段
１ｅ  監視手段
１ｆ  供給手段
２  ネットワーク
１０，１１  通信装置
１０ａ  パケット受信部
１０ｂ  ＩＰパケット受信処理部
１０ｃ  ＵＤＰ受信処理部
１０ｄ  経路情報管理部
１０ｅ  経路監視処理部
１０ｆ  ＴＣＰタイムアウト検出部
１０ｇ  ＵＤＰ送信処理部
１０ｈ  ＩＰパケット送信処理部
１０ｉ  パケット送信部
１０ｊ  ＴＣＰ受信処理部
１０ｋ  経路変更検出部
１０ｍ  経路獲得処理部
１０ｎ  ＴＣＰ送信処理部
１２〜１７  ＬＡＮ
２０〜２３  接続装置
２４〜２７  ゲートウエイ
【図１】
0003764059.tif 000002
【図２】
0003764059.tif 000003
【図３】
0003764059.tif 000004
【図４】
0003764059.tif 000005
【図５】
0003764059.tif 000006
【図６】
0003764059.tif 000007
【図７】
0003764059.tif 000008
【図８】
0003764059.tif 000009
【図９】
0003764059.tif 000010
【図１０】
0003764059.tif 000011
【図１１】
0003764059.tif 000012
【図１２】
0003764059.tif 000013
【図１３】
0003764059.tif 000014