(57)【要約】【課題】パケットフローの帯域制御と送信優先度制御が可能な可変長パケット交換機および交換方法の提供。【解決手段】パケット交換機の各出力インタフェースに、パケット交換ユニットから渡された送信パケットを所定のアルゴリズムで複数のキューグループに分類し、各キューグループ内では送信優先度別となるようにキューイングする送信優先度制御装置と、上記各キューグループから、該キューグループに割り当てられた帯域を保証しながら、送信優先度に応じて送信パケットを読み出すためのパケット読出し制御装置とを設ける。【選択図】図１
2010141937.tif 000002
【特許請求の範囲】
【請求項１】
可変長パケットを転送するパケット交換機において、
上記可変長パケットを蓄積するバッファメモリと、
上記可変長パケットを、該可変長パケットのヘッダ情報に応じて複数のキューグループに分類し、上記バッファメモリにキューイングするキューイング制御部と、
上記バッファメモリから、上記可変長パケットを読み出すパケット読出し制御部とを有することを特徴とするパケット交換機。
【請求項２】
可変長パケットを転送するパケット交換機において、
上記可変長パケットを蓄積するバッファメモリと、
上記可変長パケットを、該可変長パケットのヘッダ情報に応じて複数のキューグループに分類し、更に、各キューグループ内で複数のキューに分類して、上記バッファメモリにキューイングするキューイング制御部と、
上記バッファメモリから、上記可変長パケットを読み出すパケット読出し制御部と、
上記読み出された可変長パケットを出力ポートに送出するパケット送信部とを備え、
上記パケット読出し制御部が、特定の上記キューグループに分類された可変長パケットを他の上記キューグループに分類された可変長パケットよりも優先して上記バッファメモリから読み出すことを特徴とするパケット交換機。
【請求項３】
請求項２に記載のパケット交換機であって、
前記複数のキューにはそれぞれ送信優先度が割り当てられており、
前記パケット読出し制御部が、上記送信優先度に応じて上記可変長パケットを上記バッファメモリから読み出すことを特徴とするパケット交換機。
【請求項４】
請求項２に記載のパケット交換機であって、
前記複数のキューグループに個別の帯域が割り当てられており、
前記パケット読出し制御部が、上記キューグループ毎に割り当てられた帯域を保証しながら、前記可変長パケットを前記バッファメモリから読み出すことを特徴とするパケット交換機。
【請求項５】
請求項４に記載のパケット交換機であって、
前記複数のキューにはそれぞれ個別の帯域が割り当てられており、
前記パケット読み出し制御部が、前記キューグループ毎に割り当てられた帯域と上記キュー毎に割り当てられた帯域とを保証しながら、前記可変長パケットを前記バッファメモリから読み出すことを特徴とするパケット交換機。
【請求項６】
請求項２に記載のパケット交換機であって、
前記パケット読出し制御部が、前記バッファメモリから読み出すべき前記特定のキューグループに分類された可変長パケットがなくなったら、前記他のキューグループに分類された可変長パケットを前記バッファメモリから読み出すことを特徴とするパケット交換機。
【請求項７】
請求項２に記載のパケット交換機であって、
前記パケット読出し制御部が、前記特定のキューグループに分類された可変長パケットは、特定の帯域を保証しながら読出し、前記他のキューグループに分類された可変長パケットは、前記特定の帯域のうち上記特定のキューグループに分類された可変長パケットが使用しない余剰帯域を用いて読み出すことを特徴とするパケット交換機。
【請求項８】
前記キューイング制御部が、前記可変長パケットのヘッダ情報に基づいて、該可変長パケットが属する通信サービス契約と送信優先度とを特定し、該可変長パケットを上記特定された通信サービス契約に対応したキューグループに分類し、該キューグループ内の上記特定された送信優先度に対応するキューにキューイングすることを特徴とする請求項２〜請求項７の何れかに記載のパケット交換機。
【請求項９】
前記キューイング制御部が、送信元アドレスと宛先アドレスとの組み合わせに対応して前記キューグループの識別子を記憶した第１の管理情報と、通信プロトコルとパケット優先度との組み合わせに対応して送信優先度を記憶した第２の管理情報とを保持し、前記可変長パケットのヘッダに含まれる送信元アドレスと宛先アドレスに基づいて上記第１の管理情報を参照することによって、上記可変長パケットを分類すべきキューグループを特定し、該可変長パケットのヘッダに含まれる通信プロトコル情報とパケット優先度情報に基づいて上記第２の管理情報を参照することによって、上記可変長パケットを分類すべきキューを特定することを特徴とする請求項２〜請求項７の何れかに記載のパケット交換機。
【請求項１０】
前記キューイング制御部が、前記可変長パケットのヘッダに含まれるプロトコル情報に基づいて該可変長パケットを分類すべき前記キューグループを特定することを特徴とする請求項２〜請求項７の何れかに記載のパケット交換機。
【請求項１１】
前記可変長パケットを受信する入力インタフェースと、前記バッファメモリ、前記キューイング制御部、前記パケット読出し制御部および前記パケット送信部を含む出力インタフェースとを少なくとも１つずつ備えた複数の制御ボードを有し、
前記入力インタフェースの何れかで受信した前記可変長パケットを前記出力インタフェースの何れかに転送する中継ユニットが、上記制御ボード間で前記可変長パケットを交換することを特徴とする請求項２〜請求項７の何れかに記載のパケット交換機。
【請求項１２】
前記キューイング制御部が、該パケット交換機の外部からの制御情報で変更可能な所定のアルゴリズムに従って、前記可変長パケットを前記各キューグループに分類することを特徴とする請求項２〜請求項７の何れかに記載のパケット交換機。
【請求項１３】
可変長パケットを転送するパケット交換機におけるパケット交換方法であって、
上記パケット交換機が、バッファメモリと、キューイング制御部と、パケット読出し制御部とを備え、
上記キューイング制御部が、上記可変長パケットを、該可変長パケットのヘッダ情報に応じて複数のキューグループに分類し、上記バッファメモリにキューイングするステップと、
上記パケット読出し制御部が、上記バッファメモリから、上記可変長パケットを読み出すステップとを有することを特徴とするパケット交換方法。
【請求項１４】
可変長パケット転送するパケット交換機におけるパケット交換方法であって、
上記パケット交換機が、バッファメモリと、キューイング制御部と、パケット読出し制御部と、パケット送信部とを備え、
上記キューイング制御部が、上記可変長パケットを、該可変長パケットのヘッダ情報に応じて複数のキューグループに分類し、更に、各キューグループ内で複数のキューに分類して、上記バッファメモリにキューイングするステップと、
上記パケット読出し制御部が、上記バッファメモリから、上記可変長パケットを読み出すステップと、
上記パケット送信部が、上記読み出された可変長パケットを出力ポートに送出するステップとを有し、
上記パケット読出し制御部が上記バッファメモリから上記可変長パケットを読み出すステップでは、特定の上記キューグループに分類された可変長パケットを他の上記キューグループに分類された可変長パケットよりも優先して上記バッファメモリから読み出すことを特徴とするパケット交換方法。
【請求項１５】
前記複数のキューにはそれぞれ送信優先度が割り当てられており、
前記パケット読出し制御部が前記バッファメモリから前記可変長パケットを読み出すステップでは、上記送信優先度に応じて上記可変長パケットを上記バッファメモリから読み出すことを特徴とする請求項１４に記載のパケット交換方法。
【請求項１６】
前記複数のキューグループには個別の帯域が割り当てられており、
前記パケット読出し制御部が前記バッファメモリから前記可変長パケットを読み出すステップでは、上記キューグループ毎に割り当てられた帯域を保証しながら、上記可変長パケットを上記バッファメモリから読み出すことを特徴とする請求項１４に記載のパケット交換方法。
【請求項１７】
前記複数のキューにはそれぞれ個別の帯域が割り当てられており、
前記パケット読み出し制御部が前記バッファメモリから前記可変長パケットを読み出すステップでは、前記キューグループ毎に割り当てられた帯域と上記キュー毎に割り当てられた帯域とを保証しながら、上記可変長パケットを前記バッファメモリから読み出すことを特徴とする請求項１６に記載のパケット交換方法。
【請求項１８】
前記パケット読出し制御部が前記バッファメモリから前記可変長パケットを読み出すステップでは、前記バッファメモリから読み出すべき前記特定のキューグループに分類された可変長パケットがなくなったら、前記他のキューグループに分類された可変長パケットを上記バッファメモリから読み出すことを特徴とする請求項１４に記載のパケット交換方法。
【請求項１９】
前記パケット読出し制御部が前記バッファメモリから前記可変長パケットを読み出すステップでは、前記特定のキューグループに分類された可変長パケットは、特定の帯域を保証しながら読出し、前記他のキューグループに分類された可変長パケットは、上記特定の帯域のうち上記特定のキューグループに分類された可変長パケットが使用しない余剰帯域を用いて読み出すことを特徴とする請求項１４に記載のパケット交換方法。
【請求項２０】
前記キューイング制御部が前記可変長パケットを前記バッファメモリにキューイングするステップでは、前記可変長パケットのヘッダ情報に基づいて、該可変長パケットが属する通信サービス契約と送信優先度とを特定し、該可変長パケットを上記特定された通信サービス契約に対応したキューグループに分類し、該キューグループ内の上記特定された送信優先度に対応するキューにキューイングすることを特徴とする請求項１４〜請求項１９の何れかに記載のパケット交換方法。
【請求項２１】
前記キューイング制御部が、送信元アドレスと宛先アドレスとの組み合わせに対応して前記キューグループの識別子を記憶した第１の管理情報と、通信プロトコルとパケット優先度との組み合わせに対応して前記送信優先度を記憶した第２の管理情報とを保持し、前記キューイング制御部が前記可変長パケットを前記バッファメモリにキューイングするステップでは、前記可変長パケットのヘッダに含まれる送信元アドレスと宛先アドレスに基づいて上記第１の管理情報を参照することによって、上記可変長パケットを分類すべきキューグループを特定し、該可変長パケットのヘッダに含まれる通信プロトコル情報とパケット優先度情報に基づいて上記第２の管理情報を参照することによって、上記可変長パケットを分類すべきキューを特定することを特徴とする請求項１４〜請求項１９の何れかに記載のパケット交換方法。
【請求項２２】
前記キューイング制御部が前記可変長パケットを前記バッファメモリにキューイングするステップでは、前記可変長パケットのヘッダに含まれるプロトコル情報に基づいて、該可変長パケットを分類すべき前記キューグループを特定することを特徴とする請求項１４〜請求項１９の何れかに記載のパケット交換方法。
【請求項２３】
前記パケット交換機が、
前記可変長パケットを受信する入力インタフェースと、前記バッファメモリ、前記キューイング制御部、前記パケット読出し制御部および前記パケット送信部を含む出力インタフェースとを少なくとも１つずつ備えた複数の制御ボードを有し、
前記入力インタフェースの何れかで受信した前記可変長パケットを前記出力インタフェースの何れかに転送する中継ユニットが、上記制御ボード間で前記可変長パケットを交換することを特徴とする請求項１４〜請求項１９の何れかに記載のパケット交換方法。
【請求項２４】
前記キューイング制御部が前記可変長パケットを前記バッファメモリにキューイングするステップでは、該パケット交換機の外部からの制御情報で変更可能な所定のアルゴリズムに従って、前記可変長パケットを前記各キューグループに分類することを特徴とする請求項１４〜請求項１９の何れかに記載のパケット交換方法。
【請求項２５】
バッファメモリを備えたパケット交換機で用いられるパケット処理回路であって、
可変長パケットを、該可変長パケットのヘッダ情報に応じて複数のキューグループに分類し、上記バッファメモリにキューイングし、
上記バッファメモリから、上記可変長パケットを読み出すことを特徴とするパケット処理回路。
【請求項２６】
バッファメモリを備えたパケット交換機で用いられるパケット処理回路であって、
可変長パケットを、該可変長パケットのヘッダ情報に応じて複数のキューグループに分類し、更に、各キューグループ内で複数のキューに分類して、上記バッファメモリにキューイングし、
上記バッファメモリから、上記可変長パケットを読み出すパケット読出し、
上記読み出された可変長パケットを出力ポートに送出し、
更に、特定の上記キューグループに分類された可変長パケットを他の上記キューグループに分類された可変長パケットよりも優先して上記バッファメモリから読み出すことを特徴とするパケット処理回路。
【請求項２７】
請求項２６に記載のパケット処理回路であって、
上記複数のキューにはそれぞれ送信優先度が割り当てられており、
前記バッファメモリから前記可変長パケットを読み出す際に、上記送信優先度に応じて上記可変長パケットを上記バッファメモリから読み出すことを特徴とするパケット処理回路。
【請求項２８】
請求項２６に記載のパケット処理回路であって、
前記複数のキューグループには個別の帯域が割り当てられており、
前記バッファメモリから前記可変長パケットを読み出す際には、上記キューグループ毎に割り当てられた帯域を保証しながら、上記可変長パケットを上記バッファメモリから読み出すことを特徴とするパケット処理回路。
【請求項２９】
請求項２８に記載のパケット処理回路であって、
前記複数のキューにはそれぞれ個別の帯域が割り当てられており、
前記バッファメモリから前記可変長パケットを読み出す際には、上記キューグループ毎に割り当てられた帯域と上記キュー毎に割り当てられた帯域とを保証しながら、上記可変長パケットを上記バッファメモリから読み出すことを特徴とするパケット処理回路。
【請求項３０】
請求項２６に記載のパケット処理回路であって、
前記バッファメモリから前記可変長パケットを読み出す際には、上記バッファメモリから読み出すべき前記特定のキューグループに分類された可変長パケットがなくなったら、前記他のキューグループに分類された可変長パケットを上記バッファメモリから読み出すことを特徴とするパケット処理回路。
【請求項３１】
請求項２６に記載のパケット処理回路であって、
前記バッファメモリから前記可変長パケットを読み出す際には、前記特定のキューグループに分類された可変長パケットは、特定の帯域を保証しながら読出し、前記他のキューグループに分類された可変長パケットは、上記特定の帯域のうち上記特定のキューグループに分類された可変長パケットが使用しない余剰帯域を用いて読み出すことを特徴とするパケット処理回路。
【請求項３２】
前記バッファメモリに前記可変長パケットをキューイングする際には、前記可変長パケットのヘッダ情報に基づいて、該可変長パケットが属する通信サービス契約と送信優先度とを特定し、該可変長パケットを上記特定された通信サービス契約に対応したキューグループに分類し、該キューグループ内の上記特定された送信優先度に対応するキューにキューイングすることを特徴とする請求項２６〜請求項３１の何れかに記載のパケット処理回路。
【請求項３３】
更に、送信元アドレスと宛先アドレスとの組み合わせに対応して前記キューグループの識別子を記憶した第１の管理情報と、通信プロトコルとパケット優先度との組み合わせに対応して前記送信優先度を記憶した第２の管理情報とを保持し、前記バッファメモリに前記可変長パケットをキューイングする際には、前記可変長パケットのヘッダに含まれる送信元アドレスと宛先アドレスに基づいて上記第１の管理情報を参照することによって、上記可変長パケットを分類すべきキューグループを特定し、該可変長パケットのヘッダに含まれる通信プロトコル情報とパケット優先度情報に基づいて上記第２の管理情報を参照することによって、上記可変長パケットを分類すべきキューを特定することを特徴とする請求項２６〜請求項３１の何れかに記載のパケット処理回路。
【請求項３４】
前記バッファメモリに前記可変長パケットをキューイングする際には、前記可変長パケットのヘッダに含まれるプロトコル情報に基づいて、該可変長パケットを分類すべき前記キューグループを特定することを特徴とする請求項２６〜請求項３１の何れかに記載のパケット処理回路。
【請求項３５】
前記パケット交換機が、
前記可変長パケットを受信する入力インタフェースと、前記バッファメモリを備えた出力インタフェースとを少なくとも１つずつ備えた複数の制御ボードを有し、
前記入力インタフェースの何れかで受信した前記可変長パケットを前記出力インタフェースの何れかに転送する中継ユニットが、上記制御ボード間で前記可変長パケットを交換することを特徴とする請求項２６〜請求項３１の何れかに記載のパケット処理回路。
【請求項３６】
前記バッファメモリに前記可変長パケットをキューイングする際には、該パケット交換機の外部からの制御情報で変更可能な所定のアルゴリズムに従って、前記可変長パケットを前記各キューグループに分類することを特徴とする請求項２６〜請求項３１の何れかに記載のパケット処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット交換機およびパケット交換方法に関し、特に、パケットをそれぞれの優先度に応じて送信制御するための可変長パケット交換機および交換方法に関する。更に詳しく言うと、本発明は、上記可変長パケットを帯域制御して出力回線に送出可能な特にインターネットやイントラネットに適した可変長パケット交換機および交換方法に関する。
【背景技術】
【０００２】
パケット通信は、送信データを分割して得られた適当な長さ、例えば、４８バイト〜１．５Ｋバイトのデータブロックと所定フォーマットのヘッダとからなるパケットを単位として、データを送受信する通信方法である。また、パケット交換機は、交換機内に通信データを一時的に蓄積してから交換処理する所謂蓄積交換方式となっているため、交換機を通過するパケットに対して多様な制御が可能である。
【０００３】
最近急速に普及しているインターネットでは、データがＩＰ(Internet Protocol)ヘッダをもつ可変長パケットとして送受信されるため、ネットワーク間を接続するためのノード装置にパケット交換技術が必須となる。実際にパケット交換機と言う名称は使われていなくても、ルータなどのネットワーク間接続装置（ノード装置）は、上述したパケット交換機能を備えている。このような理由から、本発明では、ルータなどの固有の名称で呼ばれるノード装置を含めて、パケット交換機能を備えるネットワーク装置をパケット交換機と言う。
【０００４】
このようなパケット交換に関する技術として、特開平７−１３５５１２号公報（特許文献１）に記載のルータ装置がある。上記従来技術では、受信パケットの優先度に応じた転送制御機能と、バッファ輻輳時に必要となるパケット廃棄制御機能とを備えたルータの提供を目的としており、パケット受信ユニットで受信されたパケットが、優先度制御ユニットによって、各パケットの優先度と廃棄許容度とに応じてバッファメモリにキューイングされた後、優先度の高い順にパケット送信ユニットに送出される。上記優先制御ユニットは、受信パケットのヘッダに含まれる優先度情報とプロトコル情報に基いてマッピングテーブルを参照することによって、上記マッピングテーブルから、各受信パケットと対応した処理優先度と廃棄許容度とを求め、各受信パケットを優先度毎に廃棄許容度別に用意されたキューに蓄積する。
【０００５】
パケットの送信は、優先度の高いキューから順に実行され、バッファメモリの空きエリアの容量が所定の閾値以下になった時、輻輳を回避するために蓄積パケットの廃棄制御が実行される。また、蓄積パケットの廃棄制御は、廃棄許容度の高いパケットについて、優先度の低いキューから順に、バッファメモリの空きエリア容量が目的の閾値に達する迄、蓄積パケットが廃棄される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１３５５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記従来技術では、パケットのキューイングのために参照されるマッピングテーブルは１種類であり、受信パケットのヘッダに含まれる優先度情報とプロトコル情報とに対応して、パケットの送信優先度と廃棄許容度とを定義したものであった。このため、上記従来技術は、インターネットの様な複数のネットワーク間を接続するノード装置において、パケットフロー毎の帯域制御や、例えば、パケットの送信元ネットワークまたは宛先ネットワークによって異なるパケット交換サービスを提供することは困難である。
【０００８】
本発明の目的は、パケットフローの帯域制御が可能な可変長パケット交換機およびパケット交換方法を提供することにある。
本発明の他の目的は、パケットフローに事前の通信サービス契約によって約束された帯域を保証可能な可変長パケット交換機およびパケット交換方法を提供することにある。
本発明の更に他の目的は、パケットフロー毎に帯域制御と優先度制御が可能な可変長パケット交換機およびパケット交換方法を提供することにある。
本発明の更に他の目的は、可変長パケットの通信プロトコルに応じた帯域制御と優先度制御が可能なパケット交換機およびパケット交換処理を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のパケット交換機は、複数の入力ポートインタフェースと、複数の出力ポートインタフェースと、上記各入力ポートインタフェースから受信した可変長パケットを該パケットの宛先アドレスと対応する上記出力ポートインタフェースのうちの１つに交換するためのパケット交換ユニットとからなり、上記各出力ポートインタフェースが、送信パケットを蓄積するためのバッファメモリと、上記パケット交換ユニットから渡された送信パケットを所定のアルゴリズムで分類し、それぞれ個別の帯域を割り当てられた複数のキューグループの中の１つに送信優先度別にキューイングするように構成された送信優先度制御装置と、上記バッファメモリのキューグループを循環的にアクセスし、各キューグループに割り当てられた帯域を保証しながら、各キューグループから送信優先度に応じて送信パケットを読み出すための送信パケット読出し制御装置と、上記送信パケット読出し制御装置によって読み出された送信パケットを上記出力ポートインタフェースに付随する出力ポートに送出するためのパケット送信回路とからなる。
【００１０】
本発明の１実施例によれば、上記送信優先度制御装置が、例えば、上記パケット交換ユニットから渡された送信パケットのヘッダ情報に基いて、該送信パケットが関係する通信サービス契約と送信優先度とを特定するための手段を有し、上記送信パケットを、上記特定された通信サービス契約と対応したキューグループ内の上記特定された送信優先度と対応するキューにキューイングする。
【００１１】
更に詳述すると、上記送信優先度制御装置は、例えば、送信元ネットワークアドレスと宛先ネットワークアドレスとの組み合わせに対応してキューグループの識別子を定義した第１の管理テーブルと、通信プロトコルとパケット優先度との組み合わせに対応して送信優先度を定義した第２の管理テーブルとを有し、各送信パケットのヘッダに含まれる送信元ネットワークアドレスと宛先ネットワークアドレスに基いて上記第１の管理テーブルを参照することによって、上記送信パケットと対応したキューグループを特定し、各送信パケットのヘッダに含まれる通信プロトコル情報とパケット優先度情報に基いて上記第２の管理テーブルを参照することによって、上記送信パケットと対応した送信優先度を特定する。
【００１２】
本発明の他の実施例によれば、上記送信優先度制御装置は、送信パケットのヘッダに含まれるプロトコル情報に基いて、該送信パケットと対応するキューグループを特定し、上記送信パケットを上記特定されたキューグループ内の何れかのキューにキューイングする。この場合、例えば、ＯＳＩ参照モデルのネットワーク層のプロトコルがＩＰのパケットが交換対象となり、ＯＳＩ参照モデルのトランスポート層のプロトコルの種類、例えば、ＴＣＰ(Transmission Control Protocol)、ＵＤＰ(User Datagram Protocol)、ＩＣＭＰ(Internet Control Message Protocol)、またはＩＧＭＰ(Internet Group Management Protocol)に応じて、送信パケットが複数のキューグループに分類される。
【００１３】
各キューグループ毎の帯域を保証するため、本発明による送信パケット読出し制御装置は、例えば、上記複数のキューグループからパケットを読み出すべきキューグループを循環的に指定し、指定されたキューグループに帯域に応じたパケット読出し時間を割り当て、送信パケットを送信優先度に従って読み出す。
【００１４】
本発明の１実施例によれば、上記送信パケット読出し制御装置は、各キューグループと対応して、帯域に比例した閾値を定義した管理テーブルと、上記複数のキューグループを循環的にアクセスし、各キューグループから、読み出されたパケットのパケット長トータルが上記管理テーブルで示された閾値以上になるまで連続的に送信パケットを読み出し、上記閾値を超えて読み出されたパケットの長さを次回の読出しサイクルにおけるパケット長トータルのカウンタ初期値として記憶するための制御手段とを有する。
【００１５】
上記制御手段は、例えば、各キューグループから送信パケットを読み出す前に、該キューグループと付随する前記パケット長トータルカウントのための初期値をチェックし、上記初期値がそれに付随する閾値を超えている場合は、該初期値から上記閾値を減算し、上記キューグループからパケットを読み出すことなく、パケット読出し対象を次のキューグループに切り替える。これによって、長期的に見れば帯域制御された状態で、可変長送信パケットを出力ポートに読み出すことができる。
上述した送信優先度制御装置が備える送信パケットを分類するためのアルゴリズムと、送信パケット読出し制御装置がもつ帯域制御機能は、例えば、ネットワーク管理端末から与えられる外部制御指令に応じて適宜変更できる。
【００１６】
本発明のパケット交換機の他の特徴は、前記各入力ポートインタフェースが、受信パケットを一時的に蓄積するための受信バッファメモリと、入力ポートから受信したパケットをそれぞれの宛先アドレスに基いてフィルタリングし、フィルタリングされた受信パケットを所定のアルゴリズムで優先度別に分類し、上記受信バッファメモリに優先度別にキューイングするように構成された中継優先度制御装置と、上記受信バッファメモリに蓄積された受信パケットを優先度に従って読み出し、上記パケット交換ユニットに供給するための受信パケット読出し回路とからなることにある。このように、入力ポートインタフェースと出力ポートインタフェースの双方で、優先度に応じたパケット転送を行うことによって、パケット交換機内での優先パケットの遅延時間を一層短縮できる。
【００１７】
本発明による可変長パケットの交換方法は、（ａ）入力ポートから入力された受信パケットを該パケットの宛先アドレスに基いてフィルタリングするステップと、（ｂ）フィルタリングされた受信パケットを、パケットヘッダに含まれる宛先アドレスに応じて決まる複数の出力インタフェースのうちの１つに送信パケットとして転送するステップと、（ｃ）送信パケットを所定のアルゴリズムで分類し、それぞれ個別の帯域を割り当てられた複数のキューグループの中の１つに、送信優先度別にキューイングするステップと、（ｄ）上記複数のキューグループを循環的にアクセスし、各キューグループに割り当てられた帯域を保証しながら、各キューグループから送信優先度に応じて送信パケットを読み出すステップと、（ｅ）上記読み出された送信パケットを出力ポートに送出するステップとを含むことを特徴とする。
【００１８】
更に詳述すると、上記受信パケットの転送ステップ（ｂ)は、望ましくは、受信パケットを受信バッファに優先度別にキューイングするステップと、上記受信バッファに蓄積された受信パケットを優先度に従って読み出し、前記複数の出力インタフェースのうちの１つに、送信パケットとして転送するステップとを含む。
上記送信パケットのキューイングステップ（ｃ）では、例えば、送信パケットを各送信パケットが関係する通信サービス契約毎に分類し、契約と対応したキューグループに送信優先度別に各送信パケットをキューイングする。これに代えて、上記送信パケットのキューイングステップ（ｃ）で、送信パケットを各送信パケットが関係する通信プロトコルに従って分類し、プロトコルと対応したキューグループに送信優先度別に各送信パケットをキューイングするようにしてもよい。
【発明の効果】
【００１９】
本発明によれば、インターネットのように共用回線を利用して複数のネットワークが接続される通信ネットワークにおいて、ノード装置（パケット交換機）に接続されるネットワーク毎にパケットの送信優先度を変えたパケット交換が可能となる。また、本発明によれば、通信サービス契約に従って各ユーザに通信帯域を保証し、必要に応じて、通信プロトコルによっても送信優先度を変更可能なパケット交換機およびパケット交換方法が提供される。
【図面の簡単な説明】
【００２０】
【図１】本発明によるパケット交換機の１実施例を示すブロック図である。
【図２】本発明のパケット交換機が適用されるネットワークの構成図である。
【図３】上記パケット交換が処理するパケットのフォーマットを示す図である。
【図４】プロトコルとパケット優先度とに対応して送信優先度を定義するためのマッピングテーブル４０の１例を示す図である。
【図５】パケットの送信元と宛先とに応じてキューグループを定義するためのマッピングテーブル５０の１例を示す図である。
【図６】バッファエリア８３−ｉに形成される送信優先度別のキュー配置を説明するための図である。
【図７】図１におけるパケット読出し回路８１が備える管理テーブルの１例を示す図である。
【図８】上記パケット読出し回路８１の機能を示すフローチャートである。
【図９】上記パケット読出し回路８１のよるパケットの読出し順序を説明するための図である。
【図１０】図１におけるパケット読出し回路８２−１の他の実施例を示すブロック図である。
【発明を実施するための形態】
【００２１】
先ず、図１を参照して、本発明によるパケット交換機の構成と動作の概要について説明する。
パケット交換機１は、各入出力ポート毎に用意された複数の制御ボード１０（１０―１〜１０―Ｌ）と、これらの制御ボード１０の間でパケットを中継するパケット中継ユニット（パケット交換ユニット）と、上記各制御ボード１０に接続された管理ユニット９からなる。各制御ボード１０は、入力ポートインタフェース２０と、出力ポートインタフェース２１とからなる。
【００２２】
上記入力ポートインタフェース２０は、ネットワーク上を流れるパケットを入力ポートＩＮから受信するためのパケット受信ユニット２と、上記パケット受信ユニット２から受信したパケットを優先度に応じて受信バッファメモリ７２に蓄積するための中継優先度制御ユニット３と、上記受信バッファメモリ７２に蓄積されたパケットを優先度に従って上記パケット中継ユニット４に転送するための受信パケットキューイングユニット７とを含む。
【００２３】
また、上記出力ポートインタフェース２１は、中継ユニット４から受信したパケットを、送信バッファ８３（８３−１〜８３−ｊ）に形成された複数のキューグループのうちの１つに選択的に蓄積するための送信優先度制御ユニット５と、上記送信バッファ８３に蓄積されたパケットを各キューグループ毎に割り当てられた帯域を保証しながら送信優先度に従って読み出すための送信パケットキューイングユニット８と、上記送信パケットキューイングユニット８で読み出された送信パケットをネットワークに接続された出力ポートＯＵＴに送出するためのパケット送信ユニット６とを含む。
【００２４】
上記中継優先度制御ユニット３は、各受信パケットのパケットヘッダに含まれる宛先アドレスに基いてルーティングテーブルを参照し、上記受信パケットの他のネットワークへの中継の要否を判断するフィルタリング機能を備えている。他のネットワークへ中継すべき受信パケットについては、例えば、出力ポート識別子を付加した上で、上記受信バッファメモリ７２に優先度別にキューイングする。すなわち、中継優先度制御ユニット３は、各パケットヘッダに含まれる管理情報（パケット優先度情報やプロトコル情報、ネットワークアドレス等であり、詳細は後に、図３を参照して説明する）に基いて中継優先度を決定し、受信バッファメモリ７２に中継優先度別に形成される複数のパケットキューＱ１〜Ｑｎの内、上記決定された中継優先度と対応したキューＱｉに受信パケットを蓄積する。
【００２５】
受信パケットキューイングユニット７では、パケット読出し回路７１によって、上記受信パッファ７１内の優先度の高いキューから順にパケットを読み出し、パケット中継ユニット４へ出力する。上記中継ユニット４は、例えば、バスあるいはクロスバースイッチによって構成され、各制御ボード１０の受信パケットキューイングユニット７から受け取ったパケットを、上記パケットに付された出力ポート識別子で特定される他の何れかの制御ボードに交換する。
送信優先度制御ユニット５は、上記中継ユニット４から受信したパケットを送信バッファ８３（８３−１〜８３−ｊ）に送信パケットとして蓄積する。
本発明の特徴の１つは、上記送信優先度制御ユニット５が、送信パケットをヘッダ情報に基いて複数のグループに分類し、各グループ毎に送信優先度に応じてキューにイングすることによって、上記送信バッファ８３に多次元キュー配列構造を形成したことにある。              
図示された実施例では、送信バッファ８３が、それぞれ複数のキュー（Ｑ１０〜Ｑ１ｎ）… （Ｑｊ０〜Ｑｊｎ）を含む複数のバッファエリアに分割され、合計ｊ個のキューグループ８３−１〜８３−ｊが形成されている。送信優先度制御ユニット５は、後述するように、各パケットヘッダに含まれる制御情報（例えば、パケット優先度情報やプロトコル情報、ネットワークアドレス等であり、その詳細については図３を参照して後述する）に基いて、図４、図５を参照して後述するマッピングテーブル４０および５０を参照することにより、各送信パケットの送信優先度とキューグループとを決定する。上記各キューグループは、後述するように、それぞれ個別の帯域が割り当てられており、送信パケットは、何れかのキューグループの送信優先度に対応したキューＱｉｋに蓄積される。
【００２６】
送信パケットキューイングユニット８は、各キューグループ（バッファエリア８３−ｉ）から、送信優先度に従ってパケットを読み出すための初段の読出し回路８２（８２−１〜８２−ｊ）と、これらの初段の読出し回路で読み出されたパケットを上記キューグループに割り当てられた帯域に従って送信ユニット６に出力するための次段の読出し回路８１とを備える。
上記パケット送信ユニット６は、上記読出し回路８１から受け取った送信パケットを出力ポートＯＵＴに送信する。尚、中継優先度制御ユニット３が各受信パケットに付した出力ポート識別子は、上記送信優先度制御ユニット５または上記パケット送信ユニット６によって除去される。
【００２７】
上記送信優先度制御ユニット５が行う送信パケットのグルーピングは、具体的には、回線提供者とネットワークの利用者との間で事前に交わされる通信サービス契約を単位として行われる。上記読出し回路８１は、各契約で約束された通信サービスレベルに適合するように、上記各キューグループから次々と送信パケットを読み出す。
ここで言う通信サービス契約とは、利用者が、ネットワークの回線提供者（あるいはインターネットの通信プロバイダ）との間で交わす帯域保証契約を指し、具体的には、ある会社、事業所あるいは官公庁などが当事者となって回線提供者と交わす個々の契約を指す。この契約によって、当事者毎に、通信品質（例えば、パケットの遅延時間、遅延のばらつき、パケット廃棄率など）や割り当て帯域などの通信サービスレベルが約束される。ネットワークの回線提供者にとっては、ネットワーク上の各パケットフローについて、それぞれが関係する契約内容に応じた通信サービスレベルを保証する責任がある。
【００２８】
ネットワークの管理者は、例えば、図２に符号１６Ｃｎで示す管理端末ＰＴから指令することによって、管理ユニット９を介して、上記送信優先度制御ユニット５におけるパケット・キューイングのアルゴリズや、上記読出し回路８１、８２におけるパケット読出しアルゴリズムを変更することができる。
上記送信優先度制御ユニット５で行われるパケット・キューイングのアルゴリズは、上記マッピングテーブル４０および５０の内容を書き替えることにより、また、上記読出し回路８１におけるパケット読出しアルゴリズムは、後述する管理テーブル６０を書き替えることによって変更できる。
【００２９】
次に、図２を参照して、本発明のパケット交換機が適用されるネットワークの構成とその利用形態について説明する。
図２に示したネットワークは、サブネットワーク１５Ａｎ、１５Ｂｎ、１５Ａｍ、１５Ｂｍと、これらのサブネットワークを相互接続するバックボーン・ネットワーク１５Ｃｎからなる。上記サブネットワーク１５Ａｎ〜１５Ｂｍには、それぞれパケット通信端末１６Ａｎ、１６Ｂｎ、１６Ａｍ、１６Ｂｍが接続されている。
【００３０】
また、上記各サブネットワーク１５Ａｎ〜１５Ｂｍは、それぞれパケット交換機１Ａｎ、１Ｂｎ、１Ａｍ、１Ｂｍを備えており、パケット交換機１Ａｎと１Ｂｎは、回線１４Ａｎと１４Ｂｎで、それぞれネットワーク内１５Ｃｎのパケット交換機１Ｃｎと接続され、パケット交換機１Ａｍと１Ｂｍは、回線１４Ａｍと１４Ｂｍで、それぞれネットワーク内１５Ｃｎのパケット交換機１Ｃｍと接続されている。上記バックボーン・ネットワーク１５Ｃｎ内では、パケット交換機１Ｂｍと１Ｃｍが回線１４Ｃによって接続されている。
【００３１】
図１に示した本発明のパケット交換機１は、上記バックボーン・ネットワークのパケット交換機１Ｃｎと１Ｃｍとして適用される。１６Ｃｎは、ネットワーク１５Ｃｎの管理者が操作する管理端末であり、この管理端末から指令することによって、パケット交換機１Ｃｎと１Ｃｍが保持する制御情報、すなわちテーブル４０、５０、６０の内容を書き変えることができる。
【００３２】
一般に、パケット通信は、多重通信が可能であり、一本の回線がもつ単位時間あたりの通信量を示す帯域を複数の通信当事者に分割して割り当てることができる。図２に示したネットワークでは、バックボーン・ネットワークの回線１４Ｃが、サブネットワーク１５Ａｎと１５Ａｍとの間で行われる通信と、サブネットワーク１５Ｂｎと１５Ｂｍとの間で行われる通信とに共用されている。パケット通信は、このように１つの回線を複数の通信に共用し、実際に通信が必要なときにのみ各通信に帯域を割り当てることによって、統計多重効果による回線の効率的利用を可能とする。
【００３３】
ここで、サブネットワーク１５Ａｎと１５Ａｍとの間の通信が契約Ａの下で、また、サブネットワーク１５Ｂｎと１５Ｂｍとの通信が契約Ｂの下で行われ、バックボーン・ネットワーク１５Ｃを所有するネットワーク事業者が、回線１４Ｃ上のパケットフローを上記契約ＡとＢで約束されたサービスレベルでパケット交換サービスするものと仮定する。ここに示した例は、上記サブネットワーク１５Ａｎと１５Ａｍは、例えば、会社Ａの本社と支社であり、同様に、サブネットワーク１５Ｂｎと１５Ｂｍは会社Ｂの本社と支社であり、それぞれの会社が、インターネットの通信プロバイダＣと契約してイントラネット通信する場合に相当する。
【００３４】
本発明のパケット交換機は、上記回線１４Ｃを共用する複数の契約当事者に対して、次の２つ利用形態を提供する。
第１の利用形態は、帯域分配制御によって、回線１４Ｃがもつ帯域を、契約Ａ、契約Ｂに対して公平に、または、それぞれの契約内容に応じた重みを付けて分配するものである。同一の契約に付随して複数のパケットフローが存在する場合は、それぞれのパケットフローに公平に、または、各パケットフローに付随するプロトコルやパケット優先度に応じてパケット交換する。
【００３５】
第２の利用形態は、完全優先制御によって、１つの契約、例えば契約Ａに付随するパケットフローに、回線１４Ｃの全帯域を独占的に使用するのを許容するものである。この場合、契約Ａ以外の他の契約に付随したパケットフローについては、保証帯域をゼロとしておき、契約Ａのユーザが残した余剰帯域を使ってパケット交換する。この第２の利用形態によれば、契約Ｂのユーザは、通信品質を保証されない代わりに、契約Ａの余剰帯域を使うことによって、低コストで通信できる。尚、同一の契約に付随して複数のパケットフローが存在する場合は、第１の利用形態と同様、それぞれのパケットフローに公平に、または、各パケットフローに付随したプロトコルやパケット優先度に応じて、パケット交換する。
従来のパケット交換機では、ＩＰパケットのような可変長パケットに関して、上述した契約単位で通信サービスを保証する機能、および、同一契約に属した複数のパケットフローについて優先度に応じた送信制御する機能を備えたものはない。
【００３６】
図３は、本発明のパケット交換機が扱うパケットのフォーマットを示す。
パケット３０は、ヘッダ部３１とデータ部３２とからなり、ヘッダ部３１には、パケット優先度情報３３、サービス要求３４、プロトコル情報３５、送信元アドレス３６、宛先アドレス３７を含む。
【００３７】
上記パケット優先度情報３３は、そのパケットの処理優先度を示し、サービス要求３４は、そのパケットが要求するサービスに関する情報、例えば、信頼性や高速性に関する要求を示す。これらの項目は、インターネットにおけるＩＰパケットで言えば、ＩＰヘッダに規定されているＴＯＳ（Type of service）フィールドの優先度（０〜２ビット目）、低遅延要求（３ビット目）、高スループット要求（４ビット目）、高信頼性情報（５ビット目）に該当する。
【００３８】
プロトコル情報３５は、そのパケットに適用されている通信プロトコルのタイプ、換言すれば、そのパケットの種類を示す。パケット３０がＩＰパケットの場合、プロトコル情報３５は、ヘッダ部３１の後に続くトランスポート層ヘッダ３９の種類を特定しており、良く使われるプロトコルとしては、例えば、ＴＣＰ(Transmission Control Protocol)、ＵＤＰ(User Datagram Protocol)、ＩＣＭＰ(Internet Control Message Protocol）、ＩＧＭＰ(Internet Group Management Protocol）がある。
【００３９】
送信元アドレス３６は、そのパケットの送信元のアドレス、宛先アドレス３７は、そのパケットの宛先のアドレスである。これらのアドレスは、ＩＰアドレスで言えば、それぞれ、送信元ＩＰアドレス（ＳＡ:Source IP Address）と、宛先ＩＰアドレス（ＤＡ:Destination IP Address）が該当する。
ＩＰアドレスは、ＩＰネットワークアドレスとＩＰホストアドレスからなり、ＩＰネットワークアドレスは、送信元端末または宛先端末が接続されているサブネットワークを、また、ホストアドレスは、上記送信元端末または宛先端末を識別するためのものである。上述した通信サービス契約は、送信元ＩＰネットワークアドレスと宛先ＩＰネットワークアドレスとの組み合わせによって識別できる。
【００４０】
次に、送信優先度制御ユニット５が送信パケットの分類のために参照するマッピングテーブル４０と５０について説明する。
図４は、各契約の元で送信される複数のパケットフロー間での送信優先度を決定するために参照されるマッピングテーブル４０の１例を示す。
上記マッピングテーブル４０は、例えば、パケットヘッダ３１に含まれるプロトコル３５を列情報４１、パケットヘッダ３１に含まれる優先度情報３３を行情報４２とする二次元のマトリックスに、優先度情報３３とプロトコル３５との組み合わせに対応して、送信優先度を示す値を割り振った構成となっている。上記マッピングテーブル４０で定義された送信優先度の値（０〜７）は、図１に示した送信バッファエリア８３―ｉ内に形成されたキューＱｉｋの第２インデクスｋの値を示す。
【００４１】
尚、プロトコル３５の種類は、例えば、ＯＳＩ参照モデルのトランスポート層プロトコルであるＴＣＰとＵＤＰとで区別しても良いし、これより上位の層で区別してもよい。例えば、ＴＣＰの場合、ポート番号に従って、ＨＴＴＰ(Hyper Text Transfer Protocol)、ＦＴＰ(File Transfer Protocol)、ＴＥＬＮＥＴ(Terminal Connection）、ＳＭＴＰ(Simple Mail Transfer Protocol)などで区別できる。
【００４２】
一般に、ＴＣＰなどの対話型またはコネクション型のプロトコルでは、送信端末が、宛先端末から応答確認（ＡＣＫ）パケットを受け取った後に、次のパケットを送信するようになっている。逆に、ＵＤＰなどのバッチ型あるいはコネクションレス型のプロトコルでは、宛先装置から応答確認パケットを待つことなく、送信元端末が次々とパケットを送信する。従って、上記マッピングテーブル４０において、対話型プロトコルのパケットフローに高い優先度を与え、バッチ型プロトコルのパケットフローに低い優先度を与えるようにすれば、パケット交換機１におけるトータルのスループットを向上できる。
【００４３】
図５は、各送信パケットに付随する契約を識別し、図１に示したキューグループ８３−１〜８３−ｊの中から、各契約に対応したキューグループを特定するために参照されるマッピングテーブル５０の構成を示す。
マッピングテーブル５０は、パケットヘッダ３１の宛先アドレス３６に含まれる送信元ネットワークアドレスを列情報５１とし、宛先アドレス３７に含まれるべき宛先ネットワークアドレスを行情報５２とする二次元マトリックスにおいて、送信元ネットワークアドレスと宛先ネットワークアドレスとの特定の組み合わせと対応して、キューグループの識別番号（契約識別子）割り振った構成となっている。
【００４４】
本発明において、送信パケットを契約別のキューグループにバッファリングする理由は、送信パケットフローがそれぞれ契約で約束された帯域をもつように、送信バッファ８３からのパケットの読み出しを制御するためである。
図５の実施例では、送信元ネットワークアドレスと宛先ネットワークアドレスとの組み合わせによって契約を特定し、各契約と対応するキューグループの識別番号を上記マッピングテーブル５０で定義している。図では、参考のために、各契約で約束された帯域が括弧内に示してある。
【００４５】
上記キューグループ識別番号は、送信バッファエリア８３―ｉ内に形成されたキューＱｉｋの第１インデクスｉの値となる。図示された例では、サブネットワークＡｍに接続された端末とサブネットワークＡｎに接続された端末との間の通信は、帯域ＢＷ１が割り当てられた契約Ａの下で行われ、この契約Ａに付随するパケットは、キューグループ８３−１にキューイングされることが判る。特定の契約に該当しない送信元ネットワークと宛先ネットワークの組み合わせには、記号“―”で示すヌル値が設定してあり、これらの組み合わせに該当するアドレス情報をもったパケットは、送信優先度制御ユニット５で廃棄される。このように、契約されていないネットワーク間の通信パケットを廃棄することは、セキュリティ上のメリットがある。
【００４６】
送信優先度制御ユニット５は、上記２種類のマッピングテーブル４０、５０を参照して、送信パケットを送信バッファ８３にキューイングする。この結果、送信バッファ８３には、図１に示したように、マッピングテーブル５０で示される識別番号をもつ複数のキューグループ８３−１〜８３−ｊが形成され、各キューグループ内には、図６に示すように、マッピングテーブル４０が示す送信優先度と対応した複数のキューが形成される。              
上記キューグループ８３−１〜８３−ｊに蓄積された送信パケットは、パケット読出し回路８２−１〜８２−ｊによって、各キューグループ内での優先度に従って読み出され、上記パケット読出し回路８２−１〜８２−ｊによって読み出された送信パケットは、パケット読出し回路８１によって、各キューグループの契約帯域を保証して、パケット送信ユニット６に送出される。
【００４７】
上記パケット読出し回路８１の動作を図７と図８を参照して説明する。
図７は、上記パケット読出し回路８１が帯域制御のために参照する管理テーブル６０の構成を示す。
上記管理テーブル６０は、キューグループ８３−１〜８３−ｊと対応する複数のレコードからなり、各レコードは、キューグループの識別番号６１と、各キューグループに割り当てられた帯域６２と、各キューグループから読み出された送信データの長さをカウントするためのカウンタエリア６３とからなっている。
【００４８】
図８は、上記パケット読出し回路８１が実行する制御フローチャートの１実施例を示す。
上記パケット読出し回路８１は、上記管理テーブル６０のカウンタエリア６３のカウント値とパラメータｐの値をゼロに初期化（ステップ１０２、１０４）した後、パラメータｐの値をインクリメントする（ステップ１０６）。次に、上記管理テーブル６０の第ｐ番目のレコードにおけるカウンタ６３の値ＣＮＴ(ｐ)と帯域６２の値ＢＷ(ｐ)とを比較する。もし、ＣＮＴ(ｐ)の値がＢＷ(ｐ)の値以上であれば、ＣＮＴ(ｐ)の値からＢＷ(ｐ)の値を減算し（ステップ１２０）、パラメータｐと最大値ｊとを比較する（ステップ１２４）。パラメータｐが最大値ｊより小さければ、ステップ１０６に戻り、そうでない場合は、パラメータｐの値を初期値ゼロにして、ステップ１０６に戻る。
【００４９】
上記ステップ１０８で、ＣＮＴ(ｐ)の値がＢＷ(ｐ)の値より小さい場合、出力バッファ８３の第ｐ番目のキューグループＱＧ(ｐ)から１つの出力パケットを読み出し、パケット送信ユニット６に送出する（ステップ１１０）。
もし、上記キューグループＱＧ(ｐ)で、読み出すべき出力パケットがなかった場合（ステップ１１２）、カウンタＣＮＴ(ｐ)の値を初期値ゼロに設定（ステップ１２２）した後、ステップ１２４を実行する。上記キューグループＱＧ(ｐ)から出力パケットを読み出した場合、カウンタＣＮＴ(ｐ)に上記出力パケットのパケット長を加算〈ステップ１１４〉した後、ステップ１０８に戻る。
【００５０】
図９は、上記読出し制御によって読み出される出力パケットのシーケンスを模式的に示した図である。ここでは、簡単化のために、それぞれ帯域ＢＷ(１)、ＢＷ(２)、ＢＷ(３)を割り当てられた３つのキューグループＱＧ(１)、 ＱＧ(２)、ＱＧ(３)を読出し対象とする。また、上記帯域の比率は、ＢＷ(１)：ＢＷ(２)：ＢＷ(３)＝３：２：１と仮定する。
【００５１】
上記図８に示した制御フローチャートによれば、パラメータｐを変化させることによって、各キューグループに循環的にパケットの読出しサイクルが与えられる。また、各キューグループからは、読み出されたパケット長の合計が管理テーブル６０に登録された契約帯域ＢＷ(ｐ)を超えるまで、連続的にパケットが読み出され、読み出されたパケット長の合計が契約帯域ＢＷ(ｐ)を超えると、カウンタＣＮＴ(ｐ)の値から契約帯域ＢＷ(ｐ)の値を減算した後、次のキューグループにパケット読出しサイクルが移るようになっている。
【００５２】
従って、図９に示すように、最初のキューグループＱＧ(１)から一連のパケットＰ１、Ｐ２、Ｐ３が読み出された時点で、読出しサイクルが２番目のキューグループＱＧ(２)に移る。この時、キューグループＱＧ(１)のカウンタＣＮＴ(１)の値は、破線で示したパケットＰ３の残り部分の長さに相当する。
上記２番目のキューグループＱＧ(２)からパケットＰ４、Ｐ５が読み出された時、読出しサイクルが３番目のキューグループＱＧ(３)に移る。上記３番目のキューグループＱＧ(３)は、契約帯域が小さいため、この例では、１つのパケットＰ６を読み出した時点で、読出しサイクルが最初のキューグループＱＧ(１)に移っている。
【００５３】
最初のキューグループＱＧ(１)からパケットＰ７、Ｐ８を読み出すと、読出し対象が２番目のキューグループＱＧ(２)に移る。この例では、２番目のキューグループＱＧ(２)からは、前回の読出しサイクルで長いパケットＰ５が読み出されているため、カウンタＣＮＴ(２)のカウント値が契約帯域ＢＷ(２)を超えている。このため、今回の読出しサイクルでは、２番目のキューグループＱＧ(２)からのパケットの読み出しはなく、単にカウンタＣＮＴ(２)の値を減算して、読出しサイクルが第３番目のキューグループＱＧ(３)に移る。
【００５４】
以上の動作を繰り返すことによって、出力ポートＯＵＴにはＰ１、Ｐ２、…Ｐ１４の順序でパケットが送出される。本発明によれば、例えば、ＱＧ(２)の出力パケットＰ４、Ｐ５のように、一時的には契約帯域を超えることはあっても、長期的に見れば全てのキューグループの契約帯域を保証した形のパケット交換が実現される。
上記パケット読出し制御によれば、何れかのキューグループで送信すべきパケットが無くなった場合、残りのキューグループに短縮された周期でパケット読出し機会が与えられるため、空になったキューグループがもつ帯域をその他のキューグループが有効に利用することが可能となる。また、１つのキューグループを残して、他の全てのキューグループが空になった場合、上記残されたキューグループに、ほとんど連続的に読出しサイクルが与えられるため、結果的に出力回線の帯域を独占的に利用し、契約で保証されたサービスレベル以上の恩恵を受けることが可能である。
【００５５】
図５を参照すると、送信元ネットワークアドレスと宛先ネットワークアドレスが、登録された帯域保証契約に該当しないその他のアドレス同士の組み合わせの場合、送信パケットがｊ番目のキューグループに蓄積される。上記ｊ番目のキューグループには、他の契約者が使用する帯域の余剰帯域ＢＷｒが割り当てられている。上記余剰帯域ＢＷｒを利用するユーザは、帯域保証契約をしていない他のユーザと上記余剰帯域を共用することになるため、通信サービスの質は良くないが、安価なコストで通信できる利点がある。
【００５６】
上述した本発明のパケット読出し制御によれば、帯域保証契約者が通信していない期間は、余剰帯域ＢＷｒのユーザに対して帯域が開放される。従って、極端な例として、特定のユーザＸが出力回線１４Ｃの全帯域を独占的に使用する帯域保証契約を結び、その他のユーザには、上記ユーザＸの余剰帯域が割り当てられた場合、図８の制御フローを変形することによって、ユーザＸのパケットフローが途絶えた時、ユーザＸの次のパケットフローが到着するまでの間、他のユーザに回線の全帯域を開放する完全優先型のパケット読出し制御も可能となる。
【００５７】
完全優先型の制御シーケンスは、基本的には、ユーザＸのキューグループでパケットの読出しを繰り返し、読み出すべきパケットがなくなったら、他のキューグループをアクセスし、１つのパケットを読み出す毎に上記ユーザＸのキューグループに新たなパケットが到着したか否かを確認しながら、次々とパケットを読み出すようにすればよい。よって、本発明によれば、前述した第１の利用形態のみならず、第２の利用形態も容易に実現でき、帯域保証契約者にも非契約者にも都合の良い通信サービスを提供できる。
【００５８】
各キューグループ内でのパケットの読出し順序、例えば、上記第１キューグループＱＧ(１)におけるパケットＰ１、Ｐ２、Ｐ３、Ｐ７…の順序は、読出し回路８２によって制御される。すなわち、各キューグループに割り当てられた契約帯域ＢＷ(ｉ)は、読出し回路８２によって更に細分割され、グループ内の複数のキューＱｉ１〜Ｑｉｎに割り当てられる。
この場合、各キューへの帯域の割り当て方法には様々なバリエーションがある。最も基本的な読出し方法は、優先度が高いキューからパケットを読み出し、上記キューが空になったら次の優先度のキューからパケットを読み出すものである。各キューに優先度に応じた帯域の配分しておき、上述した読出し回路８１と同様の手法で、キュー毎に読出し時間の配分を変えるようにしてもよい。この場合の制御手順は、図８で説明したフローチャートにおいて、キューグループＱＧ(ｐ)をキューＱ(ｐ)に置換えたものとなる。
【００５９】
読出しの制御をより簡単化するために、パケット長に関係なく、キュー毎に連続的に読み出し得るパケットの個数を割り当てておき、優先度の順に、１つのキューで割り当て個数のパケットを読み出したら、次のキューからパケットを読み出すようにしてもよい。また、必要に応じて、単に優先度の高いキューから順に、各キューからパケットを１個ずつ読み出すようにしてもよい。
【００６０】
出力バッファ８３から出力ポートＯＵＴへの出力パケットの流れは、読出し回路８２から読出し回路８１の順になるが、読出し制御手順では、図８のフローチャートが示すように、先ず、読出し回路８１でキューグループを決定し、次に、上記決定されたキューグループと対応する読出し回路８２が、グループ内の１つのキューからパケットを読み出す。
【００６１】
図１に示したパケット交換機１では、本発明の理解を容易にするために、各キューグループ毎に読出し回路８２が配置されているが、１つのキューグループから読み出されたパケットが次段の読出し回路８１に渡されている間、他のキューグループの読出し回路８２はパケットを送出していない。従って、実際の応用では、１つの読出し回路８２で、キューグループを切り替えながら、出力バッファ８３の全てのパケットを読み出すことが可能である。
【００６２】
また、各キューグループ毎に各キューの先頭パケットのアドレスを示すテーブルを用意し、図８のステップ１１０で指定されたキューグループＱＧ(ｐ)について上記アドレステーブルを参照し、優先度によって特定されたキューからパケットを読み出すようにすれば、読出し回路８１と８２の機能を１つのプロセッサ、または１つの専用のハードウエア回路で実現できる。
【００６３】
図１０は、パケット読出し回路８２の他の実施例を示す。
このパケット読出し回路８２は、最も高い優先度のキューに蓄積された全てのパケットを読み出した後、次の優先度のキューからパケットを読み出すように制御する完全優先型制御回路８２１と、キューグループ内の複数のキューから、それぞれに割り当てられた帯域に応じてパケットを読み出すように制御する帯域分配型制御回路８２３と、管理ユニット９からの制御信号によって上記２つの制御回路の何れか一方の出力を選択するセレクタ回路８２３とからなっている。
上記制御回路８２１と８２２は、管理ユニット９からの制御信号によって、その何れか一方が稼動状態となる。本実施例によれば、ネットワーク管理者が操作する管理端末からの指令によって、パケット交換機１における送信パケットの読出しモードを瞬時に切り替えることができる。
【００６４】
以上の実施例では、 ＩＰパケットに代表されるＯＳＩ参照モデルのネットワーク層のパケット交換について説明したが、本発明の技術思想をＯＳＩ参照モデルのデータリンク層に適用し、例えば、イーサネット（登録商標）用のＬＡＮスイッチで上述したキューグループ単位の帯域制御を行うようにしてもよい。
【００６５】
また、図５を参照した実施例では、送信元と宛先のネットワークアドレスから特定される契約を単位としてキューグループの帯域を制御したが、本発明の他の実施例として、送信優先度制御ユニット５が、送信パケットをプロトコルによって、例えば、ＴＣＰとその他のプロトコルとの２つのグループに分類し、各グループでは、ヘッダ情報に含まれるパケット優先度に従って、送信パケットを複数のキューにキューイングするようにしてもよい。この場合、キューグループへの帯域割り当ては、単純に、ＴＣＰのパケットフローに対して出力回線の全ての帯域を割り当て、その他のプロトコルのパケットフローに対しては、残余帯域を割り当てるようにしてもよい。
【符号の説明】
【００６６】
１：パケット交換機、２：パケット受信ユニット、３：中継優先度制御ユニット、４：パケット中継ユニット、５：送信優先度制御ユニット、６：パケット送信ユニット、７：受信パケットキューイングユニット、８：送信パケットキューイングユニット、９：管理ユニット、１０：制御ボード、２０：入力ポートインタフェース、２１：出力ポートインタフェース、
４０、５０：マッピングテーブル、６０：管理テーブル、７１：パケット読出し回路、７２：受信バッファメモリ、８１、８２：パケット読出し回路、
８３：送信バッファメモリ。
【図１】
2010141937.tif 000003
【図２】
2010141937.tif 000004
【図３】
2010141937.tif 000005
【図４】
2010141937.tif 000006
【図５】
2010141937.tif 000007
【図６】
2010141937.tif 000008
【図７】
2010141937.tif 000009
【図８】
2010141937.tif 000010
【図９】
2010141937.tif 000011
【図１０】
2010141937.tif 000012