(57)【特許請求の範囲】
【請求項１】
パケット交換ネットワークにおけるルーティング処理を行う各ノードにおいて、
入力側パケットバッファのキューに負荷分散閾値を設定し、パケット蓄積量が該負荷分散閾値に達した場合、同タイプのキューの追加処理を行い、前記閾値超過分のパケットを該追加キューにキューイングして廃棄の救済を行い、同時に、該閾値超過フローについて、サービス品質要求を満たす分散経路を求め、該分散経路への転送用のキューを出力側パケットバッファに確保し、前記超過フローの内の所定量を前記分散経路に対応する転送先アドレスにヘッダ更新してキューイングすることにより負荷分散処理を行うことを特徴とする適応的ネットワーク負荷分散方式。
【請求項２】
前記各ノードは、
入力パケットのサービスクラス情報を識別し、転送処理における優先度への分類あるいはマッピングを行う手段と、
前記入力側バッファおよび出力側バッファを前記優先度別のキューにより構成して管理する手段と、
各ポートに対して設けられ、前記出力側バッファの各優先度別キューから所定の優先処理方針で蓄積パケットを取り出して転送スケジューリングを行うスケジューラ手段と、をさらに有し、
前記優先度別のフロー単位で前記負荷分散処理を行うことを特徴とする請求項１記載の適応的ネットワーク負荷分散方式。
【請求項３】
前記各ノードは、
前記入力側バッファおよび出力側バッファにおいて、所定の最大メモリ量の範囲内で、蓄積パケット量および前記負荷分散閾値に応じて前記キュー追加処理および前記負荷分散処理を多重に行い、逆に、前記分散転送用キューを含む各追加キューにおいて蓄積パケット量がゼロになると該キューの削除処理を行ってメモリを開放することを特徴とする請求項１または２に記載の適応的ネットワーク負荷分散方式。
【請求項４】
前記各ノードは、
前記分散経路として、前記超過フローについてのサービス品質要求を満たす複数の経路が確保できる場合は、該複数の分散経路に対して前記超過フローを振り分けて負荷分散処理を行うことを特徴とする請求項２または３に記載の適応的ネットワーク負荷分散方式。
【請求項５】
前記各ノードは、
各フローについてのサービス品質要求への対応として、宛先ノードまでの伝送遅延時間を所定方法により評価し、該評価値に基づき前記分散経路の選定を行うことを特徴とする請求項２から４のいずれか１項に記載の適応的ネットワーク負荷分散方式。
【請求項６】
前記各ノードは、
前記宛先ノードまでの伝送遅延時間の評価方法として、ホップ数を用いることを特徴とする請求項５記載の適応的ネットワーク負荷分散方式。
【請求項７】
前記各ノードは、
隣接ノード間で、制御パケットの授受によりリンクの伝送遅延時間を測定して交換しあうことにより、前記宛先ノードまでの伝送遅延時間を評価し、該評価値に基づき前記分散経路の選定を行うことを特徴とする請求項５記載の適応的ネットワーク負荷分散方式。
【請求項８】
前記各ノードは、
リンクについて物理的あるいは論理的な回線障害の検出およびその復旧の検出を行い、障害検出時は、障害のあるリンクへの転送を停止し、該リンクに転送予定のフローについて、サービス品質要求を満たす切り替え経路を求め、該経路に対応する転送用キューを出力側バッファに確保し、ルーティングテーブルを更新し、前記切り替え先経路へのヘッダ書き換えを行ってキューイングし、元のキューは削除することにより回線障害対応処理を行い、また、障害復旧検出時は、復旧したリンクについて、対応するキューを再構成し、ルーティングテーブルを更新して転送を再開することにより自動的な回線切り戻しを行うことを特徴とする請求項１から７のいずれか１項に記載の適応的ネットワーク負荷分散方式。
【請求項９】
ルーティング処理を行うパケット交換装置であって、
入力パケットについてルーティング処理および転送先解決を行うヘッダ処理手段と、
負荷分散閾値の設定されたキューにより構成される入力バッファ手段と、
該入力バッファ手段からの出力の抑制を行うための出力制御信号のオン／オフを行う閾値が設定されたキューにより構成される出力バッファ手段と、
前記入力バッファ手段の蓄積パケットについて、前記出力バッファ手段へ、転送先に応じてスイッチを行うスイッチ手段と、
宛先ノードへの経路について、分散経路の候補を所定の評価方法により求めてテーブルに保持する手段と、
前記入力側キューにおいてパケット蓄積量が前記負荷分散閾値に達した場合、同タイプの追加キューの追加処理を行い、前記閾値超過分のパケットを該追加キューにキューイングして廃棄の救済を行う手段と、
前記キュー追加処理と同時に、前記閾値超過フローについて、サービス品質要求を満たす分散経路を前記テーブルから求め、該分散経路への転送用のキューを前記出力バッファ手段内に確保し、前記フローの内の所定量を前記分散経路に対応する転送先アドレスにヘッダ更新してキューイングする手段と、を有することを特徴とするパケット交換装置。
【請求項１０】
入力パケットのサービスクラス情報を識別し、転送処理における優先度への分類あるいはマッピングを行う手段と、
前記入力バッファ手段および出力バッファ手段を該優先度別のキューにより構成して管理する手段と、
各ポートに対して設けられ、前記出力バッファ手段の各優先度別キューから所定の優先処理方針でパケットを取り出して転送スケジューリングを行うスケジューラ手段と、をさらに有し、
前記優先度別のフロー単位で前記負荷分散処理を行うことを特徴とする請求項９記載のパケット交換装置。
【請求項１１】
前記入力バッファ手段および出力バッファ手段において、所定の最大メモリ量の範囲内で、蓄積パケット量および前記負荷分散閾値に応じて前記キュー追加処理および前記負荷分散処理を多重に行い、逆に、前記分散転送用キューを含む各追加キューにおいて蓄積パケット量がゼロになると該キューの削除処理を行ってメモリを開放することを特徴とする請求項９または１０に記載のパケット交換装置。
【請求項１２】
前記分散経路として、前記超過フローについてのサービス品質要求を満たす複数の経路が確保できる場合は、該複数の分散経路に対して前記超過フローを振り分けて負荷分散処理を行うことを特徴とする請求項１０または１１に記載のパケット交換装置。
【請求項１３】
各フローについてのサービス品質要求への対応として、宛先ノードまでの伝送遅延時間を所定方法により評価し、該評価値に基づき前記分散経路の選定を行うことを特徴とする請求項１０から１２のいずれか１項に記載のパケット交換装置。
【請求項１４】
前記宛先ノードまでの伝送遅延時間の評価方法として、ホップ数を用いることを特徴とする請求項１３記載のパケット交換装置。
【請求項１５】
隣接ノード間で、制御パケットの授受によりリンクの伝送遅延時間を測定して交換しあうことにより、前記宛先ノードまでの伝送遅延時間を評価してネットワーク状況を把握する手段をさらに有し、
該評価値に基づき前記分散経路の選定を行うことを特徴とする請求項１３記載のパケット交換装置。
【請求項１６】
リンクについて物理的あるいは論理的な回線障害の検出およびその復旧の検出を行って通知する回線障害検出手段をさらに有し、
回線障害検出時は、障害のあるリンクへの転送を停止し、該リンクに転送予定のフローについて、サービス品質要求を満たす切り替え経路を前記テーブルから求め、該経路に対応する転送用キューを前記出力バッファ手段内に確保し、ルーティングテーブルを更新し、前記切り替え先経路へのヘッダ書き換えを行ってキューイングし、元のキューは削除することにより回線障害対応処理を行う手段と、
障害復旧検出時は、復旧したリンクについて、対応するキューを再構成し、ルーティングテーブルを更新して転送を再開することにより自動的な回線切り戻しを行う手段と、をさらに有することを特徴とする請求項９から１５のいずれか１項に記載のパケット交換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット交換型ネットワークにおける負荷分散方式およびパケット交換装置に関し、特に、ネットワーク層／インターネット層における負荷分散を行う負荷分散方式およびパケット交換装置に関する。
【０００２】
【従来の技術】
現在、ストリーミングなどのリアルタイム性（等時性）が要求されるアプリケーションやマルチメディア（テキスト・音声・動画データなどの混在）を扱うアプリケーションの増加に伴い、そのトラフィックが急増している。特に、音声データに比べて、動画像データの伝送では広帯域を確保する必要があったり、また、ストリーミングでは、定常的な伝送速度を確保する必要があるなど、トラフィックの特性に応じたサービス品質の保証が要求される。
【０００３】
しかし、基本的にベストエフォート型・コネクションレス型（ＩＰ）のネットワークであるインターネットにおいては、伝送遅延によるパケット到着時間の変動（ジッター）や、輻輳などによるパケット廃棄が発生してしまう。そこで、リアルタイム性が要求されるタイプのデータフローに対しては、伝送帯域を保証するなどのトラフィック制御を行うことによりサービスの保証を行うなどして対応している。
【０００４】
このようなトラフィック制御を可能とするためには、ネットワーク構成要素のそれぞれが、その機能を持つプロトコルを実装する必要がある。さらに現状では、各通信ノードをネットワークのポリシーに沿って制御するネットワークサーバ（ポリシーサーバ）が必要となっている。しかし、そのネットワークサーバの性能などからネットワークのスケールが制限されてしまうという問題がある。また、そのようなネットワークの運用や設備導入のためにコストがかかるという問題がある。
【０００５】
そこで、このような現状を踏まえ、各ノードにおいて、ネットワーク状況（負荷や障害、トポロジなど）に応じて適応的な経路設定を行って負荷分散を行うことにより、ネットワーク全体の輻輳緩和や回線使用効率の改善に寄与し、かつ、経路設定時のサービス品質を保証することのできる通信方式の実現が望まれる。また、その通信方式は、ネットワークにスケーラビリティ（ｓｃａｌａｂｉｌｉｔｙ：拡張性）を持たせることが望まれる。
【０００６】
ネットワーク層・インターネット層における経路制御の方式として静的ルーティング（ｓｔａｔｉｃ  ｒｏｕｔｉｎｇ）がある。静的ルーティングを行うノードでは、ネットワーク障害時、あるいは、ネットワーク負荷分散を行う時、予め設定された経路に切り替えを行う。特に、ネットワーク負荷分散方式としては、ネットワークの負荷状況を考慮せずに、宛先または送信元アドレスなどの情報に基づきトラフィックを振り分けることにより、転送先ノードの負荷を軽減させる方式が一般的であった。
【０００７】
上記従来の方式では、優先されるべき、あるいは、優先したいデータフローが輻輳などのネットワーク状況により廃棄されてしまう可能性があった。また、マルチメディアデータなどを経路切り替えによって振り分けるような場合、経路によって伝送遅延によりパケット到着時間に差異が発生するため、ユーザに対するサービス品質を保証することが困難であった。
【０００８】
また、経路制御の方式としては、上記静的ルーティングとともに、動的ルーティング（ｄｙｎａｍｉｃ  ｒｏｕｔｉｎｇ）を用いることができる。動的ルーティングを行う従来方式として例えば、特開平５−１３０１４４号公報に開示された方式がある。この方式では、各ノードが隣接ノードとの間で回線障害などのネットワーク状況を検出し、検出した情報をもとにその都度、コスト（ｃｏｓｔ）が最小な経路を再計算により求めて経路選択を行う。しかし、この方式は、ノード間での局所的な経路変更（最短迂回経路選択）を行っているに過ぎないので、ネットワーク全体としての輻輳状態の緩和や回線使用効率の改善には至らない。
【０００９】
また、特開２００１−２４６９９号公報は、複数のノードからネットワーク状態情報を収集し、対象ネットワーク全体として最適な経路選択情報を各ノードに対して送信する負荷分散サーバにより負荷分散を行うネットワーク負荷分散システムについて開示している。しかし、このシステムでは、前述の通り、負荷分散サーバの性能などによりネットワークのスケーラビリティが制限されるという問題がある。
【００１０】
【発明が解決しようとする課題】
本発明は、かかる問題点に鑑みてなされたものであり、パケット交換型ネットワークにおいて、ルーティングあるいはスイッチを行うノードが、トラフィックのタイプや負荷や回線障害やトポロジなどのネットワーク状況に対して適応的に経路設定および負荷分散処理を行うことにより、ネットワーク全体の輻輳緩和や回線使用効率の改善に寄与し、かつ、経路設定時のサービス品質を保証でき、ネットワークにスケーラビリティを持たせることのできる適応的ネットワーク負荷分散方式およびパケット交換装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
かかる目的を達成するために、請求項１記載の発明は、パケット交換ネットワークにおけるルーティング処理を行う各ノードにおいて、入力側パケットバッファのキューに負荷分散閾値を設定し、パケット蓄積量が負荷分散閾値に達した場合、同タイプのキューの追加処理を行い、閾値超過分のパケットを追加キューにキューイングして廃棄の救済を行い、同時に、閾値超過フローについて、サービス品質要求を満たす分散経路を求め、分散経路への転送用のキューを出力側パケットバッファに確保し、超過フローの内の所定量を分散経路に対応する転送先アドレスにヘッダ更新してキューイングすることにより負荷分散処理を行うことを特徴としている。
【００１２】
請求項２記載の発明は、請求項１記載の発明において、各ノードは、入力パケットのサービスクラス情報を識別し、転送処理における優先度への分類あるいはマッピングを行う手段と、入力側バッファおよび出力側バッファを優先度別のキューにより構成して管理する手段と、各ポートに対して設けられ、出力側バッファの各優先度別キューから所定の優先処理方針で蓄積パケットを取り出して転送スケジューリングを行うスケジューラ手段とをさらに有し、優先度別のフロー単位で負荷分散処理を行うことを特徴としている。
【００１３】
請求項３記載の発明は、請求項１または２に記載の発明において、各ノードは、入力側バッファおよび出力側バッファにおいて、所定の最大メモリ量の範囲内で、蓄積パケット量および負荷分散閾値に応じてキュー追加処理および負荷分散処理を多重に行い、逆に、分散転送用キューを含む各追加キューにおいて蓄積パケット量がゼロになるとキューの削除処理を行ってメモリを開放することを特徴としている。
【００１４】
請求項４記載の発明は、請求項２または３に記載の発明において、各ノードは、分散経路として、超過フローについてのサービス品質要求を満たす複数の経路が確保できる場合は、複数の分散経路に対して超過フローを振り分けて負荷分散処理を行うことを特徴としている。
【００１５】
請求項５記載の発明は、請求項２または４に記載の発明において、各ノードは、各フローについてのサービス品質要求への対応として、宛先ノードまでの伝送遅延時間を所定方法により評価し、評価値に基づき分散経路の選定を行うことを特徴としている。
【００１６】
請求項６記載の発明は、請求項５記載の発明において、各ノードは、宛先ノードまでの伝送遅延時間の評価方法として、ホップ数を用いることを特徴としている。
【００１７】
請求項７記載の発明は、請求項５記載の発明において、各ノードは、隣接ノード間で、制御パケットの授受によりリンクの伝送遅延時間を測定して交換しあうことにより、宛先ノードまでの伝送遅延時間を評価し、評価値に基づき分散経路の選定を行うことを特徴としている。
【００１８】
請求項８記載の発明は、請求項１から８のいずれか１項に記載の発明において、各ノードは、リンクについて物理的あるいは論理的な回線障害の検出およびその復旧の検出を行い、障害検出時は、障害のあるリンクへの転送を停止し、リンクに転送予定のフローについて、サービス品質要求を満たす切り替え経路を求め、経路に対応する転送用キューを出力側バッファに確保し、ルーティングテーブルを更新し、切り替え先経路へのヘッダ書き換えを行ってキューイングし、元のキューは削除することにより回線障害対応処理を行い、また、障害復旧検出時は、復旧したリンクについて、対応するキューを再構成し、ルーティングテーブルを更新して転送を再開することにより自動的な回線切り戻しを行うことを特徴としている。
【００１９】
請求項９記載の発明は、ルーティング処理を行うパケット交換装置であって、入力パケットについてルーティング処理および転送先解決を行うヘッダ処理手段と、負荷分散閾値の設定されたキューにより構成される入力バッファ手段と、入力バッファ手段からの出力の抑制を行うための出力制御信号のオン／オフを行う閾値が設定されたキューにより構成される出力バッファ手段と、入力バッファ手段の蓄積パケットについて、出力バッファ手段へ、転送先に応じてスイッチを行うスイッチ手段と、宛先ノードへの経路について、分散経路の候補を所定の評価方法により求めてテーブルに保持する手段と、入力側キューにおいてパケット蓄積量が負荷分散閾値に達した場合、同タイプの追加キューの追加処理を行い、閾値超過分のパケットを追加キューにキューイングして廃棄の救済を行う手段と、キュー追加処理と同時に、閾値超過フローについて、サービス品質要求を満たす分散経路をテーブルから求め、分散経路への転送用のキューを出力バッファ手段内に確保し、フローの内の所定量を分散経路に対応する転送先アドレスにヘッダ更新してキューイングする手段とを有することを特徴としている。
【００２０】
請求項１０記載の発明は、請求項９記載の発明において、入力パケットのサービスクラス情報を識別し、転送処理における優先度への分類あるいはマッピングを行う手段と、入力バッファ手段および出力バッファ手段を優先度別のキューにより構成して管理する手段と、各ポートに対して設けられ、出力バッファ手段の各優先度別キューから所定の優先処理方針でパケットを取り出して転送スケジューリングを行うスケジューラ手段とをさらに有し、優先度別のフロー単位で負荷分散処理を行うこと請求項記載の発明において、を特徴としている。
【００２１】
請求項１１記載の発明は、請求項９または１０に記載の発明において、入力バッファ手段および出力バッファ手段において、所定の最大メモリ量の範囲内で、蓄積パケット量および負荷分散閾値に応じてキュー追加処理および負荷分散処理を多重に行い、逆に、分散転送用キューを含む各追加キューにおいて蓄積パケット量がゼロになるとキューの削除処理を行ってメモリを開放することを特徴としている。
【００２２】
請求項１２記載の発明は、請求項１０または１１に記載の発明において、分散経路として、超過フローについてのサービス品質要求を満たす複数の経路が確保できる場合は、複数の分散経路に対して超過フローを振り分けて負荷分散処理を行うことを特徴としている。
【００２３】
請求項１３記載の発明は、請求項１０から１２のいずれか１項に記載の発明において、各フローについてのサービス品質要求への対応として、宛先ノードまでの伝送遅延時間を所定方法により評価し、評価値に基づき分散経路の選定を行うことを特徴としている。
【００２４】
請求項１４記載の発明は、請求項１３記載の発明において、宛先ノードまでの伝送遅延時間の評価方法として、ホップ数を用いることを特徴としている。
【００２５】
請求項１５記載の発明は、請求項１３記載の発明において、隣接ノード間で、制御パケットの授受によりリンクの伝送遅延時間を測定して交換しあうことにより、宛先ノードまでの伝送遅延時間を評価してネットワーク状況を把握する手段をさらに有し、評価値に基づき分散経路の選定を行うことを特徴としている。
【００２６】
請求項１６記載の発明は、請求項９から１５のいずれか１項に記載の発明において、リンクについて物理的あるいは論理的な回線障害の検出およびその復旧の検出を行って通知する回線障害検出手段をさらに有し、回線障害検出時は、障害のあるリンクへの転送を停止し、リンクに転送予定のフローについて、サービス品質要求を満たす切り替え経路をテーブルから求め、経路に対応する転送用キューを出力バッファ手段内に確保し、ルーティングテーブルを更新し、切り替え先経路へのヘッダ書き換えを行ってキューイングし、元のキューは削除することにより回線障害対応処理を行う手段と、障害復旧検出時は、復旧したリンクについて、対応するキューを再構成し、ルーティングテーブルを更新して転送を再開することにより自動的な回線切り戻しを行う手段とをさらに有することを特徴としている。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【００２８】
図１は、本発明の実施の形態におけるパケット交換装置の構成を示す機能ブロック図である。本装置は、ヘッダ処理部１０と、サービスクラス処理部２０と、入力バッファ部３０と、入力バッファ監視部４０と、スイッチ部５０と、スイッチ制御部６０と、出力バッファ部７０と、出力バッファ監視部８０と、スケジューラ部９０と、中央制御部１００と、回線障害検出部１１０と、ルーティングテーブル１２０とを含んで構成される。
【００２９】
本装置は、パケット交換型のネットワークにおける通信ノードであり、特に、経路制御（ルーティング）処理をメインとしてネットワーク層以下の処理を主に行うものである。一般的には、ルータ、Ｌ３スイッチなどと呼ばれる装置である。本装置は、パケットを入力し、パケットのヘッダ（ＩＰヘッダ）内の宛先アドレスなどの情報と自身の管理するルーティングテーブルとを参照してルーティング処理および転送先解決を行い、転送先ノード（次ノード、次ホップ）へ出力する標準的なルーティング機能を備える。
【００３０】
なお当然ながら、本装置は、接続されるリンク（回線）の数Ｎに応じた、Ｎ個の入出力ポート・回線Ｉ／Ｆボードを有するが、図１では、省略して１つの入出力ポートについてまとめた形で示している。
【００３１】
中央制御部１００は、所定のルーティングプロトコルの実装に基づきルーティングテーブル１２０を管理し、装置全体の制御を行う。また、入力バッファ監視部４０および出力バッファ監視部８０を通じて、入力バッファ部３０および出力バッファ部７０内のキューの閾値の設定を制御する（後述）。
【００３２】
本発明では、各ノードにおいてネットワークの状況に応じて適応的に負荷分散処理を行うネットワーク負荷分散方式を提供する。この方式での通信ノードとなる本パケット交換装置は、サービスクラス処理部２０において、パケットヘッダ内のサービスタイプ（Ｔｙｐｅ  ｏｆ  ｓｅｒｖｉｃｅ  ；（ＩＰｖ４））、トラフィッククラス（Ｔｒａｆｆｉｃ  ｃｌａｓｓ  ；（ＩＰｖ６））などのサービスクラス情報を参照し、パケットを「優先クラス（優先度）」へ分類あるいはマッピングする。「優先クラス」とは、本装置でのパケット転送処理の優先度を示す指標であり、高い優先度を持つパケット程、優先的に次ノードへの転送処理を施される。
【００３３】
入力バッファ部３０および出力バッファ部７０は、この優先クラスに対応したキューから構成されており、優先クラスのマーキングがなされた各パケット（フロー）は、その優先クラスを識別されて、優先クラス別に各キューにキューイングされる。出力側のスケジューラ部９０では、パケットについてこの優先クラスを識別して、所定の処理方針で、出力ポートにおける転送スケジューリング処理を行う。スケジューリングの方針として、例えば、各優先クラスを持つキューから、各優先クラスに対して予め設定された重み付け値（：処理量の割合を決定する値）でパケットを取り出し、出力ポートに出力する。
【００３４】
ヘッダ処理部１０は、入力パケットのヘッダ情報を処理する。ヘッダ処理部１０は、ルーティングテーブル１２０の一部をフォワーディングテーブル（転送用キャッシュ）として有している。ヘッダ処理部１０は、入力パケットについて、ヘッダ情報およびフォワーディングテーブルを参照して転送先を決定し、転送先アドレスに基づいてヘッダ情報の更新を行う。また、フォワーディングテーブルにより転送先が解決しない場合は、ルーティングテーブル１２０を参照して解決を行い、フォワーディングテーブルを更新するなどの処理を行う。
【００３５】
サービスクラス処理部２０は、入力パケットについて、ヘッダ情報を参照・識別して、転送処理における優先クラスｎへの分類あるいはマッピングを行う。参照するヘッダ情報としては、サービスタイプ、トラフィッククラスなどが考えられる。優先クラスの決定の仕方としては、予め、ヘッダ情報と優先クラスとを対応させるテーブルを作成しておき、それに基づいてマッピングを行うなどの方法が考えられる。
【００３６】
入力バッファ部３０および出力バッファ部７０は、所定の最大メモリサイズ内で、優先クラス別のキューによって構成される。図２に入力バッファ部３０の基本構成を示す。また、図３に出力バッファ部７０の基本構成およびスケジューラ部９０を示す。入力側において、各パケットは、サービスクラス処理部２０によって優先クラスｎに分類されてから、対応する優先クラスｎを持つキューｑｎにキューイングされる。図２および図３では、優先クラスｎとして、３つの優先度、高・中・低（ｈ・ｍ・ｌ）を設けた例を示している。優先クラスは、より詳細に設けても良い。
【００３７】
入力バッファ部３０および出力バッファ部７０では、フロー単位で各クラスのキューｑｎへのキューイング処理を扱う。フローは、送信元アドレス、宛先アドレス、あるいはフロー識別子などのヘッダ情報から識別される。例えば、１まとまりのストリーミングデータなどは１フローとする。また、各キューは、複数のフローを扱うことができる構成とする。
【００３８】
図２および図３では、入力バッファおよび出力バッファは、回線Ｉ／Ｆ・入出力ポートに関係なく概念的に１つにまとめて示してあるが、ハードウェア的な構成としては、回線Ｉ／Ｆごとに各バッファを持つ構成でも良い。入力バッファｘおよび出力バッファｘは、初期構成として、各優先クラスｎに対応した基本キューｑｎ１（高優先キューｈ１〜低優先キューｌ１）により構成される。
【００３９】
入力バッファ部３０の各クラス別キューｑｎから出力される各クラス別パケット（ｉ＿ｎ）は、それぞれスイッチ部５０へ入力される。スイッチ部５０は、スイッチ制御部６０による制御に基づき、各パケットをその転送先アドレス／転送先ポートに応じてスイッチし、転送先に対応する出力バッファ部７０へ送る（ｏ＿ｎ）。
【００４０】
図３において、出力バッファｘは、リンク数Ｎの内の１つの出力ポート＃ｘに対応して構成されているものとする。スイッチ部５０から出力されたパケット（ｏ＿ｎ）は、その転送先ｘに対応する出力バッファｘに入力される。出力バッファ部７０では、入力バッファ部３０での場合と同様、各パケット（フロー）を、優先クラスｎに応じて各優先クラス別キューｑｎにキューイングする。スケジューラ部９０は、出力ポート＃１〜Ｎごとに設けられたスケジューラポート＃ｘから成る。スケジューラポート＃ｘは、出力バッファｘから、所定の優先処理方針でパケットｘｎ（ｘｈ〜ｘｌ）を取り出し、出力ポート＃ｘに出力する。
【００４１】
本ネットワーク負荷分散方式および装置では、極力、パケットの廃棄を起こさない仕組みを提供する。そのために、各バッファにおいて、蓄積パケットの量に応じて、柔軟にキューの追加および削除処理を行う。また、超過分のフローについて、経路切り替えを行って負荷分散処理を行う。以下、その仕組みについて説明する。
【００４２】
入力バッファ部３０において、各キューｑｎは、それぞれ、負荷分散閾値Ｔｈ（Ｔｈ＿ｎ）を持つ。この閾値Ｔｈは、中央制御部１００により、入力バッファ監視部４０を通じてその設定が行われる。入力バッファ監視部４０は、各キューおよび閾値Ｔｈを監視・制御する。
【００４３】
また、出力バッファ部７０において、各キューｑｎは、それぞれ、出力制御信号ｓｎを出力するための閾値Ｔｈｓ（Ｔｈｓ＿ｎ）を持つ。この閾値Ｔｈｓは、中央制御部１００により、出力バッファ監視部４０を通じてその設定が行われる。出力バッファ監視部４０は、各キューおよび閾値Ｔｈｓを監視・制御する。
【００４４】
出力バッファ部７０側のあるキューｑｎにおいて、蓄積パケット量が閾値Ｔｈｓ＿ｎに達すると、対応する優先クラスの出力制御信号ｓｎ（図３では、ｓｈ、ｓｍ、ｓｌ）が入力バッファ部３０の対応する優先クラスｎのキューｑｎに対して出力される。入力バッファ部３０では、出力制御信号ｓｎにより、パケット出力ｉ＿ｎが制御される。つまり、出力制御信号がＯＮの場合、パケット出力ｉ＿ｎを一時停止して出力バッファ側への出力を抑制し、出力側バッファのオーバーフローを防ぐ。
【００４５】
ネットワークの輻輳（回線障害を含む）が発生すると、出力側バッファにおいて蓄積されるパケット量が増加する。従来の装置における対応処理の例を述べると、まず、出力側バッファにおいて、蓄積パケット量がバッファサイズの上限に達し、それ以上蓄積できなくなると、出力制御信号を入力バッファ側に出力して入力バッファからのパケット出力を抑制する。そして、輻輳が納まらず入力バッファ側においてもパケットを蓄積できなくなると、廃棄閾値によりパケットの廃棄を開始することになる。
【００４６】
本装置では、入力バッファ部３０の各キューに、廃棄閾値とは別に負荷分散閾値Ｔｈを設け、輻輳時には、廃棄の救済および負荷分散処理を行う。以下、図５を参照しながら本方式および装置における輻輳時の動作について説明する。図５・ａにおいて、ネットワークの輻輳（回線障害を含む）により、例えば、出力ポート＃ｘの転送が滞り、出力バッファｘの内、例えば、優先クラスｈのキューｑｈ１において、蓄積パケット量が閾値Ｔｈｓ＿ｈに達すると、その優先クラスｈに対応する出力制御信号ｓｈが入力バッファ部３０の対応する優先クラスｈのキューｑｈ１に対し出力される（出力制御信号オン）。入力バッファからの出力ｉ＿ｈは、出力バッファ部７０からの上記出力制御信号ｓｈにより抑制される。
【００４７】
図５・ｂにおいて、輻輳が継続し、入力バッファ部３０のキューｑｈ１においても蓄積パケット量が負荷分散閾値Ｔｈ＿ｈに達すると、まず、同一の優先クラスｈのキューｑｈ２の追加処理を行って超過分のフローをキューし、パケット廃棄を救済する。図４に入力バッファ部３０におけるキューの追加構成の様子を示す。廃棄救済後、そのクラスｈのキュー内のフローについて、負荷分散処理を開始する。
【００４８】
負荷分散処理として、まず、分散対象フローについて、負荷分散先の経路・転送先を求める。中央制御部１００は、分散先経路の選択のために、宛先ノードへの経路について所定方法で評価を行っておく。例えば、ホップ数、コストなどの所定のメトリックを用いる。中央制御部１００は、随時、標準ルーティング用の経路と共に、分散用の経路の候補を求めてテーブルに格納しておく。分散処理時には、このテーブルを参照し、分散経路・転送先を決定する。
【００４９】
また、中央制御部１００は、分散対象フローについて、その要求されているサービス品質（伝送遅延の品質など）を満たす分散経路を求めねばならない。フローにおいて、サービス品質の要求は、サービスクラス情報に反映されている。中央制御部１００は、分散経路を求める際、フローについてのサービスクラス情報またはそれに対応する優先クラスを考慮した分散経路の選定を行う。例えば、各優先クラスごとに、元の経路と分散先経路との間での経路の評価値の差の許容値を予め設定しておき、この許容値以内に納まる経路を分散先の候補とする方法が考えられる。
【００５０】
負荷分散の１つの方法として、中央制御部１００は、条件を満たす分散先候補を１つだけ選択する。この方法では、元の経路に比して最も評価値の差が小さい経路を選択する。中央制御部１００は、分散先候補を求めると、その出力ポートにおいて帯域が確保できるかどうか確認する。分散用の帯域が確保できる場合、負荷分散を行うことが決定する。確保できない場合、他の分散先候補を検討する。
【００５１】
分散対象フローについて分散転送先が決定すると、次に、出力バッファ側に、入力側の構成に追随させて分散転送用の入力側と同一優先クラスのキューを構成する。そして、分散処理に対応したルーティングテーブル１２０の更新処理を行い、ヘッダ処理部１０において、対象フローについて新たな転送先アドレスへのヘッダ書き換え処理を行う。ヘッダの書き換えられたパケット（フロー）を対応するキューにキューイングする。分散されたフローは、分散経路を経由して宛先ノードへ送信される。
【００５２】
また、分散転送用キューにも、出力側初期キューと同様、出力制御信号用の閾値Ｔｈｓが設定される。分散転送用キューにおいてもパケットが閾値Ｔｈｓに達する場合、前述の処理同様の流れで出力抑制処理、負荷分散処理などが行われる。
【００５３】
また、別の方法として、中央制御部１００は、条件を満たす分散先候補を全て（複数）選択する。中央制御部１００は、分散先候補について、その帯域が確保できるかどうか確認し、確保できる分散先に対して負荷分散を行うことを決定する。そして、出力バッファ側に分散転送用のキューを追加構成し、ルーティングテーブル１２０の更新処理を行い、ヘッダ処理部１０において、対象フローについて、複数の分散先への振り分けを行う。ヘッダ処理部１０では、各分散先に対応した転送先アドレスへのヘッダ書き換え処理を行い、対応するキューにキューイングする。各分散フローは、各分散経路を経由して宛先ノードへ送信される。
【００５４】
追加キューｑｎ２は、初期キューｑｎ１と同様に閾値Ｔｈを持つ。ネットワークの輻輳状態が緩和されず、引き続き出力制御信号ｓｎが入力バッファ側に入力されることにより、入力側の追加キューｑｎ２においても、蓄積パケット量が負荷分散閾値Ｔｈ＿ｎに達する場合、バッファの備える所定の最大メモリサイズが許す範囲内で、同一優先クラスｎのキュー（ｑｎ３〜）の追加処理を順次、同様に行ってゆく。
【００５５】
また、本装置では、各バッファにおいて、蓄積パケット量が閾値Ｔｈを下回ることをもって自律的に輻輳の収束・回復を判断する。そして、空になった追加キューについては、順次、削除処理を行ってメモリを開放する。図６に追加キューの削除処理の例について示す。負荷分散処理後、転送の滞っていた出力側キューｑｈ１で転送が進み、蓄積パケット量が出力制御信号出力用の閾値Ｔｈｓ＿ｈを下回ることにより出力制御信号ｓｈがオフになると、入力バッファ側からの出力ｉ＿ｈが再開される。また、負荷分散先＃ｙへの転送が進み、入力側において、追加キューｑｈ２の蓄積パケットが空になると、追加キューの削除処理を行う。同様に、追加キューｑｎ３〜についても、蓄積パケットが空になったら順次削除して、他の優先クラスのキューのためにメモリを開放する。
【００５６】
回線障害検出部１１０は、リンク（回線）について、物理的または論理的な回線障害について検出を行う。また、検出した回線状態を中央制御部１００へ通知する。中央制御部１００は、この通知に基づき、障害があるリンクに転送予定のフローについては、他の出力ポートの帯域が確保できるかどうか確認してから、障害時の対応処理としての経路切り替え処理を行う。つまり、中央処理部１００においてルーティングテーブル１２０を参照しながら切り替え経路を決定し、切り替え先ポートの帯域が確保できる場合は、ルーティングテーブル１２０の更新を行い、ヘッダ処理部１０で切り替え転送先アドレスに応じてヘッダ書き換え処理を行って、対応するキューへキューイングする。転送先出力ポートの帯域が確保できない場合は、接続を切断する。
【００５７】
また、回線障害検出部１１０は、回線障害のあるリンクについては、ルーティングテーブル１２０の更新を行い、障害が復旧するまで、対応する出力バッファへの蓄積を禁止する（対応するキューの削除を行う）。また、障害復旧を検出した場合、禁止（削除）されていた出力バッファを再構成し、ルーティングテーブル１２０を書き換えてそのリンクへの出力を再開することにより、回線の切り戻しを自動的に行う。
【００５８】
図７は、本発明の実施の形態におけるネットワーク負荷分散方式およびパケット交換装置での主要な制御を示すフローチャートである。入力バッファ部３０において、蓄積パケット量が負荷分散閾値Ｔｈを越えない範囲では（ステップＳ１・ＮＯ）、通常ルーティングを行う（ステップＳ２）。
【００５９】
入力バッファ部３０において、蓄積パケット量が負荷分散閾値Ｔｈに達した場合（ステップＳ１・ＮＯ）、中央制御部１００は、その要因が回線障害でないかどうか確認し（ステップＳ３）。回線障害でない場合（ステップＳ３・ＹＥＳ）、前述の負荷分散処理を行う（ステップＳ４）。
【００６０】
図８は、負荷分散処理について示すフローチャートである。まず、対象フローについて、要求されているサービス品質を満たす分散先経路の候補を１つあるいは複数求める（ステップＳ４１）。そして、分散先候補について、出力ポートの帯域が確保できるかどうか確認する（ステップＳ４２）。帯域確保できない経路・転送先については候補から落とす。帯域確保できる経路・転送先を負荷分散先として決定する。次に、出力側バッファに分散出力用のキューを構成する（ステップＳ４３）。そして、分散処理に対応させてルーティングテーブル１２０を更新し（ステップＳ４４）、ヘッダ処理部１０で、対象フローについて、分散先ごとに、対応する転送先アドレスへのヘッダ書き換え処理を行い（ステップＳ４５）、対応するキューに再キューイングする（ステップＳ４６）。各分散フローは、各分散経路を経由して宛先へ届けられる。分散出力キューにおいても輻輳によりパケットが閾値に達する場合、前述の仕組みにより同様に分散先が確保できる限りは負荷分散処理が繰り返される。
【００６１】
図７において、回線障害がある場合（ステップＳ３・ＮＯ）、その回線ポートに転送予定のパケットについて、回線障害時の対応としての経路切り替え処理を行うために、他の出力ポートの帯域が確保できるかどうか調べる（ステップＳ５）。他出力ポートの帯域が確保できる場合（ステップＳ５・ＹＥＳ）、経路切り替え処理を行う（ステップＳ６）。つまり、切り替え経路を求め、ルーティングテーブル１２０を更新し、対象パケットについてヘッダ処理部１０においてヘッダ書き換え処理を行って対応するキューにキューイングする。他出力ポートの帯域が確保できない場合（ステップＳ５・ＮＯ）、接続をリジェクト（切断）する（ステップＳ７）。
【００６２】
次に、本発明の他の実施の形態について説明する。第２の実施例におけるネットワーク負荷分散方式およびパケット交換装置では、各ノードが、ネットワークの状況を能動的に把握する。図９に第２の実施例のパケット交換装置のブロック構成を示す。第２の実施例におけるパケット交換装置は、第１の実施例における装置の備える構成要素に加え、ネットワーク情報取得部１３０をさらに備える。
【００６３】
ネットワーク情報取得部１３０は、ルーティングテーブル１２０に基づき、所定の周期であるいは随時、隣接ノードに対して、ネットワーク状況を把握するための制御用最小パケットを生成して送信（ブロードキャスト）する。図１０にその様子を示す。隣接ノードは、その要求パケットを受信し、リンクにおける伝送遅延時間が測定される。隣接ノードは、そのリンク伝送遅延時間情報と、自ノードの持っているネットワーク情報（ネットワークの他ノードから取得した他リンクについての伝送遅延時間情報を含む）を応答パケットとして返送する。各ノードは、ネットワークの他のノードから隣接ノード間の授受によって取得されるリンク伝送遅延時間情報を総合して、宛先ノードへの伝送遅延時間の評価値としてルーティングテーブル１２０に反映する。これにより、本装置（各ノード）は、ネットワーク状況、特に伝送遅延について把握することができる。図１１にルーティングテーブル１２０の例を示す。
【００６４】
中央制御部１００は、ネットワーク情報取得部１３０が能動的に取得した伝送遅延時間などのネットワーク情報に基づき、随時、ルーティングテーブル１２０を再構築する。本装置は、負荷分散処理時あるいは回線障害の際の経路切り替え処理時には、ルーティングテーブル１２０内の伝送遅延時間情報を参照して、分散先経路あるいは切り替え経路の評価・決定を行う。その際は、対象フローについて要求されている伝送遅延の品質を満たす経路・転送先を候補として求める。品質の評価処理として、例えば、優先クラスｎごとに、満たすべき品質条件を設定する。例えば、高優先クラスｈでは、元の経路と分散先経路との伝送遅延時間の差は何ミリセコンドを許容値とするなどのように設定する。そして、第１の実施例における処理と同様に、転送先への帯域が確保できると、ルーティングテーブル１２０の更新およびヘッダ処理部１０におけるヘッダ書き換え処理を行い、転送先に対応する優先クラス別キューにキューイングする。
【００６５】
以上により本発明について説明した。なお、上述した実施形態は、本発明の好適な実施形態の一例を示すものであり、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【００６６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、各ノードにおいて、パケットバッファに設定された負荷分散閾値により、蓄積パケット量に応じたバッファの追加処理を行って廃棄を救済し、同時に要求されているサービス品質を満たす経路への負荷分散処理を行うことにより、輻輳などのネットワーク状況に対して自律的・適応的に対応してネットワーク負荷分散を行い、ネットワーク全体の帯域と、装置内部のリソースを有効利用することができる。また、回線障害時も同様に、経路切り替えとその切り戻しを適応的に行うことができる。
【００６７】
また、各種トラフィックのタイプに対して、優先度スケジューリング処理により対応し、要求されている伝送遅延時間品質などのサービス品質を満たしながら負荷分散処理を行うことができる。
【００６８】
また、各ノードで、自律的・適応的なルーティングおよび負荷分散処理を行うので、ネットワークサーバを必要とせず、ネットワークにスケーラビリティを持たせることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるパケット交換装置の構成を示す機能ブロック図である。
【図２】入力バッファ部３０の基本構成を示す図である。
【図３】出力バッファ部７０の基本構成およびスケジューラ部９０を示す図である。
【図４】入力バッファ部３０におけるキューの追加構成について示す図である。
【図５】キューの追加処理および負荷分散処理について示す図である。
【図６】追加キューの削除処理について示す図である。
【図７】本発明の実施の形態における適応的ネットワーク負荷分散方式およびパケット交換装置での主要な制御を示すフローチャートである。
【図８】負荷分散処理についてのフローチャートである。
【図９】本発明の第２の実施の形態におけるパケット交換装置の構成を示すブロック図である。
【図１０】ネットワーク情報取得部１３０によるネットワーク状況の把握について示す図である。
【図１１】ルーティングテーブル１２０の例を示す図である。
【符号の説明】
１０  ヘッダ処理部
２０  サービスクラス処理部
３０  入力バッファ部
４０  入力バッファ監視部
５０  スイッチ部
６０  スイッチ制御部
７０  出力バッファ部
８０  出力バッファ監視部
９０  スケジューラ部
１００  中央制御部
１１０  回線障害検出部
１２０  ルーティングテーブル
１３０  ネットワーク情報取得部
【図１】
0003633534.tif 000002
【図２】
0003633534.tif 000003
【図３】
0003633534.tif 000004
【図４】
0003633534.tif 000005
【図５】
0003633534.tif 000006
【図６】
0003633534.tif 000007
【図７】
0003633534.tif 000008
【図８】
0003633534.tif 000009
【図９】
0003633534.tif 000010
【図１０】
0003633534.tif 000011
【図１１】
0003633534.tif 000012