(57)【特許請求の範囲】
【請求項１】
単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、これらパケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、前記流出側伝送路の単位時間当たりのパケット流出量の範囲内で、前記識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すパケット取り出し手段と、
前記複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記複数の流出側伝送路の対応するものに送出するパケット送出手段
とを具備することを特徴とするパケット転送システム。
【請求項２】
単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、
前記流入側伝送路ごとにこれらのパケット格納手段から取り出すパケットが取り出しについて競合した際のその優先度を登録する取り出し優先度登録手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記パケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、前記流出側伝送路の単位時間当たりのパケット流出量の範囲内で、前記識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すときに単位時間当たりの流出量が確保されたパケットの間ではこの取り出し優先度登録手段に登録された取り出し優先度の高いパケットを優先的に取り出すパケット取り出し手段と、
前記複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記複数の流出側伝送路の対応するものに送出するパケット送出手段
とを具備することを特徴とするパケット転送システム。
【請求項３】
前記識別子付加手段は、前記パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された量を超過する分について識別子を付加することを特徴とする請求項１または請求項２記載のパケット転送システム。
【請求項４】
前記識別子付加手段は、前記パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された分について識別子を付加することを特徴とする請求項１または請求項２記載のパケット転送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット転送システムに係わり、たとえばエッジルータ等のスイッチ手段でパケットをスイッチングする際にパケットの流出量に契約等による制限を設けるようにしたパケット転送システムに関する。
【０００２】
【従来の技術】
ＩＰ（Internet Protocol）ネットワークは、従来からあるデータ通信だけではなく、電話やビデオストリーミング等、あらゆる通信アプリケーションのサービスを提供するための基盤になってきている。また、ＩＰネットワークを使用するサービスの増加に伴い、総量として伝送路の容量を超過するパケットの転送が要求される場合がある。このような場合に備えて、通信アプリケーションの特性やサービスレベルすなわちＱｏＳ（Quality of Service）の要求に従って、予め確保されたトラヒック量以内のパケットを優先的に転送することが考えられている。
【０００３】
このように優先的にパケットを転送するサービスを提供するための技術の例として、ディフサーブ（Ｄｉｆｆｓｅｒｖ：Differentiated service）が挙げられる。ディフサーブはインターネット技術標準化委員会（Internet Engineering Task Force）の“ＲＦＣ（Request For Comment）２４７５”によって定義されている。一般的にディフサーブを利用するにあたっては、このサービスを提供する事業者と利用するユーザとの間で予めサービス内容についての契約を行うようになっている。次にディフサーブを例にとって、優先的にパケットを転送するパケット転送システムについて説明する。
【０００４】
図１２は、ディフサーブをパケット転送システムとして適用したネットワークを簡略化して表わしたものである。ネットワーク１１には、パケットの転送を行うコアルータ１２と、ネットワーク１１に入力されるパケットをこのコアルータ１２に転送する第１および第２のエッジルータ１３1、１３2が配置されている。これら第１および第２のエッジルータ１３1、１３2にはそれぞれ、入力されたパケットのＱｏＳクラスを識別する（Classifier）ものとしてのパケット識別部１４1、１４2と、トラヒック量が契約量以内か否かを判別するポリサ１５1、１５2と、対応するポリサの判別結果に従ってパケットの識別値を付け替えるマーカ１６1、１６2が備えられている。ここで契約量は契約で予め定められたトラヒック量を指している。
【０００５】
このネットワーク１１の事業者とこのネットワーク１１の使用を希望するユーザとは、予めサービス契約（ＳＬＡ：Service Level Agreement）を結ぶ。このサービス契約には、ユーザが契約するＱｏＳクラスやネットワーク１１に送出する単位時間当たりのパケットの量であるトラヒック量が含まれている。ネットワーク１１の事業者は契約するＱｏＳクラスごとに、遅延、ジッタ、パケットロス率等から構成される転送のサービス品質を提供することを定めている。また、ネットワーク１１の事業者は、ユーザが契約量までのトラヒック量のパケットをネットワーク１１に送出する限りは、そのサービス品質を提供するようになっている。
【０００６】
次にサービス契約を結んだユーザから送出されるパケットについて、関連した動作を説明する。ユーザはネットワーク１１の事業者とサービス契約を結んだ後、パケットを図示しないパケット送出装置からネットワーク１１に向けて送出する。ネットワーク１１に送出されたパケットは、第１あるいは第２のエッジルータ１３1、１３2に入力されるようになっている。ここでは、第１のエッジルータ１３1に送出されたパケットについて説明を行う。このパケットにはまずパケット識別部１４1で、契約したＱｏＳクラスを識別するための識別値であるＤＳＣＰ（Diffserv Code Point）値がパケットヘッダに付与される。次にこのパケットをポリサ１５1に入力してトラヒック量を計測し、ポリシングとしてそのトラヒック量が契約量以内であるか否かを判別する。もしトラヒック量が契約量を超えている場合には、マーカ１６1で超えている分のパケットのパケットヘッダに付与されているＤＳＣＰ値にポリシング違反を示す値が付け加えられる。ポリシング違反を示す値が付け加えられなかったパケットはポリシング合格となる。ポリシング違反を示す値が付け加えられたパケットは、ネットワーク１１内で輻輳が生じたときに優先的に廃棄されるようになっている。コアルータ１２は、このように第１のエッジルータ１３1で付与されたＤＳＣＰ値が示すＱｏＳクラスに応じた優先度に従ってパケットの転送制御を行う。
【０００７】
図１３は、従来のルータに入力されるトラヒック量と出力されるトラヒック量について一例を示したものである。パケットの振り分けを行うスイッチ２１には、その入力側に第１および第２の入力ポート２２1、２２2が、また出力側に出力ポート２３が配置されている。ルータに備えられたスイッチ２１は各入力ポート２２1、２２2に、出力ポート２３へ均等にスイッチ接続の機会を与えるラウンドロビン方式でスケジューリングを行うものとする。また、第１の入力ポート２２1に接続する第１のユーザは、最大トラヒック量が２．４Ｇｂｐｓ（Giga byte per second）であるのに対して契約量が１．８Ｇｂｐｓのサービス契約を結んでいるものとし、第２の入力ポート２２2に接続する第２のユーザは、同じく最大トラヒック量が２．４Ｇｂｐｓであるのに対して契約量が０．６Ｇｂｐｓのサービス契約を結んでいるものとする。更に出力ポート２３から出力できる最大トラヒック量は２．４Ｇｂｐｓであるものとする。
【０００８】
ここで、第１のユーザから第１の入力ポート２２1に対してトラヒック量２４が１．８Ｇｂｐｓのパケットが継続して入力され、また第２のユーザから第２の入力ポート２２2に対してトラヒック量２５が１．２Ｇｂｐｓのパケットが継続して入力されている場合を考える。この場合、総量として３．０Ｇｂｐｓのパケットが出力ポート２３へ向かって入力されることになる。第２のユーザから入力されたパケットのうち、契約量以内の０．６Ｇｂｐｓはポリシング合格のパケットであり、残りのトラヒック量２６として示した０．６Ｇｂｐｓはポリシング違反のパケットである。
【０００９】
ところが、スイッチ２１がラウンドロビン方式で第１および第２の入力ポート２２1、２２2から入力されるパケットを出力ポート２３に割り振ると、それぞれの入力ポート２２1、２２2から１．２Ｇｂｐｓずつのパケットが出力ポート２３に出力されることになる。この結果として、第１のユーザから入力されたパケットのうちトラヒック量２７として示した０．６Ｇｂｐｓのポリシング合格のパケットは、第２のユーザから入力された０．６Ｇｂｐｓのポリシング違反のパケットによってブロックされる。この結果として、第１のユーザに対してサービス契約で定めた契約量でのパケットの転送が保証できなくなるという問題が発生する。
【００１０】
このような問題を解決するためには、ポリシング合格のパケットにポリシング違反のパケットよりも優先的にスイッチ接続を行わせるようにスイッチのスケジューリングを調整する技術が必要となる。このために特開２０００−３２４１６８号公報あるいは特開２００１−２９８４７７号公報に記載された技術が存在する。
【００１１】
図１４は、これらの公報に示された従来のコアルータを説明するためのものである。コアルータ３１には、図示しない第１〜第Ｐ（Ｐは２以上の整数。）の入力ポートから入力されるパケットにそれぞれ対応した第１〜第Ｐの入力バッファ３２1〜３２Pと、第１〜第Ｑ（Ｑは２以上の整数。）の出力ポート３３1〜３３Qが備えられている。また、第１〜第Ｐの入力バッファ３２1〜３２Pと第１〜第Ｑの出力ポート３３1〜３３Qの接続関係の調整を行うスケジューラ３４と、スケジューラ３４に従ってこれらの接続を行うスイッチ３５が備えられている。
【００１２】
第１〜第Ｐの入力バッファ３２1〜３２Pはそれぞれ同一の回路構成となっている。そこで、代表として第１の入力バッファ３２1についての説明を行う。
【００１３】
第１の入力バッファ３２1には、第１の出力ポート３３1から送出するパケットのうち出力優先度の高いパケットをキューイングする第１の出力ポート宛高優先キュー３６1Hと、出力優先度の低いパケットをキューイングする第１の出力ポート宛低優先キュー３６1Lが備えられている。このように第１〜第Ｑの出力ポート３３1〜３３Q宛にそれぞれ優先度の高さに応じたキューが備えられている。更に、これらキューに対して、第１の入力ポートから入力されたパケットを分配するパケット分配部３７と、各キューからパケットを取り出してスイッチ３５に送り出すパケット送出部３８が備えられている。このように、コアルータ３１に入力されたパケットは、第１〜第Ｐの入力バッファ３２1〜３２P内で、出力ポートと優先度の組み合わせに対応してそれぞれ備えられたキューに、キューイングされるようになっている。
【００１４】
特開２０００−３２４１６８号公報に示されている技術では、スケジューラ３４に対して、スイッチ接続を要求する各キューから格納したパケットの出力優先度を示したリクエスト３９1〜３９Pが通知される。スケジューラ３４は、リクエスト３９1〜３９Pを基にして、優先度の高いキューのスイッチ接続を優先的に行うようなスケジューリングをする。
【００１５】
また特開２００１−２９８４７７号公報に示されている技術では、第１〜第Ｐの入力バッファ３２1〜３２Pごとに同一出力ポート宛のパケットが一定数蓄積されると、スイッチ接続を要求するリクエスト３９1〜３９Pがスケジューラ３４に通知される。スケジューラ３４は出力ポートが重複しないようにスケジューリングを行い、出力許可を示すグラント４０1〜４０Pを該当する入力バッファに通知する。第１〜第Ｐの入力バッファ３２1〜３２Pは、このグラント４０1〜４０Pに応じて、該当する出力ポート宛高優先キューから優先的にパケットを読み出すようになっている。ポリシング合格のパケットを優先パケットとし、ポリシング違反のパケットを非優先パケットとして優先度別にキューイングすることで、ポリシング合格パケットを優先的に送出することができる。
【００１６】
【発明が解決しようとする課題】
【００１７】
ところで、ポリシング合格のパケットとポリシング違反のパケットは、同一のユーザから受信して所定の宛先に送出するパケットを、単に契約量との関係で区別したものである。したがって、あるユーザが１つのアプリケーションプログラムを構成する一連のデータをパケットとして転送するような場合を考えると、その中の一部がポリシング合格のパケットに振り分けられ、残りのデータがポリシング違反のパケットに振り分けられるといった事態が発生する。先に示した特開２０００−３２４１６８号公報あるいは特開２００１−２９８４７７号公報に記載された技術では、ポリシング合格のパケットとポリシング違反のパケットを別のキューにキューイングすることで、契約量分のパケットを優先して転送することができる。このため、これらの技術を単純に適用すると、ポリシング違反のパケットは転送される順番がポリシング合格のパケットよりも後になる場合がある。これにより、本来、一連のデータとして受信すべきアプリケーションプログラムの一部が残りの部分よりも先に宛先に送出される事態が発生する。
【００１８】
このようにパケットの転送順序が入れ替わった場合には、遅れて転送されるポリシング違反のパケットをパケットの受信側が受信してからデータを再生することになる。したがって、受信したアプリケーションプログラムがうまく動作しなくなる原因ともなる。電話やビデオストリーミングのようにリアルタイム性が要求されるデータについても、パケットの転送順序が入れ替わると、再生するデータの品質が低下したり、データとしての意味をなさなくなることになる。
【００１９】
そこで本発明の目的は、複数のユーザが同一の宛先にパケットを送出する場合に、他のユーザのパケットの存在にかかわらず、自己のパケットについては時間的に順序正しく宛先に送出されるようにしたパケット転送システムを提供することにある。
【００２２】
【課題を解決するための手段】
請求項１記載の発明では、（イ）単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、（ロ）前記した複数の流入側伝送路のそれぞれに対応して配置され、パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、（ハ）前記した複数の流入側伝送路のそれぞれに対応して配置され、識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、（ニ）前記した複数の流入側伝送路のそれぞれに対応して配置され、これらパケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すパケット取り出し手段と、（ホ）前記した複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記した複数の流出側伝送路の対応するものに送出するパケット送出手段とをパケット転送システムに具備させる。
【００２３】
すなわち請求項１記載の発明では、複数の流入側伝送路からこれらに互いに共通した同一の流出側伝送路に向けたパケットを受信する場合、複数の流入側伝送路のそれぞれに対応して配置された識別子付加手段は単位時間当たりの流出量が流入側伝送路ごとに予め規定された量をこれ以外のものと区別するようにパケットに識別子を付加するようにしている。この識別子付加手段で識別子を選択的に付加した後の個々のパケットは、複数の流入側伝送路のそれぞれに対応して配置され、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段にそれぞれ先着順に格納される。そして、パケット取り出し手段は、これらパケット格納手段に格納されたそれぞれ次に取り出す位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出す。したがって、パケット取り出し手段は流出側伝送路の単位時間当たりのパケット流出量の範囲内でそれぞれのパケット格納手段から、確保について取り決めがある分のパケットを優先的に取り出していくが、このとき識別子を用いて単位時間当たりの流出量が確保されたパケットを優先的に取り出す。このとき、それぞれのパケット格納手段に着目してみると、いわゆる先入れ先出しの原理でパケットが取り出される。このため、１つ１つの流入側伝送路では流入したパケットが時間的に順序正しく取り出されて流出側伝送路に送出されることになり、順序が狂う不都合が回避されることになる。
【００２４】
請求項２記載の発明では、（イ）単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、（ロ）前記した複数の流入側伝送路のそれぞれに対応して配置され、パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、（ハ）前記した複数の流入側伝送路のそれぞれに対応して配置され、識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、（ニ）流入側伝送路ごとにこれらのパケット格納手段から取り出すパケットが取り出しについて競合した際のその優先度を登録する取り出し優先度登録手段と、（ホ）前記した複数の流入側伝送路のそれぞれに対応して配置され、パケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すときに単位時間当たりの流出量が確保されたパケットの間ではこの取り出し優先度登録手段に登録された取り出し優先度の高いパケットを優先的に取り出すパケット取り出し手段と、（へ）前記した複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記した複数の流出側伝送路の対応するものに送出するパケット送出手段とをパケット転送システムに具備させる。
【００２５】
すなわち請求項２記載の発明では、複数の流入側伝送路からこれらに互いに共通した同一の流出側伝送路に向けたパケットを受信する場合、複数の流入側伝送路のそれぞれに対応して配置された識別子付加手段は単位時間当たりの流出量が流入側伝送路ごとに予め規定された量をこれ以外のものと区別するようにパケットに識別子を付加するようにしている。この識別子付加手段で識別子を選択的に付加した後の個々のパケットは、複数の流入側伝送路のそれぞれに対応して配置され、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段にそれぞれ先着順に格納される。ところでこの発明では、取り出し優先度登録手段に流入側伝送路それぞれに対応してその流入側伝送路を経て格納されたパケットのパケット格納手段からの取り出し優先度の高さを登録するようになっている。そして、パケット取り出し手段は、これらパケット格納手段に格納されたそれぞれ次に取り出す位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すことになるが、単位時間当たりの流出量との関係で、複数のパケット格納手段の間で取り出しに競合が生じる場合がある。このときには取り出し優先度登録手段に登録された優先度の高いものを優先的に取り出すようになっている。
【００２８】
請求項３記載の発明では、請求項１または請求項２記載のパケット転送システムで、識別子付加手段は、パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された量を超過する分について識別子を付加することを特徴としている。
【００２９】
すなわち請求項３記載の発明では、単位時間当たりの流出量が流入側伝送路ごとに予め確保された量を超過する分のパケットについて識別子を付加することにしている。
【００３０】
請求項４記載の発明では、請求項１または請求項２記載のパケット転送システムで、識別子付加手段は、パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された分について識別子を付加することを特徴としている。
【００３１】
すなわち請求項４記載の発明では、単位時間当たりの流出量が流入側伝送路ごとに予め確保された分のパケットについて識別子を付加することにしている。
【００３２】
【発明の実施の形態】
【００３３】
【実施例】
以下実施例につき本発明を詳細に説明する。
【００３４】
第１の実施例
【００３５】
図１は本発明の第１の実施例におけるパケット転送システムを構成するＩＰネットワークの概要を表わしたものである。ＩＰネットワーク１０１には、比較的狭い範囲のネットワークである第１〜第３のアクセスネットワーク１０２1〜１０２3と、これら第１〜第３のアクセスネットワーク１０２1〜１０２3と接続されたコアネットワーク１０３が配置されている。第１〜第３のアクセスネットワーク１０２1〜１０２3は、たとえばＣＡＴＶ（cable television）の配信網を使用して各家庭の端末と接続するようなネットワークを指している。コアネットワーク１０３は、たとえば電話会社などが都市間を接続する高速の回線を用いて作成したネットワークを指している。第１〜第３のアクセスネットワーク１０２1〜１０２3には、それぞれコアネットワーク１０３との間でパケットの送受信を行う第１〜第３のカスタマ構内機器（ＣＰＥ）１０４1〜１０４3が備えられている。また、コアネットワーク１０３内には、それぞれ第１〜第３のカスタマ構内機器１０４1〜１０４3と直接パケットの送受信を行う第１〜第３のエッジルータ１０５1〜１０５3と、コアネットワーク１０３内でのパケットの転送処理を行う第１および第２のコアルータ１０６1、１０６2が備えられている。
【００３６】
図２は、図１に示したコアネットワーク内に配置されたコアルータの構造を表わしたものである。ここでは、第１のコアルータ１０６1について説明を行うが、第２のコアルータ１０６2も同様の構成であるため、その説明を省略する。第１のコアルータ１０６1には、パケットの流入する伝送路にそれぞれ接続された第１〜第Ｎ（Ｎは２以上の整数。）の入力ポート１１１1〜１１１Nと、入力されたパケットに対して前処理を行う第１〜第Ｎの前処理部１１２1〜１１２Nと、第１〜第Ｎの入力バッファ１１３1〜１１３Nが備えられている。また、スイッチ１１４と、スイッチ１１４のスケジューリングを行うスケジューラ１１５と、パケットの流出側の伝送路にそれぞれ接続された第１〜第Ｍ（Ｍは１以上の整数。）の出力ポート１１６1〜１１６Mが備えられている。第１のコアルータ１０６1は、更に制御部１２７を備えている。この制御部１２７は、図示しないＣＰＵ（中央演算処理装置）を備えており、この処理装置が同じく図示しない記憶媒体に格納されたプログラムに従って第１のコアルータ１０６1内の各部の制御を行っている。また制御部１２７は、クロック信号発生器１２８からクロック信号１２９の供給を受けるようになっている。第１のコアルータ１０６1は、このようにスイッチ１１４の前段に第１〜第Ｎの入力バッファ１１３1〜１１３Nを設けた入力バッファ型スイッチとしての構成をとっている。
【００３７】
第１〜第Ｎの入力バッファ１１３1〜１１３Nは、それぞれ同一の回路構成となっている。そこで代表として第１の入力バッファ１１３1についての説明を行う。第１の入力バッファ１１３1には、各出力ポートに対応して設けられた第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mと、これらの出力ポート宛キュー１１７1〜１１７Mにパケットを分配するパケット分配部１１８と、これらの出力ポート宛キュー１１７1〜１１７Mの先頭からパケットを取り出してスイッチ１１４に送出するパケット送出部１１９が備えられている。また、第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mと１対１に対応した第１〜第Ｍのヘッダ検査部１２０1〜１２０Mと、第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mの中から１つを選択するバッファ制御部１２１が備えられている。第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mは、それぞれ第１〜第Ｍの出力ポート１１６1〜１１６Mから送られていくパケットを格納するための先入れ先出し（ＦＩＦＯ：First In First Out）の仮想出力ポート宛キュー（Virtual Output Queue：ＶＯＱ）である。
【００３８】
パケット分配部１１８は、第１の入力バッファ１１３1に入力されるパケットの宛先に応じた第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mにキューイングするようになっている。このとき、宛先が同じであればそれがポリシング合格またはポリシング違反に関わらず、同じ出力ポート宛キュー１１７1〜１１７Mに入力順にキューイングされるようになっている。また、本実施例では第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mはパケット分配部１１８が蓄積量限界までキューイングした場合、これ以上のパケットは入力されず廃棄されるようになっている。
【００３９】
第１〜第Ｍのヘッダ検査部１２０1〜１２０Mは、それぞれ対応した第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mの先頭に格納されているパケットのヘッダを検査するようになっている。第１〜第Ｍのヘッダ検査部１２０1〜１２０Mからはそれぞれの検査結果を第１〜第Ｍの検査結果情報１２２1〜１２２Mとして、バッファ制御部１２１に通知するようになっている。検査結果情報１２２1〜１２２Mには、パケットがキューイングされているか否かを示す情報と、キューイングされている場合には更に先頭パケットのヘッダにポリシング違反を示す識別子が組み込まれているか否かを示す情報が含まれている。バッファ制御部１２１は、スケジューラ１１５に対してスイッチ１１４への接続を要求する出力ポートと接続優先度を示すリクエスト１２３1を通知する。ここで、接続優先度の情報とは、パケットのヘッダに組み込まれているポリシング合格あるいはポリシング違反のいずれかの情報を示している。また、このリクエスト１２３1に対して接続を許可する出力ポートを示すグラント１２４1を受信し、これに対応した出力ポート宛キュー１１７1〜１１７Mを示す選択キュー情報１２５をパケット送出部１１９に通知する。
【００４０】
スケジューラ１１５は、第１〜第Ｎの入力バッファ１１３1〜１１３Nから通知されるリクエスト１２３1〜１２３Nを受け取るようになっている。そして、受信したリクエストを第１〜第Ｍの出力ポート１１６1〜１１６M別に分けて、それぞれで接続優先度が最も高いリクエストを通知した入力バッファに対して、接続を許可する出力ポートを示すグラントを通知する。ここで接続優先度はポリシング合格とポリシング違反の２段階であり、ポリシング合格の方を高い優先度とする。また、リクエスト１２３1〜１２３Nの中で最も高い優先度を示すものが複数同じ出力ポートに対して送られてきた場合には、ラウンドロビン方式で１つを選択するようになっている。出力ポートの選択は、クロック信号１２９を基にしたタイムスロットに従ったタイミングで行われる。第１〜第Ｎの入力バッファ１１３1〜１１３Nと第１〜第Ｍの出力ポート１１６1〜１１６Mの接続関係が決定すると、この接続関係を示す接続設定情報１２６をスイッチ１１４に通知する。スイッチ１１４は、受け取った接続設定情報１２６に従って、第１〜第Ｎの入力バッファ１１３1〜１１３Nと第１〜第Ｍの出力ポート１１６1〜１１６Mを接続するように設定する。
【００４１】
図３は、図２に示した第１の前処理部の構成を表わしたものである。第１〜第Ｎの前処理部１１２1〜１１２Nは、それぞれ同一の回路構成となっている。そこで代表として第１の前処理部１１２1についての説明を行う。第１の前処理部１１２1には、パケットにＱｏＳクラスの識別情報を付与するパケット識別部１３１と、トラヒック量であるパケットの流入量が契約量以内であるか否かを判別するポリサ１３２が備えられている。また、パケットにポリサ１３２の判定結果を組み込むマーカ１３３と、パケットを送出する出力ポート１１６1〜１１６Mを判別する出力ポート判別部１３４と、パケットを所定の長さ以下に分割するパケット分割部１３５が備えられている。ポリサ１３２は、契約量を記憶するための図示しない記憶媒体を備えている。
【００４２】
入力ポート１１１1から入力されたパケットは、まずパケット識別部１３１で対応したＱｏＳクラスの判別が行われ、判別されたＱｏＳクラスを識別するためのＤＳＣＰ値がそのパケットのヘッダに付与されるようになっている。次にポリサ１３２ではポリシングとして受信したパケットの流入量が、契約量以内であるか否かをチェックするようになっている。例えば単位時間ごとに格納されたパケットをすべて排出する先入れ先出しのバッファにパケットを入力順に格納し、その先頭から契約量に応じた数までのパケットとそれを超えた分のパケットを区別することでチェックを行う。もし、契約量を超えている場合は超えている量のパケットに対してはマーカ１３３で、ＤＳＣＰ値にポリシング違反を示す識別子が付けられ、ポリシング違反パケットとなる。またマーカ１３３で、ＤＳＣＰ値にポリシング違反を示す識別子が付けられなかったパケットはポリシング合格パケットとなる。ポリシングの結果が反映されたパケットは、出力ポート判別部１３４で第１のコアルータ１０６1の出力ポート１１６1〜１１６Mのどれから送出されるパケットであるか判別され、これを示す情報がパケットヘッダに付与される。最後に、パケット分割部１３５で、所定の長さ以下になるようにパケットを分割して、第１の前処理部１１２1から送出する。なおこの分割を行う際に、パケットのヘッダに組み込まれた情報は、分割されたパケットそれぞれにコピーして組み込まれるようになっている。
【００４３】
図４は、図２に示した第１の入力バッファに備えられているバッファ制御部の構成を表わしたものである。バッファ制御部１２１には、検査結果情報１２２1〜１２２Mを受信する検査結果情報受信部１４１と、受信した検査結果情報を基にしてリクエスト１２３1を作成するリクエスト作成部１４２と、作成したリクエスト１２３1をスケジューラ１１５に通知するリクエスト通知部１４３が備えられている。またバッファ制御部１２１には、スケジューラ１１５から送られてくるグラント１２４1を受信するグラント受信部１４４と、グラント１２４1を基にしてパケットを送出する出力ポート宛キューを選択するキュー選択部１４５と、選択した出力ポート宛キューを示す選択キュー情報１２５を、パケット送出部１１９に通知する選択キュー情報通知部１４６が備えられている。
【００４４】
リクエスト作成部１４２は、検査結果情報１２２1〜１２２Mの中でキューイングされているパケットの送出先となる出力ポートを示す希望接続先出力ポートとそのパケットの優先度を示す接続優先度を組み込んだリクエスト１２３1を作成する。パケットがキューイングされている出力ポート宛キューが複数ある場合にはその数だけ情報を組み込んで１つのリクエスト１２３1を作成してもよい。この場合、希望接続先出力ポートごとにそれぞれ接続優先度が示されることになる。また、キュー選択部１４５は、グラント受信部１４４がグラント１２４1を受信すると、第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mからこれに対応したものを選択するようになっている。これを仮に第１の出力ポート宛キュー１１７1とすると、パケット送出部１１９は、第１の出力ポート宛キュー１１７1の先頭からパケットを取り出してスイッチ１１４に送出する。スケジューラ１１５は、パケット送出部１１９がスイッチ１１４にパケットを送出するタイミングに間に合うように接続設定情報１２６を通知して対応する入力バッファと出力ポートの接続を設定させるようになっている。したがって、パケット送出部１１９からスイッチ１１４に送出されたパケット１４７1は、スイッチ１１４を介して対応する出力ポートから送出されるようになっている。
【００４５】
次にコアルータ１０６1にパケットが入力されて送出される様子を説明する。図２に示す第１の入力ポート１１１1には、図１に示した第１のエッジルータ１０５1を介して第１のアクセスネットワーク１０２1からパケットが入力されるようになっている。また図２では図示を省略した第２の入力ポート１１１2には、図１に示した第２のエッジルータ１０５2を介して第２のアクセスネットワーク１０２2からパケットが入力されるようになっている。コアネットワーク１０３の事業者は、第１のアクセスネットワーク１０２1の事業者と契約量１．８Ｇｂｐｓのサービス契約を結んでいるものとする。また第２のアクセスネットワーク１０２2の事業者と契約量０．６Ｇｂｐｓのサービス契約を結んでいるものとする。第１の出力ポート１１６1からは最大２．４Ｇｂｐｓ分のパケットが送出できるようになっているものとする。ここでは、第１の出力ポート１１６1から送出するパケットは第１および第２のアクセスネットワーク１０２1、１０２2それぞれの事業者から入力されるパケットのみであるものと仮定する。これにより、第１および第２のアクセスネットワーク１０２1、１０２2それぞれの事業者から計２．４Ｇｂｐｓまでのトラヒック量でパケットが入力される限りは、入力されたすべてのパケットが契約量に関わらず第１の出力ポート１１６1から送出される。
【００４６】
図５は、図２に示したコアルータ内で、第１の出力ポートに向けて送出しようとするパケットが送出について競合を起こした様子の一例を表わしたものである。第１の入力ポート１１１1には第１のアクセスネットワーク１０２1からのトラヒック量１５１で示す１．８Ｇｂｐｓのパケットが継続的に入力されている。このトラヒック量１５１は契約量以内なので、これらパケットはすべてポリシング合格のパケットである。第２の入力ポート１１１2には第２のアクセスネットワーク１０２2からのトラヒック量１５２で示す１．２Ｇｂｐｓのパケットが継続的に入力されている。このトラヒック量１５２は契約量を超過しているので、超過しているトラヒック量０．６Ｇｂｐｓのパケットはポリシング違反のパケットであり識別子が付与されている。また、契約量以内のトラヒック量０．６Ｇｂｐｓのパケットはポリシング合格のパケットである。
【００４７】
コアルータ１０６1では、ポリシング合格のパケットはポリシング違反のパケットよりも優先してスイッチに送出されるようになっている。これにより、第１の入力ポート１１１1から入力されるパケットはすべてポリシング合格のパケットとなっているので、これらは第１の出力ポート１１６1から優先的に送出される。また、第２の入力ポート１１１2から入力されるパケットは、ポリシング合格およびポリシング違反を含めて０．６Ｇｂｐｓだけ第１の出力ポート１１６1から送出される。また、第２の入力ポート１１１2から入力されるパケットのうち矢印１５３で示すトラヒック量０．６Ｇｂｐｓのパケットは廃棄される。トラヒック量１５２以内のパケットは、ポリシング合格パケットとポリシング違反パケットを入力順に一緒のキューにキューイングしているため、廃棄されるパケットにはポリシング合格のパケットが含まれる場合もある。しかしながら、少なくともトラヒック量１５２のパケットは、第２の入力ポート１１１2からの入力順を入れ替えずに第１の出力ポート１１６1から送出することができる。この例では、第１および第２のアクセスネットワーク１０２1、１０２2から、それぞれ固定のトラヒック量のパケットが入力されてくる場合について説明した。しかしながら、たとえば第１のアクセスネットワーク１０２1から入力されるパケットのトラヒック量が変動する場合、出力ポート１１６1側のトラヒック量の余裕分だけ、トラヒック量１５３で示した分のパケットを送出できる。
【００４８】
このように、コアルータ１０６1では、ポリシング違反パケットと競合した際にポリシング合格パケットを優先的に転送することで、ポリシング合格パケットのみで構成される契約量のパケットを優先的に転送することができる。これにより、他の入力ポートのポリシング違反パケットが自己の入力ポートのポリシング合格パケットをブロックすることがなくなり、入力ポート間の出力機会の不公平性を軽減することができる。また、出力ポートが同一の場合、ポリシング合格パケットとポリシング違反パケットを同一のキューに入力順にキューイングするようになっている。これによって、同一の入力ポートから入力されたパケットのうち同一の出力ポートから送出するパケットの順番が入れ替わることはない。また、パケット廃棄が発生した場合であっても、キューにキューイングしきれないパケットが廃棄されるので、一連のパケットの間が抜けることがあっても順番の入れ替えを発生させることがない。
【００４９】
第２の実施例
【００５０】
図６は、本発明の第２の実施例におけるパケット転送システムを構成するコアルータの部分を表わしたものである。この図で図２と同一の部分には同一の符号を付しており、説明を適宜省略する。また、本実施例でも第１の実施例の図１を適宜使用する。第１のコアルータ１０６Ａ1には、パケットが入力される第１〜第Ｎの入力ポート１１１1〜１１１Nと、入力されたパケットに対して接続優先度を示す識別子を付加する第１〜第Ｎの前処理部２０１1〜２０１Nと、入力されたパケットを一時的に格納する第１〜第Ｎの入力バッファ２０２1〜２０２Nが備えられている。また、入力側と出力側の選択的な接続を行うスイッチ１１４と、パケットの送出先となる第１〜第Ｍの出力ポート１１６1〜１１６Mと、第１〜第Ｎの入力バッファ２０２1〜２０２Nに格納されているパケットの接続優先度に応じて、スイッチ１１４の接続をスケジューリングするスケジューラ２０３が備えられている。更に第１〜第Ｎの入力バッファ２０２1〜２０２Nは、接続優先度を示す情報を組み込んだ第１〜第Ｎのリクエスト２０４1〜２０４Nをスケジューラ２０３に通知するようになっている。第２の実施例では、ディフサーブのようにコアネットワークの１０３の事業者がクラス１〜クラスＸ（Ｘは２以上の整数。）の複数のＱｏＳクラスをサポートしているものとして説明を行う。
【００５１】
図７は、図６に示した第１の前処理部の構成について表わしたものである。この図で図３と同一の部分には同一の符号を付しており、説明を適宜省略する。第１の前処理部２０１1には、第１の入力ポート１１１1から入力されたパケットの送出元となるユーザおよびユーザと契約したＱｏＳクラスを識別するＤＳＣＰ値をパケットに付加するユーザ・クラス識別部２１１と、ユーザにそれぞれ対応してトラヒック量のポリシングを行う第１〜第４のポリサ２１２1〜２１２4と、これらにそれぞれ対応してポリシング違反の識別子を選択的にパケットヘッダに組みこむ第１〜第４のマーカ２１３1〜２１３4が備えられている。第１〜第４のポリサ２１２1〜２１２4および第１〜第４のマーカ２１３1〜２１３4は、第１〜第４のユーザにそれぞれ対応して備えられている。また、第１の前処理部２０１1には、パケットの送出先となる出力ポートを判別する出力ポート判別部１３４と、パケットを所定の長さ以下に分割するパケット分割部１３５が備えられている。第１の入力ポート１１１1から入力されるパケットは、予めコアネットワーク１０３の事業者とサービス契約を結んだ第１〜第４のユーザから送られてくる。第１〜第４のポリサ２１２1〜２１２4および第１〜第４のマーカ２１３1〜２１３4は、第１〜第４のユーザからのトラヒック量が契約量以内であるか否かをポリシングし、契約量を超えた分のパケットにはポリシング違反を示す識別子が付与される。
【００５２】
図８は、図６に示した第１の入力バッファの構成を表わしたものである。この図で図４と同一の部分には同一の符号を付しており、説明を適宜省略する。第１の入力バッファ１１３1には、出力ポートとサポートするＱｏＳクラスの組み合わせごとに用意されたパケットを格納する第１１〜第ＸＭのキュー２２１11〜２２１XMと、これらキューにパケットを分配するパケット分配部１１８と、これらキューの先頭に格納されているパケットを取り出してスイッチ１１４に送出するパケット送出部１１９が備えられている。ここではキュー２２１に付けられた下付番号の一の位の値が対応する出力ポートを表わし、十の位の値が対応するＱｏＳクラスをそれぞれ表わしている。また、第１１〜第ＸＭのキュー２２１11〜２２１XMと１対１に対応して先頭パケットを検査する第１１〜第ＸＭのヘッダ検査部２２２11〜２２２XMと、第１１〜第ＸＭのキュー２２１11〜２２１XMの中から１つを選択するバッファ制御部２２３が備えられている。
【００５３】
パケット分配部１１８は、第１〜第４のユーザから入力されたパケットを第１の前処理部２０１1の処理結果を基に出力ポート別かつＱｏＳクラス別に用意された第１１〜第ＸＭのキュー２２１11〜２２１XMにキューイングするようになっている。第１１〜第ＸＭのヘッダ検査部２２２11〜２２２XMは、対応した第１１〜第ＸＭのキュー２２１11〜２２１XMにキューイングされているパケットの有無を検査するようになっている。またパケットがキューイングされていれば先頭パケットにポリシング違反を示す識別子が付加されているか検査する。ヘッダ検査部２２２11〜２２２XMは、この検査結果を検査結果情報１２２11〜１２２XMとして、バッファ制御部２２３へ通知するようになっている。バッファ制御部２２３は、検査結果情報１２２11〜１２２XMを基に作成したスイッチ１１４への接続要求であるリクエスト２０４1をスケジューラ２０３へ通知する。これに対して接続を許可された出力ポート１１６1〜１１６Nのいずれかを示すグラント１２４1を受け取ると、選択キュー情報１２５をパケット送出部１１９へ通知する。
【００５４】
図９は、図８に示したバッファ制御部の構成を表わしたものである。この図で図４と同一の部分には同一の符号を付しており、説明を適宜省略する。バッファ制御部２２３には、検査結果情報１２２11〜１２２XMを受信する検査結果情報受信部１４１と、これを基にしてリクエスト２０４1を作成するリクエスト作成部２３１と、リクエスト２０４1をスケジューラ２０３に通知するリクエスト通知部１４３が備えられている。また、スケジューラ２０３からのグラント１２４1を受け取るグラント受信部１４４と、これを基にして第１１〜第ＸＭのキュー２２１11〜２２１XMからスイッチ１１４に送出するパケットを取り出すキューを選択するキュー選択部２３２と、選択したキューを示す選択キュー情報１２５をパケット送出部１１９へ通知する選択キュー情報通知部１４６を備えている。更に、ＱｏＳクラスとポリシング合格あるいはポリシング違反の組み合わせに応じた接続優先度の優先順序を記憶した優先度順序テーブル２３３を備えている。リクエスト作成部２３１およびキュー選択部２３２は、接続優先度の高低を判別する場合には、この優先度順序テーブル２３３に記憶されている優先順序を参照するようになっている。
【００５５】
リクエスト作成部２３１は、第１の実施例と異なりポリシング合格あるいはポリシング違反だけではなく、ＱｏＳクラス間の優先順位についても考慮してリクエスト２０４1を作成するようになっている。たとえば、出力ポート１１６1宛のポリシング合格のパケットを第１１および第２１のキュー２２１11、２２１21がそれぞれ格納していて、第２のＱｏＳクラスとポリシング合格の組み合わせが第１のＱｏＳクラスとポリシング合格の組み合わせよりも優先順位が高く設定されている場合を説明する。この場合には、第２のＱｏＳクラスとポリシング合格の組み合わせの方が優先順位が高いので、これに応じて優先度順序テーブル２３３に登録された接続優先度を組み込んだ出力ポート１１６1への接続を要求するリクエスト２０４1を作成する。キュー選択部２３２は、グラント受信部１４４が受信したグラント１２４1に従って、第１１〜第ＸＭのキュー２２１11〜２２１XMからスイッチ１１４に送出するパケットを取り出すキューを選択する。一例としてグラント１２４1が出力ポート１１６1への接続許可を示している場合、出力ポート１１６1宛の第１１〜第１Ｍのキュー２２１11〜２２１1Mの先頭位置に格納されているパケットのうち接続優先度が一番高いパケットを格納しているキューを選択する。なお、キュー選択部２３２はこの選択のために、検査結果情報受信部１４１から最新の検査結果情報を取得するようになっている。そして、キュー選択部２３２がたとえば第１Ｍのキュー２２１1Mを選択した場合には、この第１Ｍのキュー２２１1Mの先頭からパケットを取り出してスイッチ１１４に送出するようになっている。スケジューラ２０３は、パケット送出部１１９がスイッチ１１４にパケットを送出するタイミングに間に合うように接続設定情報１２６を通知して対応する入力バッファ２０２1と出力ポート１１６1の接続を設定させるようになっている。したがって、パケット送出部１１９からスイッチ１１４に送出されたパケット１４７1は、スイッチ１１４を介して対応する出力ポート１１６1から送出されるようになっている。
【００５６】
図１０は、図７に示したスケジューラの構成を表わしたものである。スケジューラ２０３には、第１〜第Ｎの入力バッファ２０２1〜２０２Nから送られてくるリクエスト２０４1〜２０４Nを受信するリクエスト受信部２４１と、第１〜第ＸのＱｏＳクラス別にリクエストを一時的に記憶する第１〜第Ｘのリクエスト記憶部２４２1〜２４２Xと、これらに受信したリクエストを分配するクラス別リクエスト分配部２４３が備えられている。また、ＱｏＳクラスとポリシング合格あるいはポリシング違反の組み合わせに応じた接続優先度の優先順序を記憶した優先度順序テーブル２４４と、第１〜第Ｘのリクエスト記憶部２４２1〜２４２Xに記憶されているリクエストと接続優先度の優先順序を基にして、各入力バッファ２０２1〜２０２Nと接続する出力ポート１１６1〜１１６Mを選択する出力ポート選択部２４５が備えられている。更に、出力ポート選択部２４５の選択を基にして各入力バッファ２０２1〜２０２Nに応じて接続を許可する出力ポート１１６1〜１１６Mとしていずれかを示すグラント１２４1〜１２４Nを作成するグラント作成部２４６と、グラント作成部２４６が作成したグラント１２４1〜１２４Nを各入力バッファ２０２1〜２０２Nに通知するグラント通知部２４７と、出力ポート選択部２４５の選択を基にしてスイッチ１１４の接続設定を示す接続情報を作成する接続情報作成部２４８と、接続情報作成部２４８が作成した接続情報１２６をスイッチ１１４に通知する接続情報通知部２４９が備えられている。
【００５７】
出力ポート選択部２４５は、優先度順序テーブル２４４に記憶されている接続優先度を参照して、接続優先度の高いＱｏＳクラスに対応した第１〜第Ｘのリクエスト記憶部２４２1〜２４２Xに記憶されているリクエストから順に出力ポート１１６1〜１１６Mを選択するようになっている。出力ポート選択部２４５は、入力バッファ２０２1〜２０２Nを示すリストと出力ポート１１６1〜１１６Mを示すリストをそれぞれ保持しており、これらリストで未選択の入力バッファ２０２1〜２０２Nと出力ポート１１６1〜１１６Mから１つずつ選択して接続関係を定めるようなっている。このとき、入力バッファ２０２1〜２０２Nと出力ポート１１６1〜１１６Mのうち選択されたものを選択済みとすることで、１つの入力バッファに対して出力ポート１１６1〜１１６Mが複数同時に選択されることを防止することができる。グラント作成部２４６は入力バッファ２０２1〜２０２Nのうち、対応する出力ポート１１６1〜１１６Mが選択されたものに対して接続の許可を通知するグラント１２４1〜１２４Nを作成するようになっている。
【００５８】
優先度順序テーブル２３３、２４４に記憶されている接続優先度の中で、ポリシング違反のパケットはＱｏＳクラスの優先順位に関わらず最も低い優先度が与えられるようになっている。接続優先度は、これら優先度順序テーブル２３３、２４４に記憶されている優先順位によって定まるため、この設定を変更することで、任意の優先順位を設定することができる。次に、複数のＱｏＳクラスのパケットが競合を起こした場合について説明を行う。
【００５９】
図１１は、第２の実施例で説明したコアルータ内で、第１の出力ポートに向けて送出しようとするパケットが競合を起こした様子の一例を表わしたものである。ここでは、第１の入力ポート１１１1および第２の入力ポート１１１2に入力されたパケットのうち第１の出力ポート１１６1へ送出するものについて説明する。第１の入力ポート１１１1からは、第１のＱｏＳクラスのトラヒック量２５１で示す０．４Ｇｂｐｓ分のパケットと、第２のＱｏＳクラスのトラヒック量２５２で示す１．０Ｇｂｐｓ分のパケットがそれぞれ継続的に入力されている。第２の入力ポート１１１2からは、第２のＱｏＳクラスのトラヒック量２５３で示す０．６Ｇｂｐｓ分のパケットと、第３のＱｏＳクラスのトラヒック量２５４で示す０．８Ｇｂｐｓ分のパケットがそれぞれ継続的に入力されている。第１の出力ポート１１６1からは最大２．４Ｇｂｐｓ分までのパケットが送出できるようになっている。ＱｏＳクラス間の接続優先度は第１のＱｏＳクラスが最も高く、以下第２、第３のＱｏＳクラスの順になっている。また、第１〜第４のユーザそれぞれに応じて定められた契約量を超過した分のパケットを示すポリシング違反識別子が付けられたパケットの接続優先度は、ＱｏＳクラスに関わらず最も低い接続優先度に設定されている。
【００６０】
第１の入力ポート１１１1から入力される第２のＱｏＳクラスのパケットは、０．６Ｇｂｐｓ分のポリシング合格パケットと、０．４Ｇｂｐｓ分のポリシング違反パケットで構成されている。第１の入力ポート１１１1から入力される第１のＱｏＳクラスのパケットと、第２の入力ポート１１１2から入力される第２のＱｏＳクラスおよび第３のＱｏＳクラスのパケットはそれぞれポリシング合格パケットのみで構成されている。
【００６１】
コアルータ１０６Ａ1では、接続優先度の高いパケットから優先してスイッチ１１４に送出されるようになっている。しかし、第１の入力ポート１１１1から入力される第２のＱｏＳクラスのパケットは第２１のキュー２２１21の先頭にキューイングされているパケットの接続優先度によっては、優先順位が逆転する場合がある。ここでは問題を単純化するため、第１の入力ポート１１１1から入力される第２のＱｏＳクラスのパケットのうち、ポリシング合格パケットがキューの先頭に偏っている場合と、後部に偏っている場合の２つの状態を想定して説明を行う。
【００６２】
まず、第１の入力ポート１１１1から入力される第２のＱｏＳクラスのパケットのうちポリシング合格パケットが第２１のキュー２２１21の先頭に偏っている場合を説明する。この場合、接続優先度が最も高い第１の入力ポート１１１1から入力される第１のＱｏＳクラスのパケットがまず送出される。そして次に接続優先度が高い第１および第２の入力ポート１１１1、１１１2から入力される第２のＱｏＳクラスのポリシング合格のパケットがラウンドロビン方式で均等に０．６Ｇｂｐｓ分ずつ送出される。この後、第１の入力ポート１１１1から入力される第２のＱｏＳクラスのポリシング違反のパケットと、第２の入力ポート１１１2から入力される第３のＱｏＳクラスのポリシング合格のパケットが残っている。ポリシング違反のパケットは最も接続優先度を低く設定されているため、第３のＱｏＳクラスの０．８Ｇｂｐｓ分のパケットが先に出力される。これで計トラヒック量２．４Ｇｂｐｓ分のパケットが出力されたので、トラヒック２５５で示される第１の入力ポート１１１1から入力される第２のＱｏＳクラスのうち残っている０．４Ｇｂｐｓ分のパケットは廃棄されることになる。
【００６３】
次に、第１の入力ポート１１１1から入力される第２のＱｏＳクラスのパケットのうちポリシング合格のパケットがキューの後方に偏っている場合を説明する。この場合、第１の入力ポート１１１1から入力される第２のＱｏＳクラスのパケットを格納するキュー２２１21にはその先頭にポリシング違反パケットが格納されているため最も低い接続優先度となる。したがって、第１の入力ポート１１１1から入力される第２のＱｏＳクラス以外のパケットがまず接続優先度の高さに従って順に送出されることになる。最後に第１の入力ポート１１１1から入力される第２のＱｏＳクラスのパケットのうち０．６Ｇｂｐｓ分だけ出力され、残りの０．４Ｇｂｐｓ分のパケットは廃棄される。
【００６４】
このように、第２のＱｏＳクラスのポリシング合格トラヒックよりも接続優先度が低い第３のＱｏＳクラスのポリシング合格のパケットを、第２のＱｏＳクラスのポリシング違反のパケットにブロックされずに送出することができる。したがって第２の実施例のコアルータ１０６Ａ1では、複数の接続優先度が異なるＱｏＳクラスをサポートした場合でも、第１の実施例と同様の効果を実現できる。
【００６５】
以上説明した第１および第２の実施例では、コアルータ１０６1またはコアルータ１０６Ａ1は制御部１２７を備え、これがプログラムに従って制御を行っていると説明した。しかしながら、クロック信号１２９に同期させたハードウェアで各部を構成してもよい。また、第１〜第Ｍの出力ポート宛キュー１１７1〜１１７Mおよび第１１〜第ＸＭのキュー２２１11〜２２１XMは、それぞれ物理的に独立した記憶媒体として備えられてもよいし、適切な数の記憶媒体を仮想的に区切る形で備えられてもよい。
【００６６】
また、第１および第２の実施例ではトラヒック量と契約量の関係から入力されるパケットにポリシング違反の識別子が選択的に組み込まれるようになっている。しかし、トラヒック量についてはサービス契約で特に定めず、特定のユーザからのパケットには常にポリシング違反の識別子を組み込むようにしてもよい。ポリシング違反の識別子だけを組み込むようにすると、そのユーザから入力されるパケットはそのトラヒック量に関わらず、他の転送優先度の高いパケットを転送した後の帯域を用いて転送されることになり、輻輳発生時には転送できるパケットの量が制限されることが多くなる。たとえば、転送速度についての要求がそれほど高くない従来のデータ通信として使用するユーザと、このような制限を設ける代わりに契約量を定めたサービス契約よりも比較的安価なサービス契約を結んでもよい。
【００６７】
更に第２の実施例で、たとえばトラヒック量を流出側の単位時間当たりの最大トラヒック量と同じだけ確保し、接続優先度を最も高く設定するようにユーザと契約すると、災害時等の通信を最優先で確保したい場合に適したサービス契約を用意することもできる。
【００６８】
発明の変形の可能性
【００６９】
第１または第２の実施例では、契約量に基づいて入力されたパケットをポリシング合格あるいはポリシング違反のどちらかに分けていた。これを識別するために第１および第２の実施例では、ポリシング違反を示す識別子をパケットに組み込むようになっているが、ポリシング合格を示す識別子を組み込むようにしてもよい。また、このポリシング合格あるいは、ポリシング違反の中で更に優先度を分けてもよい。たとえば、サービス契約で限界トラヒック量（Peak Rate）と平均トラヒック量（Committed Rate）の２つのトラヒック量を定める。そして、平均トラヒック量未満の分はポリシング合格パケット、平均トラヒック量以上限界トラヒック量未満の分は第１のポリシング違反パケット、限界トラヒック以上の分は第２のポリシング違反パケットとする。これらの接続優先度を高い順にポリシング合格パケット、第１のポリシング違反パケット、第２のポリシング違反パケットとして、接続優先度の高いものから優先的にスケジューリングを行う。これにより、たとえばある入力ポートから一時的に極大化したトラヒック量で入力されたパケットより、他の入力ポートから平均値を少し超過したトラヒック量で入力されたパケットを優先的に出力するような柔軟なサービスを提供することができる。
【００７０】
更に第１の実施例では、第１の前処理部１１２1にクラス識別部１３１、ポリサ１３２およびマーカ１３３が備えられていた。しかし、これらは第１の入力ポート１１１1にパケットを入力する第１のエッジルータ１０５1に備えられていてもよい。また、第２の実施例の第１の前処理部２０１1に備えられたユーザ・クラス識別部２１１、第１〜第４のポリサ２１２1〜２１２4および第１〜第４のマーカ２１３1〜２１３4も、第１のエッジルータ１０５1に備えられていてもよい。このように、ポリシング違反を示す識別値を付加する処理をネットワークを跨いで第１のエッジルータ１０５1で行うことによって、第１のコアルータ１０６1のパケット転送処理の負荷を軽減することができる。
【００７１】
更に第２の実施例では、バッファ制御部２２３とスケジューラ２０３に、それぞれ優先度順序テーブル２３３、２４４を備えるようになっていた。しかしながら、ＱｏＳクラスとポリシング違反あるいはポリシング合格の組み合わせを直線的な優先順位と対応付け、これをリクエスト２０４1の接続優先度として組み込むようにしてもよい。これによりスケジューラ２０３は、リクエスト２０４1〜２０４Nに組み込まれた接続優先度を単純に比較して、優先的なスケジューリングを行うことができる。このように、スケジューラ２０３に優先度順序テーブル２４４を備えなくてもよい。このとき、ポリシング違反のパケットをそのＱｏＳクラスに関わらず最も低い優先順位に設定する場合には、接続優先度として（Ｘ＋１）段階の順位を設けることで優先的なスケジューリングを実現することができる。また、ＱｏＳクラスごとにポリシング違反とポリシング合格のパケットの優先順位をそれぞれ設定する場合には、接続優先度として（２×Ｘ）段階の順位を設けることで優先的なスケジューリングを実現することができる。
【００７２】
【発明の効果】
以上説明したように請求項１または請求項２記載の発明によれば、流入側伝送路それぞれに複数の流出側伝送路のそれぞれに対応してパケット格納手段を配置してこれらに先着順にパケットを格納し、先に格納されたもの同士で流入側伝送路への流出の割り振りを行うことにしたので、それぞれの流入側伝送路からパケット格納手段に格納されたパケットは確実に格納順に流入側伝送路へ送り出されることになり、その順序が狂うことが無い。しかもそれぞれのパケット格納手段からパケットを取り出す際の優劣を設定することで優先度に応じたパケットの送出が可能になる。
【００７３】
更に請求項２記載の発明によれば、それぞれのパケットの優先度だけでなくパケット格納手段同士の優先度を定めたので、パケット格納手段同士からパケットを取り出す際に競合が発生したとき、これを優先度に応じて調停することができ、更に融通の効いたシステムを構成することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例におけるコアルータが配置されたネットワークの概要を表わしたブロック図である。
【図２】第１の実施例における第１のコアルータの構成の概要を表わしたブロック図である。
【図３】第１の実施例における第１の前処理部の構成を表わしたブロック図である。
【図４】第１の入力バッファに備えられたバッファ制御部の構成を表わしたブロック図である。
【図５】第１の実施例における第１のコアルータの入力トラヒック量と出力トラヒック量の関係を概念的に表わしたブロック図である。
【図６】第２の実施例における第１のコアルータの構成の概要を表わしたブロック図である。
【図７】第２の実施例における第１の前処理部の構成を表わしたブロック図である。
【図８】第２の実施例における第１の入力バッファの構成を表わしたブロック図である。
【図９】第２の実施例における第１の入力バッファに備えられたバッファ制御部の構成を表わしたブロック図である。
【図１０】第２の実施例におけるスケジューラの構成を表わしたブロック図である。
【図１１】第２の実施例における第１のコアルータの入力トラヒック量と出力トラヒック量の関係を概念的に表わしたブロック図である。
【図１２】従来のコアルータとエッジルータが配置されたネットワークの概要をあらわしたブロック図である。
【図１３】従来のコアルータの入力トラヒック量と出力トラヒック量の関係を概念的に表わしたブロック図である。
【図１４】従来のコアルータの構成を表わしたブロック図である
【符号の説明】
１０１  ＩＰネットワーク
１０２1〜１０２3  第１〜第３のアクセスネットワーク
１０３  コアネットワーク
１０４1〜１０４3  第１〜第３のカスタマ構内機器
１０５1、１０５2  第１、第２のエッジルータ
１０６1、１０６Ａ1  第１のコアルータ
１０６2  第２のコアルータ
１１１1〜１１１N  第１〜第Ｎの入力ポート
１１２1〜１１２N、２０１1〜２０１N  第１〜第Ｎの前処理部
１１３1〜１１３N、２０２1〜２０２N  第１〜第Ｎの入力バッファ
１１４  スイッチ
１１５、２０３  スケジューラ
１１６1〜１１６M  第１〜第Ｍの出力ポート
１１７1〜１１７M  第１〜第Ｍの出力ポート宛キュー
１２０1〜１２０M、２２２11〜２２２XM  ヘッダ検査部
１２１、２２３  バッファ制御部
１２７  制御部
１３２、２１２1〜２１２4  ポリサ
１３３、２１３1〜２１３4  マーカ
２２１11〜２２１XM  第１１〜第ＸＭのキュー
【図１】
0003903840.tif 000002
【図２】
0003903840.tif 000003
【図３】
0003903840.tif 000004
【図４】
0003903840.tif 000005
【図５】
0003903840.tif 000006
【図６】
0003903840.tif 000007
【図７】
0003903840.tif 000008
【図８】
0003903840.tif 000009
【図９】
0003903840.tif 000010
【図１０】
0003903840.tif 000011
【図１１】
0003903840.tif 000012
【図１２】
0003903840.tif 000013
【図１３】
0003903840.tif 000014
【図１４】
0003903840.tif 000015