(57)【特許請求の範囲】
【請求項１】
受信したパケットを転送する複数のパケット転送装置と、
各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置とを備え、
経路制御装置は、
パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、当該パケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段と、
パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段とを備え、
パケット転送ルール生成手段は、
パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、
各パケット転送装置は、
設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、当該パケット転送ルールに従って、受信したパケットに対する処理を行う
ことを特徴とする通信システム。
【請求項２】
パケット転送ルール生成手段は、
パケット転送ルールの生成を要求されたときに、パケットの通信経路を分割して複数の区間を定め、各区間におけるタイマー値を決定し、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成する
請求項１に記載の通信システム。
【請求項３】
経路制御装置は、
どのパケット転送装置にどのパケット転送ルールを設定したかを記憶するルール設定内容記憶手段を備え、
パケット転送ルール生成手段は、
パケットが属するフローを識別する識別情報を含むパケット転送ルールを、前記パケットの通信経路上のパケット転送装置のうち、前記識別情報を含むパケット転送ルールが設定されていないパケット転送装置を対象にして生成する
請求項２に記載の通信システム。
【請求項４】
パケット転送ルール生成手段は、
新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、前記パケットの通信経路内の区間であって、前記パケット転送装置を起点とする１つの区間を特定し、前記区間に対応するタイマー値を決定し、前記区間内のパケット転送装置に対するパケット転送ルールを生成する
請求項１に記載の通信システム。
【請求項５】
経路制御装置は、
予め通信経路の分割点として定められたパケット転送装置の情報を記憶する区間判定用情報記憶手段を備え、
パケット転送ルール生成手段は、
分割点として定められたパケット転送装置の情報に基づいて、パケット転送ルールの生成を要求したパケット転送装置を起点とする区間を特定する
請求項４に記載の通信システム。
【請求項６】
パケット転送ルール生成手段は、
通信経路の終端と区間とが近いほど区間に対応するタイマー値の値を大きな値に定め、通信経路の終端と区間とが遠いほど区間に対応するタイマー値の値を小さな値に定める
請求項１から請求項５のうちのいずれか１項に記載の通信システム。
【請求項７】
受信したパケットを転送する複数のパケット転送装置と、
各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置とを備え、
経路制御装置は、
パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、当該パケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成し、パケット転送ルールを生成する際には、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、生成したパケット転送ルールをパケット転送装置に設定し、
各パケット転送装置は、
設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、当該パケット転送ルールに従って、受信したパケットに対する処理を行う
ことを特徴とする通信システム。
【請求項８】
パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、当該パケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段と、
パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段とを備え、
パケット転送ルール生成手段は、
パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせる
ことを特徴とする経路制御装置。
【請求項９】
パケット転送ルール生成手段は、
パケット転送ルールの生成を要求されたときに、パケットの通信経路を分割して複数の区間を定め、各区間におけるタイマー値を決定し、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成する
請求項８に記載の経路制御装置。
【請求項１０】
パケット転送ルール生成手段は、
新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、前記パケットの通信経路内の区間であって、前記パケット転送装置を起点とする１つの区間を特定し、前記区間に対応するタイマー値を決定し、前記区間内のパケット転送装置に対するパケット転送ルールを生成する
請求項８に記載の経路制御装置。
【請求項１１】
パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、当該パケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成し、
生成したパケット転送ルールをパケット転送装置に設定し、
パケット転送ルールを生成する際に、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせる
ことを特徴とする経路制御方法。
【請求項１２】
パケット転送ルールの生成を要求されたときに、パケットの通信経路を分割して複数の区間を定め、各区間におけるタイマー値を決定し、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成する
請求項１１に記載の経路制御方法
【請求項１３】
新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、前記パケットの通信経路内の区間であって、前記パケット転送装置を起点とする１つの区間を特定し、前記区間に対応するタイマー値を決定し、前記区間内のパケット転送装置に対するパケット転送ルールを生成する
請求項１１に記載の経路制御方法。
【請求項１４】
コンピュータに、
パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、当該パケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成処理、および、
パケット転送ルール生成処理で生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理処理を実行させ、
パケット転送ルール生成処理で、
パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせる
ための経路制御用プログラム。
【請求項１５】
コンピュータに、
パケット転送ルールの生成を要求されたときに、パケット転送ルール生成処理で、パケットの通信経路を分割して複数の区間を定めさせ、各区間におけるタイマー値を決定させ、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成させる
請求項１４に記載の経路制御用プログラム。
【請求項１６】
コンピュータに、
新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、パケット転送ルール生成処理で、前記パケットの通信経路内の区間であって、前記パケット転送装置を起点とする１つの区間を特定させ、前記区間に対応するタイマー値を決定させ、前記区間内のパケット転送装置に対するパケット転送ルールを生成させる
請求項１４に記載の経路制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、経路制御装置、経路制御方法および経路制御用プログラムに関し、特に、パケットを転送するパケット転送装置と、パケット転送装置のパケット転送を制御することにより通信経路を制御する経路制御装置とを備える通信システム、およびその通信システムに適用される経路制御装置、経路制御方法、経路制御用プログラムに関する。
【背景技術】
【０００２】
パケットを転送するフロースイッチと、フロースイッチのパケット転送を制御することにより通信経路を制御する経路制御装置とを備える通信システムの例が、特許文献１および非特許文献１，２に記載されている。また、非特許文献２には、経路制御装置が、フロースイッチに適用すべきフローエントリ情報を定めるとともに、タイマー値を規定し、フロースイッチがタイマー値に応じて時限式に動作することについても記載されている。
【０００３】
このような通信システムの一般的な構成の例を図１９に示す。図１９に例示する通信システムは、経路制御装置１１０と、通信ネットワーク１００に属するフロースイッチ１２０〜１２３とを備える。なお、経路制御装置がフロースイッチを制御するためのプロトコルはオープンフロー（ＯｐｅｎＦｌｏｗ）と呼ばれる。
【０００４】
経路制御装置１１０は、各フロースイッチ１２０〜１２３にフローエントリ情報を設定する。フローエントリ情報は、送られてくるパケットに応じたフロースイッチの動作を定めた情報である。フローエントリ情報は、パケット転送ルールと称することもできる。経路制御装置１１０は、各フロースイッチ１２０〜１２３のフローエントリ情報を設定することで、通信ネットワーク１００に接続される通信端末１３０，１３２，１３３が通信を行うための経路制御を行う。
【０００５】
経路制御装置１１０は、ネットワークトポロジー管理機能と、通信端末位置管理機能と、フローエントリ生成機能と、経路計算機能と、フロースイッチ管理機能とを具備する。
【０００６】
ネットワークトポロジー管理機能は、フロースイッチから収集した情報を元に、フロースイッチ群が形成するネットワークトポロジーを表す情報を記憶する機能である。
【０００７】
通信端末位置管理機能は、通信端末１３０，１３２，１３３がどのフロースイッチのどのポートに接続しているのかを管理する機能である。
【０００８】
フローエントリ生成機能は、フローエントリ情報を作成する機能である。経路制御装置１１０は、フローエントリ生成機能により、分類情報、アクション情報、およびタイマー値を決定し、これらの情報を含むフローエントリ情報を作成する。分類情報は、フローを識別する情報であり、例えば、フローに属するパケットの要件として表される。フロースイッチが受信したパケットがどのフローに属するのかは分類情報に基づいて判定される。アクション情報は、フローに応じたフロースイッチの動作（例えば、特定のポートへの転送、フラッディング、廃棄等）を示す情報である。タイマー値は、フローエントリ情報の有効期間を定めるための値である。経路制御装置１１０は、タイマー値をアクション情報に含め、フロー毎に、分類情報とアクション情報とを含むフローエントリ情報を作成する。
【０００９】
また、経路制御装置１１０は、フローに応じた通信経路上の各フロースイッチにフローエントリ情報を設定する場合、各フロースイッチに対して共通のタイマー値を定める。
【００１０】
経路計算機能は、パケットのフローの通信経路を計算する機能である。
【００１１】
フロースイッチ管理機能は、フロースイッチを制御するための機能で、具体的にはフロースイッチ制御用のチャネルの管理やフローエントリの設定等を行う機能である。
【００１２】
フロースイッチ１２０〜１２３は、経路制御装置１１０によって設定されたフローエントリ情報に基づいて、受信したパケットを転送するパケット転送装置である。フロースイッチ１２０〜１２３は、パケットを受信すると、分類情報に従ってそのパケットがどのフローに属するのかを判定し、そのフローに対して定められたフローエントリ情報内のアクション情報が示す処理を、受信したパケットに対して行う。例えば、フロースイッチ１２０〜１２３は、受信したパケットのフローに応じて、そのパケットを特定のポートに転送したり、あるいは、フラッディングしたり、廃棄したりする。なお、フロースイッチは、受信したパケット等に関する統計情報を作成する。統計情報の作成粒度としてはフローエントリ単位やポート単位等がある。
【００１３】
また、フロースイッチ１２０〜１２３は、フローエントリ情報のアクション情報に含まれるタイマー値を時間経過とともに減少させ（換言すれば、カウントダウンし）、新たにパケットを受信した時には、そのパケットが属するフローエントリのタイマー値を初期値にリセットする。フロースイッチ１２０〜１２３は、タイマー値が０になると、フローエントリ情報を削除する。また、フロースイッチ１２０〜１２３がタイマー値をリセットしない態様もある。
【００１４】
また、フロースイッチ１２０〜１２３は、受信したパケットに応じたフローエントリ情報を保持していない場合、新たなフローを検出したことを経路制御装置１１０に通知する。経路制御装置１１０は、この通知に応じて、そのパケットが分類されるフローに応じたフローエントリ情報を、そのフローの通信経路上の各フロースイッチに設定する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】米国特許出願公開第２００８／０１８９７６９号明細書
【非特許文献】
【００１６】
【非特許文献１】Nick McKeown, 外７名、“OpenFlow: Enabling Innovation in Campus Networks”、２００８年３月１４日、[平成２１年７月２日検索]、インターネット<http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>
【非特許文献２】“OpenFlow Switch Specification Version 0.9.0”、２００９年７月２０日、[平成２１年１０月５日検索]、インターネット<http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００１７】
上記のような経路制御装置およびフロースイッチを備える通信システムでは、通信経路の共通部分に存在するフロースイッチに対するフローエントリ情報の設定が繰り返されて、経路制御装置の処理負荷が大きくなってしまうという問題や、あるいは、通信端末間の通信が終了して不要になったフローエントリ情報が長期間フロースイッチに残ってしまうという問題があった。
【００１８】
図２０は、フローエントリ情報の設定が繰り返され経路制御装置の処理負荷が大きくなる状況の例を示す説明図である。ここでは、通信端末１３２および通信端末１３３が５分間の間隔を空けて通信端末１３０にパケットを送信する状況を例にして説明する。
【００１９】
通信端末１３２は、通信端末１３０宛にデータパケットを送信する（ステップＳ１０１）。このパケットは、通信端末１３２が接続されているフロースイッチ１２２に届く。
【００２０】
フロースイッチ１２２は、データパケットを受信すると、フロースイッチ１２２自身に設定されたフローエントリ情報の中から、受信したデータパケットに適合するフローエントリ情報を検索する。しかし、初期状態ではこのフローエントリ情報が存在しない。そのため、フロースイッチ１２２は、ステップＳ１０１で受信したデータパケットをバッファリングしてから、新たなフローを検出したことを示す通知（以下、新規フロー検出通知と記す）を経路制御情報１１０に送信する（ステップＳ１０２）。フロースイッチ１２２は、この新規フロー検出通知に、新たなフローを識別する分類情報を作成するための情報、および、送信元から宛先までの経路を決定するための情報を含める。これらの情報として、例えば、送信元および宛先の両方に関するＭＡＣアドレス、ＩＰアドレス、ポート番号や、フロースイッチ１２２がデータパケットを受信したパケット受信ポート番号等を送信する。
【００２１】
ここでは、フロースイッチ１２２が、受信したデータパケットをバッファリングして、新たなフローを識別する分類情報を作成するための情報、および、送信元から宛先までの経路を決定するための情報を抽出し、その情報を経路制御装置１１０に送信する場合を例にしているが、フロースイッチ１２２は、受信したデータパケット自体を経路制御装置１１０に送信してもよい。
【００２２】
経路制御装置１１０は、新規フロー検出通知を受信すると、新規フローエントリの分類情報とタイマー値を決定する。また、経路制御装置１１０は、宛先である通信端末１３０の位置確認を行い、送信元である通信端末１３２から通信端末１３０へのパケット転送経路を計算する。ここでは、経路制御装置１１０が経路計算により、フロースイッチ１２２→フロースイッチ１２１→フロースイッチ１２０という通信経路を選択したものとする。また、経路制御装置１１０は、分類情報として、「宛先ＭＡＣアドレスおよび宛先ＩＰアドレスが通信端末１３０のＭＡＣアドレスおよびＩＰアドレスと一致している」という分類情報を定めたとする。宛先アドレスとして通信端末１３０のＭＡＣアドレスおよびＩＰアドレスを含むデータパケットが、この分類情報によって識別されるフローに属することになる。また、本例では、経路制御装置１１０は、このフローの通信経路上のフロースイッチ１２２，１２１，１２０に共通のタイマー値を１分と定めるとする。
【００２３】
経路制御装置１１０は、上述の分類情報を含み、タイマー値が１分であるフローエントリ情報を各フロースイッチ１２０，１２１，１２２に設定する（ステップＳ１０３）。なお、上述の分類情報に対応するアクション情報は、フロースイッチ１２２→フロースイッチ１２１→フロースイッチ１２０という通信経路でデータパケットが転送されるように決定される。
【００２４】
フローエントリ情報設定が完了すると、フロースイッチ１２２は、バッファリングしてあるデータパケットをフローエントリ情報に従って転送する。すなわち、新たに設定されたフローエントリ情報中のアクション情報に従ってフロースイッチ１２１にパケットを転送する（ステップＳ１０４）。
【００２５】
経路制御装置１１０に定められた通信経路上のフロースイッチ１２１，１２０は、ステップＳ１０３で、このデータパケットに適合するフローエントリ情報を設定されている。よって、フロースイッチ１２１，１２０は、このデータパケットをフローエントリ情報に従って順次転送し（ステップＳ１０５，Ｓ１０６）、データパケットは通信端末１３０に届く。
【００２６】
その後も、通信端末１３２が通信端末１３０を宛先として送信したデータパケットは、ステップＳ１０３で設定されたフローエントリ情報に基づいて、フロースイッチ１２２、フロースイッチ１２１、フロースイッチ１２０の順に転送され、通信端末１３０に届く。このとき、各フロースイッチ１２２，１２１，１２０は、ステップＳ１０３で設定されたフローエントリ情報に適合するパケットを受信するとタイマー値を初期値（１分）にリセットする。
【００２７】
通信端末１３０と通信端末１３２との通信が終了すると、フロースイッチ１２０，１２１，１２２は、その１分後に、ステップＳ１０３で設定されたフローエントリ情報を削除する（Ｓ１０７）。
【００２８】
通信端末１３０と通信端末１３２との通信の５分後に、通信端末１３３が通信端末１３０にデータパケットを送信したとする。このパケットは、通信端末１３３が接続されているフロースイッチ１２３に届く。この動作は、既に説明したステップＳ１０１と同様の動作である。
【００２９】
以降、通信システムは、上記のステップＳ１０２以降と同様の動作を行う。すなわち、フロースイッチ１２３に新規フロー検出通知を経路制御装置１１０に送信する（ステップＳ１０２）。経路制御装置１１０は、フローエントリ情報を作成し、また、通信端末１３３から通信端末１３０への経路計算を行い、経路上の各フロースイッチ（ここでは、フロースイッチ１２３，１２１，１２０）にそれぞれフローエントリ情報を設定する（ステップＳ１０３）。このフローエントリ情報に含まれる分類情報は、通信端末１３２が通信端末１３０にデータパケットを送信したときに作成された分類情報と同じである。このフローエントリ情報の設定後、フロースイッチ１２３，１２１，１２０は、順次パケットを転送し（ステップＳ１０４，Ｓ１０５，Ｓ１０６）、通信端末１３３からのデータパケットは通信端末１３０に届く。
【００３０】
その後も、通信端末１３３が通信端末１３０を宛先として送信したデータパケットは、ステップＳ１０３で設定されたフローエントリ情報に基づいて、フロースイッチ１２３、フロースイッチ１２１、フロースイッチ１２０の順に転送され、通信端末１３０に届く。
【００３１】
フロースイッチ１２１，１２０は、通信端末１３２から通信端末１３０への経路と、通信端末１３３から通信端末１３０への経路との共通部分に存在するフロースイッチである。上記の例では、このような経路の共通部分に存在するフロースイッチ１２１，１２０に対して、経路制御装置１１０は、５分という短い時間内で同じフローエントリ情報の設定を２度も行っていることになる。
【００３２】
このように、経路制御装置１１０が、複数種類の通信経路の共通部分に存在するフロースイッチに対するフローエントリ情報の設定を短時間の間に繰り返すこととなり、処理負荷が大きくなってしまうという問題があった。
【００３３】
このような問題は、例えば、複数の通信端末（上記の例では通信端末１３２，１３３）が、特定の通信端末（上記の例では通信端末１３０）に対して、断続的かつ連続して通信を行う場合に生じる。より具体的な例を挙げると、例えば、通信端末１３０のユーザが種々のＷｅｂサーバ（通信端末１３２，１３３に相当）にアクセスして、各Ｗｅｂサーバが通信端末１３０に断続的かつ連続してパケットを送信する場合等に、上記のような問題が生じる。
【００３４】
経路制御装置１１０が、フローエントリ情報に含めるタイマー値を大きくすれば、同じフローエントリ情報を同じフロースイッチに対して短時間の間に繰り返して設定することを防止できる。しかし、その一方で、通信が終了して通信経路から外れたフロースイッチに、不要となったフローエントリ情報が長時間残ってしまうという問題が生じる。
【００３５】
例えば、図２０に示した例において、フローエントリ情報に含まれるタイマー値を１０分にしたとする。また、通信端末１３２，１３０間の通信の５分後に、通信端末１３３が通信端末１３０にデータパケットを送信したとする。この場合、通信端末１３０を宛先とするデータパケットのフローに応じたフローエントリ情報はタイムアウトしていないため、経路制御装置１１０は、フロースイッチ１２１，１２０に対しては、フローエントリ情報を再度設定する必要がなくなる。しかし、フロースイッチ１２２には、通信端末１３２と通信端末１３０との通信が終了したことにより不要となったフローエントリ情報が、タイマー値が０になるまで残ってしまうことになる。
【００３６】
そこで、本発明は、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる通信システム、経路制御装置、経路制御方法および経路制御用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３７】
本発明による通信システムは、受信したパケットを転送する複数のパケット転送装置と、各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置とを備え、経路制御装置が、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段と、パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段とを備え、パケット転送ルール生成手段が、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、各パケット転送装置が、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行うことを特徴とする。
【００３８】
また、本発明による通信システムは、受信したパケットを転送する複数のパケット転送装置と、各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置とを備え、経路制御装置が、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成し、パケット転送ルールを生成する際には、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、生成したパケット転送ルールをパケット転送装置に設定し、各パケット転送装置が、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行うことを特徴とする。
【００３９】
また、本発明による経路制御装置は、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段と、パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段とを備え、パケット転送ルール生成手段が、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせることを特徴とする。
【００４０】
また、本発明による経路制御方法は、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成し、生成したパケット転送ルールをパケット転送装置に設定し、パケット転送ルールを生成する際に、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせることを特徴とする。
【００４１】
また、本発明による経路制御用プログラムは、コンピュータに、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成処理、および、パケット転送ルール生成処理で生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理処理を実行させ、パケット転送ルール生成処理で、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせることを特徴とする。
【発明の効果】
【００４２】
本発明によれば、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の通信システムの第１の実施形態の例を示すブロック図である。
【図２】第１の実施形態における経路制御装置の構成例を示すブロック図である。
【図３】第１の実施形態におけるパケット転送装置の構成例を示すブロック図である。
【図４】経路制御装置がパケット転送ルールを設定する動作の処理経過の例を示すフローチャートである。
【図５】経路制御装置がパケット転送ルール削除通知を受信したときの処理経過の例を示すフローチャートである。
【図６】パケット転送装置が他のノードからパケットを受信したときの処理経過の例を示すフローチャートである。
【図７】パケット転送ルールテーブル管理処理の処理経過の例を示すフローチャートである。
【図８】第１の実施形態における通信システムの動作例を示す説明図である。
【図９】宛先となる通信端末により近い区間でタイマー値をより小さくする状況の例を示す説明図である。
【図１０】本発明の通信システムの第２の実施形態の例を示すブロック図である。
【図１１】第２の実施形態における経路制御装置の構成例を示すブロック図である。
【図１２】第２の実施形態におけるパケット転送装置の構成例を示すブロック図である。
【図１３】経路制御装置がパケット転送ルールを設定する動作の処理経過の例を示すフローチャートである。
【図１４】ステップＳ７１の処理の例を示す説明図である。
【図１５】パケット転送ルールテーブル管理処理の処理経過の例を示すフローチャートである。
【図１６】第２の実施形態における通信システムの動作例を示す説明図である。
【図１７】本発明の通信システムの最小構成例を示すブロック図である。
【図１８】本発明の経路制御装置の最小構成例を示すブロック図である。
【図１９】経路制御装置とフロースイッチとを備える通信システムの一般的な構成の例を示すブロック図である。
【図２０】フローエントリ情報の設定が繰り返され経路制御装置の処理負荷が大きくなる状況の例を示す説明図である。
【発明を実施するための形態】
【００４４】
以下、本発明の実施形態を図面を参照して説明する。
【００４５】
実施形態１．
図１は、本発明の通信システムの第１の実施形態の例を示すブロック図である。第１の実施形態の通信システムは、経路制御装置１０と、通信ネットワーク１に属するパケット転送装置２０〜２３とを備える。図１では、４台のパケット転送装置２０〜２３を図示しているが、図１は通信システムの例示であり、パケット転送装置の台数やトポロジーは、図１に示す例に限定されない。図１に示す例では、通信端末５０，５２，５３が、それぞれ、パケット転送装置２０，２２，２３に接続され、各パケット転送装置は、通信端末間で送受信されるパケットを転送する。なお、通信端末の台数や、通信端末が通信ネットワーク１のどのパケット転送装置に接続されるのかに関しても、特に限定されない。
【００４６】
各パケット転送装置２０〜２３は、経路制御装置１０の制御により、受信したパケットを次のノードに転送する。具体的には、各パケット転送装置２０〜２３は、経路制御装置１０が設定するパケット転送ルールに従って、受信したパケットに対する処理を行う。パケット転送ルールは、パケット転送装置がパケットを受信したときにおけるパケット転送装置の動作を定めた情報である。
【００４７】
パケット転送ルールは、フローを識別する情報である分類情報と、分類情報によって特定されるフローに属すると判定されたパケットに対して行うアクション情報とを含む。分類情報は、例えば、「宛先ＭＡＣアドレスおよび宛先ＩＰアドレスが通信端末５０のＭＡＣアドレスおよびＩＰアドレスと一致している」等のような、フローに属するパケットが満たす要件として表されるが、分類情報の表現態様は特に限定されない。また、アクション情報の内容の例として、例えば、「受信したパケットを特定のポートに転送する」、「フラッディングする」、「廃棄する」等が挙げられるが、アクション情報の内容はこれらに限定されない。また、アクション情報には、タイマー値が含まれる。タイマー値は、パケット転送ルールの有効期間を定めるための値である。
【００４８】
パケット転送ルールは、少なくとも、分類情報と、アクション情報と、タイマー値とを含むが、さらに他の情報を含んでいてもよい。本例では、アクション情報にタイマー値を含める場合を例にして説明するが、タイマー値はアクション情報に含まれていなくても、パケット転送ルールに含まれていればよい。
【００４９】
経路制御装置１０は、フローに応じた分類情報およびアクション情報を含むパケット転送ルールを生成し、そのフローの通信経路上のパケット転送装置にそのパケット転送ルールを設定する。ただし、経路制御装置１０は、通信経路を複数の区間に分割し、区間毎に異なるタイマー値を定める。従って、通信経路上のパケット転送装置に設定されるパケット転送ルールのアクション情報内に含まれるタイマー値は、パケット転送装置が属している区間によって異なる。
【００５０】
各パケット転送装置２０〜２３は、設定されたパケット転送ルールのアクション情報に含まれるタイマー値を時間経過とともに減少させ（換言すれば、カウントダウンし）、タイマー値が０になると、パケット転送ルールを削除する。以下の説明では、各パケット転送装置２０〜２３が、パケット転送ルール内の分類情報に適合するパケットを受信したときに、そのパケット転送ルールのタイマー値を初期値にリセットする場合を例にして説明するが、タイマー値をリセットせずにカウントダウンを継続する構成であってもよい。
【００５１】
パケット転送装置２０〜２３は、例えば、オープンフローにおけるフロースイッチである。また、経路制御装置１０は、例えば、オープンフローにおける経路制御装置である。また、パケット転送ルールは、例えば、オープンフローにおけるフローエントリ情報である。
【００５２】
図２は、第１の実施形態における経路制御装置１０の構成例を示すブロック図である。経路制御装置１０は、トポロジー情報記憶手段３１と、トポロジー情報登録手段３２と、通信端末位置管理手段３３と、パケット転送ルール生成手段３４と、区間決定用情報記憶手段３５と、経路計算手段３６と、ルール設定内容記憶手段３７と、パケット転送装置管理手段３８とを備える。
【００５３】
トポロジー情報記憶手段３１は、パケット転送装置群が形成するネットワークトポロジーを表す情報を記憶する記憶装置である。
【００５４】
トポロジー情報登録手段３２は、パケット転送装置群が形成するネットワークトポロジーを表す情報をトポロジー情報記憶手段３１に記憶させる。例えば、トポロジー情報登録手段３２は、個々のパケット転送装置から、それぞれ、どのパケット転送装置に接続されているのかを示す情報を受信し、その情報をトポロジー情報登録手段３２に記憶させる。個々のパケット転送装置が他のどのパケット転送装置に接続されているかを示す情報の集合が、ネットワークトポロジーを表す情報となる。以下、この情報を単にトポロジー情報と記す。
【００５５】
通信端末位置管理手段３３は、通信ネットワーク１に接続している各通信端末がどのパケット転送装置のどのポートに接続されているのかを管理する。例えば、通信端末に接続されたパケット転送装置が、通信端末がＤＨＣＰ（Dynamic Host Configuration protocol ） Requestメッセージ等の何かしらのパケットを送信した際に、その通信端末がパケット転送装置のどのポートに接続されているのかを経路制御装置１０に送信し、通信端末位置管理手段３３は、それらの情報を保持しておけばよい。
【００５６】
経路計算手段３６は、フローの通信経路を計算する。
【００５７】
区間決定用情報記憶手段３５は、経路計算手段３６によって計算された通信経路を複数の区間に分割する際に、どのように通信経路を分割するのかを決定するための情報を記憶する。以下、この情報を、区間決定用情報と記す。
【００５８】
区間決定用情報の態様は、特に限定されない。例えば、経路制御装置１０は、個々のパケット転送装置から統計情報（例えば、フロー毎に受信したパケット数等）を受信する構成である場合には、その統計情報に基づいて通信経路を複数の区間に分割することができる。この場合、例えば、パケット転送ルール生成手段３４が、各パケット転送装置から受信した統計情報を区間決定用情報として区間決定用情報記憶手段３５に記憶させておき、通信経路を分割する際に、その統計情報を参照してもよい。なお、各パケット転送装置は、統計情報をフロー単位やポート単位に作成してもよい。
【００５９】
また、通信ネットワーク１がモバイルネットワークである場合等には、予めアンカーノード（通信経路の宛先（終端）の通信端末が移動するときの通信経路の切り替えポイント）が定められる。例えば、通信経路における分岐点となるパケット転送装置がアンカーノードとして定められる。この場合、どのパケット転送装置がアンカーノードに該当しているかを示す情報を区間決定用情報として区間決定用情報記憶手段３５に予め記憶させておけばよい。そして、パケット転送ルール生成手段３４は、通信経路を分割する際に、その区間決定用情報を参照して、アンカーノードに該当するパケット転送装置で区間を区切ることにより、通信経路を分割してもよい。
【００６０】
ここでは、区間決定用情報の例として、統計情報や、「どのパケット転送装置がアンカーノードに該当しているかを示す情報」を例示したが、区間決定用情報はこれらの情報に限定されず、他の情報であってもよい。
【００６１】
パケット転送ルール生成手段３４は、分類情報とアクション情報とを決定し、その分類情報およびアクション情報を含むパケット転送ルールを生成する。このとき、分類情報によって特定されるフローの通信経路を、区間決定用情報に基づいて複数の区間に分割し、区間毎に、区間内のパケット転送装置に対して定めるタイマー値を変化させる。
【００６２】
パケット転送ルール生成手段３４は、通信経路上の各パケット転送装置に対してパケット転送ルールを生成する。ここで、パケット転送ルール生成手段３４は、同一フローの通信経路上の各パケット転送装置に対しては、分類情報を同じ情報として定める。ただし、アクション情報は、パケット転送装置毎に異なるように定めてもよい。また、タイマー値は、上記のように、パケット転送装置がどの区間に属しているかにより変化させる。
【００６３】
ただし、パケット転送ルール生成手段３４は、分類情報によって特定されるフローの通信経路において、その分類情報と同一の分類情報を含むパケット転送ルールが設定されたパケット転送装置に対しては、パケット転送ルールを生成しない。
【００６４】
ルール設定内容記憶手段３７は、どのパケット転送装置にどのようなパケット転送ルールを設定したのかを示す情報を記憶する記憶装置である。ルール設定内容記憶手段３７により、どのパケット転送装置にどのようなパケット転送ルールを設定したのかを管理することができる。
【００６５】
パケット転送装置管理手段３８は、各パケット転送装置２０〜２３を管理する。具体的には、パケット転送装置管理手段３８は、パケット転送ルール生成手段３４に生成されたパケット転送ルールをパケット転送装置に設定する処理等を行う。そして、パケット転送装置管理手段３８は、パケット転送ルールをパケット転送装置に設定したときに、どのパケット転送装置にどのようなパケット転送ルールを設定したのかをルール設定内容記憶手段３７に記憶させる。
【００６６】
トポロジー情報登録手段３２、通信端末位置管理手段３３、パケット転送ルール生成手段３４、経路計算手段３６、パケット転送装置管理手段３８は、例えば、経路制御用プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、コンピュータのプログラム記憶装置（図示せず）が経路制御用プログラムを記憶し、ＣＰＵがそのプログラムを読み込み、プログラムに従って、トポロジー情報登録手段３２、通信端末位置管理手段３３、パケット転送ルール生成手段３４、経路計算手段３６およびパケット転送装置管理手段３８として動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
【００６７】
図３は、第１の実施形態におけるパケット転送装置の構成例を示すブロック図である。図３では、図１におけるパケット転送装置２２を例にして説明するが、他のパケット転送装置２０，２１，２３に関しても同様の構成である。パケット転送装置２２は、ルールテーブル記憶手段４１と、ルール管理手段４２と、フロー特定手段４３と、アクション実行手段４４とを備える。
【００６８】
ルールテーブル記憶手段４１は、パケット転送ルールを記憶する記憶装置である。フローが異なれば、異なるパケット転送ルールが設定されるので、ルールテーブル記憶手段４１に記憶されるパケット転送ルールは１つとは限らない。ルールテーブル記憶手段４１に記憶されるパケット転送ルールの集合をパケット転送ルールテーブルと記す。
【００６９】
ルール管理手段４２は、各パケット転送ルールを管理する。例えば、経路制御装置１０のパケット転送装置管理手段３８（図２参照）がパケット転送装置にパケット転送ルールを設定する場合、設定指示とともにパケット転送ルールをパケット転送装置に送信する。ルール管理手段４２は、経路制御装置１０から受信したパケット転送ルールを、この指示に応じてルールテーブル記憶手段４１に記憶させる。
【００７０】
また、ルール管理手段４２は、ルールテーブル記憶手段４１に記憶されている各パケット転送ルールで指定されているタイマー値を時間経過とともに減少させる。すなわち、ルール管理手段４２は、タイマー値をカウントダウンする。ただし、パケット転送ルール内の分類情報に適合するパケット（すなわち、分類情報が示すフローに属するパケット）をパケット転送装置２２が受信したときには、ルール管理手段４２は、その分類情報を含むパケット転送ルールのタイマー値を初期値にリセットする。
【００７１】
ルール管理手段４２は、タイマー値が０になったならば、そのタイマー値を含むパケット転送ルールをルールテーブル記憶手段４１から削除し、その旨の情報（以下、パケット転送ルール削除通知と記す。）を経路制御装置１０に送信する。
【００７２】
フロー特定手段４３は、他のノード（例えば、通信端末や他のパケット転送装置）からパケットを受信したときに、そのパケットに適合する分類情報を含むパケット転送ルールを、ルールテーブル記憶手段４１に記憶されているパケット転送ルールテーブルから検索する。検索に失敗したということは、記憶済みのパケット転送ルールに対応するフロー以外の新たなフローに属するパケットを受信したことを意味する。この場合、フロー特定手段４３は、新規フローを検出したことを示す通知（新規フロー検出通知）を経路制御装置１０に送信する。このとき、フロー特定手段４３は、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を新規フロー検出通知に含める。ここで、新規フロー検出通知に含められる、フローの通信経路を特定可能な情報および分類情報を作成可能な情報について説明する。
【００７３】
フローの通信経路を特定可能な情報は、受信したパケットが属している新規フローの通信経路を特定可能な情報である。フローの通信経路を特定可能な情報の例として、通信経路の両端点となる送信元および宛先の通信端末のアドレス情報が挙げられる。ただし、パケットが通信ネットワーク１（図１参照）のゲートウェイ（図示略）を介して、他の通信ネットワークに送られる場合には、通信経路の端点となる送信元の通信端末のアドレス情報があれば、ゲートウェイまでの通信経路を特定することができる。従って、通信経路の両端点となる送信元および宛先の通信端末のアドレス情報は、フローの通信経路を特定可能な情報の一例であり、宛先までの経路の態様によっては、宛先となる通信端末のアドレス情報が不要な場合もある。
【００７４】
分類情報として何を用いるかは、フローの識別粒度に応じて予め定めておけばよい。例えば、送信元および送信先のＭＡＣアドレス、ＩＰアドレス、送信元ポート番号、送信先ポート番号等の種々の情報の組み合わせでフローを識別する場合、パケット転送ルール生成手段３４は、パケットから特定されるそれらの情報を分類情報として定めればよい。あるいは、宛先ポート番号のみ、送信元ポート番号のみ等のように粗い粒度でフローを識別する場合には、パケット転送ルール生成手段３４は、パケットから特定されるそれらの情報を分類情報として定めればよい。分類情報を作成可能な情報は、パケット転送ルール生成手段３４によって分類情報とされる情報が包含されていればよい。
【００７５】
例えば、Ｅｔｈｅｒｎｅｔ（登録商標）およびＩＰ（Internet Protocol ）を前提とする場合には、フロー特定手段４３は、分類情報を作成可能な情報として、例えば、“送信元ＭＡＣアドレス”、“宛先ＭＡＣアドレス”、“Ｅｔｈｅｒｎｅｔ  Ｔｙｐｅ”、“ＶＬＡＮ  ＩＤ”、“ＶＬＡＮ  Ｐｒｉｏｒｉｔｙ”、“送信元ＩＰアドレス”、“宛先ＩＰアドレス”、“ＩＰプロトコル”、“送信元ポート番号”、“宛先ポート番号”を送信してもよい。さらに、パケット転送装置がパケットを受信したパケット受信ポート番号も分類情報を作成可能な情報に含めてもよい。ただし、ここに挙げた項目は、分類情報を作成可能な情報の例示であり、分類情報を作成可能な情報は、パケット転送ルール生成手段３４が分類情報として定める項目を含んでいればよい。また、フロー特定手段４３は、受信したパケットそのものを、分類情報を作成可能な情報として、新規フロー検出通知に含めて、経路制御装置１０に送信してもよい。
【００７６】
また、フローの通信経路を特定可能な情報および分類情報を作成可能な情報とが、重複してもよい。例えば、送信元や宛先の通信端末のアドレス情報が、フローの通信経路を特定可能な情報および分類情報を作成可能な情報の両方として用いられてもよい。
【００７７】
アクション実行手段４４は、フロー特定手段４３がパケット転送ルールの検索に成功した場合、受信したパケットに対して、そのパケット転送ルールに含まれるアクション情報が示す処理を実行する。
【００７８】
ルール管理手段４２、フロー特定手段４３およびアクション実行手段４４は、例えば、パケット転送プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、コンピュータのプログラム記憶装置（図示せず。）がパケット転送プログラムを記憶し、ＣＰＵがそのプログラムを読み込み、プログラムに従って、ルール管理手段４２、フロー特定手段４３およびアクション実行手段４４として動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
【００７９】
次に、経路制御装置１０の動作について説明する。
図４は、経路制御装置１０がパケット転送装置にパケット転送ルールを設定する動作の処理経過の例を示すフローチャートである。
【００８０】
ここでは、経路制御装置１０が、いずれかのパケット転送装置から新規フロー検出通知を受信したときにパケット転送ルールの設定を行う場合を例にして説明する。ただし、第１の実施形態では、経路制御装置１０は、図４に例示するパケット転送ルール設定処理を、パケット転送装置以外の装置からの命令をトリガとして開始してもよい。例えば、Ｗｅｂサーバが通信端末にパケットを送信する場合、Ｗｅｂサーバが新規フロー検出通知に相当する情報（具体的には、フローの通信経路を特定可能な情報および分類情報を作成可能な情報）を経路制御装置１０に送信し、経路制御装置１０は、その情報を受信したときに図４に例示する処理を開始してもよい。また、他の例として、通信端末がＳＩＰ（Session Initiation Protocol ）シグナリングを必要とするサービスを開始する際に、ＳＩＰサーバが新規フロー検出通知に相当する情報を経路制御装置１０に送信し、経路制御装置１０がその情報を受信したときに図４に例示する処理を開始する場合等が挙げられる。
【００８１】
経路制御装置が新規フロー検出通知を受信したということは、経路制御装置が新たなパケット転送ルールの生成を要求されたということを意味する。
【００８２】
経路制御装置１０がパケット転送装置から新規フロー検出通知を受信すると、パケット転送ルール生成手段３４は、新規フロー検出通知に含まれている「分類情報を作成可能な情報」を用いて、分類情報を決定する（ステップＳ１）。例えば、分類情報を作成可能な情報に、“送信元ＭＡＣアドレス”、“宛先ＭＡＣアドレス”、“Ｅｔｈｅｒｎｅｔ  Ｔｙｐｅ”、“ＶＬＡＮ  ＩＤ”、“ＶＬＡＮ  Ｐｒｉｏｒｉｔｙ”、“送信元ＩＰアドレス”、“宛先ＩＰアドレス”、“ＩＰプロトコル”、“送信元ポート番号”、“宛先ポート番号”、“パケット転送装置におけるパケット受信ポート番号”が含まれている場合、パケット転送ルール生成手段３４は、その一部または全部を分類情報として決定すればよい。どのような項目を分類情報とするかは、例えば、ネットワーク管理者によって予め定められている。ステップＳ１で決定された分類情報によってフローが識別されることになる。例えば、宛先ＭＡＣアドレスおよび宛先ＩＰアドレスが分類情報とされた場合、宛先ＭＡＣアドレスおよび宛先ＩＰアドレスがその分類情報に一致するパケットが、分類情報によって識別されるフローに属すると判定されることになる。
【００８３】
次に、通信端末位置管理手段３２が、宛先となる通信端末の位置確認を行う（ステップＳ２）。通信端末位置管理手段３２は、例えば、新規フロー検出通知に含まれる、宛先となる通信端末のアドレス情報を元に、その通信端末が、どのパケット転送装置のどのポートに接続されているのかを判断すればよい。また、例えば、Ｗｅｂサーバ等が新規フロー検出通知に相当する情報を経路制御装置１０に送信する場合には、通信端末位置管理手段３２は、その情報に含まれる、宛先となる通信端末のアドレス情報および送信元の通信端末のアドレス情報を元に、各通信端末が、どのパケット転送装置のどのポートに接続されているのかを判断すればよい。
【００８４】
続いて、経路計算手段３６は、トポロジー情報および通信端末位置管理手段３２による位置確認結果に基づいて、送信元の通信端末から宛先の通信端末への通信経路を計算する（ステップＳ３）。経路計算手段３６は、例えば、送信元の通信端末から宛先の通信端末への最短の通信経路を計算すればよい。ただし、通信経路の計算方法は、特に限定されない。
【００８５】
次に、パケット転送ルール生成手段３４は、ステップＳ３で計算された通信経路を複数の区間に分割して、各区間を決定する（ステップＳ４）。パケット転送ルール生成手段３４は、区間決定用情報記憶手段３５に記憶された区間決定用情報を参照して、通信経路を分割すればよい。また、通信経路の分割数は、２つであっても、３つ以上であってもよい。
【００８６】
例えば、各パケット転送装置２０〜２３が、他のノード（通信端末や他のパケット転送装置）受信したパケットに関して、パケットが属するフロー毎（換言すれば、パケットに合致する分類情報を含むパケット転送ルール毎）に、パケットの受信数をカウントし、そのカウント結果を定期的に統計情報として経路制御装置１０に送信する構成であるとする。各パケット転送装置２０〜２３は、例えば、定期的に統計情報を経路制御装置１０に送信すればよい。パケット転送ルール生成手段３４は、この統計情報を受信すると、区間決定用情報記憶手段３５に記憶させておく。パケット転送ルール生成手段３４は、ステップＳ４において、通信経路上のパケット転送装置の統計情報（受信パケットのカウント結果）を参照して、通信経路の各区間を決定してもよい。すなわち、統計情報の値がある値よりも大きい区間と、その値より小さい区間とに通信経路を分割してもよい。
【００８７】
また、例えば、区間決定用情報として、どのパケット転送装置がアンカーノードに該当しているかを示す情報が予め記憶されている場合には、アンカーノードに該当するパケット転送装置で区間を区切って、通信経路を分割してもよい。
【００８８】
上記の処理は、通信経路を分割して区間を決定する処理の例であり、区間を決定する処理は、上記の例に限定されない。
【００８９】
区間決定後、パケット転送ルール生成手段３４は、区間毎に、パケット転送装置に設定するタイマー値を変化させて、通信経路上の各パケット装置に設定するタイマー値を決定する（ステップＳ５）。パケット転送ルール生成手段３４は、例えば、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、各区間のタイマー値を決定してもよい。ただし、これは、タイマー値決定方法の一例であり、他の方法で各区間のタイマー値を決定してもよい。以下の説明では、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるようにタイマー値を決定する場合を例にして説明する。
【００９０】
次に、パケット転送ルール生成手段３４は、ステップＳ３で決定された通信経路上のパケット転送装置のうち、ステップＳ１で決定された分類情報と同じ分類情報を含むパケット転送ルールが設定されていないパケット転送装置を特定する。パケット転送ルール生成手段３４は、この特定処理を、ルール設定内容記憶手段３７に記憶された情報を参照して行えばよい。そして、パケット転送ルール生成手段３４は、通信経路上のパケット転送装置のうち、ステップＳ１で決定された分類情報と同じ分類情報を含むパケット転送ルールが設定されていない各パケット転送装置に対するアクション情報を決定する。さらに、パケット転送ルール生成手段３４は、そのアクション情報に、そのパケット転送装置が属する区間について決定したタイマー値を含め、そのアクション情報およびステップＳ１で決定した分類情報とを、そのパケット転送装置に設定するパケット転送ルールとして定める（ステップＳ６）。ただし、パケット転送ルールに、分類情報およびアクション情報以外の情報を含めてもよい。
【００９１】
パケット転送ルール生成手段３４は、個々のパケット転送装置に対するアクション情報を、予め定められたアクション情報決定用ルールに従って決定すればよい。アクション情報決定用ルールは、アクション情報を決定するためのルールである。例えば、「通信端末の種類に依らず、各通信端末は、経路制御装置１０以外のどの端末とも通信可能であり、細かなフロー制御は行わない」というルールが定められているとする。また、宛先ＭＡＣアドレスを分類情報としているものとする。このルールが定められている場合、パケット転送ルール生成手段３４は、新規フロー検出通知に含まれている宛先ＭＡＣアドレスが経路制御装置１０以外の端末のＭＡＣアドレスであるならば、アクション情報として、通信経路上の次のノードへのフォワーディング（Forwarding）を、アクション情報として定めればよい。また、新規フロー検出通知に含まれている宛先ＭＡＣアドレスが経路制御装置１０のＭＡＣアドレスである場合、アクション情報として、パケットの廃棄を定めればよい。
【００９２】
ステップＳ６の後、パケット転送装置管理手段３８は、ステップＳ６で定められた各パケット転送ルールを、設定対象となる各パケット転送装置に設定する（ステップＳ７）。例えば、パケット転送装置管理手段３８は、パケット転送装置に対して、パケット転送ルールの設定指示とともにパケット転送ルールを送信すればよい。さらに、パケット転送装置管理手段３８は、ステップＳ６において、どのパケット転送装置にどのような内容のパケット転送ルールを設定したのかを、ルール設定内容記憶手段３７に記憶させる。
【００９３】
図５は、パケット転送装置においてタイマー値が０になったパケット転送ルールがパケット転送ルールテーブルから削除され、経路制御装置１０がパケット転送ルール削除通知を受信したときの処理経過の例を示すフローチャートである。経路制御装置１０がパケット転送装置からパケット転送ルール削除通知を受信すると、パケット転送ルール削除通知で示されたパケット転送ルールがパケット転送ルール削除通知の送信元のパケット転送装置に設定されているという情報を、パケット転送装置管理手段３８がルール設定内容記憶手段３７から削除する（ステップＳ１１）。例えば、パケット転送装置２２から、あるパケット転送ルール（ルールＡとする。）が削除されたというパケット転送ルール削除通知を受信したとする。場合、パケット転送装置管理手段３８は、ルールＡがパケット転送装置２２に設定されているという情報をルール設定内容記憶手段３７から削除すればよい。
【００９４】
この結果、どのパケット転送装置に、どのようなパケット転送ルールが設定されているかという情報が、最新の情報に更新される。
【００９５】
次に、パケット転送装置の動作について説明する。ここでは、図３および図６、図７を参照して、パケット転送装置２２の動作として説明する。図１に示す他の各パケット転送装置２０，２１，２３も同様の動作を行う。
【００９６】
図６は、パケット転送装置２２が他のノードからパケットを受信したときの処理経過の例を示すフローチャートである。パケット転送装置２２が他のノードからパケットを受信すると（ステップＳ２１）、フロー特定手段４３（図３参照）は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段４１に記憶されているか否かを判定する（ステップＳ２２）。具体的には、フロー特定手段４３は、ルールテーブル記憶手段４１に記憶されたパケット転送ルールテーブルの中に、分類情報が受信したパケットに適合しているパケット転送ルールがあるか否かを判定する。
【００９７】
受信したパケットに適合するパケット転送ルールが記憶されていない場合（ステップＳ２２におけるＮｏ）、フロー特定手段４３は、受信したパケットをバッファリングし、そのパケットに基づいて、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を抽出し、それらの情報を含む新規フロー検出通知を経路制御装置１０に送信する（ステップＳ２３）。また、フロー特定手段４３は、受信したパケットそのものを新規フロー検出通知に含めてもよい。経路制御装置１０は、この新規フロー検出通知を受信することにより、図４に示すステップＳ１〜Ｓ７の処理を行い、ステップＳ７（図４参照）で、パケット転送装置２２にパケット転送ルールを送信することになる。
【００９８】
パケット転送装置２２のルール管理手段４２は、経路制御装置１０からパケット転送ルールおよびその設定指示を受信すると、その指示に従って、パケット転送ルールを設定する（ステップＳ２４）。具体的には、ルール管理手段４２は、パケット転送ルールをルールテーブル記憶手段４１に記憶させる。
【００９９】
ステップＳ２４で設定したパケット転送ルールは、ステップＳ２１で受信したパケットが属するフローについてのパケット転送ルールである。ステップＳ２４ののち、アクション実行手段４４は、ステップＳ２４で設定したパケット転送ルールに含まれるアクション情報に従って、ステップＳ２１で受信したパケットを処理する（ステップＳ２５）。
【０１００】
一方、ステップＳ２１で受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段４１に記憶されている場合（ステップＳ２２のＹｅｓ）、ルール管理手段４２は、そのパケット転送ルールのタイマー値を初期値にリセットし（ステップＳ２６）、アクション実行手段４４は、そのパケット転送ルールに含まれるアクション情報に従って、ステップＳ２１で受信したパケットを処理する（ステップＳ２７）。
【０１０１】
また、図７は、パケット転送装置２２のパケット転送ルールテーブル管理処理の処理経過の例を示すフローチャートである。ルール管理手段４２は、時間の経過とともに、パケット転送ルールテーブルに属する各パケット転送ルールのタイマー値を減少させ、タイマー値が０になったか否かを判定する処理を繰り返す（ステップＳ３１，Ｓ３２）。
【０１０２】
タイマー値が０になったパケット転送ルールを検出した場合（ステップＳ３２におけるＹｅｓ）、ルール管理手段４２は、ルールテーブル記憶手段４１に記憶されているパケット転送ルールテーブルから、タイマー値が０になったパケット転送ルールを削除し、削除したパケット転送ルールを指定してパケット転送ルール削除通知を経路制御装置１０に送信する（ステップＳ３３）。経路制御装置１０は、このパケット転送ルール削除通知に応じて、図５に示すステップＳ１１の処理を実行する。
【０１０３】
タイマー値が０になっていないパケット転送ルールについては、ルール管理手段４２は、ステップＳ３１，Ｓ３２を繰り返す。この間に、ルール管理手段４２がタイマー値の初期化（ステップＳ２６）を行う場合もある。
【０１０４】
図８は、第１の実施形態における通信システムの動作例を示す説明図である。以下に示す例では、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、経路制御装置１０が各区間のタイマー値を決定する場合を例にして説明する。また、ここでは、通信端末５２および通信端末５３が５分間の間隔を空けて通信端末５０にパケットを送信する状況を例にして説明する。
【０１０５】
通信端末５２は、通信端末５０宛にデータパケットを送信する（ステップＳ４１）。このパケットは、通信端末５２が接続されているパケット転送装置２２に届く。
【０１０６】
パケット転送装置２２がデータパケットを受信すると、パケット転送装置２２のフロー特定手段４３（図３参照）は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段４１に記憶されているか否かを判定する。初期状態では、パケット転送ルールはパケット転送装置２２のルールテーブル記憶手段４１に記憶されていない。そのため、パケット転送装置２２のフロー特定手段４３は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置１０に送信する（ステップＳ４２、図８参照）。既に説明したように、フロー特定手段４３は、フローの通信経路を特定可能な情報および分類情報を作成可能な情報として、受信したパケットそのものを含む新規フロー検出通知を送信してもよい。
【０１０７】
経路制御装置１０のパケット転送ルール生成手段３４（図２参照）は、パケット転送装置２２からこの新規フロー検出通知を受信すると、パケット転送装置２２が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報として定めたとする。これは、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を有するパケットのフローを識別する分類情報である。
【０１０８】
次に、経路制御装置１０の通信端末位置管理手段３３が、宛先である通信端末５０の位置確認を行い、経路制御装置１０の経路計算手段３６が、通信端末５２から通信端末５０までの通信経路を計算する。ここでは、経路計算手段３６が、パケット転送装置２２→パケット転送装置２１→パケット転送装置２０という通信経路を選択したものとする。
【０１０９】
次に、経路制御装置１０のパケット転送ルール生成手段３４は、「パケット転送装置２２→パケット転送装置２１→パケット転送装置２０」という通信経路を分割して、複数の区間を定める。この処理は、例えば、各パケット転送装置から受信する統計情報や、あるいは、予めアンカーノードに該当すると定められたパケット転送装置の情報等を参照して行えばよい。本例では、パケット転送ルール生成手段３４が、「パケット転送装置２２→パケット転送装置２１→パケット転送装置２０」という通信経路を、パケット転送装置２２を含む区間と、パケット転送装置２１からパケット転送装置２０までの区間とに分割したものとする。
【０１１０】
続いて、パケット転送ルール生成手段３４は、区間毎に、パケット転送装置に設定するタイマー値を変化させて、通信経路上の各パケット装置２２，２１，２０に設定するタイマー値を決定する。本例では、パケット転送ルール生成手段３４が、宛先の通信端末５０に近い方の区間に属するパケット転送装置２１，２０に設定するタイマー値を１０分とし、宛先の通信端末５０から遠い方の区間に属するパケット転送装置２２に設定するタイマー値を１分に決定するものとする。
【０１１１】
次に、パケット転送ルール生成手段３４は、「パケット転送装置２２→パケット転送装置２１→パケット転送装置２０」という通信経路上の各パケット転送装置のうち、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報とするパケット転送ルールが設定されていないパケット転送装置を特定し、その各パケット転送装置に設定するアクション情報を決定する。ここでは、パケット転送装置２２，２１，２０のいずれにも、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報とするパケット転送ルールが設定されておらず、パケット転送ルール生成手段３４は、パケット転送装置２２，２１，２０に設定するアクション情報をそれぞれ定める。また、ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段３４は、パケット転送装置２２に設定するアクション情報にはタイマー値「１分」を含め、パケット転送装置２１，２０に設定する各アクション情報にはそれぞれタイマー値「１０分」を含める。そして、パケット転送ルール生成手段３４は、パケット転送装置毎に、上記の分類情報とアクション情報とを含むパケット転送ルールを定める。
【０１１２】
そして、経路制御装置１０のパケット転送装置管理手段３８は、パケット転送装置２２，２１，２０に対して、それぞれパケット転送ルールを設定する（ステップＳ４３，図８参照）。図８に示すステップＳ４３は、図４に示すステップＳ１〜Ｓ７の動作に相当する。
【０１１３】
また、経路制御装置１０のパケット転送装置管理手段３８は、パケット転送装置２２，２１，２０に対してパケット転送ルールを設定した後、パケット転送装置２２，２１，２０に対してそれぞれどのようなパケット転送ルールを設定したのかをルール設定内容記憶手段３７に記憶させる。
【０１１４】
パケット転送ルールの設定が完了すると、パケット転送装置２２のアクション実行手段４４（図３参照）は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード（パケット転送装置２１）に転送する（ステップＳ４４）。
【０１１５】
パケット転送装置２１，２０には、ステップＳ４３（図８参照）で、パケット転送ルールが設定されている。よって、パケット転送装置２１，２０は、受信するデータパケットをパケット転送ルールに従って順次転送し（ステップＳ４５，Ｓ４６）、データパケットは宛先の通信端末５０に届く。
【０１１６】
その後も、通信端末５２が通信端末５０を宛先として送信したデータパケットは、ステップＳ４３で設定されたパケット転送ルールに基づいて、パケット転送装置２２→パケット転送装置２１→パケット転送装置２０の順に転送され、通信端末５０に届く。各パケット転送装置２２，２１，２０は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を含むデータパケットを受信すると、タイマー値を初期値（本例では１０分または１分）にリセットする。
【０１１７】
通信端末５０と通信端末５２との通信が終了して１分経過すると、パケット転送装置２２では、ステップＳ４３（図８参照）で設定されたパケット転送ルールのタイマー値が０となり、パケット転送装置２２のルール管理手段４２（図３参照）は、ステップＳ４３で設定されたパケット転送ルールを削除する（ステップＳ４７、図８参照）。そして、パケット転送装置２２のルール管理手段４２は、そのパケット転送ルールを削除したことを示すパケット転送ルール削除通知を経路制御装置１０に送信する（ステップＳ４８、図８参照）。
【０１１８】
経路制御装置１０のパケット転送装置管理手段３８は、パケット転送ルール削除通知で通知されたパケット転送ルールがパケット転送装置２２に設定されているという情報を、ルール設定内容記憶手段３７（図２参照）から削除する。
【０１１９】
一方、通信端末５０に近い方の区間に属するパケット転送装置２１，２０では、タイマー値として１０分が設定されていたので、パケット転送装置２１，２０は、この時点において、パケット転送ルールを削除しない。
【０１２０】
また、通信端末５０と通信端末５２との通信の５分後に、通信端末５３が通信端末５０にデータパケットを送信したとする。このパケットは、通信端末５３が接続されているパケット転送装置２３に届く。この動作は、既に説明したステップＳ４１と同様である。
【０１２１】
パケット転送装置２３がデータパケットを受信すると、パケット転送装置２３のフロー特定手段４３（図３参照）は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段４１に記憶されているか否かを判定する。ここでは、パケット転送ルールが記憶されていないため、パケット転送装置２３のフロー特定手段４３は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置１０に送信する。この動作は、既に説明したステップＳ４２と同様である。
【０１２２】
経路制御装置１０のパケット転送ルール生成手段３４（図２参照）は、パケット転送装置２３からこの新規フロー検出通知を受信すると、パケット転送装置２３が受信したパケットが属する新たなフローを識別する分類情報を生成する。このパケットの宛先も通信端末５０であるので、パケット転送ルール生成手段３４は、パケット転送装置２２から新規フロー検出通知を受信したときと同様に、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報と定める。
【０１２３】
次に、経路制御装置１０の通信端末位置管理手段３３が、宛先である通信端末５０の位置確認を行い、経路制御装置１０の経路計算手段３６が、通信端末５３から通信端末５０までの通信経路を計算する。ここでは、経路計算手段３６が、パケット転送装置２３→パケット転送装置２１→パケット転送装置２０という通信経路を選択したものとする。
【０１２４】
次に、経路制御装置１０のパケット転送ルール生成手段３４は、「パケット転送装置２３→パケット転送装置２１→パケット転送装置２０」という通信経路を分割して、複数の区間を定める。ここでは、パケット転送ルール生成手段３４が、「パケット転送装置２３→パケット転送装置２１→パケット転送装置２０」という通信経路を、パケット転送装置２３を含む区間と、パケット転送装置２１からパケット転送装置２０までの区間とに分割したものとする。
【０１２５】
続いて、パケット転送ルール生成手段３４は、区間毎に、パケット転送装置に設定するタイマー値を変化させて、通信経路上の各パケット装置２３，２１，２０に設定するタイマー値を決定する。本例では、パケット転送ルール生成手段３４が、宛先の通信端末５０に近い方の区間に属するパケット転送装置２１，２０に設定するタイマー値を１０分とし、宛先の通信端末５０から遠い方の区間に属するパケット転送装置２３に設定するタイマー値を１分に決定するものとする。
【０１２６】
次に、パケット転送ルール生成手段３４は、「パケット転送装置２３→パケット転送装置２１→パケット転送装置２０」という通信経路上の各パケット転送装置のうち、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報とするパケット転送ルールが設定されていないパケット転送装置を特定し、その各パケット転送装置に設定するアクション情報を決定する。パケット転送ルール生成手段３４は、ルール設定内容記憶手段３７を参照して、パケット転送装置２１，２０には、まだ、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報とするパケット転送ルールが残っていると判断する。そして、パケット転送ルール生成手段３４は、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報とするパケット転送ルールが設定されていないパケット転送装置として、パケット転送装置２３を特定する。パケット転送ルール生成手段３４は、そのパケット転送装置２３に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段３４は、パケット転送装置２３に設定するアクション情報にはタイマー値「１分」を含め、上記の分類情報とこのアクション情報とを含むパケット転送ルールを定める。
【０１２７】
そして、経路制御装置１０のパケット転送装置管理手段３８は、パケット転送装置２３に対して上記のパケット転送ルールを設定し、パケット転送装置２３にどのようなパケット転送ルールを設定したのかをルール設定内容記憶手段３７に記憶させる（ステップＳ４３ａ、図８参照）。図８に示すステップＳ４３ａは、図４に示すステップＳ１〜Ｓ７の動作に相当する。
【０１２８】
パケット転送ルールの設定が完了すると、パケット転送装置２３のアクション実行手段４４（図３参照）は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード（パケット転送装置２１）に転送する。この動作は、前述のステップＳ４４と同様である。
【０１２９】
パケット転送装置２１，２０には、ステップＳ４３（図８参照）で設定されたパケット転送ルールが削除されずに残っている。よって、パケット転送装置２１，２０は、受信するデータパケットをパケット転送ルールに従って順次転送し、データパケットは宛先の通信端末５０に届く。この動作は、前述のステップＳ４５，Ｓ４６と同様である。
【０１３０】
その後も、通信端末５３が通信端末５０を宛先として送信したデータパケットは、パケット転送装置２３，２１，２０に設定されているパケット転送ルールに基づいて、パケット転送装置２２→パケット転送装置２１→パケット転送装置２０の順に転送され、通信端末５０に届く。各パケット転送装置２２，２１，２０は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を含むデータパケットを受信すると、タイマー値を初期値（本例では１０分または１分）にリセットする。
【０１３１】
通信端末５０と通信端末５３との通信終了後、パケット転送装置２１，２０のパケット転送ルールがまだ残っているうちに、他の通信端末が通信端末５０を宛先としてパケットを送信した場合の動作も同様である。
【０１３２】
本実施形態によれば、経路制御装置１０がフローの通信経路を分割して複数の区間を定め、パケット転送装置に設定するタイマー値の値を区間毎に変える。従って、分類情報に適合するパケットが多く通過すると考えられる区間ではタイマー値を大きく設定することにより、短期間で同じパケット転送ルールを繰り返し設定することを防止することができる。その結果、経路制御装置１０の処理負荷を抑えることができる。一方、分類情報に適合するパケットの通過量が少ないと考えられる区間では、タイマー値を小さく設定することにより、通信終了により使用されなくなったパケット転送ルールが長時間設定されたままになってしまうことを防止することができる。このように、本実施形態によれば、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる。
【０１３３】
以上の説明では、各パケット転送装置のルール管理手段４２（図３参照）が、パケット転送ルール内の分類情報に適合するパケットを受信したときに、そのパケット転送ルールのタイマー値を初期値にリセットする場合を例にして説明した。ルール管理手段４２は、パケット転送ルール内の分類情報に適合するパケットを受信したときに、タイマー値のリセットを行わなくてもよい。この場合、図６に例示する処理において、ステップＳ２６を実行しなければよい。
【０１３４】
また、上記の説明では、タイマー値として１分または１０分を定める場合を例示したが、この値は例示であり、各区間のタイマー値は１分または１０分に限定されるわけではない。
【０１３５】
また、分類情報に適合するパケットが多く通過すると考えられる区間において、タイマー値を１０分等の値とするのではなく、無限大としてもよい。この場合、パケット転送装置のルール管理手段４２（図３参照）は、タイマー値が無限大であるパケット転送ルールに関しては、そのパケット転送ルールが不要になったと判定したときに削除すればよい。パケット転送ルールが不要になったという判定は、例えば、以下のように行えばよい。各端末装置５０，５２，５３が、モバイル機器である場合等では、各通信端末５０，５２，５３は、電源オフ時等に、明示的に通信ネットワーク１との接続を断つ旨を明示的に基地局に通知する。この通知を受けた基地局は、その旨を経路制御装置１０に通知する。経路制御装置１０は、この通知に基づいて、電源オフ等となった通信端末に関するフローを特定し、そのフローについてのパケット転送ルールを設定しているパケット転送装置に、削除を指示する。パケット転送装置のルール管理手段４２は、この指示を受けたときに、パケット転送ルールが不要になったと判定し、パケット転送ルールを削除すればよい。ただし、この処理は例示であり、パケット転送装置のルール管理手段４２は、他の判定基準によって、パケット転送ルールが不要になったと判定してもよい。なお、基地局は、パケット転送装置によって実現されても、パケット転送装置とは別個に設置されてもよい。
【０１３６】
また、図８に示す例では、通信経路の分割数を２とする場合を示しが、通信経路の分割数は２に限定されない。経路制御装置１０は、通信経路を３つ以上に分割し、３つ以上の区間を定めてもよい。
【０１３７】
また、上記の説明では、パケット転送ルール生成手段３４が、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、各区間のタイマー値を決定する場合を例にして説明した。タイマー値の決定方法はこの方法に限定されず、例えば、以下のような場合には、宛先となる通信端末により近い区間で、タイマー値が小さくなるように決定してもよい。図９は、宛先となる通信端末により近い区間でタイマー値をより小さくする状況の例を示す説明図である。図９に示す例では、通信端末５５が、モバイル端末である通信端末５６を宛先としてパケットを送信しているとする。通信端末５６の移動前では、「パケット転送装置２５→パケット転送装置２６→パケット転送装置２７」という通信経路が選択され、経路制御装置（図９において図示略）が、区間Ａ，Ｂを定め、区間Ａのタイマー値を区間Ｂのタイマー値より大きく定めていたとする。その後、通信端末５６が移動して、通信端末５６が接続されるパケット転送装置がパケット転送装置２８に切り替わったことにより、経路制御装置が「パケット転送装置２５→パケット転送装置２６→パケット転送装置２７」という通信経路にさらにパケット転送装置２８を追加したとする。このとき、経路制御装置は、通信経路に追加したパケット転送装置２８を含む区間Ｃにおけるタイマー値を、区間Ａにおけるタイマー値よりも小さな値に定めてもよい。
【０１３８】
実施形態２．
図１０は、本発明の通信システムの第２の実施形態の例を示すブロック図である。第２の実施形態の通信システムは、経路制御装置６０と、通信ネットワーク１に属するパケット転送装置２０〜２３とを備える。図１０では、４台のパケット転送装置２０〜２３を図示しているが、図１０は通信システムの例示であり、パケット転送装置の台数やトポロジーは、図１０に示す例に限定されない。図１０に示す例では、通信端末５０，５２，５３が、それぞれ、パケット転送装置２０，２２，２３に接続され、各パケット転送装置は、通信端末間で送受信されるパケットを転送する。通信端末５０，５２，５３は、第１の実施形態で示した通信端末５０，５２，５３（図１参照）と同様の端末である。なお、通信端末の台数や、通信端末が通信ネットワーク１のどのパケット転送装置に接続されるのかに関しても、特に限定されない。
【０１３９】
経路制御装置６０は、新規フロー検出通知をパケット転送装置から受信すると、送信元の端末装置から宛先の端末装置までの通信経路の中で、新規フロー検出通知を送信したパケット転送装置を起点とする区間を特定する。そして、経路制御装置６０は、フローに応じた分類情報およびアクション情報を含むパケット転送ルールを生成し、特定した区間に存在するパケット転送装置に対してパケット転送ルールを設定する。
【０１４０】
第１の実施形態では、経路制御装置１０（図１参照）が新規フロー検出通知受信時に送信元から宛先までの通信経路上の各パケット転送装置に対してパケット転送ルールを設定する。これに対して、第２の実施形態における経路制御装置６０は、上記のように、新規フロー検出通知受信時に通信経路上の一部の区間を特定し、その区間に存在する各パケット転送装置に対してパケット転送ルールを設定する。パケットがその区間外のパケット転送装置に転送されると、そのパケット転送装置が経路制御装置６０に新規フロー検出通知送信することで、経路制御装置６０は、そのパケット転送装置を起点とする区間を特定し、その区間内の各パケット転送装置にパケット転送ルールを設定する。第２の実施形態の通信システムは、この動作を繰り返すことで、パケットを宛先の通信端末まで転送する。
【０１４１】
また、経路制御装置６０は、通信経路内における区間を特定したときに、その区間に対応するタイマー値を定め、その区間における各パケット転送ルールにそのタイマー値を含める。従って、通信経路上のパケット転送装置に設定されるパケット転送ルールに含まれるタイマー値は、パケット転送装置が属する区間によって異なる。
【０１４２】
なお、第２の実施形態においても、第１の実施形態と同様に、アクション情報にタイマー値を含める場合を例にして説明する。ただし、タイマー値はアクション情報に含まれていなくても、パケット転送ルールに含まれていればよい。
【０１４３】
第２の実施形態におけるパケット転送装置２０〜２３は、パケット転送ルールを削除した場合にパケット転送ルール削除通知を経路制御装置６０に送信する必要がない点で、第１の実施形態におけるパケット転送装置２０〜２３と異なる。他の点に関しては、第２の実施形態におけるパケット転送装置２０〜２３は、第１の実施形態におけるパケット転送装置２０〜２３と同様である。
【０１４４】
パケット転送装置２０〜２３は、例えば、オープンフローにおけるフロースイッチである。また、経路制御装置６０は、例えば、オープンフローにおける経路制御装置である。また、パケット転送ルールは、例えば、オープンフローにおけるフローエントリ情報である。
【０１４５】
図１１は、第２の実施形態における経路制御装置６０の構成例を示すブロック図である。第１の実施形態における経路制御装置１０の構成要素と同様の構成要素については、図２と同一の符号を付し、詳細な説明を省略する。経路制御装置６０は、トポロジー情報記憶手段３１と、トポロジー情報登録手段３２と、通信端末位置管理手段３３と、パケット転送ルール生成手段３４ａと、区間決定用情報記憶手段３５ａと、経路計算手段３６と、パケット転送装置管理手段３８ａとを備える。経路制御装置６０は、第１の実施形態におけるルール設定内容記憶手段３７（図２参照）を備えていなくてよい。
【０１４６】
トポロジー情報記憶手段３１、トポロジー情報登録手段３２、通信端末位置管理手段３３および経路計算手段３６は、第１の実施形態と同様である。
【０１４７】
パケット転送ルール生成手段３４ａは、新規フロー検出通知をパケット転送装置から受信すると、送信元の端末装置から宛先の端末装置までの通信経路の中で、新規フロー検出通知を送信したパケット転送装置を起点とする区間を特定する。そして、パケット転送ルール生成手段３４ａは、分類情報、その区間に応じたタイマー値、アクション情報を決定し、それらを含むパケット転送ルールを定める。
【０１４８】
第２の実施形態において、区間決定用情報記憶手段３５ａは、経路計算手段３６によって計算される通信経路を分割する分割点（以下、経路分割点と記す）として予め定められるパケット転送装置の情報を記憶する。すなわち、どのパケット転送装置が経路分割点として予め定められているのかを示す情報が、区間決定用情報となる。経路分割点として定められるパケット転送装置の台数は特に限定されない。
【０１４９】
経路分割点の決定方法は、特に限定されない。例えば、第１の実施形態で例示したように、経路制御装置６０が、各パケット転送装置から統計情報（例えば、受信パケット数のカウント結果等）を受信し、パケット転送装置毎の統計情報を保持しておいてもよい。そして、例えば、パケット転送ルール生成手段３４ａが、隣接するパケット転送装置よりも統計情報の値が所定値以上大きくなっているパケット転送装置を経路分割点として定めて、どのパケット転送装置を経路分割点に定めたのかを区間決定用情報記憶手段３５ａに記憶させておいてもよい。
【０１５０】
また、あるいは、アンカーノードとして定められているパケット転送装置を経路分割点として、どのパケット転送装置が経路分割点に該当するのかを区間決定用情報記憶手段３５ａに予め記憶させておいてもよい。
【０１５１】
パケット転送ルール生成手段３４ａは、区間決定用情報記憶手段３５ａに記憶された情報を参照して、区間を決定する。
【０１５２】
パケット転送装置管理手段３８ａは、各パケット転送装置２０〜２３を管理する。具体的には、パケット転送装置管理手段３８ａは、パケット転送ルール生成手段３４ａに生成されたパケット転送ルールをパケット転送装置に設定する処理を行う。この点は、第１の実施形態におけるパケット転送装置管理手段３８と同様である。ただし、第２の実施形態では、ルール設定内容記憶手段３７（図２参照）が設けられていなくてもよい。従って、パケット転送装置管理手段３８ａは、ルール設定内容記憶手段３７に情報を記憶させたり、あるいは情報を削除したりする動作を行わなくてよい。
【０１５３】
トポロジー情報登録手段３２、通信端末位置管理手段３３、パケット転送ルール生成手段３４ａ、経路計算手段３６、パケット転送装置管理手段３８ａは、例えば、経路制御用プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、コンピュータのプログラム記憶装置（図示せず）が経路制御用プログラムを記憶し、ＣＰＵがそのプログラムを読み込み、プログラムに従って、トポロジー情報登録手段３２、通信端末位置管理手段３３、パケット転送ルール生成手段３４ａ、経路計算手段３６およびパケット転送装置管理手段３８ａとして動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
【０１５４】
図１２は、第２の実施形態におけるパケット転送装置の構成例を示すブロック図である。図１２では、図１０におけるパケット転送装置２２を例にして説明するが、他のパケット転送装置２０，２１，２３に関しても同様の構成である。また、第１の実施形態におけるパケット転送装置の構成要素と同様の構成要素については、図３と同一の符号を付し、詳細な説明を省略する。パケット転送装置２２は、ルールテーブル記憶手段４１と、ルール管理手段４２ａと、フロー特定手段４３と、アクション実行手段４４とを備える。
【０１５５】
ルールテーブル記憶手段４１、フロー特定手段４３およびアクション実行手段４４は、第１の実施形態と同様である。
【０１５６】
第２の実施形態におけるルール管理手段４２ａは、タイマー値が０になったパケット転送ルールをルールテーブル記憶手段４１から削除したときにパケット転送ルール削除通知を経路制御装置６０に送信しなくてよい点で、第１の実施形態におけるルール管理手段４２と異なる。パケット転送ルール削除通知を経路制御装置６０に送信しなくてよい点以外に関しては、ルール管理手段４２ａは、第１の実施形態におけるルール管理手段４２と同様である。
【０１５７】
ルール管理手段４２ａ、フロー特定手段４３およびアクション実行手段４４は、例えば、パケット転送プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、コンピュータのプログラム記憶装置（図示せず。）がパケット転送プログラムを記憶し、ＣＰＵがそのプログラムを読み込み、プログラムに従って、ルール管理手段４２ａ、フロー特定手段４３およびアクション実行手段４４として動作すればよい。また、これらの各手段がそれぞれ別々のハードウェアで実現されていてもよい。
【０１５８】
次に、経路制御装置６０の動作について説明する。
図１３は、経路制御装置６０がパケット転送装置にパケット転送ルールを設定する動作の処理経過の例を示すフローチャートである。
【０１５９】
経路制御装置６０がパケット転送装置から新規フロー検出通知を受信すると、パケット転送ルール生成手段３４ａは、新規フロー検出通知に含まれている「分類情報を作成可能な情報」を用いて、分類情報を決定する（ステップＳ１）。次に、通信端末位置管理手段３２が、宛先となる通信端末の位置確認を行う（ステップＳ２）。続いて、経路計算手段３６が、トポロジー情報および通信端末位置管理手段３２による位置確認結果に基づいて、送信元の通信端末から宛先の通信端末への通信経路を計算する（ステップＳ３）。経路計算手段３６は、例えば、送信元の通信端末から宛先の通信端末への最短の通信経路を計算すればよい。ただし、通信経路の計算方法は、特に限定されない。上記のステップＳ１〜Ｓ３の処理は、第１の実施形態におけるステップＳ１〜Ｓ３（図４参照）と同様である。
【０１６０】
次に、パケット転送ルール生成手段３４ａが、送信元の通信端末から宛先の通信端末への通信経路上の区間であって、新規フロー検出通知を送信したパケット転送装置を起点とする区間を決定する（ステップＳ７１）。以下、新規フロー検出通知を送信したパケット転送装置を、起点となるパケット転送装置と記す。パケット転送ルール生成手段３４ａは、ステップＳ７１において、起点となるパケット転送装置が送信元の通信端末から宛先の通信端末への通信経路上で宛先の通信端末に最も近い経路分割点であるか否かを判定する。起点となるパケット転送装置が宛先の通信端末に最も近い経路分割点でない場合、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置から宛先の通信端末へ向かう経路上で、起点となるパケット転送装置に最も近い経路分割点を特定し、起点となるパケット転送装置からその経路分割点の一つ前のパケット転送装置までを、１つの区間として決定する。また、起点となるパケット転送装置が宛先の通信端末に最も近い経路分割点である場合には、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置から、宛先の通信端末に接続されているパケット転送装置までを、１つの区間として決定する。
【０１６１】
図１４は、ステップＳ７１の処理の例を示す説明図である。通信端末８１が送信元となり、通信端末８０が宛先であるとする。そして、送信元の通信端末８１から宛先の通信端末８０までの通信経路として、パケット転送装置７１，７２，７３，７４，７５，・・・，７６，７７，７８という順番の経路が定められているとする。また、図１４において、パケット転送装置７３，７５，７６が経路分割点として定められているとする。この場合、通信経路上で宛先の通信端末８０に最も近い経路分割点は、パケット転送装置７６である。
【０１６２】
例えば、パケット転送装置７１が経路制御装置６０（図１４において図示略）に新規フロー検出通知を送信したとする。パケット転送装置７１は、通信経路上で宛先の通信端末８０に最も近い経路分割点ではない。従って、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置７１から宛先の通信端末８０に向かう経路上で、起点となるパケット転送装置７１に最も近い経路分割点７３を特定し、パケット転送装置７１から経路分割点７３の一つ前のパケット転送装置７２までを一つの区間とする（図１４に示す区間Ｐ）。
【０１６３】
また、例えば、経路分割点であるパケット転送装置７３が経路制御装置６０（図１４において図示略）に新規フロー検出通知を送信したとする。パケット転送装置７３は、通信経路上で宛先の通信端末８０に最も近い経路分割点ではない。従って、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置７３から宛先の通信端末８０に向かう経路上で、起点となるパケット転送装置７３に最も近い経路分割点７５を特定し、パケット転送装置７３から経路分割点７５の一つ前のパケット転送装置７４までを一つの区間とする（図１４に示す区間Ｑ）。
【０１６４】
また、例えば、経路分割点であるパケット転送装置７６が経路制御装置６０（図１４において図示略）に新規フロー検出通知を送信したとする。パケット転送装置７３は、通信経路上で宛先の通信端末８０に最も近い経路分割点である。従って、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置７６から宛先の通信端末８０に接続されているパケット転送装置７８までを一つの区間とする（図１４に示す区間Ｒ）。
【０１６５】
ステップＳ７１の次に、パケット転送ルール生成手段３４ａは、ステップＳ７１で決定した区間に属するパケット転送装置に設定するタイマー値を決定する（ステップＳ７２）。本例では、宛先の通信端末に近い区間ほど大きなタイマー値を定め、宛先の通信端末から遠い区間ほど大きなタイマー値を定める場合を例にして説明する。宛先の通信端末と、ステップＳ７１で定めた区間との近さは、ステップＳ７１で起点としたパケット転送装置（すなわち、新規フロー検出通知を送信したパケット転送装置）より後の、宛先の端末装置までの間の経路上に存在する経路分割点の数で表すことができる。そのような経路分割点が少ないほど、ステップＳ７１で定めた区間は宛先の通信端末に近いと言うことができ、また、そのような経路分割点が多いほど、ステップＳ７１で定めた区間は宛先の通信端末から遠いということができる。パケット転送ルール生成手段３４ａは、ステップＳ７１で起点としたパケット転送装置より後の、宛先の端末装置までの間の経路上に存在する経路分割点の数をカウントし、そのカウント結果が大きいほどタイマー値を小さな値とし、カウント結果が小さいほどタイマー値を大きな値に設定すればよい。このようにタイマー値を定めた場合、図１４に示す例では、区間Ｐ，Ｑ，・・・，Ｒの順に、タイマー値は大きくなっていく。
【０１６６】
ただし、パケット転送ルール生成手段３４ａは、他の態様で区間のタイマー値を決定してもよい。
【０１６７】
次に、パケット転送ルール生成手段３４ａは、ステップＳ７１で決定した区間に属するパケット転送装置に設定するアクション情報を決定する。パケット転送ルール生成手段３４ａは、予め定められたアクション情報決定用ルールに従ってアクション情報を決定すればよい。パケット転送ルール生成手段３４ａは、決定したアクション情報にステップＳ７２で決定したタイマー値を含め、そのアクション情報およびステップＳ１で決定した分類情報とを、そのパケット転送装置に設定するパケット転送ルールとして定める（ステップＳ７３）。ただし、パケット転送ルールに、分類情報およびアクション情報以外の情報を含めてもよい。
【０１６８】
ステップＳ７３の後、パケット転送装置管理手段３８ａは、ステップＳ７３で決定された各パケット転送ルールを、設定対象となる各パケット転送装置に設定する（ステップＳ７４）。設定対象となる各パケット転送装置とは、ステップＳ７１で決定された区間に属する各パケット転送装置である。ステップＳ７４では、パケット転送装置管理手段３８ａは、例えば、パケット転送装置に対して、パケット転送ルールの設定指示とともにパケット転送ルールを送信すればよい。
【０１６９】
次に、パケット転送装置の動作について説明する。
パケット転送装置が他のノードからパケットを受信したときの動作は、第１の実施形態と同様である。すなわち、パケット転送装置は、他のノードからパケットを受信した場合、図６に示すステップＳ２１以降の処理を行えばよい。
【０１７０】
図１５は、パケット転送装置のパケット転送ルールテーブル管理処理の処理経過の例を示すフローチャートである。ルール管理手段４２ａは、時間の経過とともに、パケット転送ルールテーブルに属する各パケット転送ルールのタイマー値を減少させ、タイマー値が０になったか否かを判定する処理を繰り返す（ステップＳ３１，Ｓ３２）。この動作は、第１の実施形態におけるステップＳ３１，Ｓ３２（図７参照）と同様である。
【０１７１】
タイマー値が０になったパケット転送ルールを検出した場合（ステップＳ３２におけるＹｅｓ）、ルール管理手段４２ａは、ルールテーブル記憶手段４１に記憶されているパケット転送ルールテーブルから、タイマー値が０になったパケット転送ルールを削除する（ステップＳ３３ａ）。
【０１７２】
タイマー値が０になっていないパケット転送ルールについては、ルール管理手段４２ａは、ステップＳ３１，Ｓ３２を繰り返す。この間に、ルール管理手段４２ａがタイマー値の初期化を行う場合もある。この点は、第１の実施形態と同様である。
【０１７３】
図１６は、第２の実施形態における通信システムの動作例を示す説明図である。以下に示す例では、宛先となる通信端末に近い方の区間ほどタイマー値が大きくなり、宛先となる通信端末から遠い方の区間ほどタイマー値が小さくなるように、経路制御装置６０が各区間のタイマー値を決定する場合を例にして説明する。また、ここでは、通信端末５２および通信端末５３が５分間の間隔を空けて通信端末５０にパケットを送信する状況を例にして説明する。また、図１６に示す例では、図１０に示すパケット転送装置２１が経路分割点として定められていて、経路分割点が１つである場合を例にする。ただし、経路分割点の数は１に限定されず、複数の経路分割点が定められていてもよい。
【０１７４】
通信端末５２は、通信端末５０宛にデータパケットを送信する（ステップＳ８１）。このパケットは、通信端末５２が接続されているパケット転送装置２２に届く。
【０１７５】
パケット転送装置２２がデータパケットを受信すると、パケット転送装置２２のフロー特定手段４３（図１２参照）は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段４１に記憶されているか否かを判定する。初期状態では、パケット転送ルールはパケット転送装置２２のルールテーブル記憶手段４１に記憶されていない。そのため、パケット転送装置２２のフロー特定手段４３は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置６０に送信する（ステップＳ８２、図１６参照）。第１の実施形態と同様に、フロー特定手段４３は、フローの通信経路を特定可能な情報および分類情報を作成可能な情報として、受信したパケットそのものを含む新規フロー検出通知を送信してもよい。
【０１７６】
経路制御装置６０のパケット転送ルール生成手段３４ａ（図１１参照）は、パケット転送装置２２からこの新規フロー検出通知を受信すると、パケット転送装置２２が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報として定めたとする。これは、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を有するパケットのフローを識別する分類情報である。
【０１７７】
次に、経路制御装置６０の通信端末位置管理手段３３が、宛先である通信端末５０の位置確認を行い、経路制御装置６０の経路計算手段３６が、通信端末５２から通信端末５０までの通信経路を計算する。ここでは、経路計算手段３６が、パケット転送装置２２→パケット転送装置２１→パケット転送装置２０という通信経路を選択したものとする。
【０１７８】
そして、パケット転送ルール生成手段３４ａは、「パケット転送装置２２→パケット転送装置２１→パケット転送装置２０」という通信経路上の区間であって、新規フロー検出装置を送信したパケット転送装置２２を起点とする区間を定める。このとき、パケット転送ルール生成手段３４ａは、区間決定用情報記憶手段３５ａを参照して、起点となるパケット転送装置２２が「パケット転送装置２２→パケット転送装置２１→パケット転送装置２０」という通信経路において、宛先の通信端末５０に最も近い経路分割点に該当しないと判定する。そして、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置２２から宛先の通信端末５０に向かう経路上で、起点となるパケット転送装置２２に最も近い経路分割点がパケット転送装置２１であると特定する。この特定は、区間決定用情報記憶手段３５ａを参照することにより行えばよい。経路分割点２１の一つ前のパケット転送装置は、起点となるパケット転送装置２２自身であるので、パケット転送ルール生成手段３４ａは、パケット転送装置２２だけを含む区間を一つの区間として定める。
【０１７９】
さらに、パケット転送ルール生成手段３４ａは、その区間に属するパケット転送装置２２に設定するタイマー値を決定する。パケット転送ルール生成手段３４ａは、区間の起点としたパケット転送装置２２より後の宛先の通信端末５０までの経路上に、経路分割点がいくつあるかをカウントし、そのカウント結果に応じたタイマー値を決定する。本例では、カウント結果の値が小さいほど大きな値のタイマー値を定め、カウント結果の値が大きいほど小さな値のタイマー値を定めるものとする。この場合、経路分割点の数は１であり、パケット転送ルール生成手段３４ａがタイマー値を１分としたとする。
【０１８０】
そして、パケット転送ルール生成手段３４ａは、定めた区間に属するパケット転送装置２２に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段３４ａは、このアクション情報にタイマー値「１分」を含め、このアクション情報と上記の分類情報とを含むパケット転送ルールを定める。
【０１８１】
そして、経路制御装置６０のパケット転送装置管理手段３８ａは、定めた区間に属するパケット転送装置２２に対して、上記のパケット転送ルールを設定する（ステップＳ８３、図１６参照）。図１６に示すステップＳ８３は、図１３に示すステップＳ１〜Ｓ７４の動作に相当する。
【０１８２】
ステップＳ８３の後、パケット転送装置２２のアクション実行手段４４（図１２参照）は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード（パケット転送装置２１）に転送する（ステップＳ８４）。
【０１８３】
パケット転送装置２１には、まだパケット転送ルールが設定されていない。よって、パケット転送装置２１は、ステップＳ８４でパケットを受信すると、ステップＳ８２の動作と同様に、パケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置６０に送信する（ステップＳ８４）。
【０１８４】
経路制御装置６０のパケット転送ルール生成手段３４ａ（図１１参照）は、パケット転送装置２１からこの新規フロー検出通知を受信すると、パケット転送装置２１が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、ステップＳ８３の場合と同様に、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報として定めたとする。次に、経路制御装置６０の通信端末位置管理手段３３が、宛先である通信端末５０の位置確認を行い、経路制御装置６０の経路計算手段３６が、通信端末５２から通信端末５０までの通信経路を計算する。
【０１８５】
そして、パケット転送ルール生成手段３４ａは、送信元から宛先までの通信経路上の区間であって、新規フロー検出装置を送信したパケット転送装置２１を起点とする区間を定める。このとき、パケット転送ルール生成手段３４ａは、区間決定用情報記憶手段３５ａを参照して、起点となるパケット転送装置２１が通信経路において、宛先の通信端末５０に最も近い経路分割点であると判定する。この判定に基づいて、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置２１から、宛先の通信端末５０に接続されたパケット転送装置２０までを、１つの区間として定める。
【０１８６】
さらに、パケット転送ルール生成手段３４ａは、その区間に属するパケット転送装置２１に設定するタイマー値を決定する。ここでは、区間の起点としたパケット転送装置２１より後の宛先の通信端末５０までの経路上の経路分割点の数は０である。よって、パケット転送ルール生成手段３４ａは、ステップＳ８３で定めたタイマー値（１分）よりも大きなタイマー値を定める。本例では、タイマー値を１０分にしたものとする。
【０１８７】
そして、パケット転送ルール生成手段３４ａは、定めた区間に属するパケット転送装置２１に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段３４ａは、このアクション情報にタイマー値「１０分」を含め、このアクション情報と上記の分類情報とを含むパケット転送ルールを定める。
【０１８８】
そして、経路制御装置６０のパケット転送装置管理手段３８ａは、定めた区間に属するパケット転送装置２１，２０に対して、上記のパケット転送ルールを設定する（ステップＳ８６、図１６参照）。図１６に示すステップＳ８６は、図１３に示すステップＳ１〜Ｓ７４の動作に相当する。
【０１８９】
ステップＳ８６の後、パケット転送装置２１のアクション実行手段４４（図１２参照）は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード（パケット転送装置２０）に転送する（ステップＳ８７）。
【０１９０】
パケット転送装置２０には、ステップＳ８６（図１６参照）で、パケット転送ルールが設定されている。よって、パケット転送装置２０は、受信するデータパケットをパケット転送ルールに従って、宛先の通信端末５０に転送する（ステップＳ８８）。
【０１９１】
その後も、通信端末５２が通信端末５０を宛先として送信したデータパケットは、ステップＳ８３，Ｓ８６で設定されたパケット転送ルールに基づいて、パケット転送装置２２→パケット転送装置２１→パケット転送装置２０の順に転送され、通信端末５０に届く。各パケット転送装置２２，２１，２０は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を含むデータパケットを受信すると、タイマー値を初期値（本例では１０分または１分）にリセットする。
【０１９２】
通信端末５０と通信端末５２との通信が終了して１分経過すると、パケット転送装置２２では、ステップＳ８３（図１６参照）で設定されたパケット転送ルールのタイマー値が０となり、パケット転送装置２２のルール管理手段４２ａ（図１２参照）は、ステップＳ８３で設定されたパケット転送ルールを削除する。
【０１９３】
一方、パケット転送装置２１，２０では、タイマー値として１０分が設定されていたので、パケット転送装置２１，２０は、この時点において、パケット転送ルールを削除しない。
【０１９４】
また、通信端末５０と通信端末５２との通信の５分後に、通信端末５３が通信端末５０にデータパケットを送信したとする。このパケットは、通信端末５３が接続されているパケット転送装置２３に届く。この動作は、既に説明したステップＳ８１と同様である。
【０１９５】
パケット転送装置２３がデータパケットを受信すると、パケット転送装置２３のフロー特定手段４３（図１２参照）は、受信したパケットに適合するパケット転送ルールがルールテーブル記憶手段４１に記憶されているか否かを判定する。ここでは、パケット転送ルールが記憶されていないため、パケット転送装置２３のフロー特定手段４３は、受信したパケットをバッファリングし、フローの通信経路を特定可能な情報および分類情報を作成可能な情報を含む新規フロー検出通知を経路制御装置６０に送信する。この動作は、既に説明したステップＳ８２と同様である。
【０１９６】
パケット転送装置２３から新規フロー検出通知を受信した経路制御装置６０は、ステップＳ８３と同様に動作する。すなわち、経路制御装置６０のパケット転送ルール生成手段３４ａ（図１１参照）は、パケット転送装置２３が受信したパケットが属する新たなフローを識別する分類情報を生成する。ここでは、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を分類情報として定めたとする。
【０１９７】
次に、経路制御装置６０の通信端末位置管理手段３３が、宛先である通信端末５０の位置確認を行い、経路制御装置６０の経路計算手段３６が、通信端末５３から通信端末５０までの通信経路を計算する。ここでは、経路計算手段３６が、パケット転送装置２３→パケット転送装置２１→パケット転送装置２０という通信経路を選択したものとする。
【０１９８】
そして、パケット転送ルール生成手段３４ａは、「パケット転送装置２３→パケット転送装置２１→パケット転送装置２０」という通信経路上の区間であって、新規フロー検出装置を送信したパケット転送装置２３を起点とする区間を定める。このとき、パケット転送ルール生成手段３４ａは、区間決定用情報記憶手段３５ａを参照して、起点となるパケット転送装置２３が「パケット転送装置２３→パケット転送装置２１→パケット転送装置２０」という通信経路において、宛先の通信端末５０に最も近い経路分割点に該当しないと判定する。そして、パケット転送ルール生成手段３４ａは、起点となるパケット転送装置２３から宛先の通信端末５０に向かう経路上で、起点となるパケット転送装置２３に最も近い経路分割点がパケット転送装置２１であると特定する。この特定は、区間決定用情報記憶手段３５ａを参照することにより行えばよい。経路分割点２１の一つ前のパケット転送装置は、起点となるパケット転送装置２３自身であるので、パケット転送ルール生成手段３４ａは、パケット転送装置２３だけを含む区間を一つの区間として定める。
【０１９９】
さらに、パケット転送ルール生成手段３４ａは、その区間に属するパケット転送装置２３に設定するタイマー値を決定する。ここでは、区間の起点としたパケット転送装置２３より後の宛先の通信端末５０までの経路上に経路分割点が１つであることに基づいて、パケット転送ルール生成手段３４ａがタイマー値を１分としたとする。パケット転送ルール生成手段３４ａは、定めた区間に属するパケット転送装置２３に設定するアクション情報を定める。ここでは、アクション情報として、「通信経路上の次のノードへのパケットのフォワーディング」を定めるものとする。パケット転送ルール生成手段３４ａは、このアクション情報にタイマー値「１分」を含め、このアクション情報と上記の分類情報とを含むパケット転送ルールを定める。
【０２００】
そして、経路制御装置６０のパケット転送装置管理手段３８ａは、定めた区間に属するパケット転送装置２３に対して、上記のパケット転送ルールを設定する。
【０２０１】
続いて、パケット転送装置２３のアクション実行手段４４（図１２参照）は、バッファリングしてあるデータパケットを、設定されたパケット転送ルールのアクション情報に従って、次のノード（パケット転送装置２１）に転送する。この動作は、前述のステップＳ８４と同様である。
【０２０２】
パケット転送装置２１，２０では、設定されたパケット転送ルールが削除されていない。よって、パケット転送装置２１，２０は、受信するデータパケットをパケット転送ルールに従って順次転送する（ステップＳ８７ａ，Ｓ８８）。この結果、データパケットは宛先の通信端末５０に届く。
【０２０３】
その後も、通信端末５３が通信端末５０を宛先として送信したデータパケットは、パケット転送装置２３，２１，２０に設定されているパケット転送ルールに基づいて、パケット転送装置２３→パケット転送装置２１→パケット転送装置２０の順に転送され、通信端末５０に届く。各パケット転送装置２３，２１，２０は、時間経過とともにタイマー値をカウントダウンしていくが、「通信端末５０の宛先ＭＡＣアドレスおよび宛先ＩＰアドレス」を含むデータパケットを受信すると、タイマー値を初期値（本例では１０分または１分）にリセットする。
【０２０４】
通信端末５０と通信端末５３との通信終了後、パケット転送装置２１，２０のパケット転送ルールがまだ残っているうちに、他の通信端末が通信端末５０を宛先としてパケットを送信した場合の動作も同様である。
【０２０５】
本実施形態によれば、経路制御装置６０がパケット転送装置から新規フロー検出通知を受信する毎に、そのパケット転送装置を起点とする区間を、予め定められた経路分割点を基準に判定する。そして、その区間と宛先となる通信端末との近さに応じて、その区間に属するパケット転送装置のタイマー値を変える。従って、第１の実施形態と同様に、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる。
【０２０６】
また、第２の実施形態においては、経路制御装置６０は、パケット転送装置から新規フロー検出通知を受信したときに、パケット転送装置から、経路分割点を元に判断した範囲までを一つの区間とし、その区間についてパケット転送ルールを定める。そのため、通信経路全体の中で、パケット転送ルールが設定済みのパケット転送装置を判断する必要がないため、第１の実施形態におけるルール設定内容記憶手段３７を必要としない。すなわち、第２の実施形態では、経路制御装置６０が記憶すべき情報量を少なく抑えることができる。
【０２０７】
以上の説明では、各パケット転送装置のルール管理手段４２ａ（図１２参照）が、パケット転送ルール内の分類情報に適合するパケットを受信したときに、そのパケット転送ルールのタイマー値を初期値にリセットする場合を例にして説明した。ルール管理手段４２ａは、パケット転送ルール内の分類情報に適合するパケットを受信したときに、タイマー値のリセットを行わなくてもよい。この場合、図６に示すステップＳ２６に相当する処理を実行しなければよい。
【０２０８】
また、上記の説明では、タイマー値として１分または１０分を定める場合を例示したが、この値は例示であり、各区間のタイマー値は１分または１０分に限定されるわけではない。
【０２０９】
また、分類情報に適合するパケットが多く通過すると考えられる区間において、タイマー値を１０分等の値とするのではなく、無限大としてもよい。この場合、パケット転送装置のルール管理手段４２ａ（図１２参照）は、タイマー値が無限大であるパケット転送ルールに関しては、そのパケット転送ルールが不要になったと判定したときに削除すればよい。この判定方法に関しては、第１の実施形態で説明済みであるので、ここでは説明を省略する。
【０２１０】
上記の第１の実施形態および第２の実施形態では、１つの通信ネットワークに対して１つの経路制御装置が存在する場合を説明した。通信システムの中に複数のドメインが形成されていて、通信システムがドメイン毎に経路制御装置を備える構成であってもよい。すなわち、経路制御装置の配置形態は、分散していても分散していなくてもよい。また、ドメイン毎に分散して配置された経路制御装置が経路制御装置間で動的な連携を行うことは必須ではない。ドメイン間で経路制御に関する静的なサービルレベルアグリーメント（Service Level Agreement ）を結んだ場合にも、理論的に１つの経路制御機能を構築しているとみなせる。そのため、各経路制御装置がパケット転送ルールを設定するタイミングや、タイマー値の値を、ドメイン毎に変更する実地態様もあり得る。
【０２１１】
次に、本発明の最小構成の例について説明する。図１７は、本発明の通信システムの最小構成例を示すブロック図である。図１８は、本発明の経路制御装置の最小構成例を示すブロック図である。
【０２１２】
本発明の通信システムは、受信したパケットを転送する複数のパケット転送装置９５と、各パケット転送装置９５を制御することによりパケットの通信経路を制御する経路制御装置９０とを備える。
【０２１３】
経路制御装置９０は、パケット転送ルール生成手段９１と、パケット転送装置管理手段９２とを備える。
【０２１４】
パケット転送ルール生成手段９１は、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成する。
【０２１５】
パケット転送装置管理手段９２は、パケット転送ルール生成手段９１が生成したパケット転送ルールをパケット転送装置９５に設定する。
【０２１６】
また、パケット転送ルール生成手段９１は、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせる。
【０２１７】
各パケット転送装置９５は、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行う。
【０２１８】
以上のような構成により、パケットが多く通過すると考えられる区間ではタイマー値を大きく設定することで、短期間で同じパケット転送ルールを繰り返し設定することを防止することができる。その結果、経路制御装置９０の処理負荷を抑えることができる。また、パケットの通過量が少ないと考えられる区間では、タイマー値を小さく設定することで、通信終了により使用されなくなったパケット転送ルールが長時間設定されたままになってしまうことを防止することができる。このように、同一のパケット転送装置に対してパケット転送ルールを短時間に繰り返して設定することによる経路制御装置の制御負荷増大を防止し、各パケット転送装置に適切にパケット転送ルールを設定することができる。
【０２１９】
上記の実施形態では、以下の（１）〜（７）に示すような通信システムの特徴的構成が開示されている。また、以下の（８）〜（１０）に示すような経路制御装置の特徴的構成が開示されている。
【０２２０】
（１）受信したパケットを転送する複数のパケット転送装置（例えば、パケット転送装置２０〜２３）と、各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置（例えば、経路制御装置１０，６０）とを備え、経路制御装置が、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段（例えば、パケット転送ルール生成手段３４，３４ａ）と、パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段（例えば、パケット転送装置管理手段３８，３８ａ）とを備え、パケット転送ルール生成手段が、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、各パケット転送装置は、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行うことを特徴とする通信システム。
【０２２１】
（２）パケット転送ルール生成手段（例えば、パケット転送ルール生成手段３４）が、パケット転送ルールの生成を要求されたときに（例えば、新規フロー検出通知を受信したときに）、パケットの通信経路を分割して複数の区間を定め、各区間におけるタイマー値を決定し、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成する通信システム。
【０２２２】
（３）経路制御装置が、どのパケット転送装置にどのパケット転送ルールを設定したかを記憶するルール設定内容記憶手段（例えば、ルール設定内容記憶手段３７）を備え、パケット転送ルール生成手段が、パケットが属するフローを識別する識別情報を含むパケット転送ルールを、パケットの通信経路上のパケット転送装置のうち、その識別情報を含むパケット転送ルールが設定されていないパケット転送装置を対象にして生成する通信システム。
【０２２３】
（４）パケット転送ルール生成手段（例えば、パケット転送ルール生成手段３４ａ）が、新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、そのパケットの通信経路内の区間であって、そのパケット転送装置を起点とする１つの区間を特定し、その区間に対応するタイマー値を決定し、その区間内のパケット転送装置に対するパケット転送ルールを生成する通信システム。
【０２２４】
（５）経路制御装置が、予め通信経路の分割点として定められたパケット転送装置の情報を記憶する区間判定用情報記憶手段（例えば、区間判定用情報記憶手段３５ａ）を備え、パケット転送ルール生成手段が、分割点として定められたパケット転送装置の情報に基づいて、パケット転送ルールの生成を要求したパケット転送装置を起点とする区間を特定する通信システム。
【０２２５】
（６）パケット転送ルール生成手段が、通信経路の終端と区間とが近いほど区間に対応するタイマー値の値を大きな値に定め、通信経路の終端と区間とが遠いほど区間に対応するタイマー値の値を小さな値に定める通信システム。
【０２２６】
（７）受信したパケットを転送する複数のパケット転送装置（例えば、パケット転送装置２０〜２３）と、各パケット転送装置を制御することによりパケットの通信経路を制御する経路制御装置（例えば、経路制御装置１０，６０）とを備え、経路制御装置が、パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成し、パケット転送ルールを生成する際には、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせ、生成したパケット転送ルールをパケット転送装置に設定し、各パケット転送装置が、設定されたパケット転送ルールのタイマー値によって定まる有効期間の間、そのパケット転送ルールに従って、受信したパケットに対する処理を行うことを特徴とする通信システム。
【０２２７】
（８）パケットを受信したときのパケット転送装置の動作を定める情報であるパケット転送ルールであって、そのパケット転送ルールの有効期間を定めるための値であるタイマー値を含むパケット転送ルールを生成するパケット転送ルール生成手段（例えば、パケット転送ルール生成手段３４，３４ａ）と、パケット転送ルール生成手段が生成したパケット転送ルールをパケット転送装置に設定するパケット転送装置管理手段（例えば、パケット転送装置管理手段３８，３８ａ）とを備え、パケット転送ルール生成手段が、パケットの通信経路を分割して定まる区間毎に、区間内のパケット転送装置に対するパケット転送ルールのタイマー値を異ならせることを特徴とする経路制御装置。
【０２２８】
（９）パケット転送ルール生成手段（例えば、パケット転送ルール生成手段３４）が、パケット転送ルールの生成を要求されたときに、パケットの通信経路を分割して複数の区間を定め、各区間におけるタイマー値を決定し、区間毎に、区間内のパケット転送装置に対するパケット転送ルールを生成する経路制御装置。
【０２２９】
（１０）パケット転送ルール生成手段（例えば、パケット転送ルール生成手段３４ａ）が、新たにパケットを受信したパケット転送装置からパケット転送ルールの生成を要求されたときに、そのパケットの通信経路内の区間であって、そのパケット転送装置を起点とする１つの区間を特定し、その区間に対応するタイマー値を決定し、その区間内のパケット転送装置に対するパケット転送ルールを生成する経路制御装置。
【産業上の利用可能性】
【０２３０】
本発明は、時限式に動作するパケット転送装置と、パケット転送装置を制御する経路制御装置とを備える通信システムに好適に適用される。
【符号の説明】
【０２３１】
１０，６０  経路制御装置
２０〜２３  パケット転送装置
３１  トポロジー情報記憶手段
３２  トポロジー情報登録手段
３３  通信端末位置管理手段
３４，３４ａ  パケット転送ルール生成手段
３５，３５ａ  区間決定用情報記憶手段
３６  経路計算手段
３７  ルール設定内容記憶手段
３８，３８ａ  パケット転送装置管理手段
４１  ルールテーブル記憶手段
４２，４２ａ  ルール管理手段
４３  フロー特定手段
４４  アクション実行手段
【図１】
0005515649.tif 000002
【図２】
0005515649.tif 000003
【図３】
0005515649.tif 000004
【図４】
0005515649.tif 000005
【図５】
0005515649.tif 000006
【図６】
0005515649.tif 000007
【図７】
0005515649.tif 000008
【図８】
0005515649.tif 000009
【図９】
0005515649.tif 000010
【図１０】
0005515649.tif 000011
【図１１】
0005515649.tif 000012
【図１２】
0005515649.tif 000013
【図１３】
0005515649.tif 000014
【図１４】
0005515649.tif 000015
【図１５】
0005515649.tif 000016
【図１６】
0005515649.tif 000017
【図１７】
0005515649.tif 000018
【図１８】
0005515649.tif 000019
【図１９】
0005515649.tif 000020
【図２０】
0005515649.tif 000021