(57)【要約】      （修正有）【課題】拡張性を損なわず、フローが相互に与えるバースト性の影響を低減させ、ネットワークを通過するフローの遅延ゆらぎを低減することが可能なネットワークシステム技術を提供する。【解決手段】フローのバースト性によるクラス分けを用いて転送を行うネットワークシステムは、アプリケーションがネットワークシステムに向けて送出するパケットフローＦのバースト性を計測するバースト性計測手段１０、計測結果に基づいてパケットフローＦのクラスを指定するクラス指定手段２０、パケットフローＦに指定したクラスを示す目印を付するマーキング手段３０、クラス指定されたパケットフローＦをクラス単位でパケットスケジューリングを行って転送する転送装置から構成されたパケットスケジューリングネットワーク４０から構成される。【選択図】図１
2011044761.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションのパケット送信におけるバースト性（以下、送信バースト性）によるフローのクラス分けを用いて転送を行うネットワークシステムであって、
アプリケーションがネットワークシステムに向けて送出するパケットフローＦの送信バースト性を計測する送信バースト性計測手段と、
該送信バースト性計測手段による計測結果に基づいて、パケットフローＦのクラスを指定するクラス指定手段と、
パケットフローＦに指定したクラスを示す目印を該パケットのヘッダに記述するマーキング手段と、
クラス指定されたパケットフローＦをクラス単位でパケットスケジューリングを行って転送する転送装置から構成されたパケットスケジューリングネットワークと、
を有することを特徴とするネットワークシステム。
【請求項２】
前記送信バースト性計測手段は、一定時間毎にパケットフローを観測し、観測したパケットのサイズに基づいてバーストサイズを求めて出力する手段であり、
前記クラス指定手段は、前記送信バースト性計測手段から出力されたバーストサイズに基づいてパケットフローのクラスを指定する手段である
ことを特徴とする請求項１記載のネットワークシステム。
【請求項３】
前記送信バースト性計測手段は、前記バーストサイズを求めるための手段として、
一定時間Ｔ１の間パケットを観測し、観測したパケットのサイズを積算し、前記一定時間Ｔ１で除算して平均帯域Ｗを算出する手段と、
変数Ｍと変数Ｃを用意し、初期値として０を設定する手段と、
前記パケットの観測毎に、該パケットのサイズを積算した値を変数Ｃとした後、変数Ｍと変数Ｃを比較し、変数Ｃが変数Ｍより大きい場合に、該変数Ｍの値を変数Ｃの値に更新するとともに、並行して（１／Ｗ）時間毎に、前記変数Ｃから１減算する手段と
を有することを特徴とする請求項２記載のネットワークシステム。
【請求項４】
前記パケットスケジューリングネットワークは、パケットスケジューリングとして、前記クラス毎に予め付与された優先順序に基づいて転送を行う優先キューイング方式、あるいは、前記クラス毎に予め付与された転送割合で行われる加重ラウンドロビン方式を用いることを特徴とする請求項１から３のいずれかに記載のネットワークシステム。
【請求項５】
前記送信バースト性計測手段および前記クラス指定手段が処理を行う間に、前記マーキング手段が前記パケットスケジューリングネットワークにおける優先度の最下位にあたるクラスを示す目印をパケットに付することを特徴とする請求項１から４のいずれかに記載のネットワークシステム。
【請求項６】
アプリケーションのパケット送信におけるバースト性（以下、送信バースト性）によるフローのクラス分けを用いて転送を行うネットワークシステムにおけるパケット転送方法であって、
アプリケーションがネットワークシステムに向けて送出するパケットフローＦの送信バースト性を計測する送信バースト性計測手順と、
該送信バースト性計測手段による計測結果に基づいて、パケットフローＦのクラスを指定するクラス指定手順と、
パケットフローＦに指定したクラスを示す目印を該パケットのヘッダに記述するマーキング手順と、
クラス指定されたパケットフローＦをクラス単位でパケットスケジューリングを行って転送する転送手順と
を有することを特徴とするパケット転送方法。
【請求項７】
前記送信バースト性計測手順は、一定時間毎にパケットフローを観測し、観測したパケットのサイズに基づいてバーストサイズを求めて出力する手順であり、
前記クラス指定手順は、前記送信バースト性計測手順で出力されたバーストサイズに基づいてパケットフローのクラスを指定する手順である
ことを特徴とする請求項６記載のパケット転送方法。
【請求項８】
前記送信バースト性計測手順は、前記バーストサイズを求めるためのステップとして、
一定時間Ｔ１の間パケットを観測し、観測したパケットのサイズを積算し、前記一定時間Ｔ１で除算して平均帯域Ｗを算出するステップと、
変数Ｍと変数Ｃを用意し、初期値として０を設定するステップと、
前記パケットの観測毎に、該パケットのサイズを積算した値を変数Ｃとした後、変数Ｍと変数Ｃを比較し、変数Ｃが変数Ｍより大きい場合に、該変数Ｍの値を変数Ｃの値に更新するとともに、並行して（１／Ｗ）時間毎に、前記変数Ｃから１減算するステップと
を有することを特徴とする請求項７記載のパケット転送方法。
【請求項９】
前記パケットスケジューリングとして、前記クラス毎に予め付与された優先順序に基づいて転送を行う優先キューイング方式、あるいは、前記クラス毎に予め付与された転送割合で行われる加重ラウンドロビン方式を用いることを特徴とする請求項６から８のいずれかに記載のパケット転送方法。
【請求項１０】
コンピュータを、請求項１から５のいずれかに記載のネットワークシステムにおける各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フローを送信バースト性の大きさによりクラス指定を行うことによる遅延ゆらぎ低減を可能とするネットワークシステムおよびパケット転送方法、ならびにそのためのプログラムに関する。
【背景技術】
【０００２】
様々なアプリケーションのフローが混在するパケット交換網では、パケット毎の転送遅延時間が異なり瞬間的に遅延時間が急激に増減する、つまり転送遅延がゆらぐ現象が発生する。その要因は、一つのフローに着目するとき、その着目するフロー（以下、着目フローという）が通過する転送装置のキューに他のフローのパケットが不規則に流入することにより、当該着目フローの遅延に影響を及ぼし、その遅延時間を急激に増減させるためである。
【０００３】
そして、リアルタイムアプリケーションにおいてパケット転送遅延のゆらぎ（以下、遅延ゆらぎという）は、アプリケーションで遅延ゆらぎを吸収するために大きなサイズのバッファを設けるようにした場合はリアルタイム性が低下し、また、リアルタイム性を維持するために小さなサイズのバッファを設けるようにした場合にはリアルタイム性は向上するがアプリケーションの再生時におけるデータ欠損を生じさせる。
【０００４】
遅延ゆらぎ低減が可能な方式として従来から広く検討されている技術が、例えば、非特許文献１に開示されているディフサーブ（Ｄｉｆｆｓｅｒｖ）アーキテクチャである。ディフサーブ（Ｄｉｆｆｓｅｒｖ）アーキテクチャは、フローをクラス分けして、クラス単位で相対的な優先度付け等の差別化を図ることで拡張性を維持しつつ低遅延、低損失を実現するアーキテクチャである。
【０００５】
しかし、このディフサーブ（Ｄｉｆｆｓｅｒｖ）アーキテクチャによる効果は、フローのクラス分け手法に大きく依存している。
【０００６】
例えば、非特許文献２に開示されているように、アプリケーション種別によるクラス分けを行う場合、特定アプリケーション群を相対的に高優先度とすることにより、特定アプリケーション群の遅延ゆらぎを低減することが可能となる。
【０００７】
しかし、この場合でも特定アプリケーション同士のフローの影響はさけられない。特に、特定アプリケーション群の中にバースト的にパケット送信を行うアプリケーションが存在する場合、遅延ゆらぎ低減の効果は低い。
【０００８】
また、非特許文献３には、非ストリームフローを静的にクラス分けした上でストリームフロー到着時に各クラスの状況・性質を考慮してクラスを決定する手法が開示されている。しかし、非特許文献３に開示された手法を用いても、同じクラスを指定された他のバースト的にパケット送信を行うフローの影響は避けるこができない。
【０００９】
送信バースト性の高いフローが流入する場合、転送装置のキューの長さが急激に変化し、キューで経験する遅延時間も急激に変化する。この現象は、送信バースト性の高いフローが混在する状況では避けることができない。 
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z. and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, December 1998.
【非特許文献２】ITU-T Rec. Y.1541, ``Network Performance Objectives for IP-Based Services,'' May 2002.
【非特許文献３】Kenta Yasukawa, Ken-ichi Baba, and Katsunori Yamaoka, ``Dynamic Class Assignment for Stream Flows Considering Characteristics of Non-stream Flow Classes,'' IEICE Transactions on Communications, Vol.E87-B, No.11, pp.3242-3254, November 2004.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したクラス分け手法は、フローの送信バースト性の大きさで分類する手法ではないため、送信バースト性の高いフローと送信バースト性の低いフローが同じクラスに指定される可能性があり、もし同じクラスの中に送信バースト性の高いフローが混在する場合には遅延ゆらぎ低減の効果が低くなってしまうという問題がある。
【００１２】
そこで、本発明は、上記問題を解消し、ディフサーブ（Ｄｉｆｆｓｅｒｖ）アーキテクチャの利点である拡張性を損なわず、フローが相互に与える送信バースト性の影響を低減させ、ネットワークを通過するフローの遅延ゆらぎを低減することが可能なネットワークシステムおよびパケット転送方法、ならびにそのためのプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１３】
本発明は、アプリケーションの送信バースト性によりフローのクラス分けを行い、クラス単位でパケットスケジューリングを行う転送装置でパケット転送することにより、フロー同士の送信バースト性による影響を抑えて、ネットワークを通過するフローの遅延ゆらぎを低減させるようにしたものである。
【００１４】
より具体的には、本発明は、上記目的を達成するために、次のような構成を有している。
【００１５】
ａ）本発明に係るネットワークシステムは、アプリケーションがネットワークシステムに向けて送出するパケットフローＦの送信バースト性を計測する送信バースト性計測手段と、該送信バースト性計測手段による計測結果に基づいて、パケットフローＦのクラスを指定するクラス指定手段と、パケットフローＦに指定したクラスを示す目印を該パケットのヘッダに記述するマーキング手段と、クラス指定されたパケットフローＦをクラス単位でパケットスケジューリングを行って転送する転送装置から構成されたパケットスケジューリングネットワークとを有することを特徴とする。
【００１６】
ｂ）また、上記ａ）において、前記送信バースト性計測手段は、一定時間毎にパケットフローを観測し、観測したパケットのサイズに基づいてバーストサイズを求めて出力する手段であり、前記クラス指定手段は、前記送信バースト性計測手段から出力されたバーストサイズに基づいてパケットフローのクラスを指定する手段であることを特徴とする。
【００１７】
ｃ）また、上記ｂ）において、前記送信バースト性計測手段は、前記バーストサイズを求めるための手段として、一定時間Ｔ１の間パケットを観測し、観測したパケットのサイズを積算し、前記一定時間Ｔ１で除算して平均帯域Ｗを算出する手段と、変数Ｍと変数Ｃを用意し、初期値として０を設定する手段と、前記パケットの観測毎に、該パケットのサイズを積算した値を変数Ｃとした後、変数Ｍと変数Ｃを比較し、変数Ｃが変数Ｍより大きい場合に、該変数Ｍの値を変数Ｃの値に更新するとともに、並行して（１／Ｗ）時間毎に、前記変数Ｃから１減算する手段とを有することを特徴とする。
【００１８】
ｄ）また、上記ａ）〜ｃ）のいずれかにおいて、前記パケットスケジューリングネットワークは、パケットスケジューリングとして、前記クラス毎に予め付与された優先順序に基づいて転送を行う優先キューイング方式、あるいは、前記クラス毎に予め付与された転送割合で行われる加重ラウンドロビン方式を用いることを特徴とする。
【００１９】
ｅ）上記ａ）からｄ）のいずれかにおいて、前記送信バースト性計測手段および前記クラス指定手段が処理を行う間に、前記マーキング手段が前記パケットスケジューリングネットワークにおける優先度の最下位にあたるクラスを示す目印をパケットに付することを特徴とする。
【００２０】
ｆ）本発明に係るパケット転送方法は、アプリケーションがネットワークシステムに向けて送出するパケットフローＦの送信バースト性を計測する送信バースト性計測手順と、該送信バースト性計測手段による計測結果に基づいて、パケットフローＦのクラスを指定するクラス指定手順と、パケットフローＦに指定したクラスを示す目印を該パケットのヘッダに記述するマーキング手順と、クラス指定されたパケットフローＦをクラス単位でパケットスケジューリングを行って転送する転送手順とを有することを特徴とする。
【００２１】
ｇ）また、上記ｆ）において、前記送信バースト性計測手順は、一定時間毎にパケットフローを観測し、観測したパケットのサイズに基づいてバーストサイズを求めて出力する手順であり、前記クラス指定手順は、前記送信バースト性計測手順で出力されたバーストサイズに基づいてパケットフローのクラスを指定する手順であることを特徴とする。
【００２２】
ｈ）また、上記ｇ）において、前記送信バースト性計測手順は、前記バーストサイズを求めるためのステップとして、一定時間Ｔ１の間パケットを観測し、観測したパケットのサイズを積算し、前記一定時間Ｔ１で除算して平均帯域Ｗを算出するステップと、変数Ｍと変数Ｃを用意し、初期値として０を設定するステップと、前記パケットの観測毎に、該パケットのサイズを積算した値を変数Ｃとした後、変数Ｍと変数Ｃを比較し、変数Ｃが変数Ｍより大きい場合に、該変数Ｍの値を変数Ｃの値に更新するとともに、並行して（１／Ｗ）時間毎に、前記変数Ｃから１減算するステップとを有することを特徴とする。
【００２３】
ｉ）また、上記ｆ）からｈ）のいずれかにおいて、前記パケットスケジューリングとして、前記クラス毎に予め付与された優先順序に基づいて転送を行う優先キューイング方式、あるいは、前記クラス毎に予め付与された転送割合で行われる加重ラウンドロビン方式を用いることを特徴とする。
【００２４】
ｊ）本発明に係るプログラムは、コンピュータを、上記ａ）からｅ）のいずれかに記載のネットワークシステムにおける各手段として機能させるためのプログラムである。
【発明の効果】
【００２５】
本発明によれば、ディフサーブ（Ｄｉｆｆｓｅｒｖ）アーキテクチャの利点である拡張性を損なわず、フローが相互に与える送信バースト性の影響を低減させ、ネットワークを通過するフローの遅延ゆらぎを低減することが可能なネットワークシステムおよびパケット転送方法、ならびにそのためのプログラムを実現することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施例に係るネットワークシステムの動作概要を示す図である。
【図２−Ａ】本発明の一実施例に係るネットワーク構成を示す図である。
【図２−Ｂ】本発明の一実施例に係るバーストサイズとクラスの対応関係を示すバーストサイズ−クラス対応表の一例を示す図である。
【図３】本発明の一実施例に係るネットワークシステムの処理フローを示す図である。
【発明を実施するための形態】
【００２７】
以下、本発明の一実施形態を、図面に従って詳細に説明する。
図１は、本発明の一実施例に係るネットワークシステムの動作概要を示す図である。図中、実線の矢印はパケットの流れを示し、点線の矢印は処理結果の流れを示している。
【００２８】
本発明に係るネットワークシステムは、送信バースト計測手段１０、クラス指定手段２０、マーキング手段３０、パケットスケジューリングネットワーク４０を有する。パケットスケジューリングネットワーク４０は、パケットスケジューリングを行って転送する転送装置４０ａ〜４０ｎからなる。
【００２９】
まず、送信バースト性計測手段１０は、パケットフローの送信バースト性を計測する。
【００３０】
次に、クラス指定手段２０は、送信バースト性計測手段１０による計測結果に基づいてパケットフローのクラス指定を行う。
【００３１】
マーキング手段３０は、パケットフローにクラス指定手段２０で指定されたクラスを示す目印を付する（パケットのヘッダに記述）。
【００３２】
パケットスケジューリングネットワーク４０は、転送装置４０ａ〜４０ｎを備え、クラス指定手段２０でクラス指定されたパケットフローを、クラス毎にパケットスケジューリングを行って転送する。
【００３３】
図２−Ａは、本発明に係るネットワークシステムの実施例の構成図である。
本実施例では、端末１００ａとＨＧＷ（Ｈｏｍｅ Ｇａｔｅｗａｙ：ホームゲートウェイ）２００ａ、ＨＧＷ２００ａと転送装置４０ａが接続されており、ＨＧＷ２００ａと転送装置４０ａはＩＰパケットを転送する。同様に、端末１００ｂとＨＧＷ（Ｈｏｍｅ Ｇａｔｅｗａｙ：ホームゲートウェイ）２００ｂ、ＨＧＷ２００ｂと転送装置４０ｎが接続されており、ＨＧＷ２００ｂと転送装置４０ｎはＩＰパケットを転送する。
【００３４】
ＨＧＷ２００ａは、図１で示した、送信バースト性計測手段１０、クラス指定手段２０、およびマーキング手段３０を具備している。
【００３５】
転送装置４０ａは、クラス指定に基づいたパケットスケジューリング機能を具備している。本例は、クラスとして、クラスＡとクラスＢとクラスＣの３つのクラスを設けた場合を示しているが、クラスの数は、２つでも４つ以上でもよい。
【００３６】
図３は、本発明の一実施例に係るネットワークシステム（送信バースト性計測手段１０とクラス指定手段２０）の処理フローを示す図である。
【００３７】
以下、図３を参照して、送信バースト性計測手段１０とクラス指定手段２０の処理を説明する。
【００３８】
（１）まず、送信バースト性計測手段１０における処理を説明する。
送信バースト性計測手段１０は、端末間での通信開始時に、ＨＧＷ２００ａからコアネットワークへ向かうフローＦを一定時間の間計測し、以下のように処理する。
【００３９】
ａ）ステップＳ１：平均帯域算出
一定時間Ｔ１の間、パケットを観測し、観測したパケットのサイズ（単位は例えばバイト）を積算した上で、該一定時間Ｔ１で除算した値Ｗ（平均帯域）を算出する。
【００４０】
ｂ）ステップＳ２：変数準備
変数Ｍ、Ｃを用意し、それぞれの変数の初期値を０に設定してメモリに格納する。
【００４１】
ｃ）ステップＳ３ａ：パケット観測毎に加算処理、比較
パケットを観測毎にパケットのサイズＳを前記変数Ｃに加算し、変数Ｍと変数Ｃを比較し、変数Ｃの方が大きい場合には変数Ｍを変数Ｃの値に更新する。すなわち、変数Ｍは変数Ｃの最大値（ピーク値）を保持するための変数であり、本発明におけるバーストサイズに相当する。
【００４２】
ｄ）ステップＳ３ｂ：一定時間毎に減算処理
（１／Ｗ）秒おきに、変数Ｃから１を減算する。減算時に負の値になる場合は０に設定する。
【００４３】
なお、ｃ）のステップＳ３ａ、および、ｄ）のステップＳ３ｂは、一定時間の間に並列的に繰り返し処理を行い、変数Ｃを最新の値に更新するとともに更新した最新の変数Ｃに対する変数Ｍを求める。
【００４４】
ｅ）ステップＳ４：変数Ｍを出力
一定時間Ｔ２後に、ステップＳ３ａで求めた変数Ｍ（バーストサイズ）を出力する（ここで、一定時間Ｔ２は、一般的には、上記送信バースト計測手段による計測時の一定時間Ｔ１とは異なる値であってもよい）。
【００４５】
（２）次に、クラス指定手段２０における処理を説明する。
ａ）ステップＳ５：クラス指定
クラス指定手段２０では、送信バースト性計測手段１０による計測後に、ステップＳ４で出力された変数Ｍ（バーストサイズ）に対応するクラスを指定する。
【００４６】
図２−Ｂは、変数Ｍ（バーストサイズ）とクラスの対応関係を示すバーストサイズ−クラス対応表の一例を示す図である。本例は、バーストサイズが０〜１００をクラスＡ、バーストサイズが１０１〜２００をクラスＢ、バーストサイズが２０１以上をクラスＣとした場合の例である。
【００４７】
（３）次に、マーキング手段３０における処理を説明する。
マーキング手段３０では、パケットスケジューリングネットワークへ向かうフローの全パケットヘッダに対して、送信バースト性計測手段１０およびクラス指定手段２０が処理を行う間は、特定のクラス（例えば、最も優先度の低いクラス；図２−Ａ，図２−Ｂの場合はクラスＣに相当）を示すコードを記述し、送信バースト性計測手段１０およびクラス指定手段２０の処理後は、クラス指定手段２０で指定されたクラスを示すコードを記述する。
【００４８】
（４）次に、パケットスケジューリングネットワーク４０における処理を説明する。
パケットスケジューリングネットワーク４０における転送装置４０ａは、指定されたパケットフローをクラス単位でパケットスケジューリングを行って転送する。
【００４９】
転送装置４０ａが備えるパケットスケジューリング方式としては、例えば、次の２つの方法が考えられる。
（ａ）優先キューイング方式
優先キューイング方式は、例えば、上述した実施例のようにフローを優先度別にクラスＡ，クラスＢ，クラスＣに分け、クラスＡの優先度＞クラスＢの優先度＞クラスＣの優先度と設定した場合、該優先度に基づき、例えば、クラスＣとクラスＢのフローがあった場合、クラスＢのフローをクラスＣのフローより優先させて転送し、クラスＢとクラスＡのフローがあった場合、クラスＡのフローをクラスＢのフローより優先させて転送するようにしたスケジューリング方式である。
【００５０】
（ｂ）加重ラウンドロビン方式
加重ラウンドロビン方式は、各クラスに対して転送割合に重み付けを付ける方式であり、上記３つのクラスの例で説明すると、例えば、クラスＡ、Ｂ，Ｃに５：３：１の重み付けを行い、この重み付けで各クラスの転送時間を割り当てるなどして、クラスＡ、Ｂ，Ｃのそれぞれにクラス分けされたフローを、５：３：１の割合で転送するようにしたスケジューリング方式である。
【００５１】
なお、ネットワークシステムのホームゲートウェイＨＧＷ２００ａにおける送信バースト性計測手段１０（図３のステップＳ１、ステップＳ２、ステップＳ３ａおよびステップＳ３ｂの各々の処理を行う処理手段）、クラス指定手段２０（図３のステップＳ４、ステップＳ５の各々の処理を行う処理手段）、マーキング手段３０で行われる各処理や機能は、ホームゲートウェイＨＧＷを構成するコンピュータに内蔵されるＣＰＵやメモリなどのハードウェア資源を用いて、各手段で実施される処理に対応するプログラムを実行することによって実現される。また、該プログラムは、ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤなどの記録媒体や、インターネットなどのネットワークを介して市場に流通させることができる。
【符号の説明】
【００５２】
１０：送信バースト性計測手段
２０：クラス指定手段
３０：マーキング手段
４０：パケットスケジューリングネットワーク
４０ａ〜４０ｎ：転送装置
１００ａ，１００ｂ：端末
２００ａ，２００ｂ：ＨＧＷ（Ｈｏｍｅ Ｇａｔｅｗａｙ：ホームゲートウェイ）
４１：中継装置
Ｆａ：クラスＡにクラス分けされるパケットフロー
Ｆｂ：クラスＢにクラス分けされるパケットフロー
Ｆｃ：クラスＣにクラス分けされるパケットフロー
【図１】
2011044761.tif 000003
【図２−Ａ】
2011044761.tif 000004
【図２−Ｂ】
2011044761.tif 000005
【図３】
2011044761.tif 000006