以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
(実施形態1)
図1は、本実施形態1におけるネットワークシステム100の例を示す図である。本ネットワークシステム100は、例えば、映像配信システムである。本ネットワークシステム100は、図1に示すように、経路制御装置10と、監視装置20と、複数の転送装置SWと、1又は複数の情報端末装置Tと、1又は複数のサーバ装置Sと、を含んでいる。本ネットワークシステム100の各装置間は、図1に示すように、IPネットワークなどのネットワークNWを介して、相互に通信可能なように接続されている。
なお、図1中の()内の数字は接続されているポート番号を示し、<>内の数字列はIPアドレスを示している。また、以下において、特定の転送装置SW、情報端末装置T、サーバ装置Sを表す場合は、装置識別番号を付して、例えば、転送装置SW1、転送装置SW2などと表すこととする。また、本実施形態1におけるネットワークシステム100は映像配信システムであるものとして、以下説明する。
本実施形態1においては、情報端末装置Tは、映像の再生を行う再生端末装置であり、サーバ装置Sは、映像配信を行う映像配信サーバである。図2は、一般的な映像配信のシーケンスの例を示す図であり、図2の例は、図1中の情報端末装置T2が再生端末装置であり、サーバ装置S2が映像配信サーバである場合の例である。
配信映像のメニュー情報を要求するための所定の操作をユーザが、例えば、Webページ上で行うと、情報端末装置T2は、HyperText Transport Protocol(HTTP)/Transmission Control Protocol(TCP)を使用し、メニュー情報要求をサーバ装置S2に送信する(ステップS001)。サーバ装置S2は、メニュー情報要求に応答して、HTTP/TCPを使用し、配信可能な映像のメニュー情報を情報端末装置T2に返信する(ステップS002)。
メニュー情報を受信すると、情報端末装置T2は、受信したメニュー情報をWebページ上に表示する。ここで、図3は、Webページ上に表示されたメニュー表示画面の例を示す図である。ユーザが表示されたメニューの中から配信させる映像を選択すると、情報端末装置T2は、HTTP/TCPを使用し、選択された映像のメタファイルを要求するためのメタファイル要求をサーバ装置S2に送信する(ステップS003)。サーバ装置S2は、メタファイル要求に応答して、HTTP/TCPを使用し、選択された映像のメタファイルを情報端末装置T2に返信する(ステップS004)。ここで、図4は、メタファイルの例を示す図である。
情報端末装置T2は、メタファイルを受信すると、受信したメタファイルを解析する。受信したメタファイルのコンテナアドレスのプロトコルがReal Time Streaming Protocol(RTSP)であることから、情報端末装置T2は、RTSP/TCPを使用し、コンテンツ情報を要求するためのコンテンツ情報要求(DESCRIBE)をサーバ装置S2に送信する(ステップS005)。ここで、図5は、コンテンツ情報要求(DESCRIBE)の例を示す図である。サーバ装置S2は、コンテンツ情報要求(DESCRIBE)に応答して、RTSP/TCPを使用し、指定されたコンテンツ情報を返信する(ステップS006)。ここで、図6は、コンテンツ情報の例を示す図である。
情報端末装置T2は、コンテンツ情報を受信すると、RTSP/TCPを使用し、映像配信の準備を要求するための再生準備要求(SETUP)をサーバ装置S2に送信する(ステップS007)。サーバ装置S2は、再生準備要求(SETUP)を受信すると、映像配信ための資源の割り当てを行い、セッションが確立される。そして、サーバ装置S2は、準備が完了すると、RTSP/TCPを使用し、準備完了を情報端末装置T2に返信する(ステップS008)。
情報端末装置T2は、準備完了を受信すると、RTSP/TCPを使用し、選択された映像の配信開始を要求するための再生開始要求(PLAY)をサーバ装置S2に送信する(ステップS009)。サーバ装置S2は、再生開始要求(PLAY)を受信すると、RTSP/TCPを使用し、ACKnowledgement(ACK)をサーバ装置S2に返信する(ステップS010)。また、サーバ装置S2は、Real−time Transport Protocol(RTP)/User Datagram Protocol(UDP)を使用し、配信を要求された映像情報を順次送信する(ステップS011)。
ユーザが再生を停止させるための所定の操作を行うと、情報端末装置T2は、RTSP/TCPを使用し、映像の配信を停止させるための再生停止要求(TEARDOWN)をサーバ装置S2に送信する(ステップS012)。ここで、図7は、再生停止要求(TEARDOWN)の例を示す図である。サーバ装置S2は、再生停止要求(TEARDOWN)を受信すると、配信の停止を要求された映像の配信を停止し、セッションが切断(解放)される。また、サーバ装置S2は、RTSP/TCPを使用し、ACKを情報端末装置T2に返信する(ステップS013)。
以上に説明したように、一般的な映像配信では、RTSPのセッションが確立されると、RTSPによる制御の下で、RTPによる映像配信(メディアデータ転送)が行われる。
図8は、本実施形態1における経路制御装置10の構成例を示す機能ブロック図である。本実施形態1における経路制御装置10は、ネットワークシステム100の各転送装置SWを制御して経路を制御する装置であり、図8に示すように、通信部11と、記憶部12と、制御部13と、を備えている。
通信部11は、例えば、ネットワークインターフェースなどを備え、例えば、監視装置20と各転送装置SWとの間で、通信を行う。例えば、通信部11は、監視指示部13A(詳しくは後述)の制御の下、監視要求(詳しくは後述)を監視装置20に送信する。また、例えば、通信部11は、監視装置20から送信されたパケットを受信すると、セッション管理部13C(詳しくは後述)に受信したパケットを出力する。また、例えば、通信部11は、転送装置SWから送信された負荷情報通知(詳しくは後述)を受信すると、受信した負荷情報通知を負荷情報処理部13B(詳しくは後述)に出力する。
また、例えば、通信部11は、経路制御部13E(詳しくは後述)の制御の下、設定要求(詳しくは後述)を対応する転送装置SWに送信する。また、例えば、通信部11は、転送装置SWから設定完了通知(詳しくは後述)を受信すると、受信した設定完了通知を経路制御部13Eに出力する。また、例えば、通信部11は、経路制御部13Eの制御の下、設定完了(詳しくは後述)を監視装置20に送信する。また、例えば、通信部11は、経路制御部13Eの制御の下、設定解除要求(詳しくは後述)を対応する転送装置SWに送信する。
記憶部12は、例えば、Random Access Memory(RAM)、Read Only Memory(ROM)、フラッシュメモリなどを備えている。記憶部12は、制御部13が備える、例えば、Central Processing Unit(CPU)のワークエリア、経路制御装置10全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、各種データを格納するデータエリアとして機能する。
また、記憶部12は、図8に示すように、第1接続情報記憶部12Aと、第2接続情報記憶部12Bと、経路候補情報記憶部12Cと、負荷情報記憶部12Dと、セッション管理情報記憶部12Eとして機能する。
第1接続情報記憶部12Aは、第1接続情報INF1を記憶している記憶部である。図9は、本実施形態1における第1接続情報INF1の例を示す図である。図9に例示する第1接続情報INF1は、情報端末装置TのIPアドレスと当該情報端末装置Tが接続されている転送装置(接続転送装置)SWの装置識別番号と当該情報端末装置Tが接続されているポート番号(接続ポート番号)とを対応付けているテーブルである。経路制御装置10は、このような第1接続情報INF1を保持することで、セッションが確立された情報端末装置Tが接続されている接続転送装置SWを特定することができる。
第2接続情報記憶部12Bは、第2接続情報INF2を記憶している記憶部である。図10は、本実施形態1における第2接続情報INF2の例を示す図である。図10に例示する第2接続情報INF2は、サーバ装置SのIPアドレスと当該サーバ装置Sが接続されている転送装置(接続転送装置)SWの装置識別番号と当該サーバ装置Sが接続されているポート番号(接続ポート番号)とを対応付けているテーブルである。経路制御装置10は、このような第2接続情報INF2を保持することで、セッションが確立されたサーバ装置Sが接続されている転送装置SWを特定することができる。
経路候補情報記憶部12Cは、経路候補情報INF3を記憶している記憶部である。図11は、本実施形態1における経路候補情報INF3の例を示す図である。図11に例示する経路候補情報INF3は、情報端末装置Tとサーバ装置Sとの間を結ぶ経路の一覧を格納しているテーブルである。経路は、情報端末装置Tからサーバ装置Sへパケットが送信される際に経由する転送装置SWにより定義されている。例えば、図1を参照して、情報端末装置T1とサーバ装置S1との間を結ぶ経路は、転送装置SW1、転送装置SW5、転送装置SW4の順に経由する第一経路R1と、転送装置SW1、転送装置SW2、転送装置SW3、転送装置SW4の順に経由する第二経路R2と、が存在する。また、図11に示すように、経路上の各転送装置SWに対して、対応する経路を経由する際にパケットが入力される入力ポートのポート番号と次の転送先にパケットを転送する際にパケットを出力する出力ポートのポート番号とが対応付けられている。経路制御装置10は、このような経路候補情報INF3を保持することで、映像情報(メディアデータ)を送信するのに適した経路を選択することができる。
負荷情報記憶部12Dは、負荷情報INF4を記憶している記憶部であり、負荷情報INF4は、負荷情報処理部13Bにより管理されている。図12は、本実施形態1における負荷情報INF4の例を示す図である。図12に例示する負荷情報INF4は、転送装置SWごとに各ポートの負荷を管理しているテーブルである。各転送装置SWから送信される負荷情報通知に含まれている各ポートの負荷が、負荷情報処理部13bにより対応する欄に格納される。経路制御装置10は、このような負荷情報INF4を保持することで、負荷が低い経路を選択することができる。
セッション管理情報記憶部12Eは、セッション管理情報INF5を記憶している記憶部であり、セッション管理情報INF5は、セッション管理部13Cにより管理されている。図13は、本実施形態1におけるセッション管理情報INF5の例を示す図である。図13に例示するセッション管理情報INF5は、確立中のセッションに関する情報をセッションごとに対応付けているテーブルである。経路制御装置10は、このようなセッション管理情報INF5を保持することで、確立中のセッションを管理することができる。
本実施形態1におけるセッションに関する情報は、図13に示すように、情報端末装置TのIPアドレスと、サーバ装置SのIPアドレスと、プロトコルと、経路IDと、メディアUniform Resource Identifier(URI)と、を含んでいる。また、セッションに関する情報は、図13に示すように、帯域(Mbps)やメディア数などを含んでもよい。
管理IDは、セッションを一意に識別するための識別子であり、新たなセッションが確立された際に、セッション管理部13Cにより割り当てられる。
情報端末装置TのIPアドレスは、対応するセッションの情報端末装置TのIPアドレスであり、サーバ装置SのIPアドレスは、対応するセッションのサーバ装置SのIPアドレスである。これらのIPアドレスは、コンテンツ情報要求(DESCRIBE)のパケットヘッダに含まれる送信元IPアドレス(情報端末装置TのIPアドレス)と送信先IPアドレス(サーバ装置SのIPアドレス)であり、セッション管理部13Cにより格納される。
プロトコルは、対応するセッションで使用されるプロトコルである。本実施形態1においては、コンテンツ情報要求(DESCRIBE)に応答して、サーバ装置Sから返信されるコンテンツ情報(図6に例示)に含まれる、映像情報(メディアデータ)を配信する際に使用するプロトコルが、セッション管理部13Cにより格納される。
経路IDは、経路を一意に識別可能な識別情報であり、経路選択部13Dにより選択された経路の経路IDが格納される。
メディアURIは、対応するセッションにおいて配信されるメディアのURIである。コンテンツ情報要求(DESCRIBE)に応答して、サーバ装置Sから返信されるコンテンツ情報(図6に例示)に含まれるメディアのURIが、セッション管理部13Cによりそれぞれ格納される。メディア数は、対応するセッションにおいて配信されるメディアの数であり、セッション管理部13Cにより格納される。帯域(Mbps)は、対応するセッションに必要な帯域であり、コンテンツ情報(図6に例示)に含まれる帯域が、セッション管理部13Cにより格納される。
図8に戻り、制御部13は、例えば、CPUなどを備えており、記憶部12のプログラムエリアに格納されている動作プログラムを実行して、図8に示すように、監視指示部13Aと、負荷情報処理部13Bと、セッション管理部13Cと、経路選択部13Dと、経路制御部13Eとしての機能を実現する。また、制御部13は、動作プログラムを実行して、経路制御装置10全体を制御する制御処理や詳しくは後述の経路制御処理などの処理を実行する。
監視指示部13Aは、複製を送信させるパケットを指定する監視対象の一覧を含む監視要求を生成し、生成した監視要求を監視装置20に送信する。監視対象は、例えば、管理者により設定され、複製を送信させるパケットは、例えば、プロトコルとポート番号との組により指定される。
負荷情報処理部13Bは、各転送装置SWから送信される負荷情報通知が入力されると、負荷情報通知に含まれる各ポートの負荷を示す情報を、当該負荷情報通知を送信した転送装置SWの転送装置IDと対応付けて、負荷情報INF4に格納する。この際、入力された負荷情報通知を送信した転送装置SWの負荷情報が既に格納されている場合には、入力された負荷情報通知に含まれる各ポートの負荷を示す情報で更新する。ここで、ポートの負荷を示す情報は、例えば、ポートの使用帯域(Mbps)である。
セッション管理部13Cは、確立されるセッションを制御するプロトコルのパケット、つまり、監視装置20の監視対象のパケットに基づいて、確立中のセッションを管理する。本実施形態1においては、セッション管理部13Cは、RTSPのパケットに基づいて、確立中のセッションを管理する。
より具体的には、監視装置20から送信されたパケットを受信し、受信したパケットがコンテンツ情報要求(DESCRIBE)である場合には、セッション管理部13Cは、セッション管理情報INF5にエントリーを追加し、新たに確立されるセッションに対して割り振った管理IDを追加したエントリーの「管理ID」欄に格納する。そして、セッション管理部13Cは、コンテンツ情報要求(DESCRIBE)のパケットヘッダの送信元IPアドレスと送信先IPアドレスを、それぞれ、追加したエントリーの「情報端末装置TのIPアドレス」欄と「サーバ装置SのIPアドレス」欄に格納する。
また、受信したパケットがコンテンツ情報である場合には、セッション管理部13Cは、コンテンツ情報に含まれるメディアURIとプロトコルと帯域(Mbps)を、セッション管理情報INF5の対応するエントリーの対応する欄に格納する。この際、セッション管理部13Cは、メディアURIの数をカウントし、セッション管理情報INF5の対応するエントリーの「メディア数」欄にメディアURIの数を格納する。そして、セッション管理部13Cは、経路選択部13Dに対して、例えば、管理IDを通知し、新たに確立されるセッションにおいて配信される映像情報を送信するための経路の選択を指示する。
また、受信したパケットが再生停止要求(TEARDOWN)である場合には、セッション管理部13Cは、再生停止要求(TEARDOWN)のパケットヘッダの送信元IPアドレスと送信先IPアドレスと、再生停止要求(TEARDOWN)に含まれるメディアURIと、に基づいて、セッション管理情報INF5の対応するエントリーを特定する。そして、セッション管理部13Cは、特定したエントリーの管理IDを経路制御部13Eに通知し、特定したエントリーの経路IDが示す経路上の各転送装置SWに対して設定解除要求の送信を指示する。そして、セッション管理部13Cは、経路制御部13Eが設定解除を送信した後に、特定したエントリーを削除する。
以上に説明したように、セッション管理部13Cは、セッションの確立に先立って送信されるセッションを制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出する。そして、新たにセッションが確立されることが検出されると、セッション管理部13Cは、そのセッションに対して管理IDを割り振り、セッションに関する情報をセッション管理情報INF5に登録して保持させる。そして、セッション管理部13Cは、セッションの切断を制御するパケットに基づいて、保持されているセッションに関する情報を削除する。このようにして、セッション管理部13Cは、確立されるセッションを制御するプロトコルのパケットに基づいて、確立中のセッションを管理する。
経路選択部13Dは、経路の選択が指示されると、経路候補の中から、負荷の低い経路を選択する。より具体的には、経路選択部13Dは、通知された管理IDに基づいて、セッション管理情報INF5のエントリーを特定し、第1接続情報INF1を参照して、特定したエントリーの情報端末装置Tを収容する転送装置SWを特定する。つまり、経路選択部13Dは、新たに確立されるセッションの情報端末装置Tを収容する転送装置SWを特定する。また、経路選択部13Dは、第2接続情報INF2を参照して、特定したエントリーのサーバ装置Sを収容する転送装置SWを特定する。つまり、経路選択部13Dは、新たに確立されるセッションのサーバ装置Sを収容する転送装置SWを特定する。
そして、経路選択部13Dは、経路候補情報INF3を参照し、特定した情報端末装置Tを収容する転送装置SWと特定したサーバ装置Sを収容する転送装置SWとに基づいて、新たに確立されるセッションの情報端末装置Tとサーバ装置Sとの間を結ぶ経路候補を特定する。
そして、経路選択部13Dは、特定した経路候補の中から経路を選択する。より具体的には、経路選択部13Dは、経路候補情報INF3を参照して、特定した経路候補を経由させる際にパケットが入出力される各転送装置SWの入出力ポートのポート番号を特定する。そして、経路選択部13Dは、特定したポートの最大帯域(Mbps)と当該ポートの指定されている入出力方向(パケットが入力又は出力される方向)の使用帯域(Mbps)との差分の最小値を経路候補ごとに算出し、算出した最小値が最も大きい経路候補を経路として選択する。つまり、経路選択部13Dは、経路候補の中から、経路上の転送装置SWの転送する際に使用するポートの負荷が低い経路を選択する。この際、算出した最小値が最も大きい経路候補が複数存在する場合には、経路選択部13Dは、算出した最小値が最も大きい経路候補の中から、ホップ数が最も少ない経路を選択する。
そして、経路選択部13Dは、選択した経路の経路IDをセッション管理情報INF5の対応するエントリーの「経路ID」欄に格納し、経路制御部13Eに対して、例えば、管理IDを通知し、設定要求の送信を指示する。
例えば、図1を参照して、第1経路R1を使用した場合、情報端末装置Tからサーバ装置Sに送信されるパケットは、転送装置SW1のポート20から出力され、転送装置SW5のポート10に入力され、転送装置SW5のポート20から出力され、転送装置SW4のポート10に入力される。一方、サーバ装置Sから情報端末装置Tに送信されるパケットは、転送装置SW4のポート10から出力され、転送装置SW5のポート20に入力され、転送装置SW5のポート10から出力され、転送装置SW1のポート20に入力される。この場合、図12に示す負荷情報INF4の例では、第1経路R1の転送装置SWの転送に使用されるポートの、パケットが入力又は出力される方向における使用帯域は、いずれも、900Mbpsである。
一方、第2経路R2を使用した場合、情報端末装置Tからサーバ装置Sに送信されるパケットは、転送装置SW1のポート10から出力され、転送装置SW2のポート10に入力され、転送装置SW2のポート20から出力され、転送装置SW3のポート10に入力され、転送装置SW3のポート20から出力され、転送装置SW4のポート20に入力される。サーバ装置Sから情報端末装置Tに送信されるパケットは、転送装置SW4のポート20から出力され、転送装置SW3のポート20に入力され、転送装置SW3のポート10から出力され、転送装置SW2のポート20に入力され、転送装置SW2のポート10から出力され、転送装置SW1のポート10に入力される。この場合、図12に示す負荷情報INF4の例では、第2経路R2の転送装置SWの転送に使用されるポートの、パケットが入力又は出力される方向における使用帯域は、いずれも、100Mbpsである。
この例では、各ポートの最大帯域が、いずれも1000Mbpsであるとすると、第1経路R1の各ポートの最大帯域と当該ポートのパケットが入力又は出力される方向における使用帯域との差分の最小値は、100Mbpsとなる。一方、第2経路R2の各ポートの最大帯域と当該ポートのパケットが入力又は出力される方向における使用帯域との差分の最小値は、900Mbpsである。したがって、この例では、経路選択部13Dは、第2経路R2を選択する。なお、確立されるセッションの帯域(Mbps)が、差分の最小値以下の経路の中から、ホップ数の少ない経路を選択するようにしても良い。
図8に戻り、経路制御部13Eは、確立されたセッションにおいて送信されるパケットを転送するための経路を制御する。より具体的には、経路制御部13Eは、設定要求の送信が指示されると、選択された経路上の転送装置SWの設定要求をそれぞれ生成する。そして、経路制御部13Eは、生成した設定要求を対応する転送装置SWにそれぞれ送信する。そして、設定要求を送信した全ての転送装置SWから転送完了通知を受信した場合には、経路制御装置13Eは、経路上の転送装置SWにおいて転送先の設定が完了したことを示す設定完了を監視装置20に送信する。
設定要求は、選択された経路上の転送装置SWに対して、確立されるセッションにおいて送信されるパケットの転送先を通知するものであり、出力ポート特定情報と出力ポート番号との組を含んでいる。設定要求に含まれる出力ポート特定情報と出力ポート番号との組は2組あり、一つは上り方向のパケット(情報端末装置Tからサーバ装置Sへ送信されるパケット)に対するものであり、もう一つは下り方向のパケット(サーバ装置Sから情報端末装置Tへ送信されるパケット)に対するものである。出力ポート特定情報は、対応する出力ポート番号のポートからパケットを出力する条件を示す情報であり、例えば、送信元IPアドレスと送信先IPアドレスと入力ポート番号とプロトコルとの組み合わせである。なお、RTSPのセッションの場合、映像情報(メディアデータ)は配信を行うサーバ装置Sから再生を行う情報端末装置Tへの一方向で送信されることから、下り方向のパケットに対する組のみを設定要求に含めるようにしてもよい。
送信元IPアドレスとして、セッション管理情報INF5の対応するエントリーの情報端末装置T又はサーバ装置SのIPアドレスが設定される。つまり、送信元IPアドレスは、確立されるセッションの情報端末装置T又はサーバ装置SのIPアドレスである。上り方向のパケットに対しては、送信元IPアドレスは情報端末装置TのIPアドレスとなり、下り方向のパケットに対しては、送信元IPアドレスはサーバ装置SのIPアドレスとなる。
同様に、送信先IPアドレスとして、セッション管理情報INF5の対応するエントリーの情報端末装置T又はサーバ装置SのIPアドレスが設定される。つまり、送信先IPアドレスは、確立されるセッションの情報端末装置T又はサーバ装置SのIPアドレスである。上り方向のパケットに対しては、送信先IPアドレスはサーバ装置SのIPアドレスとなり、下り方向のパケットに対しては、送信先IPアドレスは情報端末装置TのIPアドレスとなる。
入力ポート番号として、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの入力ポート番号が設定される。つまり、入力ポート番号は、設定要求を送信する転送装置SWにおいて、選択された経路を使用した場合にパケットが入力されるポートのポート番号である。なお、図11に例示する経路候補情報INF3は上り方向のパケットに対する例であり、下り方向のパケットに対しては、入力ポート番号は、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの出力ポート番号となる。また、送信されたパケットが最初に経由する転送装置SWに対する設定要求の入力ポート番号として、第1接続情報INF1(又は、第2接続情報INF2)の対応する接続ポート番号が設定される。つまり、上り方向のパケットに対しては、第1接続情報INF1の対応する接続ポート番号が入力ポート番号として設定され、下り方向のパケットに対しては、第2接続情報INF2の対応する接続ポート番号が入力ポート番号として設定される。
例えば、図9と図11を参照して、選択された経路が第2経路R2であり、転送装置SW1に対する設定要求においては、上り方向のパケットに対する入力ポート番号は“1”であり、下り方向のパケットに対する入力ポート番号は“10”となる。
プロトコルとして、セッション管理情報INF5の対応するエントリーにおけるプロトコルが格納される。
出力ポート番号として、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの出力ポート番号が設定される。つまり、出力ポート番号は、設定要求を送信する転送装置SWにおいて、選択された経路を使用した場合にパケットが出力されるポートのポート番号である。なお、図11に例示する経路候補情報INF3は上り方向のパケットに対する例であり、下り方向のパケットに対しては、出力ポート番号は、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの入力ポート番号となる。また、送信されたパケットが最後に経由する転送装置SWに対する設定要求の出力ポート番号として、第2接続情報INF2(又は、第1接続情報INF1)の対応する接続ポート番号が設定される。つまり、上り方向のパケットに対しては、第2接続情報INF2の対応する接続ポート番号が出力ポート番号として設定され、下り方向のパケットに対しては、第1接続情報INF1の対応する接続ポート番号が出力ポート番号として設定される。
また、経路制御装置13Eは、設定解除要求の送信が指示されると、再生停止要求(TEARDOWN)が送信されたセッションに対応する経路上の転送装置SWに対して、再生停止要求(TEARDOWN)が送信されたセッションに対応する経路の設定を解除させるための設定解除要求をそれぞれ生成する。そして、経路制御装置13Eは、生成した設定解除要求を対応する転送装置SWにそれぞれ送信する。設定解除要求は、設定要求と同様に、出力ポート特定情報と出力ポート番号との組を含んでいる。
なお、設定要求に、管理IDが更に含まれるようにしてもよい。こうすることで、再生停止要求(TEARDOWN)が送信されたセッションに対応する経路の設定の解除は、管理IDを指定することで可能となる。つまり、この場合、設定解除要求には、再生停止要求(TEARDOWN)が送信されたセッションに対応する管理IDのみが含まれていれば良い。
図14は、本実施形態1における監視装置20の構成例を示す機能ブロック図である。監視装置20は、情報端末装置Tとサーバ装置Sとの間を流れる全てのパケットを監視できる位置に配置されており、情報端末装置Tとサーバ装置Sとの間を流れる全てのパケットの中から、監視対象のパケットを抽出し、抽出したパケットの複製を経路制御装置10に送信する装置である。本実施形態1における監視装置20は、図14に示すように、通信部21と、記憶部22と、制御部23と、を備えている。
通信部21は、例えば、ネットワークインターフェースなどを備えており、パケットを送受信する。より具体的には、通信部21は、情報端末装置Tとサーバ装置Sとの間を流れる全てのパケットを受信し、受信したパケットを監視部23B(詳しくは後述)に出力する。そして、通信部21は、監視部23Bの制御の下、受信したパケットを本来の送信先に送信する。この際、受信したパケットが監視対象のパケットである場合には、通信部21は、監視部23Bの制御の下、受信したパケットの複製を経路制御装置10に送信する。
記憶部22は、例えば、RAM、ROM、フラッシュメモリなどを備えている。記憶部22は、制御部23が備える、例えば、CPUのワークエリア、監視装置20全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、各種データを格納するデータエリアとして機能する。
また、記憶部22は、図14に示すように、格納部22Aと、監視対象情報記憶部22Bとして機能する。格納部22Aは、監視対象のパケットの内で特定のパケット(以下、特定パケットという)を一時的に格納する記憶部である。
監視対象情報記憶部22Bは、監視対象情報INF6を記憶している記憶部である。監視対象情報INF6は、設定部23A(詳しくは後述)により管理されており、経路制御装置10から送信される監視要求に含まれる情報に基づいて、設定部23Aにより生成される。図15は、本実施形態1における監視対象情報INF6の例を示す図である。図15に例示する監視対象情報INF6は、監視対象のパケットのプロトコル、つまり、セッションを制御するプロトコルと当該パケットが入力されるポート番号とが対応付けられているテーブルである。監視装置20は、このような監視対象情報INF6を保持することで、受信したパケットの中から経路制御装置10に複製を送信するパケットを抽出することができる。
図14に戻り、制御部23は、例えば、CPUなどを備えており、記憶部22のプログラムエリアに格納されている動作プログラムを実行して、図14に示すように、設定部23Aと、監視部23Bとしての機能を実現する。また、制御部23は、動作プログラムを実行して、監視装置20全体を制御する制御処理や詳しくは後述のパケット監視処理などの処理を実行する。
設定部23Aは、受信された監視要求に含まれるプロトコルとポート番号との組の一覧に基づいて監視対象情報INF6を生成する。
監視部23Bは、受信したパケットの中から、監視対象情報INF6に登録されているプロトコルのパケットを抽出し、抽出したパケットの複製を生成する。そして、監視部23Bは、生成した複製を経路制御装置10に送信すると共に、オリジナルのパケットを本来の送信先に送信する。この際、抽出したパケットが特定パケットである場合には、監視部23Bは、その特定パケットのオリジナルを格納部22Aに格納し、経路制御装置10から送信される設定完了を受信した後に、格納部22Aに格納されている特定パケットのオリジナルを本来の送信先に送信する。特定パケットは、確立されるセッションにおいて送信されるパケットの送信開始のトリガとなるパケットである。本実施形態1における特定パケットは、再生開始要求(PLAY)のパケットである。
図16は、本実施形態1における転送装置SWの構成例を示す機能ブロック図である。転送装置SWは、スイッチなどの中継ノードであり、図16に示すように、通信部31と、記憶部32と、制御部33と、を備えている。
通信部31は、例えば、ネットワークインターフェースなどを備えており、パケットを送受信する。
記憶部32は、例えば、RAM、ROM、フラッシュメモリなどを備えている。記憶部32は、制御部33が備える、例えば、CPUのワークエリア、転送装置SW全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、各種データを格納するデータエリアとして機能する。
また、記憶部32は、図16に示すように、転送管理情報記憶部32Aとして機能する。転送管理情報記憶部32Aは、転送管理情報INF7を記憶している記憶部である。転送管理情報INF7は、転送管理部33B(詳しくは後述)により管理されており、例えば、転送処理部33C(詳しくは後述)がセッションにおいて送信されるパケットを転送する際に参照される。図17は、本実施形態1における転送管理情報INF7の例を示す図である。図17に例示する転送管理情報INF7は、出力ポート特定情報と出力ポート番号とが対応付けられているテーブル、つまり、経路制御装置10から送信される設定要求に含まれる出力ポート特定情報と出力ポート番号との組を格納しているテーブルである。
なお、設定要求が管理IDを更に含んでいる場合には、図18に示すように、出力ポート特定情報と出力ポート番号との組と管理IDとを対応付けて保持するようすれば、管理IDのみに基づいて、設定されている経路を解除することができるようになる。ここで、図18は、転送管理情報INF7の別の例を示す図である。
図16に戻り、制御部33は、例えば、CPUなどを備えており、記憶部32のプログラムエリアに格納されている動作プログラムを実行して、図16に示すように、負荷情報取得部33Aと、転送管理部33Bと、転送処理部33Cとしての機能を実現する。また、制御部33は、動作プログラムを実行して、転送装置SW全体を制御する制御処理や詳しくは後述の転送管理処理などの処理を実行する。
負荷情報取得部33Aは、所定のタイミングで各ポートの負荷(入力の使用帯域と出力の使用帯域)を示す情報をそれぞれ取得し、取得した各ポートの負荷を示す情報を含む負荷情報通知を生成する。そして、負荷情報取得部33Aは、生成した負荷情報通知を経路制御装置10に送信する。所定のタイミングは、任意のタイミングであり、例えば、定期的に到来するタイミングであってもよいし、経路制御装置10により要求されたタイミングであってもよい。
転送管理部33Bは、転送管理情報INF7の管理を行う。より具体的には、転送管理部33Bは、設定要求を受信すると、転送管理情報INF7にエントリーを追加し、受信した設定要求の内容を追加したエントリーに設定する。そして、転送管理部33Bは、設定要求の内容を設定した旨、つまり、新たに確立されるセッションにおいて送信されるパケットの転送先を設定した旨を通知するための設定完了通知を生成し、生成した設定完了通知を経路制御装置10に送信する。
また、転送管理部33Bは、設定解除要求を受信すると、受信した設定解除要求に基づいて、転送管理情報INF7のエントリーを特定する。そして、転送管理部33Bは、設定解除要求を受信してから所定時間(例えば、10秒)経過後に、特定したエントリーを削除する。設定解除要求を受信してから所定時間経過後に、特定したエントリーを削除するのは、サーバ装置Sが再生停止要求(TEARDOWN)を受信し再生を停止する前に配信された映像情報の全てのパケットを転送する前に、経路の設定が解除されるのを防ぐためである。
転送処理部33Cは、セッションにおいて送信されるパケット(本実施形態1においてはサーバ装置Sから配信される映像情報のパケット)の転送を行う。より具体的には、転送処理部33Cは、セッションにおいて送信されるパケットを受信すると、転送管理情報INF7を参照して、受信したパケットを出力するポートのポート番号を特定する。そして、転送処理部33Cは、特定したポート番号のポートから受信したパケットを出力する。
次に、図19を参照して、本実施形態1におけるパケット監視処理の流れについて説明する。図19は、本実施形態1におけるパケット監視処理のフローを説明するためのフローチャートの例である。本パケット監視処理は、監視装置20で実行され、パケットの受信をトリガとして開始される。
監視部23Bは、パケットを受信したか否かを判定する(ステップS101)。管理部23Bによりパケットを受信していないと判定された場合には(ステップS101;NO)、処理はステップS101の処理を繰り返して、パケットの受信を待つ。一方、パケットを受信したと判定した場合には(ステップS101;YES)、監視部23Bは、更に、監視対象情報INF6を参照して、受信したパケットが監視対象であるか否かを判定する(ステップS102)。監視部23Bにより、受信したパケットが監視対象ではないと判定された場合には(ステップS102;NO)、処理は後述のステップS107の処理へと進む。
一方、受信したパケットが監視対象であると判定した場合には(ステップS102;YES)、監視部23Bは、受信したパケットの複製を生成し、生成した複製を経路制御装置10に送信する(ステップS103)。そして、監視部23Bは、受信したパケットが特定パケット、本実施形態1においては再生開始要求(PLAY)のパケットであるか否かを判定する(ステップS104)。
監視部23Bにより、受信したパケットが特定パケットではないと判定された場合には(ステップS104;NO)、処理は後述のステップS107の処理へと進む。一方、受信したパケットが特定パケットであると判定した場合には(ステップS104;YES)、監視部23Bは、受信したパケットを格納部22Aに格納する(ステップS105)。
そして、監視部23Bは、新たに確立されるセッションの経路の設定が経路上の転送装置SWにおいて完了したか否かを判定する(ステップS106)。監視部23Bは、設定完了を受信した場合に、経路の設定が完了したと判定し、設定完了を受信していない場合に、経路の設定は完了していないと判定する。
監視部23Bにより、経路の設定が完了していないと判定された場合には(ステップS106;NO)、処理はステップS106の処理を繰り返して、経路の設定が完了するのを待つ。一方、経路の設定が完了したと判定した場合には(ステップS106;YES)、監視部23Bは、オリジナルのパケットを本来の宛先に送信する(ステップS107)。そして、処理はステップS101の処理へと戻り、前述の処理を繰り返す。
次に、図20と図21を参照して、本実施形態1における経路制御処理の流れについて説明する。図20と図21は、それぞれ、本実施形態1における経路制御処理のフローを説明するためのフローチャートの例の一部と、他の一部である。本経路制御処理は、経路制御装置10で実行され、監視装置20により送信される複製のパケットの受信をトリガとして開始される。なお、本実施形態1においては、監視装置20により送信される複製のパケットはRTSPのパケットであるものとして本処理を説明する。
セッション管理部13Cは、監視装置20から送信されたRTSPのパケットを受信したか否かを判定する(ステップS201)。セッション管理部13Cにより、RTSPのパケットを受信していないと判定された場合には(ステップS201;NO)、処理はステップS201の処理を繰り返して、RTSPのパケットの受信を待つ。
RTSPのパケットを受信したと判定した場合には(ステップS201;YES)、セッション管理部13Cは、更に、受信したRTSPのパケットはコンテンツ情報要求(DESCRIBE)のパケットであるか否かを判定する(ステップS202)。受信したRTSPのパケットがコンテンツ情報要求(DESCRIBE)のパケットであると判定した場合には(ステップS202;YES)、セッション管理部13Cは、セッション管理情報INF5にエントリーを追加し、新たに確立されるセッションに割り振られた管理IDを追加したエントリーの「管理ID」欄に格納する(ステップS203)。
そして、セッション管理部13Cは、コンテンツ情報要求(DESCRIBE)のパケットの送信元と送信先のIPアドレスを、追加したエントリーの対応する欄に格納する(ステップS204)。そして、処理はステップS201の処理へと戻り、前述の処理を繰り返す。
一方、ステップS202の処理において、受信したRTSPのパケットがコンテンツ情報要求(DESCRIBE)のパケットではないと判定した場合には(ステップS202;NO)、セッション管理部13Cは、更に、受信したRTSPのパケットがコンテンツ情報のパケットであるか否かを判定する(ステップS205)。
受信したRTSPのパケットがコンテンツ情報のパケットであると判定した場合には(ステップS205;YES)、セッション管理部13Cは、コンテンツ情報のメディアURIやプロトコルなどをセッション管理情報INF5の対応するエントリーの対応する欄に格納する(ステップS206)。そして、セッション管理部13Cは、経路選択部13Dに対して、経路の選択を指示する(ステップS207)。
そして、経路選択部13Dは、経路の選択が指示されると、経路選択処理を実行し、新たに確立されるセッションの経路を選択する(ステップS208)。そして、経路制御部13Eは、選択された経路上の転送装置SWに対して、設定要求をそれぞれ生成し(ステップS209)、生成した設定要求を対応する転送装置SWにそれぞれ送信する(ステップS210)。
そして、経路制御部13Eは、設定要求を送信した全ての転送装置SWから設定完了通知を受信したか否かを判定する(ステップS211)。経路制御部13Eにより、全ての設定完了通知を受信していないと判定された場合には(ステップS211;NO)、処理はステップS211の処理を繰り返して、全ての設定完了通知の受信を待つ。一方、全ての設定完了通知を受信したと判定した場合には(ステップS211;YES)、経路制御部13Eは、設定完了を監視装置20に送信する(ステップS212)。そして、処理はステップS201の処理へと戻り、前述の処理を繰り返す。
一方、ステップS205の処理において、受信したRTSPのパケットがコンテンツ情報のパケットではないと判定した場合には(ステップS205;NO)、セッション管理部13Cは、更に、受信したRTSPのパケットが再生停止要求(TEARDOWN)のパケットであるか否かを判定する(ステップS213)。セッション管理部13Cにより、受信したRTSPのパケットが再生停止要求(TEARDOWN)のパケットではないと判定された場合には(ステップS213;NO)、処理はステップS201の処理へと戻り、前述の処理を繰り返す。
一方、受信したRTSPのパケットが再生停止要求(TEARDOWN)のパケットであると判定した場合には(ステップS213;YES)、セッション管理部13Cは、再生停止要求(TEARDOWN)に基づいて、セッション管理情報INF5の対応するエントリーを特定する(ステップS214)。そして、セッション管理部13Cは、経路制御部13Eに対して、特定したエントリーの経路IDに対応する経路(再生停止要求(TEARDOWN)に対応するセッションの経路)の設定解除要求の送信を指示する(ステップS215)。
設定解除要求の送信が指示されると、経路制御部13Eは、特定したエントリーの経路IDに対応する経路上の転送装置SWに対して、設定解除要求をそれぞれ生成し(ステップS216)、生成した設定解除要求を対応する転送装置SWにそれぞれ送信する(ステップS217)。そして、セッション管理部13Cは、特定したエントリーを削除する(ステップS218)。そして、処理はステップS201の処理へと戻り、前述の処理を繰り返す。
次に、図22を参照して、本実施形態1における経路選択処理の流れについて説明する。図22は、本実施形態1における経路選択処理のフローを説明するためのフローチャートの例である。本経路選択処理は、前述の経路制御処理のステップS208の処理に対応する処理である。
経路選択部13Dは、第1接続情報INF1を参照して、新たに確立されるセッションの情報端末装置T、つまり、コンテンツ情報要求(DESCRIBE)を送信した情報端末装置Tを収容する転送装置SWを特定する(ステップS301)。また、経路選択部13Dは、第2接続情報INF2を参照して、新たに確立されるセッションのサーバ装置S、つまり、映像情報を配信するサーバ装置Sを収容する転送装置SWを特定する(ステップS302)。そして、経路選択部13Dは、経路候補情報INF3を参照し、ステップS301とステップS302において特定した転送装置SWに基づいて、経路候補を特定する(ステップS303)。
そして、経路選択部13Dは、特定した経路候補の中から、新たに確立されるセッションに割り振る経路を選択し(ステップS304)、選択した経路の経路IDをセッション管理情報INF5の対応するエントリーの「経路ID」欄に格納する(ステップS305)。そして、経路選択部13Dは、経路制御部13Eに対して、設定要求の送信を指示する。そして、本処理は終了し、経路制御処理のステップS209の処理へと移行する。
次に、図23を参照して、本実施形態1における転送管理処理の流れについて説明する。図23は、本実施形態1における転送管理処理のフローを説明するためのフローチャートの例である。本転送管理処理は、各転送装置SWで実行され、設定要求の受信をトリガとして開始される。
転送管理部33Bは、経路制御装置10から送信される設定要求を受信したか否かを判定する(ステップS401)。設定要求を受信したと判定した場合には(ステップS401;YES)、転送管理部33Bは、転送管理情報INF7にエントリーを追加し(ステップS402)、受信した設定要求の内容を追加したエントリーに設定する(ステップS403)。
そして、転送管理部33Bは、設定完了通知を経路制御装置10に送信する(ステップS404)。そして、処理はステップS401の処理へと戻り、前述の処理を繰り返す。
一方、ステップS401の処理において、設定要求を受信していないと判定した場合には(ステップS401;YES)、転送管理部33Bは、更に、設定解除要求を受信したか否かを判定する(ステップS405)。転送管理部33Bにより、設定解除要求を受信していないと判定された場合には(ステップS405;NO)、処理はステップS4010の処理へと戻り、前述の処理を繰り返す。
一方、設定解除要求を受信したと判定した場合には(ステップS405;YES)、転送管理部33Bは、受信した設定解除要求に基づいて、転送管理情報INF7のエントリーを特定する(ステップS406)。そして、転送管理部33Bは、設定解除要求を受信してから所定時間経過したか否かを判定する(ステップS407)。転送管理部33Bにより、所定時間が経過していないと判定された場合には(ステップS407;NO)、処理はステップS407の処理を繰り返し、所定時間が経過するのを待つ。
一方、所定時間が経過したと判定した場合には(ステップS407;YES)、転送管理部33Bは、特定したエントリーを削除する(ステップS408)。そして、処理はステップS401の処理へと戻り、前述の処理を繰り返す。
次に、図24を参照して、本実施形態1における転送処理の流れについて説明する。図24は、本実施形態1における転送処理のフローを説明するためのフローチャートの例である。本転送処理は、各転送装置SWで実行され、確立されたセッションにおいて送信されるパケットの受信をトリガとして開始される。
転送処理部33Cは、セッションにおいて送信されるパケットを受信したか否かを判定する(ステップS501)。転送処理部33Cにより、セッションにおいて送信されるパケットを受信していないと判定された場合には(ステップS501;NO)、処理はステップS501の処理を繰り返して、セッションにおいて送信されるパケットの受信を待つ。
一方、セッションにおいて送信されるパケットを受信したと判定した場合には(ステップS501;YES)、転送処理部33Cは、転送管理情報INF7を参照して、受信したパケットを出力するポートのポート番号を特定する(ステップS502)。そして、転送処理部33Cは、特定したポート番号のポートを介して、受信したパケットを転送する(ステップS503)。そして、処理はステップS501の処理へと戻り、前述の処理を繰り返す。
次に、図25などを参照して、本実施形態1におけるシステム全体での映像配信までのデータの概略的な流れについて説明する。図25は、本実施形態1におけるシステム全体での映像配信までの流れを説明するための具体例を示す図である。なお、本具体例におけるシステムは図1に示したネットワークシステム100であるものとする。また、情報端末装置T1とサーバ装置S1との間に既にセッションが確立されており、当該セッションにおいて送信されるパケットは第1経路R1を使用して転送されているものとする。本具体例は。これらの前提の下で、情報端末装置T2がサーバ装置S2との間でセッションを新たに確立し、映像の配信が行われるまでの例である。また、図25中の()内は、前述した各処理の対応するステップ番号を示している。
情報端末装置T2は、コンテンツ情報要求(DESCRIBE)をサーバ装置S2に送信する(ステップS005)。監視装置20は、コンテンツ情報要求(DESCRIBE)を受信し、コンテンツ情報要求(DESCRIBE)は監視対象であることから、コンテンツ情報要求(DESCRIBE)の複製を経路制御装置10に送信する(ステップS103)。また、監視装置20は、コンテンツ情報要求(DESCRIBE)のオリジナルをサーバ装置S2に送信する(ステップS107)。
サーバ装置S2は、コンテンツ情報要求(DESCRIBE)に応答して、コンテンツ情報を情報端末装置T2に返信する(ステップS006)。監視装置20は、コンテンツ情報を受信し、コンテンツ情報は監視対象であることから、コンテンツ情報の複製を経路制御装置10に送信する(ステップS103)。また、監視装置20は、コンテンツ情報のオリジナルを情報端末装置T2に送信する(ステップS107)。
経路制御装置10は、コンテンツ情報の複製を受信すると、新たに確立されるセッションに対して経路を選択する。本具体例では、情報端末装置T1とサーバ装置S1との間のセッションにおいて送信されるパケットは第1経路R1を使用して転送されている。ここで、図12に示す負荷情報INF4が本具体例の負荷情報INF4であるとすると、第1経路R1の負荷は第2経路R2の負荷より高いことから、経路制御部10は、情報端末装置T2とサーバ装置S2との間のセッションの経路として第2経路R2を選択する。そして、経路制御部10は、選択した第2経路R2上の転送装置SW1、SW2、SW3、SW4に対して、情報端末装置T2とサーバ装置S2との間に確立されるセッションに対して第二経路R2を設定するように要求する設定要求を送信する(ステップS210)。
転送装置SW1、SW2、SW3、SW4は、設定要求を受信すると、第2経路R2の設定を行い、設定完了通知を経路制御装置10に送信する(ステップS404)。経路制御装置10は、転送装置SW1、SW2、SW3、SW4の全てから設定完了通知を受信すると、設定完了を監視装置20に送信する(ステップS212)。ここで、図26Aは、本具体例における転送装置SW1の転送管理情報INF7の例を示す図であり、破線枠で囲まれた部分が、転送装置SW1が新たに設定した部分である。また、図26Bは、本具体例における転送装置SW2の転送管理情報INF7の例を示す図であり、破線枠で囲まれた部分が、転送装置SW2が新たに設定した部分である。また、図27Aは、本具体例における転送装置SW3の転送管理情報INF7の例を示す図であり、破線枠で囲まれた部分が、転送装置SW3が新たに設定した部分である。また、図27Bは、本具体例における転送装置SW4の転送管理情報INF7の例を示す図であり、破線枠で囲まれた部分が、転送装置SW4が新たに設定した部分である。
一方、情報端末装置T2は、コンテンツ情報を受信すると、再生準備要求(SETUP)をサーバ装置S2に送信する(ステップS007)。監視装置20は、再生準備要求(SETUP)を受信し、再生準備要求(SETUP)は監視対象であることから、再生準備要求(SETUP)の複製を経路制御装置10に送信する(ステップS103)。また、監視装置20は、再生準備要求(SETUP)のオリジナルをサーバ装置S2に送信する(ステップS107)。
サーバ装置S2は、再生準備要求(SETUP)を受信すると、資源の割り当てなどの準備を行い、セッションが確立される。セッションが確立され、再生準備が整うと、サーバ装置S2は、準備完了を情報端末装置T2に返信する(ステップS008)。監視装置20は、準備完了を受信し、準備完了は監視対象であることから、準備完了の複製を経路制御装置10に送信する(ステップS103)。また、監視装置20は、準備完了のオリジナルを情報端末装置T2に送信する(ステップS107)。
経路制御装置10は、準備完了の複製を受信すると、ユーザの指示に従って再生開始要求(PLAY)を送信する(ステップS009)。監視装置20は、再生開始要求(PLAY)を受信し、再生開始要求(PLAY)は監視対象であることから、再生開始要求(PLAY)の複製を経路制御装置10に送信する(ステップS103)。また、監視装置20は、既に、設定完了を受信していることから、再生開始要求(PLAY)のオリジナルをサーバ装置S2に送信する(ステップS107)。
サーバ装置S2は、再生開始要求(PLAY)に応答して、ACKを情報端末装置T2に返信すると共に(ステップS010)、映像情報の配信を開始する(ステップS011)。セッションにおいて送信されるパケット、つまり、映像情報のパケットは、第2経路R2を介して、情報端末装置T2に送信される。監視装置20は、ACKを受信し、ACKは監視対象であることから、ACKの複製を経路制御装置10に送信する(ステップS103)。また、監視装置20は、ACKのオリジナルを情報端末装置T2に送信する(ステップS107)。
上記実施形態1によれば、経路制御装置10は、セッションの確立を制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出し、複数の経路候補の中から負荷の低い経路を当該セッションの経路として選択し、選択した経路を確立させる。こうすることで、既に確立されているセッションに対する影響を抑制しつつ、新たに確立するセッションの品質を向上させることが可能となる。
また、上記実施形態1によれば、経路制御装置10は、セッションの切断を制御するプロトコルのパケットに基づいて、切断するセッションの経路上の転送装置に対して、経路の設定の解除を指示する。また、上記実施形態1によれば、転送装置SWは、経路設定の解除が指示された後所定時間経過後に、経路の設定を解除する。こうすることで、セッションにおいて送信される全てのパケットが設定された経路を経由して送信される前に、経路の設定が解除されてしまうのを防ぐことができる。また、上記実施形態1によれば、経路制御装置10は、セッションが確立される前に、複数の経路候補の中から負荷の低い経路を当該セッションの経路として選択し、選択した経路を確立させる。こうすることで、選択されたセッションの経路が確立される前に、セッションにおけるパケットが流れるのを防ぐことができる。したがって、既に確立されているセッションに対する一時的な影響を防ぐことができる。
また、上記実施形態1によれば、経路制御装置10は、セッションの切断を制御するプロトコルのパケットに基づいて、セッション管理情報INF5の対応するエントリーを特定し、特定したエントリーを削除する。こうすることで、メモリ資源の有効活用が可能となり、安価な装置でネットワークシステム100を構築することが可能となる。また、上記実施形態1によれば、転送装置SWは、セッションが切断されると転送管理情報INF7の対応するエントリーを削除する。こうすることで、メモリ資源の有効活用が可能となり、安価な装置でネットワークシステム100を構築することが可能となる。
また、上記実施形態1によれば、監視装置20は、セッションが確立される装置間を流れるパケットの中から、セッションを制御するプロトコルのパケットを抽出し、抽出したパケットの複製を経路制御装置10に送信する。こうすることで、経路制御装置10は、セッションにおいて送信されるパケットの経路制御が可能となる。また、上記実施形態1によれば、監視装置20は、セッションにおいて送信されるパケットの送信開始のトリガとなるパケットを一時的に保持し、セッションの経路が確立された後に、そのパケットを本来の送信先に送信する。こうすることで、選択されたセッションの経路が確立される前に、セッションにおけるパケットが流れるのを防ぐことができる。したがって、既に確立されているセッションに対する一時的な影響を防ぐことができる。
(実施形態2)
実施形態1では、映像配信システムを例に本発明について説明した。しかしながら、本発明の適用範囲は、映像配信システムに限定されるものではなく、例えば、テレビ電話システムなど、セッションの確立に先立ってセッションを制御するためのプロトコルのパケットがやりとりされるシステムにおいて適用することができる。つまり、本発明は、IP電話システムやインスタントメッセージシステムなど種々のシステムにも適用することができる。実施形態2においては、ネットワークシステム100がテレビ電話システムであるものとして、以下、説明する。
図28は、本実施形態2におけるネットワークシステム100の構成例を示す図である。本実施形態2におけるネットワークシステム100は、上述したように、テレビ電話システムである。本実施形態2におけるネットワークシステム100の基本的な構成は、実施形態1の場合と同じである。ただし、本実施形態2におけるネットワークシステム100は、図28に示すように、サーバ装置S1とS2のかわりに、情報端末装置T3とT4を含んでいる。なお、本実施形態2のテレビ電話システムはサーバ装置Sを経由しないものとする。つまり、情報端末装置T同士が直接電話する場合の例である。また、図1の場合と同様に、図28中の()内の数字は接続されているポート番号を示し、<>内の数字列はIPアドレスを示している。
図29は、一般的なテレビ電話のシーケンスの例を示す図である。図29の例は、図28中の情報端末装置T1が、情報端末装置T4に対して、発呼(INVITE)を行う場合の例である。
情報端末装置T4との間でテレビ電話を行うためにユーザが所定の操作を行うと、情報端末装置T1は、Session Initiation Protocol(SIP)/TCPを使用し、発呼(INVITE)を情報端末装置T4に送信する(ステップS601)。ここで、図30は、発呼(INVITE)の例を示す図である。情報端末装置T4は、発呼(INVITE)を受信すると、例えば、呼び出し音を出力するなどの呼び出し処理を行うと共に、SIP/TCPを使用し、呼び出し中であることを通知するための暫定応答(180 Ringing)を情報端末装置T1に返信する(ステップS602)。
情報端末装置T4のユーザが、例えば、受話器をオフフック状態にするなどして、呼び出しに応じると、情報端末装置T4は、SIP/TCPを使用し、応答成功(200 OK)を情報端末装置T1に送信する(ステップS603)。情報端末装置T1は、応答成功(200 OK)を受信すると、SIP/TCPを使用し、セッション確立了解(ACK)を情報端末装置T4に送信し(ステップS604)、情報端末装置T1と情報端末装置T4との間でセッションが確立される。セッションが確立されると、RTPによる、双方向の通信が行われる(ステップS605)。
情報端末装置T1のユーザが、例えば、受話器をオンフック状態にするなどして、テレビ電話を終了するための所定の操作を行うと、情報端末装置T1は、SIP/TCPを使用し、セッション切断要求(BYE)を情報端末装置T4に送信する(ステップS606)。ここで、図31は、セッション切断要求(BYE)の例を示す図である。情報端末装置T4は、セッション切断要求(BYE)を受信すると、セッションを切断するための処理を行い、セッションが終了する。そして、情報端末装置T4は、SIP/TCPを使用し、切断成功(200 OK)を情報端末装置T1に返信する(ステップS607)。
ここで、本実施形態2における経路制御装置10について説明する。本実施形態2における経路制御装置10の基本的な構成は、実施形態1の場合と同じである。ただし、本実施形態2ではSIPのパケットを監視対象とするため、セッション管理情報INF5の構成が実施形態1の場合と若干異なる。また、セッション管理部13Cと経路選択部13Dと経路制御部13Eが果たす役割が、実施形態1の場合と若干異なっている。
図32は、本実施形態2における第1接続情報INF1の例を示す図であり、図28の例に対応した第1接続情報INF1の例である。
図33は、本実施形態2におけるセッション管理情報INF5の例を示す図である。本実施形態2におけるセッション管理情報INF5は、実施形態1の場合と同様に、セッションごとにセッションに関する情報を対応付けて管理している。
本実施形態2におけるセッションに関する情報は、図33に示すように、第1情報端末装置TのIPアドレスと、第2情報端末装置TのIPアドレスと、プロトコルと、経路IDと、CALL−IDと、を含んでいる。また、セッションに関する情報は、図33に示すように、帯域(Mbps)などを含んでもよい。
第1情報端末装置TのIPアドレスは、対応するセッションにおいて発呼(INVITE)を送信した情報端末装置TのIPアドレスであり、第2情報端末装置TのIPアドレスは、対応するセッションにおける発呼(INVITE)が送信された情報端末装置TのIPアドレスである。これらのIPアドレスは、発呼(INVITE)のパケットヘッダに含まれる送信元IPアドレス(第1情報端末装置TのIPアドレス)と送信先IPアドレス(第2情報端末装置のIPアドレス)であり、セッション管理部13Cにより格納される。
プロトコルは、対応するセッションで使用されるプロトコルである。本実施形態2においては、発呼(INVITE)(図30に例示)に含まれる、映像・会話情報をやりとりする際に使用するプロトコルが、セッション管理部13Cにより格納される。
CALL−IDは、CALLを一意に識別可能な識別子である。本実施形態2においては、発呼(INVITE)(図30に例示)に含まれるCALL−IDが、セッション管理部13Cにより格納される。帯域(Mbps)は、対応するセッションに必要な帯域であり、本実施形態2においては、発呼(INVITE)(図30に例示)に含まれる帯域が、セッション管理部13Cにより格納される。
セッション管理部13Cは、確立されるセッションを制御するプロトコルのパケット、つまり、監視装置20の監視対象のパケットに基づいて、確立中のセッションを管理する。本実施形態2においては、セッション管理部13Cは、SIPのパケットに基づいて、確立中のセッションを管理する。
より具体的には、監視装置20から送信されたパケットを受信し、受信したパケットが発呼(INVITE)である場合には、セッション管理部13Cは、セッション管理情報INF5にエントリーを追加し、新たに確立されるセッションに対して割り振った管理IDを追加したエントリーの「管理ID」欄に格納する。そして、セッション管理部13Cは、発呼(INVITE)のパケットヘッダの送信元IPアドレスと送信先IPアドレスを、それぞれ、追加したエントリーの「第1情報端末装置TのIPアドレス」欄と「第2情報端末装置TのIPアドレス」欄に格納する。
また、セッション管理部13Cは、発呼(INVITE)に含まれるCALL−IDとプロトコルと帯域(Mbps)を、セッション管理情報INF5の対応するエントリーの対応する欄に格納する。そして、セッション管理部13Cは、経路選択部13Dに対して、例えば、管理IDを通知し、新たに確立されるセッションにおいて送信される映像・会話情報を送信するための経路の選択を指示する。
また、受信したパケットがセッション切断要求(BYE)である場合には、セッション管理部13Cは、セッション切断要求(BYE)に含まれるCALL−IDに基づいて、セッション管理情報INF5の対応するエントリーを特定する。そして、セッション管理部13Cは、特定したエントリーの管理IDを経路制御部13Eに通知し、特定したエントリーの経路IDが示す経路(セッション切断要求(BYE)に対応するセッションの経路)上の各転送装置SWに対して設定解除要求の送信を指示する。そして、セッション管理部13Cは、経路制御部13Eが設定解除要求を送信した後に、特定したエントリーを削除する。
以上に説明したように、セッション管理部13Cは、セッションの確立に先立って送信されるセッションを制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出する。そして、新たにセッションが確立されることが検出されると、セッション管理部13Cは、そのセッションに対して管理IDを割り振り、セッションに関する情報をセッション管理情報INF5に登録して保持させる。そして、セッション管理部13Cは、セッションの切断を制御するパケットに基づいて、保持されているセッションに関する情報を削除する。このようにして、セッション管理部13Cは、確立されるセッションを制御するプロトコルのパケットに基づいて、確立中のセッションを管理する。
経路選択部13Dは、経路の選択が指示されると、経路候補の中から、負荷の低い経路を選択する。より具体的には、経路選択部13Dは、通知された管理IDに基づいて、セッション管理情報INF5のエントリーを特定し、第1接続情報INF1を参照して、特定したエントリーの第1情報端末装置Tと第2情報端末装置Tを収容する転送装置SWを特定する。
そして、経路選択部13Dは、経路候補情報INF3を参照し、第1情報端末装置Tを収容する転送装置SWと第2情報端末装置Tを収容する転送装置SWとに基づいて、新たに確立されるセッションの第1情報端末装置Tと第2情報端末装置Tとの間を結ぶ経路候補を特定する。
そして、経路選択部13Dは、特定した経路候補の中から経路を選択し、選択した経路の経路IDをセッション管理情報INF5の対応するエントリーの「経路ID」欄に格納する。そして、経路選択部13Dは、経路制御部13Eに対して、例えば、管理IDを通知し、設定要求の送信を指示する。
経路制御部13Eは、確立されたセッションにおいて送信されるパケットを転送するための経路を制御する。より具体的には、経路制御部13Eは、設定要求の送信が指示されると、選択された経路上の転送装置SWに対して、設定要求をそれぞれ生成する。そして、経路制御部13Eは、生成した設定要求を対応する転送装置SWにそれぞれ送信する。そして、設定要求を送信した全ての転送装置SWから転送完了通知を受信した場合には、経路制御装置13Eは、経路上の転送装置SWにおいて転送先の設定が完了したことを示す設定完了を監視装置20に送信する。
設定要求は、選択された経路上の転送装置SWに対して、確立されたセッションにおいて送信されるパケットの転送先を通知するものであり、出力ポート特定情報と出力ポート番号との組を含んでいる。設定要求に含まれる出力ポート特定情報と出力ポート番号との組は2組あり、一つは第1方向のパケット(第1情報端末装置Tから第2情報端末装置Tへ送信されるパケット)に対するものであり、もう一つは第2方向のパケット(第2情報端末装置Tから第1情報端末装置Tへ送信されるパケット)に対するものである。出力ポート特定情報は、対応する出力ポート番号のポートからパケットを出力する条件を示す情報であり、例えば、送信元IPアドレスと送信先IPアドレスと入力ポート番号とプロトコルとの組み合わせである。
送信元IPアドレスとして、セッション管理情報INF5の対応するエントリーの第1情報端末装置T又は第2情報端末装置TのIPアドレスが設定される。つまり、送信元IPアドレスは、確立されるセッションの第1情報端末装置T又は第2情報端末装置TのIPアドレスである。第1方向のパケットに対しては、送信元IPアドレスは第1情報端末装置TのIPアドレスとなり、第2方向のパケットに対しては、送信元IPアドレスは第2情報端末装置TのIPアドレスとなる。
同様に、送信先IPアドレスとして、セッション管理情報INF5の対応するエントリーの第1情報端末装置T又は第2情報端末装置TのIPアドレスが設定される。つまり、送信先IPアドレスは、確立されるセッションの第1情報端末装置T又は第2情報端末装置TのIPアドレスである。第1方向のパケットに対しては、送信先IPアドレスは第2情報端末装置TのIPアドレスとなり、第2方向のパケットに対しては、送信先IPアドレスは第1情報端末装置TのIPアドレスとなる。
入力ポート番号として、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの入力ポート番号が設定される。つまり、入力ポート番号は、設定要求を送信する転送装置SWにおいて、選択された経路を使用した場合にパケットが入力されるポートのポート番号である。なお、図11に例示する経路候補情報INF3は第1方向のパケットに対する例であり、第2方向のパケットに対しては、入力ポート番号は、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの出力ポート番号となる。また、送信されたパケットが最初に経由する転送装置SWに対する設定要求の入力ポート番号として、第1接続情報INF1の対応する接続ポート番号が設定される。
プロトコルとして、セッション管理情報INF5の対応するエントリーにおけるプロトコルが格納される。
出力ポート番号として、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの出力ポート番号が設定される。つまり、出力ポート番号は、設定要求を送信する転送装置SWにおいて、選択された経路を使用した場合にパケットが出力されるポートのポート番号である。なお、図11に例示する経路候補情報INF3は第1方向のパケットに対する例であり、第2方向のパケットに対しては、出力ポート番号は、経路候補情報INF3の選択された経路における、設定要求を送信する転送装置SWの入力ポート番号となる。また、送信されたパケットが最後に経由する転送装置SWに対する設定要求の出力ポート番号として、第1接続情報INF1の対応する接続ポート番号が設定される。
また、経路制御装置13Eは、設定解除要求の送信が指示されると、セッション切断要求(BYE)が送信されたセッションに対応する経路上の転送装置SWに対して、セッション切断要求(BYE)が送信されたセッションに対応する経路の設定を解除させるための設定解除要求をそれぞれ生成する。そして、経路制御装置13Eは、生成した設定解除要求を対応する転送装置SWにそれぞれ送信する。設定解除要求は、設定要求と同様に、出力ポート特定情報と出力ポート番号との組を含んでいる。
なお、設定要求に、管理ID又はCALL−IDが更に含まれるようにしてもよい。こうすることで、セッション切断要求(BYE)が送信されたセッションに対応する経路の設定の解除は、管理ID又はCALL−IDを指定することで可能となる。つまり、この場合、設定解除要求には、セッション切断要求(BYE)が送信されたセッションに対応する管理ID又はCALL−IDのみを含めれば良い。
次に、図34を参照して、本実施形態2におけるパケット監視処理の流れについて説明する。図34は、本実施形態2におけるパケット監視処理のフローを説明するためのフローチャートの例である。本パケット監視処理は、監視装置20で実行され、パケットの受信をトリガとして開始される。なお、実施形態1と同じ処理については同一の符号を付してある。
監視部23Bは、パケットを受信したか否かを判定する(ステップS101)。管理部23Bによりパケットを受信していないと判定された場合には(ステップS101;NO)、処理はステップS101の処理を繰り返して、パケットの受信を待つ。一方、パケットを受信したと判定した場合には(ステップS101;YES)、監視部23Bは、更に、監視対象情報INF6を参照して、受信したパケットが監視対象であるか否かを判定する(ステップS102)。監視部23Bにより、受信したパケットが監視対象ではないと判定された場合には(ステップS102;NO)、処理は後述のステップS107の処理へと進む。
一方、受信したパケットが監視対象であると判定した場合には(ステップS102;YES)、監視部23Bは、受信したパケットの複製を生成し、生成した複製を経路制御装置10に送信する(ステップS103)。そして、監視部23Bは、受信したパケットが特定パケット、本実施形態2においては応答成功(200 OK)のパケットであるか否かを判定する(ステップS701)。以降の処理は実施形態1で説明した処理を同じである。
次に、図35を参照して、本実施形態2における経路制御処理の流れについて説明する。図35は、本実施形態2における経路制御処理のフローを説明するためのフローチャートの例の一部である。本経路制御処理は、経路制御装置10で実行され、監視装置20により送信される複製のパケットの受信をトリガとして開始される。なお、本実施形態2においては、監視装置20により送信される複製のパケットはSIPのパケットであるものとして本処理を説明する。
セッション管理部13Cは、監視装置20から送信されたSIPのパケットを受信したか否かを判定する(ステップS801)。セッション管理部13Cにより、SIPのパケットを受信していないと判定された場合には(ステップS801;NO)、処理はステップS801の処理を繰り返して、SIPのパケットの受信を待つ。
SIPのパケットを受信したと判定した場合には(ステップS801;YES)、セッション管理部13Cは、更に、受信したSIPのパケットは発呼(INVITE)のパケットであるか否かを判定する(ステップS802)。受信したSIPのパケットが発呼(INVITE)のパケットであると判定した場合には(ステップS802;YES)、セッション管理部13Cは、セッション管理情報INF5にエントリーを追加し、新たに確立されるセッションに割り振られた管理IDを追加したエントリーの「管理ID」欄に格納する(ステップS803)。
そして、セッション管理部13Cは、発呼(INVITE)のパケットヘッダの送信元と送信先のIPアドレスを、追加したエントリーの対応する欄に格納する(ステップS804)。また、セッション管理部13Cは、発呼(INVITE)に含まれるCALL―IDやプロトコルなどをセッション管理情報INF5の対応するエントリーの対応する欄に格納する(ステップS805)。そして、セッション管理部13Cは、経路選択部13Dに対して、経路の選択を指示する(ステップS806)。
そして、経路選択部13Dは、経路の選択が指示されると、経路選択処理を実行し、新たに確立されるセッションの経路を選択する(ステップS807)。そして、経路制御部13Eは、選択された経路上の転送装置SWに対して、設定要求をそれぞれ生成し(ステップS808)、生成した設定要求を対応する転送装置SWにそれぞれ送信する(ステップS809)。
そして、経路制御部13Eは、設定要求を送信した全ての転送装置SWから設定完了通知を受信したか否かを判定する(ステップS810)。経路制御部13Eにより、全ての設定完了通知を受信していないと判定された場合には(ステップS810;NO)、処理はステップS810の処理を繰り返して、全ての設定完了通知の受信を待つ。一方、全ての設定完了通知を受信したと判定した場合には(ステップS810;YES)、経路制御部13Eは、設定完了を監視装置20に送信する(ステップS811)。そして、処理はステップS801の処理へと戻り、前述の処理を繰り返す。
一方、ステップS802の処理において、受信したSIPのパケットが発呼(INVITE)のパケットではないと判定した場合には(ステップS802;NO)、セッション管理部13Cは、更に、受信したSIPのパケットがセッション切断要求(BYE)のパケットであるか否かを判定する(ステップS812)。セッション管理部13Cにより、受信したSIPのパケットがセッション切断要求(BYE)のパケットではないと判定された場合には(ステップS812;NO)、処理はステップS801の処理へと戻り、前述の処理を繰り返す。
一方、受信したSIPのパケットがセッション切断要求(BYE)のパケットであると判定した場合には(ステップS812;YES)、セッション管理部13Cは、セッション切断要求(BYE)に基づいて、セッション管理情報INF5の対応するエントリーを特定する(ステップS813)。そして、処理は実施形態1で説明したステップS215の処理へと進む。以降の処理は実施形態1で説明した処理と同じである。
次に、図36を参照して、本実施形態2における経路選択処理の流れについて説明する。図36は、本実施形態2における経路選択処理のフローを説明するためのフローチャートの例である。本経路選択処理は、前述の経路制御処理のステップS807の処理に対応する処理である。なお、実施形態1の処理と同じ処理については、同一の符号を付してある。
経路選択部13Dは、第1接続情報INF1を参照して、新たに確立されるセッションの第1情報端末装置T、つまり、発呼(INVITE)の送信元の情報端末装置Tを収容する転送装置SWを特定する(ステップS901)。また、経路選択部13Dは、第1接続情報INF1を参照して、新たに確立されるセッションの第2情報端末装置T、つまり、発呼(INVITE)の送信先の情報端末装置Tを収容する転送装置SWを特定する(ステップS902)。そして、経路選択部13Dは、ステップS901とステップS902において特定した転送装置SWに基づいて、経路候補を特定する(ステップS903)。
そして、経路選択部13Dは、特定した経路候補の中から、新たに確立されるセッションに割り振る経路を選択し(ステップS304)、選択した経路の経路IDをセッション管理情報INF5の対応するエントリーの「経路ID」欄に格納する(ステップS305)。そして、経路選択部13Dは、経路制御部13Eに対して、設定要求の送信を指示する。そして、本処理は終了し、経路制御処理のステップS808の処理へと移行する。
上記実施形態2によれば、経路制御装置10は、RTSPのパケットにかわりに、SIPのパケットに基づいて、セッションが新たに確立されることを検出し、セッションが確立される前に当該セッションの経路を選択し、選択した経路を確立させる。また、経路制御装置10は、セッションを切断するためのSIPのパケットに基づいて、当該セッションの経路の設定を解除させる。
図37は、各実施形態における経路制御装置10(あるいは、監視装置20)のハードウェア構成の例を示す図である。図37に示す経路制御装置10(あるいは、監視装置20)は、例えば、図37に示す各種ハードウェアにより実現されてもよい。図37の例では、経路制御装置10(あるいは、監視装置20)は、CPU201、RAM202、ROM203、フラッシュメモリ204、ネットワークに接続するためのネットワークインターフェース205、読取装置206を備え、これらのハードウェアはバス207を介して接続されている。
CPU201は、例えば、フラッシュメモリ204に格納されている動作プログラムをRAM202にロードし、RAM202をワーキングメモリとして使いながら各種処理を実行する。CPU201は、動作プログラムを実行することで、図8に示す制御部13(あるいは、図14に示す制御部23)の各機能部を実現することができる。
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、Compact Disk−Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Magneto Optical disk(MO)などのコンピュータで読み取り可能な記録媒体208に記憶して配布し、これを経路制御装置10(あるいは、監視装置20)の読取装置206で読み取ってコンピュータにインストールすることにより、上述の処理を実行するようにしてもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、経路制御装置10(あるいは、監視装置20)のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
なお、実施形態に応じて、RAM202、ROM203、フラッシュメモリ204以外の他の種類の記憶装置が利用されてもよい。例えば、経路制御装置10(あるいは、監視装置20)は、Content Addressable Memory(CAM)、Static Random Access Memory(SRAM)、Synchronous Dynamic Random Access Memory(SDRAM)などの記憶装置を有してもよい。
なお、実施形態に応じて、経路制御装置10(あるいは、監視装置20)のハードウェア構成は図37とは異なっていてもよく、図37に例示した規格・種類以外のその他のハードウェアを経路制御装置10(あるいは、監視装置20)に適用することもできる。
例えば、図8に示す経路制御装置10の制御部13(あるいは、図14に示す監視装置20の制御部23)の各機能部は、ハードウェア回路により実現されてもよい。具体的には、CPU201の代わりに、Field Programmable Gate Array(FPGA)などのリコンフィギュラブル回路や、Application Specific Integrated Circuit(ASIC)などにより、図8に示す制御部13(あるいは、図14に示す制御部23)の各機能部が実現されてもよい。もちろん、CPU201とハードウェア回路の双方により、これらの機能部が実現されてもよい。
図38は、各実施形態における転送装置SWのハードウェア構成の例を示す図である。図38に示す転送装置SWは、例えば、図38に示す各種ハードウェアにより実現されてもよい。図38の例では、転送装置SWは、CPU301、RAM302、ROM303、フラッシュメモリ304、ネットワークに接続するためのネットワークインターフェース305、パケットを転送するパケット転送装置306を備え、これらのハードウェアはバス307を介して接続されている。
CPU301は、例えば、フラッシュメモリ304に格納されている動作プログラムをRAM302にロードし、RAM302をワーキングメモリとして使いながら各種処理を実行する。CPU301は、動作プログラムを実行することで、図16に示す制御部33の各機能部を実現することができる。
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、Compact Disk−Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Magneto Optical disk(MO)などのコンピュータで読み取り可能な記録媒体に記憶して配布し、これを転送装置SWの読取装置(不図示)で読み取ってコンピュータにインストールすることにより、上述の処理を実行するようにしてもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、転送装置SWのコンピュータに動作プログラムをダウンロード等するものとしてもよい。
なお、実施形態に応じて、RAM302、ROM303、フラッシュメモリ304以外の他の種類の記憶装置が利用されてもよい。例えば、転送装置SWは、Content Addressable Memory(CAM)、Static Random Access Memory(SRAM)、Synchronous Dynamic Random Access Memory(SDRAM)などの記憶装置を有してもよい。
なお、実施形態に応じて、転送装置SWのハードウェア構成は図38とは異なっていてもよく、図38に例示した規格・種類以外のその他のハードウェアを経路装置SWに適用することもできる。
例えば、図16に示す転送装置SWの制御部33の各機能部は、ハードウェア回路により実現されてもよい。具体的には、CPU301の代わりに、Field Programmable Gate Array(FPGA)などのリコンフィギュラブル回路や、Application Specific Integrated Circuit(ASIC)などにより、図16に示す制御部33の各機能部が実現されてもよい。もちろん、CPU301とハードウェア回路の双方により、これらの機能部が実現されてもよい。
以上において、いくつかの実施形態及びその変形例について説明した。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態を成すことができることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
以上の実施形態1と2を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ネットワークを構成する複数の転送装置であり、第1情報処理装置と第2情報処理装置との間を流れるパケットの転送を行う前記複数の転送装置における転送先を制御する経路制御装置であって、
前記第1情報処理装置と前記第2情報処理装置との間のセッションの確立を制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出する検出手段と、
前記第1情報処理装置と前記第2情報処理装置との間を結ぶ複数の経路の中から、負荷が低い経路を選択する選択手段と、
選択された経路上の転送装置に選択された経路を確立させる経路確立手段と、
を備える、
ことを特徴とする経路制御装置。
(付記2)
前記選択手段は、前記セッションが確立される前に、前記複数の経路の中から、負荷が低い経路を選択し、
前記経路確立手段は、前記セッションが確立される前に、選択された経路上の転送装置に選択された経路を確立させる、
ことを特徴とする付記1に記載の経路制御装置。
(付記3)
前記選択手段は、前記負荷が最も低い経路を選択する、
ことを特徴とする付記1又は2に記載の経路制御装置。
(付記4)
前記選択手段は、前記負荷が最も低い経路が複数存在する場合には、前記負荷が最も低い経路の中からホップ数がより少ない経路を選択する、
ことを特徴とする付記3に記載の経路制御装置。
(付記5)
前記セッションの切断を制御するパケットに基づいて、切断対象のセッションを特定する特定手段と、
前記切断対象のセッションに対応する経路上の転送装置に当該経路を解除させる経路解除手段と、
を、更に、備える、
ことを特徴とする付記1乃至4のいずれか一に記載の経路制御装置。
(付記6)
確立中のセッションに関する情報を管理する管理手段を、更に、備える、
ことを特徴とする付記1乃至5のいずれか一に記載の経路制御装置。
(付記7)
前記管理手段は、前記セッションの切断を制御するパケットに基づいて、前記確立中のセッションに関する情報の中から、切断対象のセッションに対応する前記情報を特定し、特定した前記情報を削除する、
ことを特徴とする付記6に記載の経路制御装置。
(付記8)
前記プロトコルは、RSTP(Real Time Streaming Protocol)である、
ことを特徴とする付記1乃至7のいずれか一に記載の経路制御装置。
(付記9)
前記プロトコルは、SIP(Session Initiation Protocol)である、
ことを特徴とする付記1乃至7のいずれか一に記載の経路制御装置。
(付記10)
第1情報処理装置と第2情報処理装置との間を流れるパケットの転送を行う複数の転送装置と、前記複数の転送装置における転送先を制御する経路制御装置と、を含むシステムであって、
前記経路制御装置は、
前記第1情報処理装置と前記第2情報処理装置との間のセッションの確立を制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出する検出手段と、
前記第1情報処理装置と前記第2情報処理装置との間を結ぶ複数の経路の中から、負荷が低い経路を選択する選択手段と、
選択された経路上の転送装置に対して、前記選択された経路を確立するように指示する確立指示手段と、
を備え、
前記複数の転送装置のそれぞれが、
確立の指示にしたがって、経路を確立する確立手段を備える、
ことを特徴とするシステム。
(付記11)
前記経路制御装置は、
前記セッションの切断を制御するパケットに基づいて、切断対象のセッションを特定する特定手段と、
前記切断対象のセッションに対応する経路上の転送装置に対して、当該経路を解除するように指示する解除指示手段と、
を、更に、備え、
前記複数の転送装置のそれぞれが、
解除の指示にしたがって、確立されている経路を解除する解除手段を、更に、備える、
ことを特徴とする付記10のシステム。
(付記12)
前記システムは、
前記第1情報処理装置と前記第2情報処理装置との間を流れるパケットを監視する監視装置を、更に、含み、
前記監視装置は、
前記第1情報処理装置と前記第2情報処理装置との間を流れるパケットの中から、前記セッションを制御するプロトコルのパケットを抽出する抽出手段と、
抽出されたパケットの複製を前記経路制御装置に送信する第1送信手段と、
を備える、
ことを特徴とする付記10又は11のシステム。
(付記13)
前記監視装置は、
前記セッションにおけるパケットの送信開始のトリガとなる前記プロトコルのパケットを一時的に保持する保持手段と、
前記選択された経路が確立された後に、前記送信開始のトリガとなる前記プロトコルのパケットを本来の送信先に送信する第2送信手段と、
を、更に、備える、
ことを特徴とする付記10のシステム。
(付記14)
ネットワークを構成する複数の転送装置であり、第1情報処理装置と第2情報処理装置との間を流れるパケットの転送を行う前記複数の転送装置における転送先を制御する経路制御装置の経路制御方法であって、
前記第1情報処理装置と前記第2情報処理装置との間のセッションの確立を制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出し、
前記第1情報処理装置と前記第2情報処理装置との間を結ぶ複数の経路の中から、負荷が低い経路を選択し、
選択した経路上の転送装置に選択した経路を確立させる、
ことを特徴とする経路制御方法。
(付記15)
ネットワークを構成する複数の転送装置であり、第1情報処理装置と第2情報処理装置との間を流れるパケットの転送を行う前記複数の転送装置における転送先を制御する経路制御装置のコンピュータに、
前記第1情報処理装置と前記第2情報処理装置との間のセッションの確立を制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出し、
前記第1情報処理装置と前記第2情報処理装置との間を結ぶ複数の経路の中から、負荷が低い経路を選択し、
選択した経路上の転送装置に選択した経路を確立させる、
処理を実行させる、
ことを特徴とするプログラム。
(付記16)
ネットワークを構成する複数の転送装置であり、第1情報処理装置と第2情報処理装置との間を流れるパケットの転送を行う前記複数の転送装置における転送先を制御する経路制御装置のコンピュータに、
前記第1情報処理装置と前記第2情報処理装置との間のセッションの確立を制御するプロトコルのパケットに基づいて、セッションが新たに確立されることを検出し、
前記第1情報処理装置と前記第2情報処理装置との間を結ぶ複数の経路の中から、負荷が低い経路を選択し、
選択した経路上の転送装置に選択した経路を確立させる、
処理を実行させる、
ことを特徴とするプログラムを記憶した記録媒体。