(57)【特許請求の範囲】
【請求項１】
データ送信装置とデータ受信装置と、前記データ送信装置と前記データ受信装置との間に配置された複数のデータ中継装置とを有し、
前記複数のデータ中継装置には、前記データ送信装置と前記データ受信装置との間に設定されたデータ中継経路に含まれる複数の経路内データ中継装置が含まれるデータ通信システムであって、
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
各経路内データ中継装置のデータ処理性能が示された処理性能通知情報を生成し、生成した前記処理性能通知情報を前記データ送信装置及び前記データ受信装置のうちの他方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能通知情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記データ中継経路において自己のデータ中継先として設定された設定中継先データ中継装置のデータ処理性能が所定のレベルに適合するか否かを判断し、判断結果に基づき自己のデータ中継先を選択することを特徴とするデータ通信システム。
【請求項２】
前記複数の経路内データ中継装置のうちのいずれかの経路内データ中継装置には、前記データ中継経路に含まれない少なくとも一つ以上の経路外データ中継装置が接続され、
前記いずれかの経路内データ中継装置は、
前記設定中継先データ中継装置のデータ処理性能に対する判断の判断結果に基づき、自己のデータ中継先を前記経路外データ中継装置のうちのいずれかの経路外データ中継装置に変更することを特徴とする請求項１に記載のデータ通信システム。
【請求項３】
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
前記データ送信装置及び前記データ受信装置のうちの他方より送信された、前記各経路内データ中継装置のデータ処理性能を調査する処理性能調査情報を受信し、受信した前記処理性能調査情報に基づき前記処理性能通知情報を生成することを特徴とする請求項１に記載のデータ通信システム。
【請求項４】
前記データ送信装置及び前記データ受信装置のうちの他方は、
前記処理性能調査情報を生成し、生成した前記処理性能調査情報を前記データ送信装置及び前記データ受信装置のうちの一方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能調査情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能調査情報を受信し、受信した前記処理性能調査情報に自己のデータ処理性能を記述し、自己のデータ処理性能が記述された前記処理性能調査情報を他の経路内データ中継装置に転送し、
前記データ送信装置及び前記データ受信装置のうちの一方は、
前記複数の経路内データ中継装置間で順次転送され前記各経路内データ中継装置によりデータ処理性能が記述された前記処理性能調査情報を受信し、受信した前記処理性能調査情報に基づき前記処理性能通知情報を生成することを特徴とする請求項３に記載のデータ通信システム。
【請求項５】
前記各経路内データ中継装置は、
データ処理性能に関する閾値である処理性能閾値を有し、前記設定中継先データ中継装置のデータ処理性能が前記処理性能閾値に適合するか否かを判断することを特徴とする請求項１に記載のデータ通信システム。
【請求項６】
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
データ処理性能に関する閾値である処理性能閾値が含まれた処理性能通知情報を生成し、生成した前記処理性能通知情報を前記データ送信装置及び前記データ受信装置のうちの他方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能通知情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能通知情報を受信し、前記設定中継先データ中継装置のデータ処理性能が受信した前記処理性能通知情報に含まれた前記処理性能閾値に適合するか否かを判断することを特徴とする請求項１に記載のデータ通信システム。
【請求項７】
前記いずれかの経路内データ中継装置は、
前記経路外データ中継装置の各々に対して各経路外データ中継装置のデータ処理性能を調査する処理性能調査情報を送信し、前記処理性能調査情報に対する応答として前記各経路外データ中継装置より前記各経路外データ中継装置のデータ処理性能が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記各経路外データ中継装置のデータ処理性能が所定のレベルに適合するか否かを判断することを特徴とする請求項２に記載のデータ通信システム。
【請求項８】
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
複数種類のデータ処理性能が示された処理性能通知情報を生成し、生成した前記処理性能通知情報を前記データ送信装置及び前記データ受信装置のうちの他方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能通知情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の複数種類のデータ処理性能の各々が所定のレベルに適合するか否かを判断することを特徴とする請求項１に記載のデータ通信システム。
【請求項９】
前記データ送信装置及び前記データ受信装置のうちの他方は、
複数種類のデータ処理性能のうち特定のデータ処理性能を調査対象に指定する処理性能調査情報を生成することを特徴とする請求項４に記載のデータ通信システム。
【請求項１０】
前記データ送信装置及び前記データ受信装置のうちの他方は、
前記複数の経路内データ中継装置間で順次転送された前記処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記データ送信装置及び前記データ受信装置との間に所定のデータ中継経路を設定することを特徴とする請求項１に記載のデータ通信システム。
【請求項１１】
前記データ送信装置及び前記データ受信装置のうちの他方は、
所定の間隔で、前記処理性能調査情報を前記データ送信装置及び前記データ受信装置のうちの一方に向けて送信することを特徴とする請求項４に記載のデータ通信システム。
【請求項１２】
前記各経路内データ中継装置は、
前記各経路内データ中継装置のＣＰＵ使用率が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置のＣＰＵ使用率が所定のレベルに適合するか否かを判断することを特徴とする請求項１に記載のデータ通信システム。
【請求項１３】
前記各経路内データ中継装置は、
前記各経路内データ中継装置の送受信バッファの使用率が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の送受信バッファの使用率が所定のレベルに適合するか否かを判断することを特徴とする請求項１に記載のデータ通信システム。
【請求項１４】
前記各経路内データ中継装置は、
前記各経路内データ中継装置の平均データ転送量が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の平均データ転送量が所定のレベルに適合するか否かを判断することを特徴とする請求項１に記載のデータ通信システム。
【請求項１５】
前記各経路内データ中継装置は、
前記各経路内データ中継装置の最大データ転送量が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の最大データ転送量が所定のレベルに適合するか否かを判断することを特徴とする請求項１に記載のデータ通信システム。
【請求項１６】
複数のデータ通信装置に接続され、前記複数のデータ通信装置からデータ中継先を選択するデータ中継装置であって、
前記複数のデータ通信装置のうち特定のデータ通信装置より、前記特定のデータ通信装置のデータ処理性能が示された処理性能通知情報を受信する処理性能通知情報受信部と、
前記処理性能通知情報受信部により受信された前記処理性能通知情報に基づき、前記特定のデータ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断する処理性能判断部と、
前記処理性能判断部による判断結果に基づき、前記複数のデータ通信装置からデータ中継先を選択する中継先選択部とを有することを特徴とするデータ中継装置。
【請求項１７】
前記中継先選択部は、前記処理性能判断部による判断結果に基づき、前記複数のデータ通信装置のうち前記特定のデータ通信装置以外のいずれかのデータ通信装置をデータ中継先として選択することを特徴とする請求項１６に記載のデータ中継装置。
【請求項１８】
前記データ中継装置は、更に、データ処理性能に関する閾値である処理性能閾値を記録する処理性能閾値記録部を有し、
前記処理性能判断部は、前記特定のデータ通信装置のデータ処理性能が前記処理性能閾値に適合するか否かを判断することを特徴とする請求項１６に記載のデータ中継装置。
【請求項１９】
前記処理性能通知情報受信部は、前記複数のデータ通信装置の各々より、各データ通信装置のデータ処理性能を通知する処理性能通知情報を受信し、
前記処理性能判断部は、前記処理性能通知情報受信部により受信された前記処理性能通知情報に基づき、前記各データ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断し、
前記中継先選択部は、前記処理性能判断部による判断結果に基づき、前記複数のデータ通信装置からデータ中継先を選択することを特徴とする請求項１６に記載のデータ中継装置。
【請求項２０】
複数のデータ通信装置に接続されたデータ中継装置のデータ中継先を、前記複数のデータ通信装置から選択するデータ中継先選択方法であって、
前記複数のデータ通信装置のうち特定のデータ通信装置より、前記特定のデータ通信装置のデータ処理性能が示された処理性能通知情報を受信する処理性能通知情報受信ステップと、
前記処理性能通知情報受信ステップにより受信された前記処理性能通知情報に基づき、前記特定のデータ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断する処理性能判断ステップと、
前記処理性能判断ステップによる判断結果に基づき、前記複数のデータ通信装置から前記データ中継装置のデータ中継先を選択する中継先選択ステップとを有することを特徴とするデータ中継先選択方法。
【請求項２１】
前記中継先選択ステップは、前記処理性能判断ステップによる判断結果に基づき、前記複数のデータ通信装置のうち前記特定のデータ通信装置以外のいずれかのデータ通信装置を前記データ中継装置のデータ中継先として選択することを特徴とする請求項２０に記載のデータ中継先選択方法。
【請求項２２】
前記データ中継方法は、更に、データ処理性能に関する閾値である処理性能閾値を記録する処理性能閾値記録ステップを有し、
前記処理性能判断ステップは、前記特定のデータ通信装置のデータ処理性能が前記処理性能閾値に適合するか否かを判断することを特徴とする請求項２０に記載のデータ中継先選択方法。
【請求項２３】
前記処理性能通知情報受信ステップは、前記複数のデータ通信装置の各々より、各データ通信装置のデータ処理性能を通知する処理性能通知情報を受信し、
前記処理性能判断ステップは、前記処理性能通知情報受信ステップにより受信された前記処理性能通知情報に基づき、前記各データ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断し、
前記中継先選択ステップは、前記処理性能判断ステップによる判断結果に基づき、前記複数のデータ通信装置から前記データ中継装置のデータ中継先を選択することを特徴とする請求項２０に記載のデータ中継先選択方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、送信ホストと受信ホストの間にルータが複数配置されルータによりデータ配送経路が決定されるようなＩＰネットワークにおいて、送信ホストから受信ホストへの診断パケットのペイロード（データ部）に経路の途中に存在する各々のルータのＩＰアドレスと動的な状態情報や属性情報を記録しながら転送し、受信ホストに到着した診断パケットのペイロードに収集された経路途中の各ルータのＩＰアドレスと動的な状態情報や属性情報を受信ホストが送信ホスト向きに返却する診断結果パケットのペイロードに複写し、受信ホストから送信ホストへと返却される診断結果パケット内部に記録されている各ルータのＩＰアドレスと動的な状態情報は属性情報を途中のルータがパケットを転送する際に参照し、送信ホストから受信ホストへの経路で自ルータより下流に存在するルータのＩＰアドレスと動的な状態情報と属性情報を参照し、その参照した値を予め決められて自ルータ内部に設定されてある閾値と比較し、閾値以上の値となっていた場合に下流の経路に存在しパケットを中継するルータを変更することによって、データ転送時に動的な経路情報や属性情報の変化によって発生するデータ転送遅延やデータ紛失を防止し、最適なデータ配送経路を決定するＩＰネットワークシステム構築に対する経路制御手法および経路情報収集手法に関する。
【０００２】
【従来の技術】
従来、送信ホストと受信ホストの間にルータが複数配置され、ルータによりデータ配送経路が決定されデータが中継されながら配送されるようなＩＰネットワークでは、データ配送経路を決定するために、各々のルータ間でルーティングプロトコルに基づいたパケットを交換しあうことで、あるルータがデータを中継するための次のルータを決定している。
【０００３】
従来技術１．
「第３版  ＴＣＰ／ＩＰによるネットワーク構築  Ｖｏｌ．Ｉ  −原理・プロトコル・アーキテクチャ−」（Ｄｏｕｇｌａｓ  Ｃｏｍｅｒ著、村井純・楠本博之訳、共立出版株式会社発行）の第１６章によると、経路を決定するためのルーティングプロトコルとして、経路制御情報プロトコル（ＲＩＰ）、ＨＥＬＬＯプロトコル、オープンショーテストパスファーストプロトコル（ＯＳＰＦ）が示されている。
【０００４】
ＲＩＰでは、ネットワーク上に位置するルータ間でそのネットワークへの到達距離をホップカウントと呼ばれる受信ホストまでの経路に存在しているルータの数と自ＩＰアドレスとの対を、ＲＩＰパケットにより、各ルータ間で交換することで、各々のルータ内部に経路情報を構築する。
受信ホストまでの経路上に存在するルータ数が多いほどネットワーク的な距離が遠いと仮定し、ルータはデータを転送する際、受信ホストまでのホップカウントがより小さくなるように次ルータを選択する。
図４１中では、ホストＡ１００１とホストＢ１００２間で使用可能な経路は、ルータａ１００３−ルータｂ１００４−ルータｃ１００５−ルータｄ１００６で構成される第一の経路１００８と、ルータａ１００３−ルータｅ１００７−ルータｄ１００６で構成される第二の経路１００９の２経路が存在する。このようなネットワーク上でＲＩＰに基づいてＲＩＰパケットを各々のルータが交換しあい、ルータ内部に経路制御情報を作成した場合、第一の経路１００８では、ホストＡ１００１とホストＢ１００２の間には４個のルータ、つまりホップ数は４となり、また、第二の経路１００９では、ホストＡ１００１とホストＢ１００２の間には３個のルータ、つまりホップ数は３となる。
前述したように、ＲＩＰではよりホップ数の少なくなるような経路を用いるため、図４１の例では第二の経路１００９を用いて、データが転送されることになる。
【０００５】
ＨＥＬＬＯプロトコルでは、ＲＩＰで用いられている受信ホストまで経路に存在するルータ数を表したのホップカウントの変わりに、ネットワーク遅延に基づいた経路距離を用いデータを転送する。
ＨＥＬＬＯプロトコルパケットが各々のルータによって交換される際にタイムスタンプから計算した遅延情報を付加することにより、受信ホストまでの距離を遅延を用いて表し、より遅延の少なくなるような経路をルータが選択しながら、配送経路を確立したり変更したりする。
図４２のネットワークモデル内の各構成要素は図４１の構成要素と同じため、ここでの説明は省略する。このようなネットワーク上でＨＥＬＬＯプロトコルに基づいてＨＥＬＬＯプロトコルパケットを各々のルータが交換しあい、ルータ内部に経路制御情報を作成した場合、第一の経路１００８では、ホストＡ１００１とホストＢ１００２の間の合計遅延は、０．３ｍｓとなり、また、第二の経路１００９では、ホストＡ１００１とホストＢ１００２の間の合計遅延は０．５ｍｓとなる。
前述したようにＨＥＬＬＯプロトコルではより転送遅延の少なくなるような経路を用いるため、図４２の例では、第一の経路１００８を用いて、データが転送されることになる。
【０００６】
ＯＳＰＦプロトコルでは、ネットワーク上に位置する各々のルータの管理者が、予め接続インタフェースの速度や物理伝送路の帯域幅など静的な情報を基にコストと呼ばれる値を定義する。
各々のルータ間では、予め定義されたコスト情報を交換することで、自ルータ内に経路情報を構築し、データを転送する際は予め交換されているコスト情報を基に、よりコストが低くなるような次ルータへと転送する。
図４３のネットワークモデル内の各構成要素は図４１の構成要素と同じため、ここでの説明は省略する。このようなネットワーク上でＯＳＰＦプロトコルに基づいてＯＳＰＦプロトコルパケットを各々のルータが交換しあい、ルータ内部に経路制御情報を作成した場合、第一の経路１００８では、ホストＡ１００１とホストＢ１００２の間の合計コストは４となり、また、第二の経路１００９では、ホストＡ１００１とホストＢ１００２の間の合計コストは９となる。
前述したようにＯＳＰＦプロトコルではよりコストが少なくなるような経路を用いるため、図４３の例では、第一の経路１００８を用いて、データが転送されることになる。
【０００７】
従来技術２．
図４４は、「特開平８−８９０９  ネットワークシステムの状態診断・監視装置」で示されている、ネットワークシステムの状態診断・監視装置の構成図である。
【０００８】
ここでは、対象とするネットワークシステムとして、１１０１に示すネットワークＡ、１１０２に示すネットワークＢ、１１０３に示すネットワークＣの、３つの広域ネットワークを基幹とするシステムを想定している。このようなネットワークシステムに対して、１１１１で示す監視装置がシステムの診断・監視を行うものとする。
【０００９】
そのために、従来技術２では、テスト用のパケットをネットワーク上に流す。例えば、装置１１１２〜１１１７（装置１１１２、１１１４、１１１６は中継装置）、およびその周辺のネットワークの生死状態、負荷状態を監視するときには、監視装置１１１１から、矢印１１１２〜１１１７を巡回して戻ってくるパケットを送信する。
【００１０】
各装置は、パケットを受信すると、ＣＰＵ負荷など自装置に関する情報、パケットの受信、送信時刻などをパケットに書き込み、次の装置に送信すると同時に、破線矢印１１３１〜１１３５で示されるように、監視装置１１１１にも返送する。
【００１１】
監視装置１１１１は、各装置から返送されてくるパケットの情報を集め、記憶しておく。情報が集められると、監視装置では、各装置によりパケットに書き込まれたＣＰＵ負荷などの情報から、各装置の状態を検知することが出来る。
【００１２】
また、各装置により書き込まれたパケットの受信、送信時刻から、パケットの挙動が分かり、ネットワークの負荷などの状態を推定することが出来る。
【００１３】
更に、パケットが正常に返送されない場合は、返送されてきた状況から、障害箇所を検知することが出来る。テストパケットの巡回経路は任意に設定することが出来るので、従来技術２によれば、以上のような診断・監視をネットワークシステムの任意の箇所について行うことが出来、テストパケットをより広範な情報収集に利用し、それにより、障害検知に限定されない広範囲のネットワークシステムの状態診断・監視を実現する装置を提供することができる。
【００１４】
従来技術３．
図４５は、「特開昭５９−２４６７  パケット交換網におけるネットワーク障害制御方法」で示される、パケット交換網の例を示している。
【００１５】
パケット交換装置Ａ１２０１〜パケット交換装置Ｄ１２０４は、それぞれ伝送回線１２１１〜１２１８を収容し、相互に接続されている。このようなパケット交換網に対して、網内で規定された通信パケットの制御方式に従わない網内を巡回する試験パケットをもうけ、各々のパケット交換装置より試験パケットを転送することにより間接するパケット交換装置及び指定されたパケット交換装置間の全ての回線と指定区間内のパケット交換装置の動作チェックを行い、試験結果を試験パケット発生元へ通知することにより効率よいルーティング制御を可能とする。
【００１６】
今、パケット交換装置Ａ１２０１が試験要求発生元とした場合を考える。
【００１７】
試験要求パケットには、試験要求発生元としてパケット交換装置Ａ１２０１、試験区間指定エリアとして、パケット交換装置Ｄ１２０４及び巡回順序情報が設定される。
【００１８】
パケット交換装置Ｄ１２０４へのルートは、パケット交換装置Ａ１２０１→パケット交換装置Ｄ１２０４、パケット交換装置Ａ１２０１→パケット交換装置Ｂ１２０２→パケット交換装置Ｄ１２０４、およびパケット交換装置Ａ１２０１→パケット交換装置Ｃ１２０３→パケット交換装置Ｂ１２０２→パケット交換装置Ｄ１２０４の３ルートが存在する。この場合巡回先の試験結果を判断し、重複する試験となるときには、その巡回局での試験をスキップする。
【００１９】
パケット交換装置Ａ１２０１では伝送回線１２１１〜１２１５の動作確認を行い、試験結果を格納する。次に、第１ルートの巡回先パケット交換装置Ｄ１２０４へ試験要求パケットを転送し、伝送回線１２１４、１２１５、１２１７、１２１８の動作確認を行って試験結果をパケット交換装置Ａへ通知する。
【００２０】
パケット交換装置Ｄへの全回線（伝送回線１２１４および１２１５）、あるいは交換装置が障害で、試験要求パケットが受け入れられない場合は、試験要求パケットは転送せずに、その旨を格納し、次ルートの試験に移行する。
【００２１】
このようにして、第２ルートの巡回先パケット交換装置Ｂ１２０２、更に第３ルートの巡回先パケット交換装置Ｃ１２０３へ試験要求パケットを転送し、各パケット交換局の状況を把握していく。
【００２２】
パケット交換装置Ａ１２０１では各巡回先の試験結果通知パケットを受信し、パケット交換装置Ａ１２０１を基点としたネットワーク全体の状況を認識することにより、ルーティング制御を作成、変更していく。
【００２３】
【発明が解決しようとする課題】
従来技術１では、送信ホストと受信ホストと、その間に位置する複数のルータにより形成されるデータ配送経路を、各々のルータ間でやりとりされるルーティングプロトコルに従ったパケットを用いて決定している。
ルーティングプロトコルとしてＲＩＰを用いた場合、送信ホストと受信ホストとの間に形成されるデータ配送経路は、経路上に存在するルータの個数がより少なくなるように決定されるが、個々のルータ間の物理伝送路の帯域幅や転送速度などは全く考慮されておらず、また、各々のルータのデータ配送処理能力や他の経路から配送されてきたり他の経路へ配送するデータ量も全く考慮されていないため、例えば、決定されたデータ配送経路途中のルータでの配送処理にかかる負荷が非常に高く、ルータ内でのデータ転送処理で遅延が発生するにも関わらず、そのような経路を使用してしまう場合があり、結果的に送信ホストと受信ホストの間のデータ転送に遅延が発生してしまう場合がある。
また、ルータ内でデータ転送処理に遅延が発生した場合、処理待ちのデータは一旦ルータ内部に設置されているバッファに蓄積されることになる。このバッファでは転送されてきたデータを有限量しか蓄積しておくことが出来ないため、バッファ溢れが起きた場合は、転送されてきたデータが紛失してしまうことになる。
【００２４】
ルーティングプロトコルにＨＥＬＬＯプロトコルを用いた場合は、送信ホストと受信ホストの間のデータ転送経路を転送遅延を用いる事で決定し、転送遅延が小さくなるような経路を用いてデータを転送するが、各々のルータがＨＥＬＬＯプロトコルに基づいてやりとりするパケットには転送遅延時間の情報のみ含まれ、各々のルータは転送遅延時間だけを基に経路を決定することになり、ルータ内の持つ、他の重要な状態情報や属性情報などは全く考慮されていない。
したがって、例えばルータの持つバッファ残量やＣＰＵ性能、他の経路から配送されてきたり他の経路へ配送するデータ量などの、ルータ処理に密接に関係のある動的な状態情報や属性情報は、データ転送経路決定には何も考慮されないことになる。したがって、データ転送経路途中のルータの負荷が高い場合のデータ転送経路の変更が行われず、ルータ内でのデータ転送処理による遅延やルータ内のバッファ溢れが起きた場合のデータ紛失が発生してしまうことになる。
【００２５】
ルーティングプロトコルにＯＳＰＦプロトコルを用いた場合は、送信ホストと受信ホストの間のデータ転送経路を、予め個々のルータの管理者が定め付与したコストを用いて決定するが、このコストは、個々のルータの持つ接続インタフェースの速度や物理伝送路の帯域幅など、静的な情報を基に決定される。
個々のルータの管理者がルータの処理性能を鑑みコストを定めるわけであるが、実際にネットワーク上に接続されたそのルータに対してどのくらいの量のデータが転送されてくるか、また、どのくらいのデータ量の転送が必要となるかなど、静的な状態では決定が不可能な点が多数存在する。しかし、ルータ運用中にそれらの動的な状態情報や属性情報を、ルータの経路決定へ反映することは出来ない。したがって、データ転送経路途中の負荷が高い場合のデータ転送経路の変更が行われず、ルータ内でのデータ転送処理による遅延やルータ内のバッファ溢れが起きた場合のデータ紛失が発生してしまうことになる。
【００２６】
従来技術２では、ネットワークシステムの任意の箇所について診断・監視を行うことが出来、より広範な情報収集に利用し、それにより、障害検知に限定されない広範囲のネットワークシステムの状態診断・監視を実現する装置を提供することは可能だが、本技術によれば、診断・監視の結果、ネットワークのある一部に障害が発生していたり、ある一部の通信負荷が高かった場合の回避処置は示されておらず、集中管理を実施する監視装置に診断・監視結果が集積され、それをオペレータに提示することで、オペレータがネットワークの状態を容易に把握することや、更に細かな診断・監視処理を指示することを目的とした技術である。
したがって、ネットワークに障害が発生したり過負荷な通信が発生した際に、データ転送を行うルータが自動でデータ転送経路を変更をすることは無い。また、ネットワークに過負荷な通信が発生しないよう、ある負荷以上の通信が発生した時に別のデータ転送経路を設定することは出来ない。
したがって、データ転送経路途中の負荷の測定は可能なものの、負荷が高い場合のデータ転送経路の変更が行われず、ルータ内でのデータ転送処理による遅延やルータ内のバッファ溢れが起きた場合のデータ紛失が発生してしまうことになる。
【００２７】
従来技術３では、網内で規定された通信パケットの制御方式に従わない網内を巡回する試験パケットをもうけ、各々のパケット交換装置より試験パケットを転送することにより、間接するパケット交換装置及び指定されたパケット交換装置間での全ての回線と指定区間内のパケット交換装置の動作チェックを行い、試験結果を試験パケット発生元へ通知することにより効率よいルーティング制御を可能とするとあるが、試験パケットの転送により検出できる事象は、パケット交換装置上で発生している障害またはパケット交換装置間に配置されている回線上での障害のみであり、パケット交換装置内でのパケット交換処理にかかる負荷や資源量やパケット交換装置間に配置されている回線上のパケット流量などの動的な状態情報や属性情報の診断や通知をすることは出来ない。
したがって、データ転送経路途中のパケット交換装置や回線の通信負荷が高い場合、データ転送経路の変更が行われず、ルータ内でのデータ転送処理による遅延やルータ内のバッファ溢れが起きた場合のデータ紛失が発生してしまうことになる。
また、本技術を用いれば効率よいルーティング制御が可能となるとあるが、パケット交換装置やパケット交換装置間に配置されている回線上で実際に障害が発生した際に、ルーティング制御情報をどのように作成したり変更したりするかについては、開示されていない。
【００２８】
本発明は上記の問題点を解決するためになされたもので、送信ホストと受信ホストの間のデータ転送経路上に配置されている各々のルータのデータ転送中の動的な状態情報や属性情報を収集し、また、各々のルータより収集した動的な状態情報や属性情報を各々のルータに参照させ、ルータ内部で予め決定されている閾値によって、自ルータより下流のルータの診断値が閾値よりも高かった場合に、自ルータに他の下流経路を選択させるようにする技術である。
これにより、上記の従来技術の持つ、静的な状態情報や属性情報のみでデータ転送経路を決定した際の、実通信時のルータのデータ転送時の負荷によるデータ転送遅延やルータ内のバッファ溢れによるデータ紛失の発生を未然に防ぐことで、本ネットワークシステムを用いた通信の信頼性を向上させることを目的としている。
【００２９】
【課題を解決するための手段】
本発明に係るデータ通信システムは、
データ送信装置とデータ受信装置と、前記データ送信装置と前記データ受信装置との間に配置された複数のデータ中継装置とを有し、
前記複数のデータ中継装置には、前記データ送信装置と前記データ受信装置との間に設定されたデータ中継経路に含まれる複数の経路内データ中継装置が含まれるデータ通信システムであって、
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
各経路内データ中継装置のデータ処理性能が示された処理性能通知情報を生成し、生成した前記処理性能通知情報を前記データ送信装置及び前記データ受信装置のうちの他方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能通知情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記データ中継経路において自己のデータ中継先として設定された設定中継先データ中継装置のデータ処理性能が所定のレベルに適合するか否かを判断し、判断結果に基づき自己のデータ中継先を選択することを特徴とする。
【００３０】
前記複数の経路内データ中継装置のうちのいずれかの経路内データ中継装置には、前記データ中継経路に含まれない少なくとも一つ以上の経路外データ中継装置が接続され、
前記いずれかの経路内データ中継装置は、
前記設定中継先データ中継装置のデータ処理性能に対する判断の判断結果に基づき、自己のデータ中継先を前記経路外データ中継装置のうちのいずれかの経路外データ中継装置に変更することを特徴とする。
【００３１】
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
前記データ送信装置及び前記データ受信装置のうちの他方より送信された、前記各経路内データ中継装置のデータ処理性能を調査する処理性能調査情報を受信し、受信した前記処理性能調査情報に基づき前記処理性能通知情報を生成することを特徴とする。
【００３２】
前記データ送信装置及び前記データ受信装置のうちの他方は、
前記処理性能調査情報を生成し、生成した前記処理性能調査情報を前記データ送信装置及び前記データ受信装置のうちの一方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能調査情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能調査情報を受信し、受信した前記処理性能調査情報に自己のデータ処理性能を記述し、自己のデータ処理性能が記述された前記処理性能調査情報を他の経路内データ中継装置に転送し、
前記データ送信装置及び前記データ受信装置のうちの一方は、
前記複数の経路内データ中継装置間で順次転送され前記各経路内データ中継装置によりデータ処理性能が記述された前記処理性能調査情報を受信し、受信した前記処理性能調査情報に基づき前記処理性能通知情報を生成することを特徴とする。
【００３３】
前記各経路内データ中継装置は、
データ処理性能に関する閾値である処理性能閾値を有し、前記設定中継先データ中継装置のデータ処理性能が前記処理性能閾値に適合するか否かを判断することを特徴とする。
【００３４】
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
データ処理性能に関する閾値である処理性能閾値が含まれた処理性能通知情報を生成し、生成した前記処理性能通知情報を前記データ送信装置及び前記データ受信装置のうちの他方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能通知情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能通知情報を受信し、前記設定中継先データ中継装置のデータ処理性能が受信した前記処理性能通知情報に含まれた前記処理性能閾値に適合するか否かを判断することを特徴とする。
【００３５】
前記いずれかの経路内データ中継装置は、
前記経路外データ中継装置の各々に対して各経路外データ中継装置のデータ処理性能を調査する処理性能調査情報を送信し、前記処理性能調査情報に対する応答として前記各経路外データ中継装置より前記各経路外データ中継装置のデータ処理性能が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記各経路外データ中継装置のデータ処理性能が所定のレベルに適合するか否かを判断することを特徴とする。
【００３６】
前記データ送信装置及び前記データ受信装置のうちいずれか一方は、
複数種類のデータ処理性能が示された処理性能通知情報を生成し、生成した前記処理性能通知情報を前記データ送信装置及び前記データ受信装置のうちの他方に向けて送信し、前記データ中継経路に従って前記複数の経路内データ中継装置間で前記処理性能通知情報を順次転送させ、
前記各経路内データ中継装置は、
転送された前記処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の複数種類のデータ処理性能の各々が所定のレベルに適合するか否かを判断することを特徴とする。
【００３７】
前記データ送信装置及び前記データ受信装置のうちの他方は、
複数種類のデータ処理性能のうち特定のデータ処理性能を調査対象に指定する処理性能調査情報を生成することを特徴とする。
【００３８】
前記データ送信装置及び前記データ受信装置のうちの他方は、
前記複数の経路内データ中継装置間で順次転送された前記処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記データ送信装置及び前記データ受信装置との間に所定のデータ中継経路を設定することを特徴とする。
【００３９】
前記データ送信装置及び前記データ受信装置のうちの他方は、
所定の間隔で、前記処理性能調査情報を前記データ送信装置及び前記データ受信装置のうちの一方に向けて送信することを特徴とする。
【００４０】
前記各経路内データ中継装置は、
前記各経路内データ中継装置のＣＰＵ使用率が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置のＣＰＵ使用率が所定のレベルに適合するか否かを判断することを特徴とする。
【００４１】
前記各経路内データ中継装置は、
前記各経路内データ中継装置の送受信バッファの使用率が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の送受信バッファの使用率が所定のレベルに適合するか否かを判断することを特徴とする。
【００４２】
前記各経路内データ中継装置は、
前記各経路内データ中継装置の平均データ転送量が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の平均データ転送量が所定のレベルに適合するか否かを判断することを特徴とする。
【００４３】
前記各経路内データ中継装置は、
前記各経路内データ中継装置の最大データ転送量が示された処理性能通知情報を受信し、受信した前記処理性能通知情報に基づき、前記設定中継先データ中継装置の最大データ転送量が所定のレベルに適合するか否かを判断することを特徴とする。
【００４４】
本発明に係るデータ中継装置は、
複数のデータ通信装置に接続され、前記複数のデータ通信装置からデータ中継先を選択するデータ中継装置であって、
前記複数のデータ通信装置のうち特定のデータ通信装置より、前記特定のデータ通信装置のデータ処理性能が示された処理性能通知情報を受信する処理性能通知情報受信部と、
前記処理性能通知情報受信部により受信された前記処理性能通知情報に基づき、前記特定のデータ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断する処理性能判断部と、
前記処理性能判断部による判断結果に基づき、前記複数のデータ通信装置からデータ中継先を選択する中継先選択部とを有することを特徴とする。
【００４５】
前記中継先選択部は、前記処理性能判断部による判断結果に基づき、前記複数のデータ通信装置のうち前記特定のデータ通信装置以外のいずれかのデータ通信装置をデータ中継先として選択することを特徴とする。
【００４６】
前記データ中継装置は、更に、データ処理性能に関する閾値である処理性能閾値を記録する処理性能閾値記録部を有し、
前記処理性能判断部は、前記特定のデータ通信装置のデータ処理性能が前記処理性能閾値に適合するか否かを判断することを特徴とする。
【００４７】
前記処理性能通知情報受信部は、前記複数のデータ通信装置の各々より、各データ通信装置のデータ処理性能を通知する処理性能通知情報を受信し、
前記処理性能判断部は、前記処理性能通知情報受信部により受信された前記処理性能通知情報に基づき、前記各データ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断し、
前記中継先選択部は、前記処理性能判断部による判断結果に基づき、前記複数のデータ通信装置からデータ中継先を選択することを特徴とする。
【００４８】
本発明に係るデータ中継方法は、
複数のデータ通信装置に接続され、前記複数のデータ通信装置からデータ中継先を選択するデータ中継方法であって、
前記複数のデータ通信装置のうち特定のデータ通信装置より、前記特定のデータ通信装置のデータ処理性能が示された処理性能通知情報を受信する処理性能通知情報受信ステップと、
前記処理性能通知情報受信ステップにより受信された前記処理性能通知情報に基づき、前記特定のデータ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断する処理性能判断ステップと、
前記処理性能判断ステップによる判断結果に基づき、前記複数のデータ通信装置からデータ中継先を選択する中継先選択ステップとを有することを特徴とする。
【００４９】
前記中継先選択ステップは、前記処理性能判断ステップによる判断結果に基づき、前記複数のデータ通信装置のうち前記特定のデータ通信装置以外のいずれかのデータ通信装置をデータ中継先として選択することを特徴とする。
【００５０】
前記データ中継方法は、更に、データ処理性能に関する閾値である処理性能閾値を記録する処理性能閾値記録ステップを有し、
前記処理性能判断ステップは、前記特定のデータ通信装置のデータ処理性能が前記処理性能閾値に適合するか否かを判断することを特徴とする。
【００５１】
前記処理性能通知情報受信ステップは、前記複数のデータ通信装置の各々より、各データ通信装置のデータ処理性能を通知する処理性能通知情報を受信し、
前記処理性能判断ステップは、前記処理性能通知情報受信ステップにより受信された前記処理性能通知情報に基づき、前記各データ通信装置のデータ処理性能が所定のレベルに適合するか否かを判断し、
前記中継先選択ステップは、前記処理性能判断ステップによる判断結果に基づき、前記複数のデータ通信装置からデータ中継先を選択することを特徴とする。
【００５２】
【発明の実施の形態】
実施の形態１．
以下、本発明の第１の実施の形態について図１を用い説明する。図１は本実施の形態に係るデータ通信システムの一実施例である。
【００５３】
図１において、１は送信ホスト（データ送信装置）となるホストＡ、２は受信ホスト（データ受信装置）となるホストＢである。ホストＡ１と同等な計算機やホストＢ２と同等の機能を持つ計算機が、ホストＡ１やホストＢ２の接続されているネットワークと同等な関係の位置に接続されているが、説明を簡単にするために、本例では省略している。
また、３〜１０はネットワーク上に配置されているルータ（データ中継装置）を表し、ホストＡ１−ルータ３−ルータ４−ルータ５−ルータ６−ホストＢ２により、ホストＡ１−ホストＢ２間のデータ配送経路（データ中継経路）１１が作成されている。従ってルータ３，４，５，６はデータ中継経路に含まれる経路内データ中継装置である。また、ルータ７およびルータ８およびルータ９およびルータ１０は、データ配送経路１１には関与していないルータ（経路外データ中継装置）である。１２は本発明によって変更された代替のデータ転送経路を示している。
なお、データ配送経路１１は、例えば、従来技術１において説明したいずれかの手法により設定されるものとする。
【００５４】
図２は、ホストＡ１が定期的にホストＢ２に向かって送信する診断パケット（処理性能調査情報）のフォーマットを示している。
まず、ホストＡ１がホストＢ２に向かってパケットを送信する際、診断パケットには送信元であるホストＡ１のＩＰアドレス３０と受信先であるホストＢ２のＩＰアドレス３１と送信したパケットが診断パケットであることを示すパケット種別３２のみが存在し、ペイロード４１は空である。
この診断パケットが図１のデータ配送経路１１上に位置する１番目のルータ３を通る際に、ルータ３は診断パケットのペイロード４１に１番目にルータ３のＩＰアドレス３３とルータ３の動的な状態情報や属性情報（データ処理性能情報）３４を付加する。
【００５５】
次に、各ルータの構成について説明する。
図４０は、各ルータの構成を示す図である。
図において、３０００は、他のルータ、ホストＡ１又はホストＢ２より各種パケットを受信し、また、他のルータ、ホストＡ１又はホストＢ２に対して各種パケットを送信するパケット送受信部である。
３１００は、パケット送受信部３０００により受信されたパケットの種別を判別するパケット種別判別部である。パケット種別判別部３１００は、通常パケット、診断パケット、診断結果パケットのいずれかのパケット種別を判別し、判別結果により通常パケット処理部３２００、診断パケット処理部３３００、診断結果パケット処理部３４００のいずれかにパケットを渡す。
【００５６】
３２００は、通常パケットに対する処理を行う通常パケット処理部である。なお、通常パケットに対する処理は、本発明の対象外であるため、詳細は省略する。
【００５７】
３３００は、診断パケットに対する処理を行う診断パケット処理部である。診断パケット処理部３３００は、動的状態情報／属性情報検出部３３１０と診断パケット加工部３３２０とからなる。また、診断パケット加工部３３２０は、更に、動的状態情報／属性情報付与部３３３０と自ＩＰアドレス付与部３３４０とからなる。
動的状態情報／属性情報検出部３３１０は、自ルータの動的な状態情報や属性情報を検出する。
また、動的状態情報／属性情報付与部３３３０は、動的状態情報／属性情報検出部３３１０により検出された自ルータの動的な状態情報や属性情報を診断パケットのペイロードに付与する。
自ＩＰアドレス付与部３３４０は、診断パケットのペイロードに自ルータのＩＰアドレスを付与する。
【００５８】
３４００は、診断結果パケットに対する処理を行う診断結果パケット処理部である。診断結果パケット処理部３４００は、下流ルータＩＰアドレス検索部３４１０、下流ルータ動的状態情報／属性情報取得部３４２０、下流ルータ判断部３４３０、閾値記録部３４４０、下流ルータ選択部３４５０からなる。
下流ルータＩＰアドレス検索部３４１０は、診断結果パケットのペイロードから自ルータの一段下流のルータのＩＰアドレスを検索する。
下流ルータ動的状態情報／属性情報取得部３４２０は、下流ルータＩＰアドレス検索部３４１０により検索された下流ルータのＩＰアドレスに基づき、下流ルータの動的な状態情報や属性情報を診断パケットのペイロードより取得する。
下流ルータ判断部３４３０は、下流ルータ動的状態情報／属性情報取得部３４２０が取得した下流ルータの動的な状態情報や属性情報が所定の閾値を超えてるか否かの判断を行う。
閾値記録部３４４０は、下流ルータ判断部３４３０が下流ルータの動的な状態情報や属性情報の判断を行う際に用いる閾値を記録している。
下流ルータ選択部３４５０は、下流ルータ判断部３４３０による判断結果に基づき、下流ルータを選択する。前述の例では、ルータ５の下流ルータ判断部３４３０が、ルータ６の動的な状態情報や属性情報が閾値以下であると判断すれば、ルータ５の下流ルータ選択部３４５０はルータ６をそのまま下流ルータ（中継先）として選択し、ルータ６の動的な状態情報や属性情報が閾値以上であると判断すれば、ルータ５の下流ルータ選択部３４５０は他のルータ、例えば、ルータ１０を代替の下流ルータ（中継先）として選択する。
【００５９】
３５００は、ルーティングテーブルであって、パケット送受信部３０００が各種パケットを送信する際に参照するテーブルである。
【００６０】
次に、データ配送経路１１上のルータが診断パケットを受信した際の内部動作順序を図３を用いて説明する。
ルータのパケット送受信部３０００がパケットを受信した際、ステップ６０で、パケット種別判別部３１００は受信したパケットが診断パケットであるかどうかを、図２で示した診断パケットフォーマット中のパケット種別３２を調査することで検出し、受信したパケットが診断パケットの場合はステップ６１へ処理を移し、診断パケットでない場合はステップ６３へ処理を移す。
ステップ６１では、診断パケット加工部３３２０の自ＩＰアドレス付与部３３４０が受信した診断パケットのペイロードに対して自ルータのＩＰアドレスを付加し、次にステップ６２で、診断パケット加工部３３２０の動的状態情報／属性情報付与部３３３０が受信した診断パケットのペイロードに対して自ルータの動的な状態情報や属性情報を付加する。動的状態情報／属性情報付与部３３３０により診断パケットのペイロードに付加される動的状態情報や属性情報は動的状態情報／属性情報検出部３３１０により検出されたものである。
その後、ステップ６３で、パケット送受信部３０００がルーティングテーブル３５００を用いてルータが持つ通常のパケット転送処理を実施し処理を終了する。なおステップ６３の通常パケット転送処理に関しては、既存のルータに一般的に備わっている処理であるため、ここでは説明を省略する。
【００６１】
前述の処理をルータ３内部で実施し、その後、診断パケットはルータ３を通過した後、データ配送経路上に位置する２番目のルータ４を通る。ルータ４を診断パケットが通る際に、ルータ４は診断パケットのペイロード４１に２番目のルータ４のＩＰアドレス３５と２番目のルータ４の動的な状態情報や属性情報３６を付加する。
このようにして、送信ホストと受信ホストの間の経路上に存在するルータのＩＰアドレスと動的な状態情報や属性情報を、診断パケットが各々のルータを通過する際に、ルータ内部で診断パケットのペイロードに付与していく。なお図１に示した例では、ホストＢ２に到着した段階での診断パケットのペイロードには、４番目のルータ６に関するＩＰアドレスと４番目のルータの動的な状態情報や属性情報が付与されていることになる。
また、ホストＡ１が診断パケットをホストＢ２に向けて送信する処理は、ホストＡ１上で動作するアプリケーションからの明示的な送信要求により送信する場合もあるし、ホストＡ１で動作しているオペレーティングシステム内部に診断パケットを送信するための機能が含まれている場合もある。
【００６２】
ホストＡ１からホストＢ２に送信された診断パケットが、ホストＢ２に到着した段階で、ホストＢ２は受信した診断パケットのペイロードを図４で示した診断結果パケット（処理性能通知情報）に複製しホストＡ１に向け送信する。診断結果パケットのフォーマットは送信元のホストＢ２のＩＰアドレス４２と受信先のホストＡ１のＩＰアドレス４３の順序が入れ替わり、かつ、パケットの種別３２が診断結果パケット表す値になるだけであり、ペイロード４１の各構成要素はホストＢ２に到着した診断パケットのペイロード４１となんら変わりはない。
【００６３】
ホストＢ２からホストＡ１へ向け診断結果パケットが送信された段階で、診断結果パケットはデータ配送経路１１を用いて途中のルータで転送されながらホストＡ１に向けて配送される。
ホストＢ２から送信された診断結果パケットを最初に転送する転送経路１１上のルータ６はホストＡ１−ホストＢ２の間に形成されている転送経路１１上で、自ルータよりも下流にはルータが無いことを、診断結果パケットのペイロード４１から知り、自ルータよりも上流のルータであるルータ５へ診断結果パケットを転送する。
下流のルータ６からの診断結果パケットを受信したルータ５は診断結果パケットのペイロード４１を検査することで、自ルータよりも下流にルータ６が存在することを知る。
ここで、診断結果パケットのペイロード４１からルータ５の下流にあるルータ６のＩＰアドレスと動的な状態情報や属性情報を検索する。ルータ６のＩＰアドレスと動的な状態情報や属性情報を得たルータ５は、自ルータ内部に予めルータ管理者により設定された、動的な状態情報や属性情報に対する閾値（処理性能閾値）と、診断結果パケットのペイロード４１から得たルータ５の動的な状態情報や属性情報と比較して、ルータ５からホストＢ２に対するデータ転送経路の変更を行うか否かの判断を実施する。
【００６４】
次に、データ配送経路１１上のルータが診断結果パケットを受信した際の内部動作順序を図５を用いて説明する。
ルータがパケットを受信した際、ステップ８０で、パケット種別判別部３１００が、受信したパケットが診断結果パケットであるかどうかを、図４で示した診断結果パケットフォーマット中のパケット種別３２を調査することで検出し、受信したパケットが診断結果パケットの場合はステップ８１へ処理を移し、診断結果パケットでない場合はステップ６３へ処理を移す。
ステップ８１では、下流ルータＩＰアドレス検索部３４１０が受信した診断結果パケットのペイロードの中から自ルータのＩＰアドレスを検索することで、自ルータのＩＰアドレスおよび動的な状態情報や属性情報の記録されている位置を特定する。
ステップ８２でペイロード上の自ルータのＩＰアドレスと動的な状態情報や属性情報が記録されている位置よりも後方に他のルータの記録があるかどうかを検査し、後方に他のルータの記録がある場合はステップ８３へ処理を移し、後方に他のルータの記録が無い場合は自ルータはデータ転送経路中の最下流に存在するルータであると判断しステップ６３へ処理を移す。
ステップ８３では、下流ルータ動的状態情報／属性情報取得部３４２０がペイロードを検索し、自ルータの１段下流にあるルータの動的な状態情報や属性情報を取得する。
ステップ８４で、下流ルータ判断部３４３０が取得した動的な状態情報や属性情報が予めルータ管理者により自ルータに設定された、動的な状態情報や属性情報に対する閾値（処理性能閾値）を超えているかどうかを検査し、取得した動的な状態情報や属性情報が閾値を超えていた場合はステップ８５へ処理を移し、取得した動的な状態情報や属性情報が閾値を超えていない場合はステップ６３に処理を移す。
ステップ８５では、下流ルータ選択部３４５０が自ルータがそれまで下流ルータとしてデータを転送していたルータの他に代替の下流ルータとなるルータが存在するかを調査し、代替ルータとなるルータが存在すればステップ８６へ処理を移し、代替ルータとなるルータが存在しなければステップ６３に処理を移す。
ステップ８６では下流ルータ選択部３４５０が自ルータが以降下流ルータ（中継先）として使用するルータを代替ルータとする設定を行いステップ６３へ処理を移す。
ステップ６３ではルータが持つ通常のパケット転送処理を実施し処理を終了する。なおステップ６３の通常パケットの転送処理に関しては、既存のルータに一般的に備わっている処理であるため、ここでは説明を省略する。
【００６５】
このように、データ配送経路１１に位置する各々のルータ内部で診断結果パケットの処理を実施するわけであるが、図１で示した本実施の形態でのルータ５の動作を例に挙げ、データ転送経路の変更について説明する。
今、ルータ５の下流に存在するルータ６から転送された診断結果パケットをルータ５が受信したとする。ルータ５は図５で示した処理の流れに沿って、ルータ５の下流にあるルータ６の動的な状態情報や属性情報の値を取得し、その値がルータ５の管理者により予め設定された閾値を超えていない場合は、ルータ６を中継先として選択するとともに、ルータ５の上流に属するルータ４に対して診断結果パケットを転送する。
またルータ５の下流にあるルータ６から転送された診断結果パケットをルータ５が受信し、診断結果パケットから取得した下流にあるルータ５の動的な状態情報や属性情報の値とルータ５の管理者により予め設定された閾値との比較の結果、閾値を超えている場合、ルータ５の内部で、他の下流ルータとして動作可能なルータ１０を検出し、ルータ５が次回からデータ転送に使用する下流ルータとしてルータ１０を使用するように設定が自動的に変更される。その後、ルータ５の上流に位置するルータ４に診断パケットが転送される。
この段階で今まで使用されていたデータ配送経路１１は途中からルータ５−ルータ１０−ホストＢ２で形成される代替のデータ配送経路１２を用いることになる。
【００６６】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【００６７】
本発明を用いることにより、従来技術では出来なかった、ホストＡ１−ホストＢ２間に定められるデータ転送経路上に位置しデータ転送処理を実施する各々のルータの動的な状態情報や属性情報の変化によってデータ転送経路を変更することが可能になり、その結果、使用経路の動的な状態情報や属性情報が一定となる経路を作成でき、データ転送時に動的な経路情報や属性情報の変化によって発生するデータ転送遅延を抑え、最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【００６８】
実施の形態２．
以下、本発明の第２の実施の形態について図６および図７を用い説明する。
図６は本実施の形態におけるホストＡ１からホストＢ２に向け送信される診断パケットのフォーマットを示し、また図７は本実施の形態におけるホストＢ２からホストＡ１に向け送信される診断結果パケットのフォーマットを示している。
【００６９】
図６の診断パケットでは、実施の形態１で説明した、診断パケットについて、データ配送経路１１上の各々のルータを診断パケットが通過する際に、個々のルータが付与する動的な状態情報や属性情報に対して、各々のルータのＣＰＵ使用率を付与するものである。
したがって実施の形態２では、データ配送経路１１の１番目のルータを診断パケットが通過する際、１番目のルータのＩＰアドレス３３と１番目のルータのＣＰＵ使用率１００を付与し、２番目のルータを診断パケットが通過する際、２番目のルータのＩＰアドレス３５と２番目のＣＰＵ使用率１０１を付与する。このように、データ配送経路１１上のｎ−１番目のルータを通過する際、ｎ−１番目のルータのＩＰアドレス３７とｎ−１番目のルータのＣＰＵ使用率１０２を付与し、データ配送経路１１上のｎ番目のルータを通過する際、ｎ番目のルータのＩＰアドレス３９とｎ番目のルータのＣＰＵ使用率１０３を付与する。
【００７０】
その後、ホストＢ２へ診断パケットが到着し、ホストＢ２内で、実施の形態１で示したように、診断パケットのペイロード４１を診断結果パケットのペイロードに複製し、ホストＢ２はホストＡ１に向け、データ配送経路１１を使用し、診断結果パケットを送信する。
診断結果パケットがデータ転送経路上に存在する各々のルータを通過する際、ホストＡ１からホストＢ２へのデータの流れを示すデータ配送経路上のあるルータは、実施の形態１に示した方法と同様の方法を用い、自ルータの下流ルータのＩＰアドレスとＣＰＵ使用率を、予め自ルータ内部に自ルータ管理者により設定されているＣＰＵ使用率の閾値を比較し、下流のデータ転送経路を変更するか否かを選択する。
【００７１】
データ転送経路上の各々のルータが、ホストＡ１から送信された診断パケットを転送する際の内部処理を図  ８に示す。診断パケットを各々のルータが転送する際、実施の形態１と概ね処理の流れは同じであり、ステップ１５０で、自ルータのＣＰＵ使用率を診断パケットのペイロードの付加する処理を実施する。
【００７２】
データ転送経路上の各々のルータが、ホストＢ２から送信される診断結果パケットを転送する際の内部処理を図９に示す。診断結果パケットを各々のルータが転送する際、実施の形態１と概ね処理の流れは同じであり、ステップ１５１で１段下流にあるルータのＣＰＵ使用率をペイロードから取得する処理を実施し、ステップ１５２で取得した１段下流にあるルータのＣＰＵ使用率を、自ルータに予め管理者により設定されているＣＰＵ使用率の閾値を比較する処理を実施する。
【００７３】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【００７４】
本発明を用いることにより、データ配送経路１１上に存在するルータのうち、ルータのＣＰＵ使用率が高い場合に起こる転送遅延を抑えたデータ転送が可能となり、最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【００７５】
実施の形態３．
以下、本発明の第３の実施の形態について図１０および図１１を用い説明する。
図１０は本実施の形態におけるホストＡ１からホストＢ２に向け送信される診断パケットのフォーマットを示し、また図１１は本実施の形態におけるホストＢ２からホストＡ１に向け送信される診断結果パケットのフォーマットを示している。
【００７６】
図１０の診断パケットは、実施の形態２で説明した診断パケットに対して、１番目のルータを診断パケットが通過する際に、１番目のルータの送受信バッファ使用率２００が追加され、２番目のルータを診断パケットが通過する際に、２番目のルータの送受信バッファ使用率２０１が追加される。
このようにして、データ配送経路１１上のｎ−１番目のルータを診断パケットが通過する際、ｎ−１番目のルータの送受信バッファ使用率２０２が追加され、ｎ番目のルータを診断パケットが通過する際、ｎ番目のルータの送受信バッファ使用率２０３が追加される。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、各々のルータのＣＰＵ使用率が省略され診断結果パケットに付与されない場合もある。
【００７７】
その後、ホストＢ２へ診断パケットが到着し、ホストＢ２内で、実施の形態１で示したように、診断パケットのペイロード４１を診断結果パケットのペイロードに複製し、ホストＢ２はホストＡ１に向け、データ配送経路１１を使用し、診断結果パケットを送信する。
診断パケットがデータ転送経路上に存在する各々のルータを通過する際、ホストＡ１からホストＢ２へのデータの流れを示すデータ配送経路上にあるルータは、実施の形態２に示した方法と同様の方法を用い、自ルータの下流ルータＩＰアドレスとＣＰＵ使用率、および、本実施の形態で追加された送受信バッファ使用率を、予め自ルータ内部に自ルータ管理者により設定されているＣＰＵ使用率の閾値や送受信バッファ使用率の閾値と比較し、下流のデータ転送経路を変更するか否かを選択する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、各々のルータのＣＰＵ使用率が省略され診断結果パケットに付与されない場合もある。その他の処理は実施の形態１および実施の形態２と同等のため、ここでの説明は省略する。
【００７８】
データ転送経路上の各々のルータが、ホストＡ１から送信された診断パケットを転送する際の内部処理を図１２に示す。
診断パケットを各々のルータが転送する際、実施の形態２と概ね処理の流れは同じであり、ステップ２５０で、自ルータの送受信バッファ使用率を診断パケットのペイロードに付加する処理を実施する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、ステップ１５０のペイロードにＣＰＵ使用率を追加する処理が省略される場合もある。
【００７９】
データ転送経路上の各々のルータが、ホストＢ２から送信される診断結果パケットを転送する際の内部処理を図１３に示す。
診断結果パケットを各々のルータが転送する際、実施の形態２と概ね処理の流れは同じであり、ステップ２５１で１段下流にあるルータのＣＰＵ使用率と送受信バッファ使用率をペイロードから取得する処理を実施し、ステップ２５２で取得した１段下流のルータのＣＰＵ使用率と送受信バッファ使用率を、自ルータに予め管理者により設定されているＣＰＵ使用率の閾値と送受信バッファ使用率の閾値を比較する処理を実施する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、ステップ２５１での自ルータの１段下流のルータのＣＰＵ使用率を取得する処理、およびステップ２５２での自ルータの１段下流のルータのＣＰＵ使用率と自ルータに予め管理者により設定されているＣＰＵ使用率の閾値との比較を行う処理が省略される場合もある。その他の処理は実施の形態１および実施の形態２と同等のため、ここでの説明は省略する。
【００８０】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【００８１】
本発明を用いることにより、データ配送経路１１上に存在するルータのうち、ルータの送受信バッファ使用率の高い場合に起こる、送受信バッファ溢れによるデータ紛失を防止することを可能となり、最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【００８２】
実施の形態４．
以下、本発明の第４の実施形態について図１４および図１５を用い説明する。
図１４は本実施の形態におけるホストＡ１からホストＢ２に向け送信される診断パケットのフォーマットを示し、また図１５は本実施の形態におけるホストＢ２からホストＡ１に向け送信される診断結果パケットのフォーマットを示している。
【００８３】
図１４の診断パケットは、実施の形態３で説明した診断パケットに対して、１番目のルータを診断パケットが通過する際に、１番目のルータの平均データ転送量３００が追加され、２番目のルータを診断パケットが通過する際に、２番目のルータの平均データ転送量３０１が追加される。
このようにして、データ配送経路１１上のｎ−１番目のルータを診断パケットが通過する際、ｎ−１番目のルータの平均データ転送量３０２が追加され、ｎ番目のルータを診断パケットが通過する際、ｎ番目のルータの平均データ転送量３０３が追加される。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、各々のルータのＣＰＵ使用率および各々のルータの送受信バッファ使用率が省略され診断結果パケットに付与されない場合もある。
【００８４】
その後、ホストＢ２へ診断パケットが到着し、ホストＢ２内で、実施の形態１で示したように、診断パケットのペイロード４１を診断結果パケットのペイロードに複製し、ホストＢ２はホストＡ１に向け、データ配送経路１１を使用し、診断結果パケットを送信する。
診断パケットがデータ転送経路上に存在する各々のルータを通過する際、ホストＡ１からホストＢ２へのデータの流れを示すデータ配送経路上にあるルータは、実施の形態３に示した方法と同様の方法を用い、自ルータの下流ルータＩＰアドレスとＣＰＵ使用率と送受信バッファ使用率、および、本実施の形態で追加された平均データ転送量を、予め自ルータ内部に自ルータ管理者により設定されているＣＰＵ使用率の閾値や送受信バッファ使用率の閾値や平均データ転送量の閾値と比較し、下流のデータ転送経路を変更するか否かを選択する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、各々のルータのＣＰＵ使用率や送受信バッファ使用率が省略され診断結果パケットに付与されない場合もある。
【００８５】
データ転送経路上の各々のルータが、ホストＡ１から送信された診断パケットを転送する際の内部処理を図１６に示す。
診断パケットを各々のルータが転送する際、実施の形態３と概ね処理の流れは同じであり、ステップ３５０で、自ルータの平均データ転送量を診断パケットのペイロードに付加する処理を実施する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、ステップ１５０のペイロードにＣＰＵ使用率を追加する処理およびステップ２５０のペイロードに送受信バッファ使用率を追加する処理が省略される場合もある。その他の処理は実施の形態１および実施の形態２および実施の形態３と同等のため、ここでの説明は省略する。
【００８６】
データ転送経路上の各々のルータが、ホストＢ２から送信される診断結果パケットを転送する際の内部処理を図１７に示す。
診断結果パケットを各々のルータが転送する際、実施の形態３と概ね処理の流れは同じであり、ステップ３５１で１段下流にあるルータのＣＰＵ使用率と送受信バッファ使用率と平均データ転送量をペイロードから取得する処理を実施し、ステップ３５２で取得した１段下流のルータのＣＰＵ使用率と送受信バッファ使用率と平均データ転送量を、自ルータに予め管理者により設定されているＣＰＵ使用率の閾値と送受信バッファ使用率の閾値と平均データ転送量の閾値を比較する処理を実施する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、ステップ３５１での自ルータの１段下流のルータのＣＰＵ使用率を取得する処理と送受信バッファ使用率を取得する処理、およびステップ３５２での自ルータの１段下流のルータのＣＰＵ使用率と送受信バッファ使用率とを自ルータに予め管理者により設定されているＣＰＵ使用率の閾値と送受信バッファ使用率との比較を行う処理が省略される場合もある。その他の処理は実施の形態１および実施の形態２および実施の形態３と同等のため、ここでの説明は省略する。
【００８７】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【００８８】
本発明を用いることにより、データ配送経路１１上に存在するルータのうち、あるルータとそのルータの下流にあるルータとの間の物理伝送路上でのデータの輻輳を防止することが可能となり、転送遅延やデータ紛失を防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【００８９】
実施の形態５．
以下、本発明の第５の実施形態について図１８および図１９を用い説明する。
図１８は本実施の形態におけるホストＡ１からホストＢ２に向け送信される診断パケットのフォーマットを示し、また図１９は本実施の形態におけるホストＢ２からホストＡ１に向け送信される診断結果パケットのフォーマットを示している。
【００９０】
図１８の診断パケットは、実施の形態４で説明した診断パケットに対して、１番目のルータを診断パケットが通過する際に、１番目のルータの最大データ転送量４００が追加され、２番目のルータを診断パケットが通過する際に、２番目のルータの最大データ転送量４０１が追加される。
このようにして、データ配送経路１１上のｎ−１番目のルータを診断パケットが通過する際、ｎ−１番目のルータの最大データ転送量４０２が追加され、ｎ番目のルータを診断パケットが通過する際、ｎ番目のルータの最大データ転送量４０３が追加される。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、各々のルータのＣＰＵ使用率および各々のルータの送受信バッファ使用率および各々のルータの平均データ転送量が省略され診断結果パケットに付与されない場合もある。
【００９１】
その後、ホストＢ２へ診断パケットが到着し、ホストＢ２内で、実施の形態１で示したように、診断パケットのペイロード４１を診断結果パケットのペイロードに複製し、ホストＢ２はホストＡ１に向け、データ配送経路１１を使用し、診断結果パケットを送信する。
診断パケットがデータ転送経路上に存在する各々のルータを通過する際、ホストＡ１からホストＢ２へのデータの流れを示すデータ配送経路上にあるルータは、実施の形態４に示した方法と同様の方法を用い、自ルータの下流ルータＩＰアドレスとＣＰＵ使用率と送受信バッファ使用率と平均データ転送量、および、本実施の形態で追加された最大データ転送量を、予め自ルータ内部に自ルータ管理者により設定されているＣＰＵ使用率の閾値や送受信バッファ使用率の閾値や平均データ転送量の閾値や最大データ転送量の閾値と比較し、下流のデータ転送経路を変更するか否かを選択する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、各々のルータのＣＰＵ使用率や送受信バッファ使用率や平均データ転送量が省略され診断結果パケットに付与されない場合もある。
【００９２】
データ転送経路上の各々のルータが、ホストＡ１から送信された診断パケットを転送する際の内部処理を図２０に示す。
診断パケットを各々のルータが転送する際、実施の形態４と概ね処理の流れは同じであり、ステップ４５０で、自ルータの最大データ転送量を診断パケットのペイロードに付加する処理を実施する。なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、ステップ１５０のペイロードにＣＰＵ使用率を追加する処理およびステップ２５０のペイロードに送受信バッファ使用率を追加する処理およびステップ３５０のペイロードに平均データ転送量を追加する処理が省略される場合もある。その他の処理は実施の形態１および実施の形態２および実施の形態３および実施の形態４と同等のため、ここでの説明は省略する。
【００９３】
データ転送経路上の各々のルータが、ホストＢ２から送信される診断結果パケットを転送する際の内部処理を図２１に示す。
診断結果パケットを各々のルータが転送する際、実施の形態４と概ね処理の流れは同じであり、ステップ４５１で１段下流にあるルータのＣＰＵ使用率と送受信バッファ使用率と平均データ転送量と最大データ転送量をペイロードから取得する処理を実施し、ステップ４５２で取得した１段下流のルータのＣＰＵ使用率と送受信バッファ使用率と平均データ転送量と最大データ転送量を、自ルータに予め管理者により設定されているＣＰＵ使用率の閾値と送受信バッファ使用率の閾値と平均データ転送量の閾値と最大データ転送量の閾値を比較する処理を実施する。
なお、本発明の場合、各々のルータ管理者により事前にルータに設定を行うことにより、ステップ４５１での自ルータの１段下流のルータのＣＰＵ使用率を取得する処理と送受信バッファ使用率を取得する処理と平均データ転送量を取得する処理、およびステップ４５２での自ルータの１段下流のルータのＣＰＵ使用率と送受信バッファ使用率と平均データ転送量を自ルータに予め管理者により設定されているＣＰＵ使用率の閾値と送受信バッファ使用率と平均データ転送量の閾値との比較を行う処理が省略される場合もある。その他の処理は実施の形態１および実施の形態２および実施の形態３および実施の形態４と同等のため、ここでの説明は省略する。
【００９４】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【００９５】
本発明を用いることにより、データ配送経路１１上に存在するルータのうち、あるルータとそのルータの下流にあるルータとの間の物理伝送路上で配送負荷ピーク時のデータの輻輳を防止することが可能となり、転送遅延やデータ紛失を防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【００９６】
実施の形態６．
以下、本発明の第６の実施形態について図２２を用い説明する。
図２２は本実施の形態におけるホストＡ１とホストＢ２との間に規定されたデータ転送経路上の一部のルータとその周辺に位置するルータを抜き出したものである。
【００９７】
図２２において、５００および５０１および５０２および５０３は実施の形態１〜５で示す機能を持つルータを表し、５０４はルータ５００とルータ５０２が存在するホストＡ１とホストＢ２との間に規定されたデータ転送経路を示す。従ってルータ５００及びルータ５０１は経路内データ中継装置であり、ルータ５０１及びルータ５０２は経路外データ中継装置である。
５０５はホストＡ１からホストＢ２に向け送信された診断パケットを示し、５０６および５０７および５０８はデータ転送経路５０４上に位置するルータ５００により診断パケット５０５を複製し、ルータ５００の持つ通信インタフェースより転送された診断パケットを示す。
なお、ホストＡ１からホストＢ２へのデータ転送について、ルータ５０１からホストＢ２へのデータ転送は、物理伝送路が接続されていないため不可能と仮定し、また、ルータ５０２およびルータ５０３からホストＢ２へのデータ転送は、物理伝送路が接続されているため可能と仮定する。
５０９はルータ５０１で診断パケット５０６を受信した際にルータ５０１からはホストＢ２へは到達しないため、ルータ５０１の内部処理でエラーパケットとして返送されたパケットであり、５１０はルータ５０２内部で診断パケット５０７に対して処理を施した診断パケット、５１１はルータ５０３内部で診断パケット５０８に対して処理を施した診断パケットを表す。なお、パケット５０９〜５１１は、実施の形態１〜５で説明した診断結果パケットに相当し、処理性能通知情報である。
【００９８】
ホストＡ１よりホストＢ２へ向け、診断パケットが送信され、ルータ５００よりも上流のルータにより、前述した、実施の形態１または実施の形態２または実施の形態３または実施の形態４または実施の形態５に示した方法を用いて、診断パケット５０５がルータ５００に転送されてくる。
診断パケット５０５を受信したルータ５００は、前述した実施の形態１または実施の形態２または実施の形態３または実施の形態４または実施の形態５で示した方法を用い、診断パケット５０５のペイロードに対して、自ルータのＩＰアドレスと動的な状態情報または属性情報として予めルータ５００の管理者により設定された、ＣＰＵ使用率や送受信バッファ使用率や平均データ転送量や最大データ転送量を付与する。
次に、ルータ５００内部で、診断パケット５０５を自ルータが持つ通信インタフェース分の複製を作り、ルータ５００の下流に位置するルータ５０１へは診断パケット５０６として、ルータ５０２へは診断パケット５０７として、ルータ５０３へは診断パケット５０８として転送する。
【００９９】
ルータ５００により診断パケット５０５を複製して作成した診断パケット５０６および５０７および５０８のうち、ルータ５０１に対して転送した診断パケット５０６は、ルータ５０１に到着後、ルータ５０１内部の処理で下流に位置するホストＢ２へは到着しないと判断され、ルータ５０１のＩＰアドレスと動的な状態情報や属性情報としてのＣＰＵ使用率や送受信バッファ使用量や平均データ転送量や最大データ転送量をペイロードには付与せず、診断パケット５０６のペイロードをそのままエラーパケットに複製し、パケット種別をエラーパケットとしてルータ５００に返送される。
また、ルータ５００により診断パケット５０５を複製して作成した診断パケットのうち、ルータ５０２に対して転送した診断パケット５０７は、ルータ５０２に到着後、ルータ５０２の内部の処理で、ルータ５０２のＩＰアドレスと動的な状態情報や属性情報としてのＣＰＵ使用率や送受信バッファ使用率や平均データ転送量や最大データ転送量をペイロードに付与され、診断パケット５１０としてホストＢ２へ向け転送される。また、ルータ５００により診断パケット５０５を複製して作成した診断パケット５０８についてもルータ５０３の内部処理を経て、診断パケット５１１としてホストＢへ転送される。
【０１００】
ルータ５０１から返送されたエラーパケット５０９を受信したルータ５００は、エラーパケット５０９のパケット種別を参照することにより、ホストＢ２へのデータ転送経路としてルータ５０１は使用できないことを知り、ルータ５０１の内部処理でエラーパケット５０９を廃棄する。
【０１０１】
図２３に本実施の形態の手法を用いた場合の診断パケットを受信した場合のルータ内部処理を示す。
本処理は、実施の形態５に対して本発明を適用した場合の処理の内容を示しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４に対しても同様の処理を追加することが可能である。
本実施の形態では、ステップ５５０で、ルータ５０１は自ルータの下流にあるホストＢ２に対して到達可能かどうかを検査し、到達不可能であれば、ステップ５５１でパケットタイプをエラーとしたエラーパケットを生成し、ステップ５５２で診断パケットのペイロードをエラーパケットに複製し、ステップ５５３で１段上流のルータ５００へエラーパケットを返却する処理を実施する。他の処理は実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５と同様のため、ここでの説明は省略する。
【０１０２】
図２４に本実施例を用いた場合のエラーパケットを受信した場合のルータ５００内部処理を示す。
本処理は、実施の形態５に対して本発明を適用した場合の処理の内容を示しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４に対しても同様の処理を追加することが可能である。
本実施の形態では、ルータ５００は、ステップ５５４で受信したパケットがエラーパケットか否かをパケット種別により判断し、エラーパケットであればステップ５５５でルータ内部でエラーパケットを廃棄する。他の処理は実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５と同様のため、ここでの説明は省略する。
【０１０３】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【０１０４】
本発明を用いることにより、データ配送経路１１およびその一部を表したデータ転送経路５０４上で、予め診断パケットを複数複製し、あるルータの通信インタフェースに接続されている下流のルータに予め転送することにより、その段階での最適なデータ配送経路を決定することが可能となり、また、最終的なデータ転送先へ物理伝送路が接続されていない場合、データが到達不可能であることを知ることが可能となり、その結果、転送遅延やデータ紛失を防止する最適なデータ配送経路を、早期に決定出来るネットワークシステムを構築することが可能となる。
【０１０５】
実施の形態７．
以下、本発明の第７の実施形態について図２５および図２６を用い説明する。図２５は本実施の形態におけるホストＡ１からホストＢ２に向け送信される診断パケットのフォーマットを示し、また図２６は本実施の形態におけるホストＢ２からホストＡ１に向け送信される診断結果パケットのフォーマットを示している。
【０１０６】
図２５の診断パケットは、実施の形態５で説明した診断パケットに対して、ホストＡ１内部でペイロードの最初に動的な状態情報や属性情報取得指定６００を付与する。動的な状態情報や属性情報取得指定６００には、ホストＡ１とホストＢ２との間のデータ配送経路１１上に配置されている各々のルータで付与する動的な状態情報や属性情報の種別が指定される。
この動的な状態情報や属性情報取得指定６００の設定値を、データ配送経路１１上に配置されている各々のルータが参照し、指定された動的な状態情報や属性情報を自ルータのＩＰアドレスと共にペイロード４１に付与する。
なお、本発明では、実施の形態５の診断パケットに対して、動的な状態情報や属性情報取得指定６００を追加しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態６においても同様に追加可能である。
【０１０７】
図２６は本実施の形態における診断結果パケットのフォーマットを示している。
図２５で示した診断パケットがホストＢ２に到着し、ホストＢ２内で、実施の形態１で示したように、診断パケットのペイロード４１を診断結果パケットのペイロードに複製し、ホストＢ２はホストＡ１に向け、データ配送経路１１を使用し、診断結果パケットを転送する。
診断パケットがデータ転送経路上に存在する各々のルータを通過する際、ホストＡ１からホストＢ２へのデータの流れを示すデータ配送経路上にあるルータは、動的な状態情報や属性情報取得指定６００の設定値を参照し、ペイロード４１に付与されている、１段下流のルータの動的な状態情報や属性情報と、予め自ルータにルータ管理者により設定されている動的な状態情報や属性情報の閾値とを比較し、下流のデータ転送経路を変更するか否かを選択する。
なお、本発明では、実施の形態５の診断パケットに対して、動的な状態情報や属性情報取得指定６００を追加しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態６においても同様に追加可能である。
【０１０８】
データ転送経路上の各々のルータが、ホストＡ１から送信された診断パケットを転送する際の内部処理を図２７に示す。
本処理は、実施の形態５に対して本発明を適用した場合の処理の内容を示しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態６に対しても同等の処理を追加することが可能である。
診断パケットを各々のルータが転送する際、実施の形態５と概ね処理の流れは同じであり、ステップ６５０で診断パケットのペイロードより動的な状態情報や属性情報取得指定６００に設定されている値を取得し、ステップ６５１で動的な状態情報や属性情報取得指定値を検査しＣＰＵ使用率の記録が指定されているかどうかを判定する。ステップ６５２で、動的な状態情報や属性情報取得指定値を検査し送受信バッファ使用率の記録が指定されているかどうかを判定し、ステップ６５３で、動的な状態情報や属性情報取得指定値を検査し平均データ転送量の記録が指定されているかどうかを判定し、ステップ６５４で、動的な状態情報や属性情報取得指定値を検査し最大データ転送量の記録が指定されているかどうかを判定する。
他の処理は実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６と同等のため、ここでの説明は省略する。
【０１０９】
データ転送経路上の各々のルータが、ホストＢ２から送信される診断結果パケットを転送する際の内部処理を図２８に示す。
本処理は、実施の形態５に対して本発明を適用した場合の処理の内容を示しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態６に対しても同等の処理を追加することが可能である。
診断結果パケットを各々のルータが転送する際、実施の形態５と概ね処理の流れは同じであり、ステップ６５５でペイロードより動的な状態情報や属性情報取得指定６００の値を取得し、ステップ６５６で１段下流にあるルータの項目より、動的な状態情報や属性情報取得指定６００で指定された項目を取得し、ステップ６５７で動的な状態情報や属性情報取得指定６００で指定された項目と、自ルータに予め管理者により設定されている閾値とを比較する処理を実施する。
他の処理は実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６と同等のため、ここでの説明は省略する。
【０１１０】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【０１１１】
本発明を用いることにより、データ配送経路１１上に存在するルータに対して、各々のルータで取得し診断パケットのペイロードに付与する動的な状態情報や属性情報が動的に指定でき、かつ、診断結果パケットのペイロード中に記録されている１段下流のルータの動的な状態情報や属性情報と自ルータにルータ管理者により予め設定されている動的な状態情報や属性情報の閾値との間で比較項目を動的に決定することが可能となり、動的な状態情報や属性情報の比較対象を変更することで転送遅延やデータ紛失の防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１１２】
実施の形態８．
以下、本発明の第８の実施形態について図２９および図３０を用い説明する。図２９は本実施の形態においてホストＡ１からホストＢ２に向け送信される診断パケットのフォーマットを示し、また図３０は本実施の形態においてホストＢ２からホストＡ１に向け送信される診断結果パケットのフォーマットを示している。
【０１１３】
図２９の診断パケットは、実施の形態５で説明した診断パケットに対して、ホストＡ１内部でペイロードの最初に動的な状態情報や属性情報の閾値７００を追加したものである。動的な状態情報や属性情報の閾値７００はデータ配送経路１１上の各々のルータで予めルータ管理者により設定された、そのルータで取得しなくてはいけない動的な状態情報や属性情報の種類分の閾値が格納されている。この動的な状態情報や属性情報の閾値７００はホストＡ１が診断パケットをホストＢ２に送信する際に付与される。その後、データ配送経路１１上の各々のルータは、診断パケットの転送の際には、この動的な状態情報や属性情報の閾値７００を参照せず、前述した実施の形態５で示したデータ転送処理を実施する。
なお、本発明では、実施の形態５の診断パケットに対して、動的な状態情報や属性情報の閾値７００を追加しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態６および実施の形態７においても同様に追加可能である。
【０１１４】
図３０は本実施の形態における診断結果パケットのフォーマットを示している。
図２９で示した診断パケットがホストＢ２に到着し、ホストＢ２内で、実施の形態１で示したように、診断パケットのペイロード４１を診断結果パケットのペイロードに複製し、ホストＢ２はホストＡ１に向け、データ配送経路１１を使用し、診断結果パケットを転送する。
診断パケットがデータ転送経路上に存在する各々のルータを通過する際、ホストＡ１からホストＢ２へのデータの流れを示すデータ配送経路上にあるルータは、動的な状態情報や属性情報の閾値７００の設定値を参照し、ペイロード４１に付与されている、１段下流のルータの動的な状態情報や属性情報と、動的な状態情報や属性情報の閾値７００の設定値とを比較し、下流のデータ転送経路を変更するか否かを選択する。
なお、本発明では、実施の形態５の診断パケットに対して、動的な状態情報や属性情報の閾値７００を追加しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６および実施の形態７においても同様に追加可能である。
【０１１５】
データ転送経路上の各々のルータが、ホストＡ１から送信された診断パケットを転送する際の内部処理は、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６および実施の形態７と同等であるため、ここでの説明は省略する。
【０１１６】
データ転送経路上の各々のルータが、ホストＢ２から送信される診断結果パケットを転送する際の内部処理を図３１に示す。
本処理は、実施の形態５に対して本発明を適用した場合の処理の内容を示しているが、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態６および実施の形態７に対しても同等の処理を追加することが可能である。
診断結果パケットを各々のルータが転送する際、実施の形態５と概ね処理の流れは同じであり、ステップ７５０でペイロードより動的な状態情報や属性情報の閾値を取得し、ステップ７５１で１段下流にあるルータのＣＰＵ使用率と送受信バッファ使用率と平均データ転送量と最大データ転送量をペイロードより取得した動的な状態情報や属性情報の閾値を比較する処理を実施する。他の処理は実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６および実施の形態７と同等のため、ここでの説明は省略する。
【０１１７】
なお、以上の説明では、送信ホストＡ１から受信ホストＢ２に向けて診断パケットを送信し、受信ホストＢ２から送信ホストＡ１に向けて診断結果パケットを送信することとしたが、これらを逆の流れで行うことも可能である。
【０１１８】
本発明を用いることにより、データ配送経路１１上に存在するルータに対して、各々のルータで取得し診断パケットのペイロードに付与するＣＰＵ使用率や送受信バッファ使用率や平均データ転送量や最大データ転送量と診断結果パケットに付与されている動的な状態情報や属性情報の閾値を比較することが可能となり、動的な状態情報や属性情報の閾値を個々の診断パケット送信時に変更することで転送遅延やデータ紛失の防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１１９】
実施の形態９．
以下、本発明の第９の実施形態について図３２を用い説明する。
図３２は診断パケットを生成／送信および診断結果パケットを受信し、また診断結果パケットのペイロードに付与されたデータ配送経路１１上の各々のルータのＩＰアドレスを取得し蓄積処理を実施するホストＡ１の内部構造の例を示したものである。
【０１２０】
ホストＡ１内部では、ホスト上で動作するＯＳにより、カーネル領域８０１とユーザ領域８００に分けられて処理される。本実施の形態では、ユーザ領域８００で動作するデータ転送経路診断アプリケーション８０２および他の通信アプリケーション８０３の処理を例示する。これらのアプリケーション以外の処理を行うアプリケーションもホストＡ１上で同時に複数動作するが、本実施の形態では記載を省略する。データ転送経路診断アプリケーション８０２はその内部に診断パケット生成部８０４と診断パケット送信部８０５と診断結果パケット受信部８０７と診断結果蓄積部８０６と経路検索部８０９を持ち、診断結果蓄積部８０６は診断結果蓄積テーブル８０８を管理している。
【０１２１】
データ転送経路診断アプリケーション８０２は任意のタイミングで、診断パケット生成部により、データ配送経路１１に送信する診断パケットを作成し、その後診断パケット送信部８０５により、生成した診断パケットをネットワーク上に送信する。
診断パケット生成部８０４で生成された診断パケットのフォーマットは、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６および実施の形態７および実施の形態８で示した診断パケットのフォーマットを採る。
【０１２２】
ホストＡ１の接続されているネットワークより、実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６および実施の形態７および実施の形態８で示した診断結果パケットが到着した際、データ転送経路診断アプリケーション８０２の診断結果パケット受信部８０７で受信し、その後診断結果蓄積部８０６に渡される。
診断結果蓄積部８０６は診断結果パケット受信部８０７より取得した診断結果パケットのペイロードから、データ配送経路１１上の各々のルータが付与したＩＰアドレスと動的な状態情報や属性情報を抜き出し、データ転送経路情報として診断結果蓄積テーブルへ記録する。
本処理を診断結果パケットを受信するたびに実施することにより、診断結果蓄積テーブルには、データ配送経路１１上にある各々のルータのＩＰアドレスによる経路情報と動的な状態情報や属性情報が蓄積される。
実施の形態１および実施の形態２および実施の形態３および実施の形態４および実施の形態５および実施の形態６および実施の形態７および実施の形態８で行われる、データ転送経路の動的な変更処理により、更新されたデータ転送経路についても次回の診断結果パケット受信の際に動的な状態情報や属性情報が診断結果蓄積テーブル８０８内に蓄積されることになる。
【０１２３】
ここで他の通信アプリケーション８０３が、ネットワーク上で決定されているホストＡ１とホストＢ２との間のデータ転送経路に従わない、ＩＰパケットのソースルーティング手法を用いたデータの送信を実施する場合を示す。
他のアプリケーション８０３はＩＰパケットのソースルーティング手法を用いるパケットを作成する段階でデータ転送経路診断アプリケーション８０２内の経路検索部８０９へ、データ転送経路を通して、各々のルータの動的な状態情報や属性情報がある閾値以下となる経路の候補を抽出するよう要求する。
他の通信アプリケーション８０３より経路候補抽出要求を受け取った経路検索部８０９は診断結果蓄積テーブル８０８より、経路途中の各々のルータの動的な状態情報や属性情報が閾値以下となるようなデータ転送経路候補を他のアプリケーション８０３に対して提示する。
経路検索部８０９よりデータ転送経路候補を提示された段階で、他の通信アプリケーション８０３は、データ転送経路上の各々のルータの動的な状態情報や属性情報以外の決定条件（例えば、必ずあるルータは通らなくてはいけない、などの条件）を基に、実際にソースルーティング手法で用いるデータ転送経路を決定する。
【０１２４】
図３３にデータ転送経路診断アプリケーション８０２内部の診断パケット生成部８０４の処理を示す。
データ転送経路診断アプリケーション８０２が動作中の任意のタイミングにおいて、ステップ８５０で診断パケットを生成し、ステップ８５１で生成した診断パケットを診断パケット送信部８０５へ渡し処理を終了する。
次に図３４にデータ転送経路診断アプリケーション８０２内部の診断パケット送信部８０５の処理を示す。
ステップ８５２で診断パケット生成部８０４から受け取り、ステップ８５３で診断パケットをホストＡ１が接続されているネットワークへ送信し処理を終了する。
次に図３５にデータ転送経路診断アプリケーション８０２内部の診断結果パケット受信部８０７の処理を示す。
ステップ８５４でホストＡ１が接続されているネットワークから診断結果パケットを受信し、ステップ８５５で受信した診断結果パケットを診断結果蓄積部８０６へ渡し処理を終了する。
次に図３６にデータ転送経路診断アプリケーション８０２内部の診断結果蓄積部８０６の処理を示す。ステップ８５６で診断結果パケット受信部８０７より受信した診断結果パケットを受け取り、ステップ８５７で診断結果パケットのペイロードに記録された各々のルータのＩＰアドレスと動的な状態情報や属性情報を抽出し診断結果蓄積テーブル８０８に追加し処理を終了する。
次に図３７にデータ転送経路診断アプリケーション８０２内部の経路検索部８０９の処理を示す。
ステップ８６０で他の通信アプリケーション８０３からのデータ経路候補抽出要求を受け取り、ステップ８６１で受け取ったデータ経路候補抽出要求に指定された、ルータの動的な状態情報や属性情報に対する閾値を基に診断結果蓄積部８０６が管理している診断結果蓄積テーブル８０８内部を検索することによりデータ経路候補を抽出し、他の通信アプリケーション８０３へ提示し処理を終了する。
【０１２５】
本発明を用いることにより、データ配送経路１１上の各々のルータにより作成された診断結果パケットのペイロードに付与されている各々のルータのＩＰアドレスおよび動的な状態情報や属性情報をホストＡ１に蓄積することが可能となり、ホストＡ１上で動作するＩＰパケットのソースルーティング手法を用いて、決められたデータ転送経路に従わないパケット送信を実施したい他の通信アプリケーションに対しても、動的な状態情報や属性情報が一定となり転送遅延やデータ紛失を防止する最適なデータ配送経路を選択させる手法を提供可能となる。
【０１２６】
なお、本実施の形態では、データ転送経路診断アプリケーション８０２が診断パケット送信側のホストＡ１のアプリケーションとして動作する例を示したが、データ転送経路診断アプリケーション８０２が持つ同等の機能を送信ホストＡ１のカーネル領域８０１に持たせて同等の効果を得ることも可能である。
また、本実施の形態では、診断パケット送信側のホストＡ１上にデータ転送経路診断アプリケーション８０２の機能が備わっていることを前提に説明したが診断パケット受信側のホストＢ２上にも本実施の形態で示した機能が備わっていても良く、その場合はホストＢ２側からも診断パケットを送信することが可能となる。
【０１２７】
実施の形態１０．
以下、本発明の第１０の実施形態について図３８を用い説明する。
図３８は周期起床部９００をデータ転送経路診断アプリケーション８０２に備えたホストＡ１の内部構造の例を示したものである。
【０１２８】
周期起床部９００はデータ経路診断アプリケーション８０２の起動時、または、起動後のホストＡ１の管理者からの指示で一定間隔で動作し診断パケット生成部８０４に対して診断パケットを生成するよう促す処理を実施する。
これにより、周期起床部９００が一定間隔で診断パケット生成部８０４を動作させることで、診断パケット生成部８０４では一定間隔で診断パケットを生成することになり、実施の形態９で示した診断パケットのネットワークへの送信処理が一定の間隔で実施されることになる。また、これに基づいてネットワークから受信する診断結果パケットも一定間隔にホストＡ１に到着することになり、その結果診断結果蓄積テーブル８０８には、診断結果パケット受信部８０７および診断結果蓄積部８０６によりデータ配送経路１１上にある各々のルータのＩＰアドレスによる経路情報と動的な状態情報は属性情報が蓄積されることになる。
これにより診断結果蓄積テーブル８０８の内容は一定間隔で更新されつづけ、新しいデータ転送経路の候補を他の通信アプリケーション８０３からのデータ転送経路抽出要求に対して経路検索部８０９により最新のデータ転送経路候補を提示することが可能となる。なお他の構成要素の処理は前述の実施の形態９と同等のため、ここでの説明は省略する。
【０１２９】
図３９にデータ転送経路診断アプリケーション８０２内部の周期起床部９００の処理を示す。
データ転送経路診断アプリケーション８０２起動時、または起動後のホストＡ１の管理者からの指示で設定された間隔により、ステップ９５０で周期的に起床し、ステップ９５１で診断パケット生成部に診断パケット生成を促し処理を終了する。なお、他の構成要素の処理内容は前述の実施の形態９と同等のため、ここでの説明は省略する。
【０１３０】
本発明を用いることにより、データ配送経路１１上の各々のルータにより作成された診断結果パケットのペイロードに付与されている各々のルータのＩＰアドレスおよび動的な状態情報や属性情報を周期的に新しい情報に更新することが可能となり、ホストＡ１上で動作するＩＰパケットのソースルーティング手法を用いて、決められたデータ転送経路に従わないパケット送信を実施したい他の通信アプリケーションに対して、最新となる動的な状態情報や属性情報が一定となり転送遅延やデータ紛失を防止する最適なデータ配送経路を選択させる手法を提供可能となる。
【０１３１】
なお、本実施の形態では、データ転送経路診断アプリケーション８０２が診断パケット送信側のホストＡ１のアプリケーションとして動作する例を示したが、データ転送経路診断アプリケーション８０２が持つ同等の機能を送信ホストＡ１のカーネル領域８０１に持たせて同等の効果を得ることも可能である。また、本実施の形態では、診断パケット送信側のホストＡ１上にデータ転送経路診断アプリケーション８０２の機能が備わっていることを前提に説明したが診断パケット受信側のホストＢ２上に本実施の形態で示した機能が備わっていても良く、その場合はホストＢ２側からも診断パケットを送信することが可能となる。
【０１３２】
ここで、以上にて説明してきた本発明の特徴をまとめると以下のようになる。
本発明は、送信ホストと受信ホストとの間にルータが複数配置され、ルータによりデータ配送経路が決定されるようなＩＰネットワークにおいて、以下の手段を備えることで、使用経路の動的な状態情報や属性情報が一定となる経路を作成でき、データ転送時に動的な経路情報や属性情報の変化によって発生するデータ転送遅延を抑え、最適なデータ配送経路を決定するネットワークシステム構築手法に関する。
（ａ）送信ホストは一定間隔で、受信ホストとの間の経路を診断するための診断パケットを送信する。
（ｂ）送信ホスト−受信ホスト間のデータ転送経路上に存在するルータＰ１は、送信ホストからの診断パケットを、ルータＰ１より下流のルータＰ２へ転送する際に、診断パケットのペイロード（データ部）にルータＰ１のＩＰアドレスと動的な状態情報や属性情報を付与する。
（ｃ）ルータＰ２も同様に、配送経路の下流にあるルータＰ３へ診断パケットを転送する際に、診断パケットのペイロードにルータＰ２のＩＰアドレスと動的な状態情報や属性情報を付与する。
（ｄ）上記（ｂ）（ｃ）のようにして、経路途中の各々のルータのＩＰアドレスと動的な状態情報や属性情報が付与された診断パケットが、受信ホストに到着した段階で、受信ホストは診断パケットのペイロードに付与された経路途中にあるルータのＩＰアドレスと動的な状態情報や属性情報を、診断結果パケットのペイロードに複製し送信ホストへ向け返信する。
（ｅ）経路途中に存在する、各々のルータは、診断結果パケットのペイロードを見ることで、送信ホストから受信ホスト向きの経路で自ルータより下流にあるルータの動的な状態情報や属性情報を検出することが出来、その動的な状態情報や属性情報が、予め自ルータ管理者により設定された閾値以上であれば、他のルータを経由するように経路を変更する。
【０１３３】
本発明は、上記のネットワークシステムで、経路途中に存在するルータが診断パケットのペイロードに付与する自ルータの動的な状態情報や属性情報として自ルータのＣＰＵ使用率を用いる。診断結果パケットにより各ルータが経路を変更する要因に、下流に存在するルータのＣＰＵ使用率を用いることで、ルータのＣＰＵ使用率が高い場合に起こる転送遅延を抑えたデータ転送を可能とすることを特徴とする。
【０１３４】
本発明は、上記のネットワークシステムで、経路途中に存在するルータが診断パケットのペイロードに付与する自ルータの動的な状態情報や属性情報として、ルータ内部の送受信バッファの使用率を用いるか、または、自ルータの送受信バッファの使用率を追加する。診断結果パケットにより、各ルータが経路を変更する要因に、下流のルータの送受信バッファの使用率を用いることで、送受信バッファ溢れによるデータ紛失を防止することを可能とすることを特徴とする。
【０１３５】
本発明は、上記のネットワークシステムで、途中経路に存在するルータが診断パケットのペイロードに付与する自ルータの動的な状態情報や属性情報として自ルータの平均データ転送量を用いるか、または、自ルータの平均データ転送量を追加する。診断結果パケットにより、各ルータが経路を変更する要因に、下流のルータの平均データ転送量を用いることで、下流ルータとの間の物理伝送路上でのデータの輻輳による転送遅延やデータ紛失を防止することを可能とすることを特徴とする。
【０１３６】
本発明は、上記のネットワークシステムで、途中経路に存在するルータが診断パケットのペイロードに付与する自ルータの動的な状態情報や属性情報として自ルータの最大データ転送量を用いるか、または、自ルータの最大データ転送量を追加する。診断結果パケットにより、各ルータが経路を変更する要因に、下流のルータの最大データ転送量を用いることで、下流ルータとの間の物理伝送路上でのピーク時のデータの輻輳による転送遅延やデータ紛失を防止することを可能とすることを特徴とする。
【０１３７】
本発明は、上記のネットワークシステムにおいて、以下の手段を備えることで、送信ホスト−受信ホスト間に多数存在する転送経路を経路途中の各々のルータによって検出可能とし、かつ、その複数経路の中から最適な転送経路を選択することを可能とするネットワークシステム構築手法に関する。
（ａ）送信ホストが受信ホストに向けて送信した診断パケットを、経路途中に存在するルータが自ルータの持つ送受信インタフェース分、内部で診断パケット複製し、全ての送受信インタフェースに対して、下流ルータに順次診断パケットを転送するようにする。
（ｂ）上記（ａ）のようにして、複数経路に分散された診断パケットのうち、受信ホストへ到着した診断パケットは、受信ホストにより診断結果パケットとして、それまで通ってきた経路を戻る形で送信ホストに向けて返却される。
（ｃ）上記（ａ）のようにして、複数経路に分散された診断パケットのうち、物理的経路が存在しないなどの理由より、受信ホストへ到着しなかった診断パケットは、経路途中ルータより送信ホストに向けてエラーパケットが返却される。
（ｄ）送信ホストに向けて返却された診断結果パケットおよびエラーパケットにより、途中経路に存在する各々のルータはパケットのペイロードを見ることで、送信ホスト−受信ホスト間に複数の配送経路が存在することを把握する。
（ｅ）さらに、把握した複数経路に対して、予め規定された閾値以下となる最適な経路を決定する。
【０１３８】
本発明は、上記のネットワークシステムにおいて、以下の手段を備えることで、データ配送経路を変更する要因を各々のルータに通知することを可能とするネットワークシステム構築手法に関する。
（ａ）送信ホストが送信する診断パケットに、ルータの持つ動的な状態情報や属性情報のうち、診断パケットに記録する要素を指定するためのフィールドをもつ。
（ｂ）送信ホストは受信ホストに対して診断パケットを送信する前に、データ配送経路途中の各々のルータに記録させる動的な状態情報や属性情報を指定する。
（ｃ）（ｂ）により送信ホストより発行された診断パケットを受信したルータは、その診断パケット内に示されている、送信ホストが指定した動的な状態情報や属性情報を、自ルータのＩＰアドレスと共に診断パケットのペイロードに記録する。
【０１３９】
本発明は、上記のネットワークシステムにおいて、以下の手段を備えることで、データ配送経路を変更するための閾値を各々のルータに通知することを可能とするネットワーク構築手法に関する。
（ａ）送信ホストが送信する診断パケットに、ルータの持つ動的な状態情報や属性情報に対して、経路を変更する際の閾値を指定するためのフィールドを持つ。
（ｂ）送信ホストは受信ホストに対して診断パケットを送信する前に、データ配送経路の各々のルータに動的な状態情報や属性情報による、経路変更に対する閾値を指定する。
（ｃ）送信ホストから受信ホストに対して送信される診断パケットが、データ配送経路の途中に存在するルータにより中継されるときは、上記と同様に、ペイロードに動的な状態情報や属性情報を自ルータのＩＰアドレスと共に記録していく。
（ｄ）受信ホストに到着した診断パケットはそのペイロードを診断結果パケットに複製し、送信ホストへ返送される。
（ｅ）受信ホストから送信ホストに対して返送された診断結果パケットを、データ配送経路の途中のルータが転送する際、受信結果パケットの動的な状態情報や属性情報に対する閾値を記録しているフィールドを参照することで、自ルータが経路を変更するための閾値を知り、その閾値を用い、自ルータより下流にあるルータの動的な状態情報や属性情報との比較をし、閾値以上の値であれば、経路の変更を行う。
【０１４０】
本発明は、上記のネットワークシステムにおいて、受信ホストから送信ホストへ返却された診断結果パケットを、送信ホストが受信した際、診断パケットのペイロードに記録されている、経路途中のルータが付与したＩＰアドレスと動的な状態情報や属性情報を送信ホストで収集し管理する。ＩＰパケットのソースルーティングリクエストが送信ホスト上で動作するユーザアプリケーションより発行された場合、収集管理したＩＰアドレスと動的な状態情報や属性情報の中から、最適な経路を選択し指定することを可能とすることを特徴とする。
【０１４１】
本発明は、上記のネットワークシステムで、送信ホストが収集し管理しているＩＰアドレスと動的な状態情報や属性情報を、送信ホストが一定間隔で発行する診断パケットへの返信として受信ホストから返却される診断結果パケットを基準に更新することにより、ユーザアプリケーションより発行された、ＩＰパケットのソースルーティング要求に対して、常に最適な経路を選択し指定することを可能とすることを特徴とする。
【０１４２】
【発明の効果】
本発明を用いることにより、従来技術では出来なかった、送信ホスト−受信ホスト間に定められるデータ転送経路上に位置しデータ転送処理を実施する各々のルータの動的な状態情報や属性情報の変化によってデータ転送経路を変更することが可能になり、その結果、ルータの動的な状態情報や属性情報が一定となる経路を作成でき、データ転送時に動的な経路情報や属性情報の変化によって発生するデータ転送遅延を抑え、最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１４３】
本発明を用いることにより、データ転送経路上に存在するルータのうち、ルータのＣＰＵ使用率が高い場合に起こる転送遅延を抑えたデータ転送が可能となり、最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１４４】
本発明を用いることにより、データ転送経路上に存在するルータのうち、ルータの送受信バッファ使用率の高い場合に起こる、送受信バッファ溢れによるデータ紛失を防止することを可能となり、最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１４５】
本発明を用いることにより、データ転送経路上に存在するルータのうち、あるルータとそのルータの下流にあるルータとの間の物理伝送路上でのデータの輻輳を防止することが可能となり、転送遅延やデータ紛失を防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１４６】
本発明を用いることにより、データ転送経路上に存在するルータのうち、あるルータとそのルータの下流にあるルータとの間の物理伝送路上で配送負荷ピーク時のデータの輻輳を防止することが可能となり、転送遅延やデータ紛失を防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１４７】
本発明を用いることにより、データ転送経路上で、予め診断パケットを複数複製し、あるルータの通信インタフェースに接続されている下流のルータに予め転送することにより、その段階での最適なデータ配送経路を決定することが可能となり、また、最終的なデータ転送先へ物理伝送路が接続されていない場合、データが到達不可能であることを知ることが可能となり、その結果、転送遅延やデータ紛失を防止する最適なデータ配送経路を、早期に決定出来るネットワークシステムを構築することが可能となる。
【０１４８】
本発明を用いることにより、データ転送経路上に存在するルータに対して、各々のルータで取得し診断パケットのペイロードに付与する動的な状態情報や属性情報が動的に指定でき、かつ、診断結果パケットのペイロード中に記録されている１段下流のルータの動的な状態情報や属性情報と自ルータにルータ管理者により予め設定されている動的な状態情報や属性情報の閾値との間で比較項目を動的に決定することが可能となり、動的な状態情報や属性情報の比較対象を変更することで転送遅延やデータ紛失の防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１４９】
本発明を用いることにより、データ転送経路上に存在するルータに対して、各々のルータで取得し診断パケットのペイロードに付与するＣＰＵ使用率や送受信バッファ使用率や平均データ転送量や最大データ転送量と診断結果パケットに付与されている動的な状態情報や属性情報の閾値を比較することが可能となり、動的な状態情報や属性情報の閾値を個々の診断パケット送信時に変更することで転送遅延やデータ紛失の防止する最適なデータ配送経路を決定するネットワークシステムを構築することが可能となる。
【０１５０】
本発明を用いることにより、データ転送経路上の各々のルータにより作成された診断結果パケットのペイロードに付与されている各々のルータのＩＰアドレスおよび動的な状態情報や属性情報を送信ホストに蓄積することが可能となり、送信ホスト上で動作するＩＰパケットのソースルーティング手法を用いて、決められたデータ転送経路に従わないパケット送信を実施したい他の通信アプリケーションに対しても、動的な状態情報や属性情報が一定となり転送遅延やデータ紛失を防止する最適なデータ配送経路を選択させる手法を提供可能となる。
【０１５１】
本発明を用いることにより、データ転送経路上の各々のルータにより作成された診断結果パケットのペイロードに付与されている各々のルータのＩＰアドレスおよび動的な状態情報や属性情報を周期的に新しい情報に更新することが可能となり、送信ホスト上で動作するＩＰパケットのソースルーティング手法を用いて、決められたデータ転送経路に従わないパケット送信を実施したい他の通信アプリケーションに対して、最新となる動的な状態情報や属性情報が一定となり転送遅延やデータ紛失を防止する最適なデータ配送経路を選択させる手法を提供可能となる。
【図面の簡単な説明】
【図１】  本発明に係るデータ通信システムの一例を示す図。
【図２】  実施の形態１に係る診断パケットのフォーマットの一例を示す図。
【図３】  実施の形態１に係る診断パケットの転送処理を示すフローチャート図。
【図４】  実施の形態１に係る診断結果パケットのフォーマットの一例を示す図。
【図５】  実施の形態１に係る診断結果パケットの転送処理を示すフローチャート図。
【図６】  実施の形態２に係る診断パケットのフォーマットの一例を示す図。
【図７】  実施の形態２に係る診断結果パケットのフォーマットの一例を示す図。
【図８】  実施の形態２に係る診断パケットの転送処理を示すフローチャート図。
【図９】  実施の形態２に係る診断結果パケットの転送処理を示すフローチャート図。
【図１０】  実施の形態３に係る診断パケットのフォーマットの一例を示す図。
【図１１】  実施の形態３に係る診断結果パケットのフォーマットの一例を示す図。
【図１２】  実施の形態３に係る診断パケットの転送処理を示すフローチャート図。
【図１３】  実施の形態３に係る診断結果パケットの転送処理を示すフローチャート図。
【図１４】  実施の形態４に係る診断パケットのフォーマットの一例を示す図。
【図１５】  実施の形態４に係る診断結果パケットのフォーマットの一例を示す図。
【図１６】  実施の形態４に係る診断パケットの転送処理を示すフローチャート図。
【図１７】  実施の形態４に係る診断結果パケットの転送処理を示すフローチャート図。
【図１８】  実施の形態５に係る診断パケットのフォーマットの一例を示す図。
【図１９】  実施の形態５に係る診断結果パケットのフォーマットの一例を示す図。
【図２０】  実施の形態５に係る診断パケットの転送処理を示すフローチャート図。
【図２１】  実施の形態５に係る診断結果パケットの転送処理を示すフローチャート図。
【図２２】  実施の形態６に係るデータ通信システムの一部を示す図。
【図２３】  実施の形態６に係る診断パケットの転送処理を示すフローチャート図。
【図２４】  実施の形態６に係るエラーパケットに対する処理を示すフローチャート図。
【図２５】  実施の形態７に係る診断パケットのフォーマットの一例を示す図。
【図２６】  実施の形態７に係る診断結果パケットのフォーマットの一例を示す図。
【図２７】  実施の形態７に係る診断パケットの転送処理を示すフローチャート図。
【図２８】  実施の形態７に係る診断結果パケットの転送処理を示すフローチャート図。
【図２９】  実施の形態８に係る診断パケットのフォーマットの一例を示す図。
【図３０】  実施の形態８に係る診断結果パケットのフォーマットの一例を示す図。
【図３１】  実施の形態８に係る診断結果パケットの転送処理を示すフローチャート図。
【図３２】  実施の形態９に係る送信ホストの構成を示す図。
【図３３】  実施の形態９に係る診断パケット生成部の処理を示すフローチャート図。
【図３４】  実施の形態９に係る診断パケット送信部の処理を示すフローチャート図。
【図３５】  実施の形態９に係る診断結果パケット受信部の処理を示すフローチャート図。
【図３６】  実施の形態９に係る診断結果蓄積部の処理を示すフローチャート図。
【図３７】  実施の形態９に係る経路検索部の処理を示すフローチャート図。
【図３８】  実施の形態１０に係る送信ホストの構成を示す図。
【図３９】  実施の形態１０に係る周期起床部の処理を示すフローチャート図。
【図４０】  ルータの構成を示す図。
【図４１】  従来技術１（ＲＩＰ）を示す図。
【図４２】  従来技術１（ＨＥＬＬＯプロトコル）を示す図。
【図４３】  従来技術１（ＯＳＰＦプロトコル）を示す図。
【図４４】  従来技術２を示す図。
【図４５】  従来技術３を示す図。
【符号の説明】
１  送信ホスト、２  受信ホスト、３  ルータ、４  ルータ、５  ルータ、６ルータ、７  ルータ、８  ルータ、９  ルータ、１０  ルータ、１１  データ配送経路、１２  変更後のデータ配送経路、８００  ユーザ領域、８０１  カーネル領域、８０２  データ転送経路診断アプリケーション、８０３  他の通信アプリケーション、８０４  診断パケット生成部、８０５  診断パケット送信部、８０６  診断結果蓄積部、８０７  診断結果パケット受信部、８０８  診断結果蓄積テーブル、８０９  経路検索部、９００  周期起床部、３０００  パケット送受信部、３１００  パケット種別判別部、３２００  通常パケット処理部、３３００  診断パケット処理部、３３１０  動的状態情報／属性情報検出部、３３２０  診断パケット加工部、３３３０  動的状態情報／属性情報付与部、３３４０  自ＩＰアドレス付与部、３４００  診断結果パケット処理部、３４１０  下流ルータＩＰアドレス検索部、３４２０  下流ルータ動的状態情報／属性情報取得部、３４３０  下流ルータ判断部、３４４０  閾値記録部、３４５０  下流ルータ選択部、３５００  ルーティングテーブル。
【図１】
0003714530.tif 000002
【図２】
0003714530.tif 000003
【図３】
0003714530.tif 000004
【図４】
0003714530.tif 000005
【図５】
0003714530.tif 000006
【図６】
0003714530.tif 000007
【図７】
0003714530.tif 000008
【図８】
0003714530.tif 000009
【図９】
0003714530.tif 000010
【図１０】
0003714530.tif 000011
【図１１】
0003714530.tif 000012
【図１２】
0003714530.tif 000013
【図１３】
0003714530.tif 000014
【図１４】
0003714530.tif 000015
【図１５】
0003714530.tif 000016
【図１６】
0003714530.tif 000017
【図１７】
0003714530.tif 000018
【図１８】
0003714530.tif 000019
【図１９】
0003714530.tif 000020
【図２０】
0003714530.tif 000021
【図２１】
0003714530.tif 000022
【図２２】
0003714530.tif 000023
【図２３】
0003714530.tif 000024
【図２４】
0003714530.tif 000025
【図２５】
0003714530.tif 000026
【図２６】
0003714530.tif 000027
【図２７】
0003714530.tif 000028
【図２８】
0003714530.tif 000029
【図２９】
0003714530.tif 000030
【図３０】
0003714530.tif 000031
【図３１】
0003714530.tif 000032
【図３２】
0003714530.tif 000033
【図３３】
0003714530.tif 000034
【図３４】
0003714530.tif 000035
【図３５】
0003714530.tif 000036
【図３６】
0003714530.tif 000037
【図３７】
0003714530.tif 000038
【図３８】
0003714530.tif 000039
【図３９】
0003714530.tif 000040
【図４０】
0003714530.tif 000041
【図４１】
0003714530.tif 000042
【図４２】
0003714530.tif 000043
【図４３】
0003714530.tif 000044
【図４４】
0003714530.tif 000045
【図４５】
0003714530.tif 000046