(57)【要約】【課題】セッション単位での優先制御を可能にする。【解決手段】受信パケットのセッションを識別する識別部と、１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、識別されたセッションに応じたキューに受信パケットを格納する格納処理部と、各キューの重みに応じて、各キューからパケットを読み出すパケット出力部と、を備えるパケット伝送装置である。パケット伝送装置は、各キューに割り当てられた各セッションの優先度係数との関係に基づいて、各キューの重みを算出する算出部をさらに備える。【選択図】図５
2015019144.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットのセッションを識別する識別部と、
１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、
前記識別されたセッションに応じたキューに前記受信パケットを格納する格納処理部と、
各キューの重みに応じて、前記各キューからパケットを読み出すパケット出力部と、
を備えるパケット伝送装置。
【請求項２】
前記各キューに割り当てられた各セッションの優先度係数との関係に基づいて、前記各キューの重みを算出する算出部、
をさらに備える請求項１に記載のパケット伝送装置。
【請求項３】
前記算出部は、前記各キューに割り当てられた各セッションの優先度係数の総和に対する前記各キューに割り当てられたセッションの優先度係数の比率を前記各キューの重みとして算出する、
請求項２に記載のパケット伝送装置。
【請求項４】
前記受信パケットのセッションが新規セッションである場合に、該新規セッションの優先度係数を取得する取得部をさらに備え、
前記キュー設定部は、前記新規セッションに割り当てられるキューを作成し、
前記算出部は、前記作成されたキューを含む各キューについて、重みを算出する、
請求項２又は３に記載のパケット伝送装置。
【請求項５】
前記キュー設定部は、セッションの終了が検知された場合に、該終了したセッションに割り当てられたキューを削除し、
前記算出部は、前記複数のキューのうち残存する各キューについて、重みを算出する、請求項２から４のいずれか一項に記載のパケット伝送装置。
【請求項６】
各セッションの優先度係数を保持するサーバと、
受信パケットのセッションを識別する識別部と、
１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、
前記識別されたセッションに応じたキューに前記受信パケットを格納する格納処理部と、
各キューの重みに応じて、前記各キューからパケットを読み出すパケット出力部と、を備えるパケット伝送装置と、
を含むパケット伝送システム。
【請求項７】
パケット伝送装置が、
受信パケットのセッションを識別し、
１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定し、
前記識別されたセッションに応じたキューに前記受信パケットを格納し、
各キューの重みに応じて、前記各キューからパケットを読み出す、
パケット伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット送信における優先制御を行うためのパケット伝送装置，パケット伝送システム，及びパケット伝送方法に関する。
【背景技術】
【０００２】
ＩＰネットワークでは、近年、ＶｏＩＰ（Voice over IP(Internet Protocol)）の音声通信や映像配信等のマルチメディア通信のデータがとり扱われる。これらのマルチメディア通信の優先制御のため、ＩＰネットワークでは、従来、ＱｏＳ（Quality of Service）制御が行われてきた。
【０００３】
一方、近年、ＳＤＮ（Software Defined Network）という、物理的に接続されたネットワーク上で、仮想的にネットワークを構築する技術がある。ＳＤＮは、ソフトウェアでネットワーク機器を制御するための技術であるＯｐｅｎＦｌｏｗなどによって実現される。このＳＤＮは仮想的にネットワークを構築するため、目的に応じネットワークを柔軟に構築することができ、仮想的なネットワーク上では、セッション単位での個別の制御も実現可能である。なお、本明細書において、セッションとは、送信元，宛先，アプリケーションが同一のパケット群を指し、ＴＣＰ（Transmission Control Protocol）及びＵＤＰ(User Datagram Protocol)の両方のパケット群を含む。本明細書におけるセッションは、例
えば、送信元ＩＰアドレス，宛先ＩＰアドレス，ポート番号，アプリケーション識別情報等によって識別される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−４９７８７号公報
【特許文献２】特開平１０−９３５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、仮想的なネットワークが構築される物理的なネットワーク上のＱｏＳ制御では、例えば、セッション単位の柔軟な優先制御を行うことができなかった。そのため、ＳＤＮによって仮想的なネットワークを構築した場合でも、物理的なネットワークレベルでは、セッション単位の優先制御が行われず、マルチメディア通信等において、十分な性能を発揮することができなかった。
【０００６】
一側面によれば、本発明は、セッション単位での優先制御を可能にするパケット伝送装置，パケット伝送システム，及びパケット伝送方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の態様の一つは、
受信パケットのセッションを識別する識別部と、
１つのセッションに対してキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、
前記識別されたセッションに応じたキューに前記受信パケットを格納する格納処理部と、
各キューの重みに応じて、前記各キューからパケットを読み出すパケット出力部と、
を備えるパケット伝送装置である。
【０００８】
また、本発明の他の態様の一つは、
各セッションの優先度係数を保持するサーバと、
受信パケットのセッションを識別する識別部と、
１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、
前記識別されたセッションに応じたキューに前記受信パケットを格納する格納処理部と、
各キューの重みに応じて、前記各キューからパケットを読み出すパケット出力部と、を備えるパケット伝送装置と、
を含むパケット伝送システムである。
【０００９】
本発明の他の態様の一つは、パケット伝送装置が上述した処理を実行するパケット伝送方法である。また、本発明の他の態様は、コンピュータを上述したパケット伝送装置として機能させるプログラム、及び当該プログラムを記録したコンピュータ読み取り可能であり非一時的な記録媒体を含むことができる。コンピュータ等が読み取り可能な一時的でない記録媒体には、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００１０】
開示のパケット伝送装置，パケット伝送システム，及びパケット伝送方法によれば、セッション単位での優先制御を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態の比較例の一つを示す図である。
【図２Ａ】第１実施形態に係るパケット伝送装置のセッション毎の優先制御の処理の一例（セッション追加）を示す図である。
【図２Ｂ】第１実施形態に係るパケット伝送装置のセッション毎の優先制御の処理の一例（セッション削除）を示す図である。
【図３】パケット伝送システムの構成例を示す図である。
【図４】パケット伝送装置のハードウェア構成の一例を示す図である。
【図５】第１実施形態に係るパケット伝送装置の機能ブロックの一例を示す図である。
【図６】セッション管理テーブルの一例を示す図である。
【図７】キュー管理テーブルの一例が示される。
【図８】優先制御ポリシーテーブルの一例である。
【図９】パケット伝送装置の処理のフローチャートの一例である。
【図１０】第１実施形態に係るパケット伝送装置の出力ポートにおけるパケットの送出の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１３】
＜第１実施形態＞
図１は、第１実施形態の比較例の一つを示す図である。図１では、パケット伝送装置における重み付けラウンドロビン方式のスケジューリングの処理の一例が示される。スケジューリングとは、パケットが属するグループに応じたレートでパケットを送出する処理である。
【００１４】
図１に示される比較例では、重み付けラウンドロビン方式であるため、パケット伝送装置は各出力ポートに予め複数のキューを設定しており、各キューには重みが割り当てられている。キューの数や重みは、固定であり、例えば、管理者によって設定される。キューに割り当てられる重みは、例えば、出力ポートにおける１サイクル又は単位時間当たりの送出パケット数に対する該当キューからの送出パケット数の比率を示す。例えば、図１に示される例では、各キューの重みの比率が大きいほど優先度が高く、１サイクル又は単位時間当たりの出力パケット数が多くなる。なお、１サイクルとは、１つの出力ポートにおけるパケット送出のために１つずつのキューに順番にアクセスする際の全キューへのアクセスにかかる時間である。以降、第１実施形態では、各キューの重みは、出力ポートにおける１サイクル当たりの送出パケット数に対する該当キューからの送出パケット数の比率であると想定して説明する。ただし、これに限られない。
【００１５】
また、パケットがいずれのキューに格納されるかは、例えば、パケットヘッダ内の優先度情報によって決められる。このパケットヘッダ内の優先度情報は、例えば、ＩＰヘッダ内のＴＯＳ(Type Of Service)フィールドに格納されている値や、イーサネット（登録商
標）フレームのＶＬＡＮ（Virtual Local Area Network）タグ内の優先度フィールドに格納されている値である。これらの値は、例えば、パケットの送信元や中継の装置によって付与される。また、これらの値は、例えば、アプリケーションの種類に応じて付与される。
【００１６】
図１に示される例において、ユーザＡのセッション１と、ユーザＢのセッション２とのパケットがヘッダ内に同じ優先度情報を保持する場合には、これらのセッションのパケットは同じキューに格納される。そのため、例えば、ユーザＡはユーザＢよりも高い料金のサービスを契約しているユーザである場合、セッション１がセッション２よりも緊急性の高いセッションである場合、等においても、ユーザＡのセッション１とユーザＢのセッション２とは、図１に示されるパケット伝送装置内においては同列に扱われる。したがって、図１に示される比較例においては、契約サービスに応じたユーザの差別化や、緊急性の高いセッションの優先等のセッション毎のきめ細やかな制御を行うことができない。
【００１７】
なお、ユーザは、例えば、送信元ＩＰアドレスによって識別することができる。
【００１８】
図２Ａ及び図２Ｂは、第１実施形態に係るパケット伝送装置のセッション毎の優先制御の処理の一例を示す図である。第１実施形態では、パケット伝送装置は、各出力ポートにおいて、固定的にキューを持たず、新たなセッションを受信するとキューを作成し、セッションが削除されると該当のキューを削除する。すなわち、第１実施形態では、パケット伝送装置は、各出力ポートにおいて、動的に且つセッション毎にキューを持つ。また、第１実施形態では、システム内で統一して、セッションの種類に応じて予め優先度係数が設定されており、各キューの重みは、各出力ポートにおける全セッションの優先度係数の総和に対する各キューに割り当てられたセッションの優先度係数の比率に応じて決定される。セッションの種類は、例えば、ユーザ，アプリケーション等によって識別される。
【００１９】
図２Ａは、出力ポートにおいて取り扱われるセッションが追加された場合のパケット伝送装置の処理の一例を示す図である。図２Ａに示される例では、１つの出力ポートにおいて、ユーザＡのセッション１とユーザＢのセッション２との中継が行われており、それぞれの優先度係数は、１０、４であるとする。また、ユーザＡのセッション１はキュー５１に、ユーザＢのセッション２はキュー５２に割り当てられている。
【００２０】
キュー５１の重みは、出力ポートにおける全セッションの優先度係数の総和（１０＋４）に対するセッション１の優先度係数（１０）の比率の１０／１４となる。キュー５２の重みは、出力ポートにおける全セッションの優先度係数の総和（１０＋４）に対するセッ
ション２の優先度係数（４）の比率の４／１４となる。したがって、キュー５１とキュー５２とからは、それぞれ、１サイクル当たり１０／１４、４／１４の比率でパケットが送出される。
【００２１】
新たにユーザＣのセッション３のパケットがパケット伝送装置に到着すると、出力ポートにおいて新たにキュー５３が作成され、ユーザＣのセッション３に割り当てられたとする。ユーザＣのセッション３の優先度係数は、６であるとする。
【００２２】
第１実施形態では、新たにセッションが加わったことを契機に、該出力ポートにおいて全セッションの重みが再計算される。キュー５１の重みは、出力ポートにおける全セッションの優先度係数の総和（１０＋４＋６）に対するセッション１の優先度係数（１０）の比率の１０／２０となる。キュー５２の重みは、出力ポートにおける全セッションの優先度係数の総和（１０＋４＋６）に対するセッション２の優先度係数（４）の比率の４／２０となる。新たなキュー５３の重みは、出力ポートにおける全セッションの優先度係数の総和（１０＋４＋６）に対するセッション３の優先度係数（６）の比率の６／２０となる。
【００２３】
図２Ｂは、出力ポートにおいて取り扱われるセッションが削除される場合のパケット伝送装置の処理の一例を示す図である。図２Ｂは、図２Ａの状態から、ユーザＢのセッション２が削除された状態が示される。
【００２４】
ユーザＢのセッション２の削除とともに、セッション２に割り当てられていたキュー５２も削除される。キューの削除は、例えば、キューに割り当てられていたメモリリソースが解放されることである。
【００２５】
第１実施形態では、セッションの削除を契機に、該出力ポートにおいて、残存する全セッションの重みが再計算される。キュー５１の重みは、出力ポートにおける全セッションの優先度係数の総和（１０＋６）に対するセッション１の優先度係数（１０）の比率の１０／１６となる。キュー５３の重みは、出力ポートにおける全セッションの優先度係数の総和（１０＋６）に対するセッション３の優先度係数（６）の比率の６／１６となる。
【００２６】
第１実施形態では、パケット伝送装置は、中継するセッションに応じて出力ポートにおいてキューを作成し、各セッションに割り当てられた優先度係数に基づいて、割り当てられるキューの重みを動的に決定することによって、セッション単位の優先制御を行う。
【００２７】
＜システム構成＞
図３は、パケット伝送システムの構成例を示す図である。パケット伝送システム１００は、ポリシーサーバ２と複数のパケット伝送装置１Ａ，１Ｂ，１Ｃを含む。ポリシーサーバ２，パケット伝送装置１Ａ，１Ｂ，１Ｃは、それぞれネットワークを介して通信可能である。
【００２８】
ポリシーサーバ２は、例えば、プロセッサ、メモリ等を含む専用または汎用のコンピュータである。ポリシーサーバ２は、メモリに優先制御ポリシーテーブルを保持する。優先制御ポリシーテーブルは、パケット伝送システム１００内に発生するセッションの種類に応じた優先度係数の設定を保持するテーブルである。優先制御ポリシーテーブルの詳細は、図８において後述される。
【００２９】
パケット伝送装置１Ａ，１Ｂ，１Ｃは、例えば、ルータ，レイヤ３スイッチ等のルーティングの機能を備えた装置である。パケット伝送装置１Ａ，１Ｂ，１Ｃは、ポリシーサーバ２から各セッションの種類に応じた優先度係数を取得し、該優先度係数を用いてパケッ
ト送出におけるセッション毎の優先制御を行う。
【００３０】
なお、図３に示される例では、パケット伝送装置１Ａ，１Ｂ，１Ｃが示されているが、パケット伝送システム１００に含まれるパケット伝送装置の数は、所定数に限定されない。また、優先制御ポリシーテーブルは、パケット伝送システム１００内のパケット伝送装置のいずれか１台又は全てが保持してもよい。ただし、優先制御ポリシーテーブをパケット伝送システム１００内の全てのパケット伝送装置が保持する場合には、所定のプロトコルの使用により全てのパケット伝送装置間で優先制御ポリシーテーブルの整合性が取れていることとする。以下、パケット伝送装置１Ａ，１Ｂ，１Ｃを区別しない場合には、単に、パケット伝送装置１と表記する。
【００３１】
＜パケット伝送装置の構成＞
図４は、パケット伝送装置１のハードウェア構成の一例を示す図である。パケット伝送装置１は、複数のＩＦカード１１０と、各ＩＦカード１１０間でパケットを中継するＳＷカード１２０と、各カードの制御を行う制御カード１３０とを含む。
【００３２】
各ＩＦカード１１０は、パケットの送受信及び終端処理を行う。各ＩＦカード１１０は、例えば、図示されないプロセッサ，メモリ，複数のポートを備える。ＩＦカード１１０に備えられるプロセッサは、例えば、ネットワークプロセッサである。各ポートのうち出力処理を行うポートには、スケジューリング処理を行うスケジューラの機能が備えられている。スケジューラは、例えば、ＦＰＧＡ（Field-Programmable Gate Array、図示せず
）等の回路であってもよいし、ネットワークプロセッサがプログラムを実行することによって実現される機能であってもよい。本明細書では、出力処理を行うポートを出力ポートと称する。
【００３３】
ＳＷカード１２０は、ＩＦカード１１０間のパケットの中継処理を行う。ＳＷカード１２０は、例えば、図示されないプロセッサ、メモリに加え、ＦＰＧＡ（Field-Programmable Gate Array、図示せず）等の回路を備える。
【００３４】
制御カード１３０は、各ＩＦカード１１０及びＳＷカード１２０の制御を行う。制御カード１３０は、例えば、プロセッサ１３１と、メモリ１３２と、を備える。制御カード１３０のプロセッサは、例えば、ＣＰＵ（Central Processing Unit）である。メモリ１３
２は、例えば、主記憶装置としての、ＲＡＭ（Random Access Memory），ＲＯＭ(Read Only Memory)等の半導体メモリである。また、メモリ１３２は、ＥＰＲＯＭ（Erasable Programmable ROM）等の補助記憶装置を含んでもよい。
【００３５】
なお、パケット伝送装置１のハードウェア構成は、図４に示される例に限られず、適宜、変更可能である。また、上述されたパケット伝送装置１のパケットの転送処理は一例であり、これに限定されず、適宜、パケット伝送装置１のアーキテクチャによって変更される。
【００３６】
図５は、第１実施形態に係るパケット伝送装置１の機能ブロックの一例を示す図である。パケット伝送装置１は、回線終端部１１，セッション制御部１２，優先度管理部１３，優先度設定部１４，キュー制御部１５を備える。
【００３７】
回線終端部１１は、ネットワークとのインタフェースであり、終端処理を行う。回線終端部１１は、ＩＦカード１１０の機能の一つであり、例えば、ハードウェアは入力ポート又は出力ポートのＰＨＹ／ＭＡＣの終端処理を行う回路に相当する。
【００３８】
セッション制御部１２，優先度管理部１３，優先度設定部１４は、それぞれ、例えば、
制御カード１３０のプロセッサ１３１がメモリ１３２に格納されるプログラムを実行することによって実現される機能の一つである。
【００３９】
セッション制御部１２は、パケット伝送装置１によって中継されているセッションを管理する。具体的には、セッション制御部１２は、受信パケットから得られるセッション識別情報から、受信パケットのセッションを識別し、新規セッションの開始、既存セッションの終了等を検出する。セッション識別情報には、例えば、パケットのヘッダ内の宛先ＩＰアドレス，送信元ＩＰアドレス，宛先ポート番号，送信元ポート番号等が含まれる。セッション識別情報には、例えば、アプリケーション識別情報が含まれてもよい。パケット伝送装置１によって中継されているセッションの情報は、後述のセッション管理テーブルに格納されており、セッション制御部１２は、セッション管理テーブルに該当レコードが有るか否かによって、新規又は既存のセッションであることを判定する。
【００４０】
受信パケットのセッションが既存のセッションである場合には、セッション制御部１２はキュー制御部１５に受信パケットを転送する。また、セッション制御部１２は、受信パケットのセッションのタイマをリセットする。各セッションには生存時間が設定されており、生存時間のタイマが満了すると、該当セッションの終了が検出される。各セッションの生存時間のタイマは、例えば、後述のセッション管理テーブルによって管理されている。
【００４１】
セッションの終了の検出は、セッションの生存時間のタイマの満了に限られず、例えば、ＴＣＰのＦＩＮパケット等のセッションの切断要求を示すパケットの受信によって検出されてもよい。セッションの終了の検出によって、セッション制御部１２は、後述のセッション管理テーブルと該当の後述のキュー管理テーブルから該当のセッションのレコードを削除する。また、セッション制御部１２は、セッションの終了の検出を契機に、優先度設定部１４に優先度設定を依頼する。
【００４２】
受信パケットのセッションが新規のセッションである場合には、セッション制御部１２は、後述のセッション管理テーブルにレコードを追加し、該当出力ポートの後述のキュー管理テーブルにレコードを追加し、該当のキュー制御部１５に受信パケットを転送すると共に、優先度管理部１３に新規セッションの優先度設定の依頼を行う。受信パケットの出力ポートは、パケット伝送装置１のルーティングテーブル（図示せず）から取得される。なお、パケット伝送装置１は、ルーティングの機能を備えているので、当然ルーティングテーブルを備えている。ルーティングテーブルには、例えば、宛先ＩＰアドレス（ネットワークアドレス、ホストアドレス等）と出力ポートとの対応付けが格納されている。セッション制御部１２は、「識別部」の一例である。
【００４３】
優先度管理部１３は、セッション制御部１２からの依頼を受けて、受信パケットの新規セッションの優先度係数をポリシーサーバ２から取得する。例えば、優先度管理部１３は、受信パケットのセッション識別情報を優先度係数の要求とともにポリシーサーバ２に送信し、該要求に対する応答として該新規セッションの優先度係数を取得する。優先度管理部１３は、取得した優先度係数を後述のセッション管理テーブルに格納し、優先度設定部１４に優先度設定の依頼を行う。優先度管理部１３は、「取得部」の一例である。
【００４４】
優先度設定部１４は、優先度管理部１３またはセッション制御部１２から優先度設定の依頼を受け、セッションの追加または終了に該当する出力ポートにおける各セッションの優先度を算出する。セッションの追加の場合の各セッションの優先度算出対象の出力ポートの特定は、該追加セッションのパケットである受信パケットに基づいて行われる。受信パケットの出力ポートは、パケット伝送装置１のルーティングテーブル（図示せず）から取得される。
【００４５】
セッションの終了の場合の各セッションの優先度算出対象の出力ポートの特定は、例えば、セッション制御部１２からセッション終了の検出を契機に送信される優先度設定の依頼とともに出力ポートの情報が送られてくることによって行われてもよいし、セッション制御部１２から優先度設定の依頼とともに終了セッションの情報が送られ、該情報とルーティングテーブルとから行われてもよい。
【００４６】
各セッションの優先度は、第１実施形態では、出力ポートにおける全セッションの優先度係数の総和に対する各セッションの優先度係数の比率で求められる。セッションの優先度が、該当するセッションを格納するキューの重みとなる。算出された各セッションの優先度（重み）は、優先度設定部１４によって、出力ポートに対応する後述のキュー管理テーブルに格納される。優先度設定部１４は「算出部」の一例である。
【００４７】
キュー制御部１５は、ＩＦカード１１０の機能の一つに相当する。キュー制御部１５は、ＩＦカード１１０に備えられる各出力ポートにつき一つずつ備えられ、出力ポートへのパケットの送出に係る処理、すなわち、キューの管理、キューへのパケットの格納、スケジューリングを行う。なお、図５では、便宜上、一つのキュー制御部１５が表示されている。また、セッション制御部１２から出力されたパケットは、実際には、制御カード１３０からＳＷカード１２０に出力され、ＳＷカード１２０よって該当するＩＦカード１１０に転送され、該当する出力ポートのキュー制御部１５に入力される。
【００４８】
キュー制御部１５が行うキューの管理は、具体的には以下の通りである。キュー制御部１５は、後述のセッション管理テーブル及びキュー管理テーブルにしたがって、キューの作成及び削除、各キューの重みの設定を行う。キューは、ＩＦカード１１０内のメモリ内に確保された所定容量の領域である。キュー制御部１５は、セッション制御部１２によって新規セッションの開始が通知されると、メモリ内に新規セッション用のキューの領域を確保する。また、キュー制御部１５は、セッション制御部１２によってセッションの終了が通知されると、該当セッション用のキューとして確保されたメモリの領域を解放し、キューを削除する。なお、第１実施形態では、いずれのセッションのキューも、同じ容量のメモリ領域が確保されることとする。ただし、これに限られず、例えば、セッションの種類に応じてキューとして確保されるメモリ領域の容量が決められてもよい。セッション制御部１２からの新規セッションの開始の通知，セッションの終了の通知は、それぞれ、例えば、セッション制御部１２から各キュー制御部１５に通知の信号が送信されてもよいし、セッション制御部１２による後述のキュー管理テーブルのレコードの追加、削除を各キュー制御部１５が検出することによって行われてもよい。
【００４９】
キュー制御部１５は、セッション管理テーブル及びキュー管理テーブルにしたがって、受信パケットを、該当するセッションのキューに格納する。キュー制御部１５は、各キューの重みに応じて、優先制御を行う。具体的には、キュー制御部１５は、１サイクル当たり、各キューから重みに応じた数のパケットを読出し、回線終端部１１に出力する。第１実施形態では、キュー制御部１５は、キューの重みが大きいほど、１サイクル当たりに該キューから読み出されるパケット数が多くなる。ただし、これに限られず、キューの重みが大きいほど、１サイクル当たりに該キューから読み出されるパケット数が少なく設定されてもよい。また、パケット数に限られず、例えば、キューの重みに応じて１サイクル当たりにキューから読み出されるデータ量が決められ、該データ量未満のパケット数が読み出されてもよい。キュー制御部１５は、「設定部」、「格納処理部」、「パケット出力部」の一例である。
【００５０】
なお、各機能ブロックとハードウェア構成要素との対応は、これに限られず、パケット伝送装置１のアーキテクチャによって変わる。例えば、セッション制御部１２は、出力側
の各ＩＦカード１１０に１つずつ備えられてもよい。
【００５１】
＜パケット伝送システム内におけるデータ＞
次に、パケット伝送システム１００において取り扱われる情報について説明する。パケット伝送装置１は、セッション管理テーブル、キュー管理テーブルを保持する。ポリシーサーバ２は、優先制御ポリシーテーブルを保持する。
【００５２】
図６は、セッション管理テーブルの一例を示す図である。セッション管理テーブルは、パケット伝送装置１が中継するセッションの情報が格納されるテーブルである。セッション管理テーブルは、例えば、パケット伝送装置１に１つ作成される。セッション管理テーブルは、例えば、パケット伝送装置１の制御カード１３０のメモリ１３２の記憶領域に格納される。セッション管理テーブルのレコードは、新規セッションのパケットが受信された際に、セッション制御部１２によって作成される。
【００５３】
図６に示されるセッション管理テーブルは、１レコードにつき、「セッションＩＤ」，「送信元ＩＰアドレス」（図中、 "Src Add."），「宛先ＩＰアドレス」（図中、 "Dst Add."），「ポート番号」，「優先度係数」，「保持時間」のフィールドを含む。
【００５４】
「セッションＩＤ」フィールドには、パケット伝送装置１内でセッションを識別するためにセッション制御部１２によって各セッションに内部的に割り当てられるセッションＩＤが格納される。セッションＩＤは、例えば、英数字である。
【００５５】
「送信元ＩＰアドレス」，「宛先ＩＰアドレス」，「ポート番号」は、該当セッションの最初に到着したパケットから得られる。「ポート番号」フィールドには、受信パケットのヘッダに格納されている、ＩＡＮＡ（Internet Assigned Numbers Authority）によっ
て管理されるＴＣＰ又はＵＤＰのウェルノウンポート番号が格納される。
【００５６】
「優先度係数」フィールドには、ポリシーサーバ２から優先度管理部１３によって取得される該当セッションの優先度係数が格納される。「保持時間」フィールドは、該セッションの生存時間のタイマを管理するためのフィールドである。「保持時間」フィールドには、パケット伝送装置１内の内部クロック（図示せず）によって計測される該当セッションの最後の受信パケットを受信してからの経過時間が格納される。「保持時間」フィールドに格納される経過時間が所定時間に達すると、生存時間のタイマ満了となり、該当セッションのレコードがセッション制御部１２によってセッション管理テーブルから削除される。セッション管理テーブルからレコードが削除されることによって、該当セッションの出力ポートにおけるキュー制御部１５が、該当セッションのキューを削除する。
【００５７】
なお、図６に示されるセッション管理テーブルは、一例であって、セッション管理テーブルに格納される情報は、図６に示される例に限定されない。例えば、セッション管理テーブルのレコードは、アプリケーションレイヤにおけるアプリケーション識別情報を格納するフィールドをさらに含んでもよい。また、例えば、図６に示される例では、「保持時間」フィールドには、最後のパケットの受信からの経過時間が格納されるが、生存時間のタイマの残り時間が格納されてもよい。
【００５８】
図７は、キュー管理テーブルの一例が示される。キュー管理テーブルは、例えば、パケット伝送装置１の制御カード１３０のメモリ１３２の記憶領域に格納される。キュー管理テーブルは、パケット伝送装置１内の各出力ポートにつき１つずつ作成され、各出力ポートに存在するキューの情報が格納されるテーブルである。キュー管理テーブルのレコードは、セッション制御部１２によって作成される。
【００５９】
図７に示されるキュー管理テーブルの１レコードには、「セッションＩＤ」，「キューＩＤ」，「重み」のフィールドが含まれる。「セッションＩＤ」フィールドには、セッション管理テーブルの「セッションＩＤ」フィールドと同様に、パケット伝送装置１内の内部的なセッションＩＤが格納される。「セッションＩＤ」フィールドの値によって、キュー管理テーブルのレコードとセッション管理テーブルのレコードとが紐付けられる。「キューＩＤ」フィールドには、スケジューラ内でキューを識別するためのキュー識別情報が格納される。
【００６０】
「重み」フィールドには、出力ポートにおける、キューの相対的な重みが格納される。このキューの相対的な重みは、出力ポートにおける全セッションの優先度係数の総和に対する該当キューに割り当てられるセッションの優先度係数の比率として、優先度設定部１４によって算出される。
【００６１】
キュー管理テーブルのレコードは、「セッションＩＤ」が同じであるレコードがセッション管理テーブルから削除されるとともに、セッション制御部１２によって削除される。なお、図７に示されるキュー管理テーブルは、一例であって、キュー管理テーブルに格納される情報は、図７に示される例に限定されない。
【００６２】
図８は、優先制御ポリシーテーブルの一例である。優先制御ポリシーテーブルは、ポリシーサーバ２の記憶装置に格納される。優先制御ポリシーテーブルは、各セッションの優先度係数を格納するテーブルである。
【００６３】
優先制御ポリシーテーブルの１レコードには、「ユーザ」，「サービス」，「優先度係数」のフィールドが含まれる。「ユーザ」フィールドには、ユーザを識別するための情報が格納される。ユーザを識別するための情報は、例えば、ユーザに割り当てられたＩＰアドレスである。または、ユーザを識別するための情報は、例えば、ユーザに割り当てられたＩＰアドレスに紐付けられた、加入者識別番号，端末の個体識別番号等であってもよい。
【００６４】
「サービス」フィールドには、アプリケーションを示すポート番号が格納される。アプリケーションにかかわりなくユーザに対して優先度係数が設定される場合には、「サービス」フィールドには、例えば、「Ａｎｙ」が格納される。「優先度係数」フィールドには、優先度係数が格納される。優先度係数は、予めパケット伝送システム１００の管理者によって設定される。
【００６５】
なお、図８に示される優先制御ポリシーテーブルは一例であって、優先制御ポリシーテーブルが保持する情報は、図８に示される例に限定されない。
【００６６】
＜処理の流れ＞
図９は、パケット伝送装置１の処理のフローチャートの一例である。図９に示されるフローチャートは、例えば、パケット伝送装置１がパケットを受信すると開始される。
【００６７】
ＯＰ１では、セッション制御部１２は、受信パケットのセッションのレコードがセッション管理テーブルに保持されているか否かを判定する。セッション管理テーブルに受信パケットのセッションのレコードが保持されている場合には（ＯＰ１：ＹＥＳ）、処理がＯＰ８に進む。セッション管理テーブルに受信パケットのセッションのレコードが保持されていない場合には（ＯＰ１：ＮＯ）、処理がＯＰ２に進む。
【００６８】
ＯＰ２からＯＰ７は、受信パケットのセッションのレコードがセッション管理テーブルに保持されていない場合、すなわち、受信パケットが新規セッションのパケットである場
合の処理である。
【００６９】
ＯＰ２では、セッション制御部１２は、セッション管理テーブルに新規セッションのレコードを作成する。例えば、セッション管理テーブルが図６に示される例の構成である場合には、セッション制御部１２は、受信パケットから、送信元ＩＰアドレス、宛先ＩＰアドレス、ウェルノウンポート番号を抽出し、それぞれ、「送信元ＩＰアドレス」，「宛先ＩＰアドレス」，「ポート番号」のフィールドに格納する。また、「保持時間」フィールドに受信パケットの受信からの経過時間を格納する。また、セッション制御部１２は、受信パケットの転送先のポートに対応するキュー管理テーブルにレコードを作成する。また、セッション制御部１２は、優先度管理部１３に優先度設定を依頼する。セッション制御部１２は、次に処理がＯＰ３に進む。
【００７０】
ＯＰ３では、優先度管理部１３は、受信パケットのセッションの優先度係数をポリシーサーバ２に問合せ、取得する。具体的には、優先度管理部１３は、例えば、受信パケットの送信元ＩＰアドレス、宛先ＩＰアドレス、ウェルノウンポート番号と、優先度係数要求とをポリシーサーバ２に送信する。ポリシーサーバ２は、受信パケットの宛先ＩＰアドレス又は送信元ＩＰアドレスからユーザを識別するための情報を取得し、ウェルノウンポート番号からサービスを特定して、優先制御ポリシーテーブルから、セッションの優先度係数を取得し、パケット伝送装置１に送信する。優先度管理部１３は、優先度係数を取得すると、セッション管理テーブルの該当セッションのレコードの「優先度係数」フィールドに取得した優先度係数を格納する。優先度管理部１３は、優先度設定部１４に優先度設定を依頼する。次に処理がＯＰ４に進む。
【００７１】
ＯＰ４では、優先度設定部１４が、受信パケットの転送先の出力ポートに対応するキュー管理テーブルを参照して、出力ポートにおける各セッションに対応する各キューの重みを算出する。各キューの重みは、出力ポートにおける全セッションの優先度係数の総和に対する該当セッションの優先度係数の比率で求められる。次に処理がＯＰ５に進む。
【００７２】
ＯＰ５では、優先度設定部１４は、ＯＰ４で算出した各キューの重みを該当の出力ポートに対応するキュー管理テーブルに書込む。次に処理がＯＰ６に進む。
【００７３】
ＯＰ６では、受信パケットの転送先の出力ポートにおけるキュー制御部１５が、対応するキュー管理テーブルに新たに追加されたレコードに対応するキュー、すなわち、新規セッションを格納するキューを作成する。該キューは、ＩＦカード１１０のメモリ内に作成される。次に処理がＯＰ７に進む。
【００７４】
ＯＰ７では、キュー制御部１５は、対応するキュー管理テーブルにしたがって、スケジューラに対して出力ポートにおける各キューの重みを設定する。次に処理がＯＰ９に進む。
【００７５】
ＯＰ８では、受信パケットのセッションのレコードがセッション管理テーブルに保持されているので、セッション制御部１２は、該当レコードの「保持時間」フィールドの値をリセットする。セッション制御部１２は、受信パケットをＳＷカード１２０に出力し、受信パケットは、ＳＷカード１２０によって転送先のＩＦカード１１０の出力ポートにおけるキュー制御部１５に転送される。次に処理がＯＰ９に進む。
【００７６】
ＯＰ９では、キュー制御部１５は、セッション管理テーブル及びキュー管理テーブルを参照して、該当するキューに受信パケットを格納する。次に処理がＯＰ１０に進む。
【００７７】
ＯＰ１０では、キュー制御部１５におけるスケジューラによって、各キューの重みに応
じてパケットが送出される。その後、図９に示される処理が終了する。
【００７８】
＜第１実施形態の作用及び効果＞
図１０は、第１実施形態に係るパケット伝送装置１の出力ポートにおけるパケットの送出の一例を示す図である。図１０に示される例では、出力ポートにおいて、セッション１とセッション２とが存在し、それぞれ優先度係数が１０，２０であるとする。すなわち、セッション１とセッション２との重みの比は、１：２である。
【００７９】
例えば、１サイクルにおいて、送出されるパケット数が６である場合には、セッション１，セッション２それぞれの１サイクル当たり送出されるパケット数は、２つ，４つとなる。したがって、キューの重みの大きい、すなわち、優先度係数が高いセッション２のパケットがセッション１のパケットよりも優先して送出される。
【００８０】
第１実施形態によれば、セッション毎にキューを割り当て、各キューに重みを設定することによって、セッション毎の優先制御を行うことが可能となる。
【００８１】
また、図１０に示される例において、優先度係数３０のセッション３が追加されると、セッション１、セッション２、セッション３の重みの比は、１：２：３となる。この場合に、それぞれのセッションの１サイクル当たりに送出されるパケット数は、セッション１が１つ、セッション２が２つ、セッション３が３つとなり、セッション３が最も優先されることになる。
【００８２】
このように、追加されるセッションの優先度係数を最も大きくすることによって、該セッションが、パケット伝送システム１００内の各パケット伝送装置１において優先して送出されることになる。また、優先度係数は、ポリシーサーバ２において一元的に管理されているため、新規セッションの優先度係数の設定，変更等はポリシーサーバ２に対して行うことによってパケット伝送システム１００内の全パケット伝送装置１に反映され、管理しやすい。
【００８３】
なお、第１実施形態は、パケットが送出されるキューの順番を限定するものではない。パケットが送出されるキューの順番は、例えば、キュー（セッション）の作成順，優先度係数の大きい順，優先度係数とは異なる送出順を規定する優先度の順，ランダム，のいずれであってもよい。
【００８４】
以上のように、第１実施形態によれば、セッションの開始及び終了を契機に動的にセッションの優先度設定及び優先度制御が行われるため、例えば、以下のようなサービスを実現することができる。
【００８５】
（１）ユーザの支払う金額に応じて、利用アプリケーション毎の優先度係数を設定することにより、契約金額の高いユーザセッションの優先処理を行うことが可能となる。例えば、チケット購入サイトへのアクセスやオークションサイトへのＨＴＴＰ通信において、契約金額の高いユーザのセッションを優先的に処理する。
【００８６】
（２）ユーザのグループに応じて、利用アプリケーションの優先度係数を設定することにより、重要な通信セッションの優先処理を行うことが可能となる。重要な通信セッションとは、例えば、被災地への通話、緊急通報等のＶｏＩＰ（Voice over IP）通信等であ
る。
【００８７】
（３）特定のアプリケーションのユーザに対する利用制限のため、優先度係数を低く設定することにより、該ユーザの該アプリケーションの通信を低優先処理することが可能と
なる。
【００８８】
また、第１実施形態によれば、動的且つ相対的にセッションの優先度（キューの重み）が決まる。キューの重みが固定で割りつけられるネットワークでは、最優先クラスが既に利用されている場合には、それ以上の優先クラスを動的に設定することはできない。しかしながら、第１実施形態のパケット伝送システム１００では、優先させたいセッションの優先度係数を高く設定することで、全パケット伝送装置１において、他の既存のセッションよりも優先されるように設定することもできる。
【００８９】
＜その他＞
上述した実施形態は、以下の付記を開示する。
（付記１）
受信パケットのセッションを識別する識別部と、
１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、
前記識別されたセッションに応じたキューに前記受信パケットを格納する格納処理部と、
各キューの重みに応じて、前記各キューからパケットを読み出すパケット出力部と、
を備えるパケット伝送装置。
（付記２）
前記各キューに割り当てられた各セッションの優先度係数との関係に基づいて、前記各キューの重みを算出する算出部、
をさらに備える付記１に記載のパケット伝送装置。
（付記３）
前記算出部は、前記各キューに割り当てられた各セッションの優先度係数の総和に対する前記各キューに割り当てられたセッションの優先度係数の比率を前記各キューの重みとして算出する、
付記２に記載のパケット伝送装置。
（付記４）
前記受信パケットのセッションが新規セッションである場合に、該新規セッションの優先度係数を取得する取得部をさらに備え、
前記キュー設定部は、前記新規セッションに割り当てられるキューを作成し、
前記算出部は、前記作成されたキューを含む各キューについて、重みを算出する、
付記２又は３に記載のパケット伝送装置。
（付記５）
前記キュー設定部は、セッションの終了が検知された場合に、該終了したセッションに割り当てられたキューを削除し、
前記算出部は、前記複数のキューのうち残存する各キューについて、重みを算出する、付記２から４のいずれか一つに記載のパケット伝送装置。
（付記６）
各セッションの優先度係数を保持するサーバと、
受信パケットのセッションを識別する識別部と、
１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、
前記識別されたセッションに応じたキューに前記受信パケットを格納する格納処理部と、
各キューの重みに応じて、前記各キューからパケットを読み出すパケット出力部と、を備えるパケット伝送装置と、
を含むパケット伝送システム。
（付記７）
前記パケット伝送装置は、
前記各キューに割り当てられた各セッションの優先度係数との関係に基づいて、前記各キューの重みを算出する算出部と、
をさらに備える付記６に記載のパケット伝送システム。
（付記８）
前記算出部は、前記各キューに割り当てられた各セッションの優先度係数の総和に対する前記各キューに割り当てられたセッションの優先度係数の比率を前記各キューの重みとして算出する、
付記７に記載のパケット伝送システム。
（付記９）
前記受信パケットのセッションが新規セッションである場合に、該新規セッションの優先度係数を前記サーバから取得する取得部をさらに備え、
前記キュー設定部は、前記新規セッションに割り当てられるキューを作成し、
前記算出部は、前記作成されたキューを含む各キューについて、重みを算出する、
付記７又は８に記載のパケット伝送システム。
（付記１０）
前記キュー設定部は、セッションの終了が検知された場合に、該終了したセッションに割り当てられたキューを削除し、
前記算出部は、前記複数のキューのうち残存する各キューについて、重みを算出する、付記７から９のいずれか一つに記載のパケット伝送システム。
（付記１１）
パケット伝送装置が、
受信パケットのセッションを識別し、
１つのセッションに対して１つのキューを割り当て、前記セッションに応じた重みをキューに設定するキュー設定部と、
前記識別されたセッションに応じたキューに前記受信パケットを格納し、
各キューの重みに応じて、前記各キューからパケットを読み出す、
パケット伝送方法。
【符号の説明】
【００９０】
１      パケット伝送装置
２      ポリシーサーバ
１２    セッション制御部
１３    優先度管理部
１４    優先度設定部
１５    キュー制御部
【図１】
2015019144.tif 000003
【図２Ａ】
2015019144.tif 000004
【図２Ｂ】
2015019144.tif 000005
【図３】
2015019144.tif 000006
【図４】
2015019144.tif 000007
【図５】
2015019144.tif 000008
【図６】
2015019144.tif 000009
【図７】
2015019144.tif 000010
【図８】
2015019144.tif 000011
【図９】
2015019144.tif 000012
【図１０】
2015019144.tif 000013