(57)【要約】【課題】ストリーミング配信を高品質に行う。【解決手段】サーバ装置から送信される複数のフローを処理する転送装置は、受信部、制御部、送信部を備える。受信部は、複数のフローを受信する。制御部は、転送装置と複数のフローの転送先の間の通信品質が所定の基準を下回ったことを通知する通知パケットを受信部が受信すると、複数のフローのうちで再送処理が可能なプロトコルで処理されているフローの転送経路を第１の経路から第２の経路に変更する。ここで、第１の経路は、複数のフローの転送に使用している経路である。第２の経路は、転送装置と転送先との間のリンクを使用せずにサーバ装置からフローの宛先に至る経路である。送信部は、複数のフローの各々を、制御部で決定された経路を用いて転送する。【選択図】図１
2018006793.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置から送信される複数のフローを処理する転送装置であって、
前記複数のフローを受信する受信部と、
前記転送装置と前記複数のフローの転送先の間の通信品質が所定の基準を下回ったことを通知する通知パケットを前記受信部が受信すると、前記複数のフローのうちで再送処理が可能なプロトコルで処理されているフローの転送経路を、前記複数のフローの転送に使用している第１の経路から、前記転送装置と前記転送先との間のリンクを使用せずに前記サーバ装置から当該フローの宛先に至る第２の経路に変更する制御部と、
前記複数のフローの各々を、前記制御部で決定された経路を用いて転送する送信部
を備えることを特徴とする転送装置。
【請求項２】
前記制御部は、
前記複数のフローのうちで、再送処理を行わないプロトコルによるストリーミング通信に使用されているフローの宛先を特定し、
前記通知パケットを前記受信部が受信すると、前記転送装置と前記転送先との間のリンクが切断されたときに前記サーバ装置から前記宛先に到達可能な経路のうち、相対的に通信状況の良い経路を、前記第２の経路に選択する
ことを特徴とする請求項１に記載の転送装置。
【請求項３】
前記制御部は、
前記宛先宛てのフローの転送に適用する経路としての前記第２の経路の優先度を、前記第１の経路よりも高く設定し、
前記受信部が受信した転送対象のフローのうち、再送処理を行わないプロトコルで処理されているフロー中のパケットに、前記第１の経路に対応付けられた識別情報を付加し、
前記送信部は、
前記識別情報を含まないパケットを前記第２の経路を用いて転送し、
前記識別情報を含むパケットを、前記識別情報を除去した上で、前記第１の経路から送信する
ことを特徴とする請求項２に記載の転送装置。
【請求項４】
前記受信部は、前記サーバ装置から前記ストリーミング通信の宛先に宛てた通信品質の評価要求を受信し、
前記制御部は、
前記評価要求を受信すると、前記評価要求の転送元との間の通信品質を測定し、
前記転送元との通信品質が低い場合、前記転送元に通信品質の低下を通知する他の通知パケットを生成し、
前記送信部は、前記他の通知パケットを前記転送元に送信すると共に、前記評価要求を前記宛先に向けて転送する
ことを特徴とする請求項１〜３のいずれか1項に記載の転送装置。
【請求項５】
パケットを受信する受信部と、
端末へのストリーミング通信を要求する配信要求を前記受信部が受信すると、前記ストリーミング通信でのデータパケットの代替とするダミーパケットの送信の開始を決定すると共に、前記ダミーパケットの送信中での前記端末に至る経路の通信品質の評価を当該経路中の転送装置に要求する評価要求を生成する要求部と、
前記ダミーパケットと前記評価要求を前記端末に向けて送信する送信部と、
前記評価要求を受信した転送装置のいずれかから、前記データパケットの転送の要求を前記受信部が受信すると、前記ダミーパケットの送信を終了すると共に、前記端末に宛てて、前記データパケットの配信処理を開始する配信処理部
を備えることを特徴とするサーバ装置。
【請求項６】
サーバ装置から送信される複数のフローを処理する転送装置が、
前記複数のフローを第１の経路を用いて転送し、
前記転送装置と前記複数のフローの転送先の間の通信品質が所定の基準を下回ったことを通知する通知パケットを受信すると、前記複数のフローのうちで再送処理が可能なプロトコルで処理されているフローの転送経路を、前記第１の経路から、前記転送装置と前記転送先との間のリンクを使用せずに前記サーバ装置から当該フローの宛先に至る第２の経路に変更する
処理を行うことを特徴とする転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送装置、サーバ装置、および、転送方法に関する。
【背景技術】
【０００２】
近年、高速なモバイル端末、モバイルブロードバンドの普及により、ストリーミング配信の利用が増加している。ストリーミング配信では、扱われるデータのサイズが大きいため、ファイルのダウンロードと再生が並行して行われる。ストリーミング配信では、再送処理を行うとサーバやネットワーク中の機器の処理負荷が大きくなるため、ＵＤＰ（User Datagram Protocol）などの再送処理を伴わないプロトコルが使われることが多い。ＵＤＰによるストリーミング配信は、会議のＬＩＶＥ配信など、ユーザにとって重要な通信である場合、優先的に処理することが望ましい。
【０００３】
インターネットを介したパケット通信では、複数の転送経路の候補があることが多い。このため、経路の選択を行う際に、ＯＳＰＦ（Open Shortest Path First）などのルーティングプロトコルが使用されることがある。パケットの転送処理を行うルータは、ルーティングプロトコルを用いた処理によって選択された経路をルーティングテーブルに記録している。ルータは、パケットを受信すると、受信したパケット中の宛先ＩＰ（Internet Protocol）アドレスとルーティングテーブルを用いて、受信パケットの転送先を決定し、決定した転送先に受信パケットを転送する。インターネットでは、常時様々な通信プロトコルのパケットが送受信されている。このため、ルーティングテーブルで選択された経路に沿って、様々なプロトコルのパケットが転送されている。
【０００４】
関連する技術として、複数の分割アーキテクチャネットワークを含むシステムで分割アーキテクチャネットワーク毎にコントローラを配置することが提案されている（例えば、特許文献１など）。このシステムでは、コントローラは、他のコントローラやルータに、自装置が位置するネットワーク内での限定された領域についての、リンク、コスト、データを提供することにより、複数のネットワークにまたがる経路の最適化を容易にする。また、複数の入力インタフェースと複数の出力インタフェースを備え、１つのアドレスに対して経路情報の異なる複数のエントリを含むルーティングテーブルを保持する中継装置も提案されている。この中継装置は、ルーティングテーブルを用いて、１つのアドレス宛のパケットを２つのインタフェースに選択的に振り分ける（例えば、特許文献２など）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１４−５２５６９２号公報
【特許文献２】特開２００６−１６５９５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
再送処理を伴わないプロトコルを用いて行われるストリーミング配信を高品質に行うためには、ストリーミング配信に使用されている通信プロトコルとこの通信プロトコル以外のプロトコルで異なる転送経路を使用することが考えられる。しかし、ルーティングテーブルを用いた転送では宛先ＩＰアドレスから転送先が決定されるため、プロトコル毎の転送経路を変更することは困難である。
【０００７】
本発明は、ストリーミング配信を高品質に行うことを目的とする。
【課題を解決するための手段】
【０００８】
サーバ装置から送信される複数のフローを処理する転送装置は、受信部、制御部、送信部を備える。受信部は、前記複数のフローを受信する。制御部は、前記転送装置と前記複数のフローの転送先の間の通信品質が所定の基準を下回ったことを通知する通知パケットを前記受信部が受信すると、前記複数のフローのうちで再送処理が可能なプロトコルで処理されているフローの転送経路を第１の経路から第２の経路に変更する。ここで、第１の経路は、前記複数のフローの転送に使用している経路である。第２の経路は、前記転送装置と前記転送先との間のリンクを使用せずに前記サーバ装置から当該フローの宛先に至る経路である。送信部は、前記複数のフローの各々を、前記制御部で決定された経路を用いて転送する。
【発明の効果】
【０００９】
ストリーミング配信を高品質に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態にかかる通信方法の例を説明する図である。
【図２】転送装置の構成の例を説明する図である。
【図３】転送装置のハードウェア構成の例を説明する図である。
【図４】サーバ装置の構成の例を説明する図である。
【図５】サーバ装置のハードウェア構成の例を説明する図である。
【図６】ネットワークと通信経路の例を説明する図である。
【図７】端末からのサーバ装置へのアクセスの例を説明する図である。
【図８】ストリーミングを要求する処理の例を説明する図である。
【図９】評価開始要求とダミーパケットの転送経路の例を説明する図である。
【図１０】評価開始要求の転送元に割り当てられたアドレスの特定方法の例を説明する図である。
【図１１】通信品質評価に使用される閾値と制御メッセージの例を説明する図である。
【図１２】擬似的にリンク断を発生させる処理の例を説明する図である。
【図１３】使用中の経路を記憶する処理の例を説明する図である。
【図１４】新たな経路の検索処理の例を説明する図である。
【図１５】旧経路と新経路の例を説明する図である。
【図１６】マーキングの例を説明する図である。
【図１７】障害発生時の処理の例を説明する図である。
【図１８】ストリーミング配信終了時の処理の例を説明する図である。
【図１９】実施形態にかかる通信方法の処理の例を説明するシーケンス図である。
【図２０】転送装置の処理の例を説明するフローチャートである。
【図２１】転送装置の処理の例を説明するフローチャートである。
【図２２】実施形態にかかる方法による通信と他の通信方法の比較例を説明する図である。
【発明を実施するための形態】
【００１１】
図１は、実施形態にかかる通信方法の例を説明する図である。図１の例では、サーバとあるネットワーク（ネットワークＸ）中の端末との間での通信経路として、転送装置１０ａと転送装置１０ｃを経由する経路Ｒ１と、転送装置１０ａ〜１０ｃの各々を経由する経路Ｒ２があるとする。ここで、ＯＳＦＰなどのルーティングプロトコルにより、最適経路として、経路Ｒ１が得られているとする（手順Ｐｒ１）。このため、サーバからネットワークＸ中の装置宛てのフロー中のパケットは、経路Ｒ１を用いて転送される。
【００１２】
手順Ｐｒ２は、フローＦ１、Ｆ２がネットワークＸに向けて転送されている状態で、さらに、ネットワークＸ中の端末宛てフローＦ３の送信が開始された場合の例を示す。ここで、フローＦ１とフローＦ２は、いずれもＴＣＰ（Transmission Control Protocol）などの再送処理を伴うプロトコルを用いたフローであるとする。一方、新たに開始されるフローＦ３は、再送処理を伴わないプロトコルを用いて送信されているとする。ここで、サーバ装置は、フローの転送先の転送装置１０に対して、フローの転送元との間の通信品質の測定を要求したとする。すると、上流側の転送装置１０も、フローの転送先の転送装置１０に対して、フローの転送元との間の通信品質の測定を要求する。例えば、転送装置１０ａは、フローＦ３を転送装置１０ｃに転送しているので、転送装置１０ｃに対して、転送装置１０ａとの間の通信品質の測定を要求する（矢印Ａ１）。通信品質の測定の要求を受信した各転送装置１０は、通信品質の測定の要求元との間の通信品質を測定する。例えば、転送装置１０ｃは、転送装置１０ａとの間の通信品質の測定を行う。測定される通信品質は、遅延時間、パケットロス率、パケット遅延の変動などであるが、実装に応じて任意に変更され得る。転送装置１０ｃは、転送装置１０ａとの間の通信品質が所定の閾値を下回ると、通信品質の低下を通知する通知パケットを、転送装置１０ａに送信する（矢印Ａ２）。ここで、所定の閾値は実装に応じて決定され得るが、例えば、再送処理を伴わないプロトコルを用いた通信の品質がストリーミングに適さない程度に低下することが見込まれる通信品質が、所定の閾値として使用され得る。
【００１３】
通知パケットを受信すると、転送装置１０ａは、転送装置１０ａと転送装置１０ｃの間のリンクにおいて、通信品質が劣化するおそれがあると判定する。転送装置１０ａと転送装置１０ｃは、転送装置１０ａと転送装置１０ｃの間のリンクが切断された場合の経路検索のための処理を行う。このため、ネットワーク中の各転送装置１０が保持する経路情報が更新され、転送装置１０ａと転送装置１０ｃの間のリンクが切断されている場合に使用可能なルートを検索する（手順Ｐｒ３）。この時のルート検索も、ＯＳＰＦなどのルーティングプロトコルで行われるが、転送装置１０ａと転送装置１０ｃは、使用中の経路の情報を、新たな経路の情報の記録に使用されない記憶領域に格納しておく。なお、新たな経路の検索に伴う処理の詳細は後述する。図１の例では、手順Ｐｒ１に示す経路Ｒ２が、転送装置１０ａと転送装置１０ｃの間のリンクを使用しない場合の経路として得られたとする。
【００１４】
手順Ｐｒ４は、転送装置１０ａで行われる転送処理の例を示している。転送装置１０ａは、再送処理を伴うプロトコルを用いたフローであるフローＦ１とフローＦ２の転送に使用する経路を、経路Ｒ２に決定する。一方、転送装置１０ａは、再送処理を行わないプロトコルを用いたフローＦ３については、経路Ｒ１を用いて転送することを決定する。このため、フローＦ１かフローＦ２のいずれかに含まれるパケットは、手順Ｐｒ４に示すように、転送装置１０ａ、転送装置１０ｂ、転送装置１０ｃを介して、宛先に転送される。一方、フローＦ１に含まれるパケットは、経路Ｒ１に沿って、転送装置１０ａと転送装置１０ｃを介して、宛先に転送される。
【００１５】
このように、実施形態にかかる方法では、通信品質が低下するまでは、いずれのフローも最適経路を用いて転送される。経路中の一部の通信品質が低下すると、通信品質が低下しているリンクの上流側に位置する転送装置１０は、再送処理を行わないプロトコルを用いた通信に最適経路を用い、再送処理を伴うプロトコルでの通信は、最適経路とは異なる経路を用いる。すると、再送処理を伴うプロトコルを用いたフローは、最適経路を経由しなくなるため、ＵＤＰなどの再送処理を行わないプロトコルでの通信の品質は、再送処理を伴うプロトコルでの通信による影響を受けにくくなる。また、再送処理を伴うプロトコルでの通信で使用されるフローの転送経路が変更されるため、再送処理を伴わないプロトコルのフローの転送に使用する経路では、輻輳が解消され、その経路の通信品質も改善する。従って、再送処理を行わないプロトコルでの通信を高品質で行うことができる。
【００１６】
なお、図１を参照しながら説明した処理は一例であり、様々に変形されうる。例えば、フローＦ３で行う通信の開始前に、フローＦ３で送受信されるパケットと同等のパケット長のダミーパケットを、フローＦ３のパケットとして、フローＦ３の送信元が送信するように変形されてもよい。この場合、経路中の転送装置１０は、ダミーパケットを用いて通信品質の測定や経路の設定などができる。すると、ユーザは、データの受信開始の時点からフローＦ３の通信品質が改善された状態で、データを受信できる。
【００１７】
＜装置構成＞
図２は、転送装置１０の構成の例を説明する図である。転送装置１０は、インタフェース（ｅｔｈ１〜ｅｔｈ３）、通信部１１、制御部２０、記憶部３０を備える。通信部１１は、送信部１２と受信部１３を有する。制御部２０は、経路生成部２１、品質測定部２２、更新部２３、振り分け部２４、転送処理部２５を有する。記憶部３０は、ルーティングテーブル３１、旧経路情報３２、振り分け条件３３、トポロジ情報３４を保持する。なお、図２では、インタフェース数が３つの場合を例として図示しているが、転送装置１０が有するインタフェースの数は実装に応じて任意に変更され得る。
【００１８】
送信部１２は、他の装置にパケットを送信する。このとき、送信部１２は、転送処理部２５から指定されたインタフェースを介して、処理対象のパケットを送信する。受信部１３は、インタフェースを介して他の装置からパケットを受信する。
【００１９】
経路生成部２１は、ＯＳＰＦなどのルーティングプロトコルを用いて経路情報を生成し、ルーティングテーブル３１に格納する。経路生成部２１は、経路情報の生成の際に、トポロジ情報３４も適宜参照する。トポロジ情報３４は、ネットワーク中の転送装置１０の接続関係を表す情報である。例えば、ルーティングプロトコルとしてＯＳＰＦが用いられる場合、トポロジ情報３４は、リンクステートデータベース（ＬＳＤＢ、Link State Database）として実現される。品質測定部２２は、ストリーミング通信に使用されるデータの転送元の転送装置１０やサーバ装置との間の通信品質を測定する。なお、測定される通信品質は、遅延時間、パケットロス率、パケット遅延の変動などであるが、実装に応じて任意に変更され得る。更新部２３は、旧経路情報３２や振り分け条件３３の情報を更新する。旧経路情報３２は、通信品質の低下が通知される前に転送処理に使用していた経路の情報である。振り分け条件３３は、通信品質の低下が通知されたことによって、新たに経路が計算された後に、旧経路情報３２に記録された経路で転送するフローを特定するための処理条件が記録されている。振り分け部２４は、振り分け条件３３を用いて、再送処理を行わないプロトコルを用いたフロー中のパケットを他のパケットから区別するためのマーキングを行う。転送処理部２５は、振り分け部２４で行われたマーキングと、ルーティングテーブル３１を用いて、各パケットの出力先のインタフェースを決定する。転送処理部２５は、決定したインタフェースの情報とともに、転送対象のパケットを送信部１２に出力する。
【００２０】
図３は、転送装置１０のハードウェア構成の例を説明する図である。転送装置１０は、プロセッサ１１１、メモリ１１２、バス１１４、ネットワークインタフェース１１５を備える。プロセッサ１１１は、任意の処理回路であり、Central Processing Unit（ＣＰＵ）であってもよい。メモリ１１２は、ＲＡＭ（Random Access Memory）とＲＯＭ（Read Only Memory）を含む。プロセッサ１１１は、メモリ１１２に記憶されたプログラムを実行することができる。バス１１４は、プロセッサ１１１、メモリ１１２、ネットワークインタフェース１１５を、相互にデータの入出力が可能になるように接続する。ネットワークインタフェース１０９は、ネットワークとの情報の入出力を行う。転送装置１０において、プロセッサ１１１は、制御部２０として動作する。メモリ１１２は、記憶部３０として動作する。通信部１１は、ネットワークインタフェース１１５とプロセッサ１１１により実現される。ネットワークインタフェース１１５は、インタフェースとしても動作する。
【００２１】
図４は、サーバ装置４０の構成の例を説明する図である。サーバ装置４０は、通信部４１、制御部５０、記憶部６０を備える。通信部４１は、送信部４２と受信部４３を有する。制御部５０は、配信処理部５１、品質測定要求部５２、停止制御部５３を有する。
【００２２】
送信部４２は、転送装置１０やサーバ装置４０と通信している端末５に、パケットを送信する。受信部１３は、転送装置１０や端末５からパケットを受信する。端末５からストリーミング通信が要求されると、品質測定要求部５２は、端末５との通信経路中に含まれている転送装置１０に対して、通信品質の測定を指示する。さらに、品質測定要求部５２は、通信品質の測定を指示してから所定の期間中は、端末５宛てのダミーパケットを生成し、送信部４２経由で送信する。端末５宛てのダミーパケットの大きさや送信頻度などは、ストリーミング通信で送信されるデータパケットと同様に設定される。このため、ダミーパケットを用いることで、経路中の転送装置１０は、ストリーミング通信が行われたときと同様の状況下で通信品質の測定を行うことができる。
【００２３】
品質測定要求部５２からのダミーパケットの送信が終わると、配信処理部５１は、端末５から要求されたデータを含むパケットを生成し、送信部４２を介して、生成したパケットを送信する。停止制御部５３は、ストリーミング通信が終了すると、終了するストリーミング通信を高品質で行うためにルーティングテーブル３１を更新した転送装置１０に対して、ストリーミング通信の終了を通知するための処理を行う。記憶部６０は、制御部５０での処理に使用されるデータや、制御部５０での処理によって得られたデータを、適宜、保持する。
【００２４】
図５は、サーバ装置４０のハードウェア構成の例を説明する図である。サーバ装置４０は、プロセッサ１０１、メモリ１０２、バス１０５、ネットワークインタフェース１０９を備える。サーバ装置４０は、さらに、入力装置１０３、出力装置１０４、記憶装置１０６、可搬記憶媒体駆動装置１０７の１つ以上を有していても良い。プロセッサ１０１は、任意の処理回路であり、例えば、Central Processing Unit（ＣＰＵ）として実現される。プロセッサ１０１は、メモリ１０２や記憶装置１０６に記憶されたプログラムを実行することができる。メモリ１０２は、プロセッサ１０１のワーキングメモリとして使用される。メモリ１０２として、ＲＡＭ（Random Access Memory）のような半導体メモリが使用され得る。バス１０５は、プロセッサ１０１、メモリ１０２、ネットワークインタフェース１０９を、相互にデータの入出力が可能になるように接続する。ネットワークインタフェース１０９は、ネットワークとの情報の送受信を行う。ネットワークインタフェース１０９として、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード等が使用される。
【００２５】
入力装置１０３は、キーボードなど、情報の入力に使用される任意の装置であり、出力装置１０４は、ディスプレイなど、データの出力に使用される任意の装置である。可搬記憶媒体駆動装置１０７は、メモリ１０２や記憶装置１０６のデータを可搬記憶媒体１０８に出力することができ、また、可搬記憶媒体１０８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体１０８は、持ち運びが可能な任意の記憶媒体である。記憶装置１０６として、ＥＰＲＯＭ（Erasable Programmable ROM）、又はハードディスクドライブ（Hard Disc Drive）等の不揮発性のメモリが使用され得る。
【００２６】
サーバ装置４０において、制御部５０はプロセッサ１０１によって実現され、記憶部６０は、メモリ１０２と記憶装置１０６によって実現される。さらに、ネットワークインタフェース１０９とプロセッサ１０１が通信部４１として動作する。
【００２７】
＜実施形態＞
図６は、ネットワークと通信経路の例を説明する図である。例えば、端末５がネットワークＡに含まれており、サーバ装置４０がネットワークＢに含まれているとする。ネットワークＡは、転送装置１０ａに接続されており、ネットワークＢは転送装置１０ｇに接続されている。さらに、端末５とサーバ装置４０の間の通信を中継可能なネットワークに、転送装置１０ａ〜１０ｇが含まれており、転送装置１０ａ〜１０ｇは、図６のケースＣ１に図示するように接続されているとする。
【００２８】
ケースＣ２は、端末５とサーバ装置４０の間の通信経路として、転送装置１０ａ、転送装置１０ｄ、転送装置１０ｃ、転送装置１０ｇを介する経路が得られた場合の例を示す。以下、ケースＣ１に示すネットワークにおいて、ケースＣ２に示す経路が最適な経路として検索された場合を例として、実施形態にかかる通信の例を説明する。なお、以下の説明では、経路検索の際に、ルーティングプロトコルとしてＯＳＰＦが用いられる場合を例とする。また、トポロジ情報３４は、リンクステートデータベース（ＬＳＤＢ）であるとする。さらに、転送装置１０ａ〜１０ｇは、１つのＯＳＰＦエリアに属しているものとする。
【００２９】
以下、実施形態にかかる処理を、端末からサーバ装置へのストリーミングの要求、通信品質の評価、新たな経路の取得、複数の経路を用いた転送処理、障害の発生時の処理と終了処理に分けて説明する。なお、以下の説明では、いずれの転送装置１０での処理であるかを分かりやすくするために、符号の後にその転送装置１０の符号の末尾のアルファベットを示すことがある。例えば、振り分け部２４ａは転送装置１０ａ中の振り分け部２４であり、振り分け部２４ｂは転送装置１０ｂ中の振り分け部２４である。さらに、以下の説明では、再送処理を行わないプロトコルとして、ＵＤＰが用いられている場合を例とする。
【００３０】
（１）端末５からサーバ装置へのストリーミングの要求
図７は、端末５からのサーバ装置４０へのアクセスの例を説明する図である。図７のケースＣ５は、図６のケースＣ２に示す経路上の転送装置１０の一部を接続に使用されているインタフェースの識別情報も含めて示している。ケースＣ５の例では、端末５のインタフェースｅｔｈ１は、転送装置１０ａのインタフェースｅｔｈ３に接続されている。転送装置１０ａのインタフェースｅｔｈ１は、転送装置１０ｄのインタフェースｅｔｈ３に接続されている。
【００３１】
この状態で、端末５は、ルーティングテーブルＲＴを保持しているとする。ルーティングテーブルＲＴには、パケットの宛先ネットワークのアドレスごとに、インタフェースとメトリックが記録されている。例えば、１９２．１６８．２４０．０／２４のネットワーク中の装置に宛てたパケットは、端末５が備えるインタフェースｅｔｈ１から送信される。さらに、１７２．１２８．１００．０／２４のネットワーク、１２０．１１０．２２０．０／２４のネットワーク、１５０．２００．１２０．０／２４のネットワーク中の装置に宛てたパケットも、端末５が備えるインタフェースｅｔｈ１から送信される。メトリックは、同じ宛先に対して適用可能なエントリが複数ある場合に、いずれのエントリを用いて転送処理を行うかを決定するために使用される。
【００３２】
図８は、ストリーミングを要求する処理の例を説明する図である。端末５は事前にＷｅｂサーバ（図示せず）からサーバ装置４０のＵＲＬ（Uniform Resource Locator）情報をメタファイルとして取得しているとする。ストリーミングによるデータ受信を開始しようとする端末５は、取得済みのＵＲＬを用いて、ストリーミングリクエストをサーバ装置４０に送信する（ケースＣ１１）。端末５とサーバ装置４０の間でのパケットの送受信は、ルーティングプロトコルで求められた経路に沿って行われる。また、各転送装置１０にも、図６のケースＣ２に示す経路のうち、その装置からの転送に使用される情報が、ルーティングテーブル３１に記録されている。このため、ストリーミングリクエストは、ケースＣ１１中の矢印に示すように、端末５から、転送装置１０ａ、転送装置１０ｄ、転送装置１０ｃ、転送装置１０ｇを介して、サーバ装置４０に到達する。
【００３３】
サーバ装置４０の受信部４３は、ストリーミングリクエストを受信すると、ストリーミングリクエストを配信処理部５１に出力する。配信処理部５１は、コンテンツのメタデータ、サーバアクセス情報などを含むパケットを生成し、生成したパケットを、送信部４２を介して端末５に向けて返信する（ケースＣ１２）。ケースＣ１２の処理では、ケースＣ１１で送信されたストリーミングリクエストの転送経路の逆向きの経路で、パケットが転送される。
【００３４】
端末５はサーバ装置４０から取得したサーバアクセス情報を元に、サーバ装置４０にストリーミング配信の開始要求（配信開始要求）を送信する。配信開始要求の転送経路はケースＣ１１と同様である。従って、配信開始要求は、ケースＣ１３中の矢印で示す経路で転送される。
【００３５】
（２）通信品質の評価
サーバ装置４０の受信部４３は、配信開始要求を受信すると、配信処理部５１に出力する。配信処理部５１は、ストリーミング通信の開始が要求されていることを、品質測定要求部５２に通知する。品質測定要求部５２は、配信開始要求の送信元の端末５宛に、評価開始要求を送信する。評価開始要求の転送経路を、図９中に実線の矢印で示す。
【００３６】
図９は、評価開始要求とダミーパケットの転送経路の例を説明する図である。図９の実線の矢印は、評価開始要求の転送経路の例である。品質測定要求部５２は、評価開始要求の送信後、所定の期間にわたって、ダミーパケットを端末５宛てに送信する。ダミーパケットの転送経路は、図９の破線の矢印で示すとおりである。なお、ダミーパケットが送信される「所定の期間」は、通信品質の評価にかかる時間より長い時間に設定されるものとする。
【００３７】
パケットＰ１は、評価開始要求のフォーマットの例である。評価開始要求は、ダミーパケットの送信中に、ストリーミング通信を要求した端末５に至る経路の通信品質の評価を、その経路中の転送装置１０に要求するために使用される。評価開始要求は、ＴＣＰプロトコルを用いて送信される。評価開始要求には、ＩＰヘッダ、ＴＣＰヘッダが含まれ、さらに、パケットが評価開始要求であることを示すデータが含まれる。パケットが評価開始要求であることを示すデータは、実装に応じて任意に設定されるが、例えば、通信品質の評価開始を意味するフラグが用いられてもよい。
【００３８】
評価開始要求の宛先ＩＰアドレスは、端末５に割り当てられたアドレスに設定されているので、端末５とサーバ装置４０の間の通信経路中の転送装置１０を介して端末５に転送される。ここで、評価開始要求は、宛先ＩＰアドレスを端末５のアドレスに設定することによって、端末５とサーバ装置４０の間の経路中の各転送装置１０に対して、ストリーミング通信に用いられるデータの宛先の通知としても使用される。すなわち、評価開始要求を受信した各転送装置１０は、評価開始要求の宛先ＩＰアドレスを、これから開始されるストリーミング通信の宛先として記憶できる。
【００３９】
評価開始要求を受信した転送装置１０中の受信部１３は、評価開始要求を受信したインタフェースの識別情報とともに、評価開始要求を品質測定部２２と転送処理部２５に出力する。すると、品質測定部２２は、評価開始要求を自装置に転送してきた転送元との間のリンクの通信品質の測定が要求されたと判定すると共に、評価開始要求の宛先ＩＰアドレスを記憶する。なお、評価開始要求を自装置に転送してきた転送元は、ストリーミング通信のデータを自装置に転送してくる装置である。このため、評価開始要求により、ストリーミング通信のデータの転送元との間の通信品質の評価が要求されているともいえる。
【００４０】
例えば、転送装置１０ｃが、ｅｔｈ１という識別情報で識別されるインタフェースから評価開始要求を受信したとする。この場合、品質測定部２２ｃと転送処理部２５ｃに評価開始要求と受信インタフェースがｅｔｈ１であることを示す情報が入力される。品質測定部２２ｃは、インタフェースｅｔｈ１を介して接続されている転送装置１０（転送装置１０ｇ）を評価開始要求の転送元であると判定する。さらに、品質測定部２２ｃは、転送装置１０ｇに割り当てられたＩＰアドレスを求めるとともに、転送装置１０ｇのＩＰアドレスを用いて、転送装置１０ｇとの間のリンクの通信品質を測定する。
【００４１】
一方、転送処理部２５ｃは、評価開始要求が入力されると、評価開始要求の宛先とルーティングテーブル３１ｃを用いて、転送先を求める。転送処理部２５ｃでの処理により特定されたインタフェースを介して、送信部１２ｃが評価開始要求を転送することにより、評価開始要求は転送装置１０ｄに転送される。このため、転送装置１０ｄでも転送装置１０ｃと同様の処理が行われる。さらに、転送装置１０ｄは、評価開始要求を転送装置１０ａに転送する。
【００４２】
以下、図１０と図１１を参照しながら、通信品質の評価の例を説明する。以下、Ｌｉｎａｘに標準実装されているｎｅｔｐｅｒｆを用いて通信品質を評価する場合を例として説明するが、通信品質の求め方は、実装に応じて任意に変更され得る。また、以下の説明では、評価開始要求の転送元の転送装置１０に割り当てられたＩＰアドレスを、ＣＤＰプロトコルを用いて求める場合を例として説明するが、ＩＰアドレスの求め方も実装に応じて変更され得る。
【００４３】
図１０は、評価開始要求の転送元に割り当てられたアドレスの特定方法の例を説明する図である。図１０の例では、転送装置１０ｇのうち、サーバ装置４０との通信に使用されるインタフェースのアドレスは１９２．１６８．４０．１０であり、転送装置１０ｃとの通信に使用されるインタフェースのアドレスは１９２．１６８．３０．２０である。転送装置１０ｃのうち、転送装置１０ｇとの通信に使用されるインタフェース（ｅｔｈ１）のアドレスは１９２．１６８．３０．１０であり、転送装置１０ｄとの通信に使用されるインタフェース（ｅｔｈ０）のアドレスは１９２．１６８．２０．２０である。転送装置１０ｄのうち、転送装置１０ｃとの通信に使用されるインタフェースのアドレスは１９２．１６８．２０．１０であり、転送装置１０ａとの通信に使用されるインタフェースのアドレスは１９２．１６８．１０．１０である。
【００４４】
例えば、転送装置１０ｃがｅｔｈ１で識別されるインタフェースから評価開始要求を受信した場合、品質測定部２２ｃは、評価開始要求と受信インタフェースがｅｔｈ１であることを示す情報を取得する。品質測定部２２ｃは、ＣＤＰプロトコルのｓｈｏｗ  ｃｄｐ  ｎｅｉｇｈｂｏｒｓ  ｄｅｔａｉｌコマンドを用いることにより、転送装置１０ｃに隣接している転送装置１０のアドレス、ホスト名、通信に使用しているインタフェースの識別情報を求める。ここで、通信に使用しているインタフェースの識別情報は、コマンドを実行している転送装置１０ｃ自身が、隣接している転送装置１０との通信に使用しているインタフェースの識別情報である。
【００４５】
図１０には、品質測定部２２ｃがｓｈｏｗ  ｃｄｐ  ｎｅｉｇｈｂｏｒｓ  ｄｅｔａｉｌコマンドを用いて取得した情報の例も記載している。図１０の例では、隣接している転送装置１０として、転送装置１０ｄと転送装置１０ｇが検出されている。
【００４６】
転送装置１０ｄの情報として、転送装置１０ｄが転送装置１０ｃとの通信に使用するＩＰアドレスが１９２．１６８．２０．１０であることが得られている。さらに、転送装置１０ｄと通信する際に転送装置１０ｃが使用しているインタフェースの識別情報がｅｔｈ０であることが得られている。転送装置１０ｄについては、さらに、ＰｌａｔｆｏｒｍがＸＸＸＸ、ＣａｐａｂｉｌｉｔｙがＲｏｕｔｅｒ、Ｈｏｌｄｔｉｍｅが１５０に設定されていることが得られている。さらに、転送装置１０ｃが転送装置１０ｄとの通信に使用するｅｔｈ０のインタフェースのポートＩＤがＦａｓｔＥｔｈｅｒｎｅｔ０／１であることも得られている。転送装置１０ｄのＩＰアドレスと、転送装置１０ｃが転送装置１０ｄと通信する際に使用するインタフェースの識別情報の組み合わせを、図１０にＸとして示す。
【００４７】
転送装置１０ｇの情報として、転送装置１０ｇが転送装置１０ｃとの通信に使用するＩＰアドレスが１９２．１６８．３０．２０であることが得られている。さらに、転送装置１０ｇと通信する際に転送装置１０ｃが使用しているインタフェースの識別情報がｅｔｈ１であることが得られている。転送装置１０ｇについては、さらに、ＰｌａｔｆｏｒｍがＸＸＸＸ、ＣａｐａｂｉｌｉｔｙがＲｏｕｔｅｒ、Ｈｏｌｄｔｉｍｅが１５２に設定されていることが得られている。さらに、転送装置１０ｃが転送装置１０ｄとの通信に使用するｅｔｈ１のインタフェースのポートＩＤがＦａｓｔＥｔｈｅｒｎｅｔ０／１であることも得られている。転送装置１０ｇのＩＰアドレスと、転送装置１０ｃが転送装置１０ｇと通信する際に使用するインタフェースの識別情報の組み合わせを、図１０にＹとして示す。
【００４８】
図１０の例では、ＸとＹに示す２つの転送装置１０の情報が、転送装置１０ｃの隣接ルータの情報として得られている。そこで、品質測定部２２ｃは、評価開始要求を受信したインタフェースの識別情報を用いて、検索により得られた情報から、評価開始要求を転送装置１０ｃに転送した転送装置１０の情報を特定する。品質測定部２２ｃは、評価開始要求を受信したインタフェースの識別情報がＹの組み合わせに含まれていることから、ＩＰアドレス＝１９２．１６８．３０．２０が割り当てられた装置（転送装置１０ｇ）が評価開始要求の転送元であると判定する。
【００４９】
品質測定部２２ｃは、評価開始要求の転送元のＩＰアドレスを用いてｎｅｔｐｅｒｆコマンド実行することにより、転送装置１０ｇとの間の通信状況に関する情報を取得する。例えば、品質測定部２２ｃは、転送装置１０ｃと転送装置１０ｇとの間でのパケットロスレート、スループットなどを測定することができる。なお、図９を参照しながら説明したように、評価開始要求が送信されてから、サーバ装置４０と端末５の間の通信経路中の各転送装置１０において通信品質評価が終了するまでは、サーバ装置４０から端末５に向けてダミーパケットが送信されている。このため、転送装置１０ｃでの通信品質評価が行われている間は、ダミーパケットを用いて、疑似的に、サーバ装置４０と端末５がストリーミング通信をしている場合の通信環境が実現されていることになる。換言すると、品質測定部２２ｃが求めたパケットロスレートは、サーバ装置４０が端末５との間でストリーミング通信を行っている場合に、ストリーミング通信の転送元の転送装置１０ｇとの間で得られるパケットロスレートに近似できる。同様に、品質測定部２２ｃが求めたスループットは、サーバ装置４０が端末５との間でストリーミング通信を行っている場合に、転送装置１０ｇと転送装置１０ｃの間で得られるスループットに近似できる。品質測定部２２ｃは、得られた通信品質を予め記憶している閾値と比較することによって、転送装置１０ｃにデータを転送してくる転送装置１０との間のリンクの通信品質が良好であるかを判定する。
【００５０】
図１１は、通信品質評価に使用される閾値と制御メッセージの例を説明する図である。図１１を参照しながら、通信品質の評価の際に、パケットロスレートが使用される場合の処理を説明する。各転送装置１０の品質測定部２２は、予め、図１１のテーブルＴ１に示すような閾値情報を記憶している。品質測定部２２は、得られたパケットロスレートがテーブルＴ１中の閾値Ｔｈ未満の場合、品質評価の対象となっているリンクの通信品質が高いと判定する。一方、得られたパケットロスレートがテーブルＴ１中の閾値Ｔｈ以上の場合、品質測定部２２は、品質評価の対象となっているリンクの通信品質が低いと判定する。例えば、閾値Ｔｈの値が２％であるのに対して、転送装置１０ｇと転送装置１０ｃとの間のパケットロスレートが０．０５％である場合、品質測定部２２ｃは、転送装置１０ｇと転送装置１０ｃとの間のリンクの通信品質が高いと判定する。ここで、評価開始要求の送信元はストリーミング通信で送信されるデータの送信元であるので、評価開始要求の転送元はストリーミング通信で送信されるデータの転送元でもある。さらに、通信品質の評価中は、ストリーミング通信で送信されるデータの代替えとしてダミーパケットがサーバ装置４０から端末５に向けて送信されている。従って、評価開始要求の転送元との間のリンクの通信品質が高い場合、ストリーミング通信で送信されるデータの通信品質も高いと予測される。
【００５１】
転送装置１０ｃでの処理と同様の処理により、転送装置１０ｄは転送装置１０ｃとの間のリンクの通信品質を評価し、転送装置１０ａは転送装置１０ｄとの間のリンクの通信品質を評価する。ここで、転送装置１０ｄにおいて、転送装置１０ｃと転送装置１０ｄとの間のリンクのパケットロスレートが、閾値Ｔｈを超えたとする。すると、転送装置１０ｄは、転送装置１０ｃと転送装置１０ｄとの間のリンクでの通信品質が低いと判定する。この場合、現在通信中の全ての通信を、使用されている経路で転送すると、ストリーミング通信など、再送処理を伴わないプロトコルで送受信されている通信の品質が低下するおそれがある。そこで、品質測定部２２ｄは、通信品質が低下していることを、ストリーミング通信の転送元となる転送装置１０ｃに対して通知するために、トリガアップデート起動指示メッセージを生成する。品質測定部２２ｄは、送信部１２ｄを介して、トリガアップデート起動指示メッセージを転送装置１０ｃに送信する。
【００５２】
図１１のパケットＰ１１は、トリガアップデート起動指示メッセージのフォーマットの例である。トリガアップデート起動指示メッセージは、ストリーミング通信の転送元となる転送装置１０に対して通信品質の低下を通知する際に使用される。トリガアップデート起動指示メッセージは、ＩＰヘッダ、ＴＣＰヘッダ、データを備える。データには、そのパケットがトリガアップデート起動指示メッセージであることを示す情報が含まれている。トリガアップデート起動指示メッセージであることを示す情報の形式は、実装に応じて任意に変更され得る。
【００５３】
（３）新たな経路の取得
図１２のケースＣ２１は、転送装置１０ｄが転送装置１０ｃとの間のリンクでの通信品質が低いと判定した場合の例である。この場合、端末５宛の全てのパケットを転送装置１０ｃと転送装置１０ｄとの間のリンクを介して転送すると、ストリーミング通信の品質が低くなる可能性がある。そこで、再送処理の可能なプロトコルを用いたパケットの転送に用いる経路を、ストリーミング通信などＵＤＰを用いた通信のデータパケットの転送に用いる経路とは異なる経路にするための処理が開始される。
【００５４】
まず、転送装置１０ｄ中の品質測定部２２ｄは、新たな経路を求めるために、転送装置１０ｃと転送装置１０ｄとの間のリンクが切断された場合と同様の状況を、疑似的に作りだす。このとき、品質測定部２２ｄは、転送装置１０ｃと転送装置１０ｄの間のリンクが切断された場合のトポロジ情報３４ｄを生成する。すなわち、転送装置１０ｄにおいて、品質測定部２２ｄは、転送装置１０ｄが保持しているリンクステートデータベースにおいて、転送装置１０ｃと転送装置１０ｄの間のリンクが切断されたことを記録する。なお、この処理と合わせて、経路生成部２１ｄは、転送装置１０ｄから受信するＨｅｌｌｏパケットを無視するように設定される。Ｈｅｌｌｏパケットは、隣接する転送装置１０間での生存確認に使用されるパケットであり、所定期間ごとに、各転送装置１０からブロードキャストされている。ただし、擬似的に切断されている経路は、後述するようにＵＤＰパケットの転送に使用されることから、経路生成部２１ｄの代わりに、品質測定部２２ｄがＨｅｌｌｏパケットを用いて生存確認を行う。さらに、品質測定部２２ｄは、転送装置１０ｃ宛てのトリガアップデート起動指示メッセージを生成し、送信部１２ｄを介して、転送装置１０ｃに送信する（矢印Ａ１１）。
【００５５】
転送装置１０ｃ中の品質測定部２２ｃは、受信部１３ｃを介して、トリガアップデート起動指示メッセージを取得する。すると、品質測定部２２ｃも、転送装置１０ｃが保持しているリンクステートデータベースにおいて、転送装置１０ｃと転送装置１０ｄの間のリンクが切断されたことを記録する。さらに、品質測定部２２ｃは、トリガアップデート起動指示メッセージによって、転送装置１０ｄとの間のリンクが擬似的に切断されることを認識するので、転送装置１０ｄから送信されるＨｅｌｌｏパケットを用いた転送装置１０ｄの生存確認を開始する。さらに、品質測定部２２ｃは、経路生成部２１ｃに対して、転送装置１０ｄから送信されたＨｅｌｌｏパケットを無視するように設定を変更する。
【００５６】
ケースＣ２２は、転送装置１０ｃと転送装置１０ｄのいずれにおいてもリンクステートデータベースが更新された場合の処理の例を示している。以下の説明では、転送装置１０ｂが代表ルータ（ＤＲ、Designated Router）として動作している場合の例を説明する。ここで、代表ルータは、ネットワーク中の全ての転送装置１０からＬＳＡ（link-state advertisement）として、トポロジ情報３４を取得する。代表ルータは、いずれかの転送装置１０でトポロジ情報３４が更新されると、他の転送装置１０に対して、更新後のトポロジ情報を通知する。例えば、転送装置１０ｄ中の経路生成部２１ｄは、リンクステートデータベースが更新されると、更新後のリンクステートデータベースの情報を、転送装置１０ｂに通知する（矢印Ａ２１、Ａ２２）。同様に、転送装置１０ｃ中の経路生成部２１ｃも、転送装置１０ｃ中のリンクステートデータベースが更新されると、更新後のリンクステートデータベースの情報を、転送装置１０ｂに通知する（矢印Ａ２３）。
【００５７】
転送装置１０ｂの受信部１３ｂは、転送装置１０ｃと転送装置１０ｄの各々から受信したリンクステートデータベースの情報を、更新部２３ｂに出力する。更新部２３ｂは、リンクステートデータベースの情報が更新されたことを特定すると、新たな経路の検索のために疑似的なリンク切断が通知された可能性があると判定する。そこで、更新部２３ｂは、ネットワーク中の全ての転送装置１０に対して、経路情報を旧経路情報３２として記録することを要求する。
【００５８】
図１３は、使用中の経路を記憶する処理の例を説明する図である。転送装置１０ｂから経路情報の記録を要求された転送装置１０のうち、端末５宛ての評価開始要求を受信している転送装置１０は、端末５の含まれているネットワークへの転送経路の情報を旧経路情報３２として保存する。例えば、転送装置１０ｃの更新部２３ｃは、ルーティングテーブル３１ｃ中で、端末５の含まれているネットワークへの転送経路の情報を旧経路情報３２にコピーする。転送装置１０ｇ、転送装置１０ｄ、転送装置１０ａのいずれも、評価開始要求を受信したことにより、端末５宛のストリーミング通信のために経路設定が行われていることを認識できる。このため、転送装置１０ｇ、転送装置１０ｄ、転送装置１０ａにおいても、端末５の含まれているネットワークへの転送経路の情報が、旧経路情報３２として保存される。従って、サーバ装置４０からネットワークＡ中の端末５に送信されるパケットの転送処理を行っている転送装置１０の各々では、ネットワークＡ中の装置宛ての経路情報を旧経路情報３２として保持される。なお、評価開始要求を受信していない転送装置１０では、経路情報の記録要求を無視してもよい。この場合、評価開始要求を受信していない転送装置１０では、旧経路情報３２を保持しない。
【００５９】
図１３には、転送装置１０ａ、転送装置１０ｃ、転送装置１０ｄ、転送装置１０ｇの各々が保持する旧経路情報３２の例を示している。図１３の例では、各エントリのうち、宛先ネットワークと、出力先インタフェースが記録されているが、実装によっては、メトリック値なども旧経路情報３２に含められてもよい。なお、以下の説明でも、ネットワークＡのネットワークアドレスは、１９２．１６８．２００．０／２４であるとする。また、転送経路を理解しやすくするために、各転送装置１０の出力先インタフェースの欄に、そのインタフェースから出力されたパケットの転送先をカッコ書きで示している。
【００６０】
旧経路情報３２ｇによると、転送装置１０ｇは、ネットワークＡ宛てのパケットをｅｔｈ２のインタフェースから出力することにより、転送装置１０ｃに転送している。旧経路情報３２ｃによると、転送装置１０ｃは、ネットワークＡ宛てのパケットをｅｔｈ２のインタフェースから出力することにより、転送装置１０ｄに転送している。旧経路情報３２ｄによると、転送装置１０ｄは、ネットワークＡ宛てのパケットをｅｔｈ１のインタフェースから出力することにより、転送装置１０ａに転送している。旧経路情報３２ａによると、転送装置１０ａは、ネットワークＡ宛てのパケットをｅｔｈ３のインタフェースから出力することにより、ネットワークＡに転送している。
【００６１】
図１４は、新たな経路の検索処理の例を説明する図である。転送装置１０ｂ中の更新部２３ｂは、各転送装置１０に経路の保存を要求した後で、転送装置１０ｃと転送装置１０ｄから通知された情報を用いて、トポロジ情報３４ｂを更新する。このため、トポロジ情報３４ｂには、転送装置１０ｃと転送装置１０ｄの間のリンクが切断されているという情報が記録される。経路生成部２１ｂは、トポロジ情報３４ｂの更新をネットワーク中の他の転送装置１０に通知するために、トリガアップデートを実行する。トリガアップデートでは、全ての転送装置１０に対して、トポロジ情報３４ｂの更新内容が通知される。
【００６２】
トリガアップデートを受信した各転送装置１０では、経路生成部２１は、トリガアップデートに従って、トポロジ情報３４を更新する。なお、転送装置１０ｃと転送装置１０ｄでは、既に、トポロジ情報３４が更新されているので、トリガアップデートの受信に際してトポロジ情報３４ｃ、トポロジ情報３４ｄは更新されない。各転送装置１０がトリガアップデートを受信すると、いずれの転送装置１０においても、転送装置１０ｃと転送装置１０ｄの間のリンクは、経路計算の上では、切断されていると扱われる。このため、図１４では、転送装置１０ｃと転送装置１０ｄの間のリンクを破線で示している。
【００６３】
トリガアップデートによるトポロジ情報３４の更新後、各転送装置１０の経路生成部２１は、経路情報を再計算するとともに、ルーティングテーブル３１を更新する。経路情報の再計算には、ＯＳＰＦが用いられるとする。経路計算の結果、サーバ装置４０から端末５に至る新たな経路として、転送装置１０ｇ、転送装置１０ｃ、転送装置１０ｂ、転送装置１０ａを介して、端末５に至る経路（矢印Ｒ１１）が得られたとする。以下、新たに得られた経路のことを「新経路」と記載することがある。一方、擬似的にリンクが切断された上体が生成される前に使用されていた経路を「旧経路」と記載することがある。
【００６４】
図１４のテーブルＴ１１〜Ｔ１４は、ネットワークＡ宛てのパケットの処理に使用される新経路の情報の例である。テーブルＴ１１は転送装置１０ｇが計算した経路情報、テーブルＴ１２は転送装置１０ｃが計算した経路情報であるとする。さらに、テーブルＴ１３は転送装置１０ｂが計算した経路情報であり、テーブルＴ１４は転送装置１０ａが計算した経路情報である。
【００６５】
テーブルＴ１１によると、転送装置１０ｇは、ネットワークＡ宛てのパケットをｅｔｈ２のインタフェースから出力することにより、転送装置１０ｃに転送する。テーブルＴ１２によると、転送装置１０ｃは、ネットワークＡ宛てのパケットをｅｔｈ３のインタフェースから出力することにより、転送装置１０ｂに転送する。テーブルＴ１３によると、転送装置１０ｂは、ネットワークＡ宛てのパケットをｅｔｈ２のインタフェースから出力することにより、転送装置１０ａに転送する。テーブルＴ１４によると、転送装置１０ａは、ネットワークＡ宛てのパケットをｅｔｈ３のインタフェースから出力することにより、ネットワークＡに転送する。
【００６６】
（４）複数の経路を用いた転送処理
図１５は、旧経路と新経路の例を説明する図である。経路Ｒ１１は、転送装置１０ｃと転送装置１０ｄのリンクが切断された状況を擬似的に生成したことによって計算された新経路である。一方、サーバ装置４０から転送装置１０ｇ、転送装置１０ｃ、転送装置１０ｄ、転送装置１０ａを介して端末５に至る経路Ｒ１２は、旧経路であり、いずれのリンクでも障害が発生していない場合に得られる最適経路でもある。
【００６７】
以下、新経路と、旧経路を用いた転送処理について説明する。各転送装置１０の更新部２３は、更新後のルーティングテーブル３１中の経路と異なる経路情報が旧経路情報３２に記録されている場合、旧経路情報３２中の情報をルーティングテーブル３１に追加する。例えば、転送装置１０ａ中の更新部２３ａは、ルーティングテーブル３１中の情報（図１４のテーブルＴ１４）と旧経路情報３２ａ（図１３）を比較する。更新部２３ａは、両者が同じ経路であるので、新たな経路を追加せずにルーティングテーブル３１ａの更新を終了する。転送装置１０ｇ中の更新部２３ｇは、ルーティングテーブル３１中の情報（図１４のテーブルＴ１１）と旧経路情報３２ｇ（図１３）を比較する。更新部２３ｇも、両者が同じ経路であるので、新たな経路を追加せずにルーティングテーブル３１ｇの更新を終了する。
【００６８】
転送装置１０ｄでは、旧経路情報３２ｄ中にはネットワークＡ宛ての経路が含まれているが、ルーティングテーブル３１ｄには、ネットワークＡ宛ての経路が含まれていない。そこで、更新部２３ｄは、旧経路情報３２ｄ（図１３）中のネットワークＡ宛ての経路をルーティングテーブル３１ｄに追加する。
【００６９】
転送装置１０ｃ中の更新部２３ｃは、ルーティングテーブル３１中の情報（図１４のテーブルＴ１２）と旧経路情報３２ｃ（図１３）を比較する。すると、いずれにもネットワークＡ宛ての経路が含まれているが、両者の出力先は異なる。そこで、更新部２３ｃは、旧経路情報３２ｃ中の経路をルーティングテーブル３１ｃに追加する。このとき、更新部２３ｃは、旧経路情報３２ｃ中の経路（旧経路）に対応付けられるメトリックを、ルーティングテーブル３１ｃ中の経路（新経路）のメトリックよりも大きな値に設定する。すなわち、旧経路情報３２ｃに記録されていた旧経路が、経路計算によって得られた新経路よりも優先されないようにメトリックを設定する。図１５の例では、ルーティングテーブル３１中に記録されていたネットワークＡ宛の経路のメトリック値が３０であるとする。そこで、更新部２３ｃは、旧経路情報３２ｃからルーティングテーブル３１ｃに追加する経路に対応付けるメトリック値を３１に設定している。なお、旧経路と新経路の間のメトリックの差は、旧経路のメトリックの方が新経路のメトリックよりも大きいという条件下で、実装に応じて任意に設定され得る。
【００７０】
以上の処理により、転送装置１０ａ〜１０ｄ、１０ｇで得られたルーティングテーブル３１は、図１５に示す通りになる。従って、転送装置１０ａ、転送装置１０ｂ、転送装置１０ｄ、転送装置１０ｇでは、ネットワークＡ宛ての経路を、各々１つ保持する。一方、転送装置１０ｃにおいては、ネットワークＡ宛ての経路は、転送装置１０ｂに転送する経路と、転送装置１０ｄに転送する経路の２つを保持している。
【００７１】
図１５のルーティングテーブル３１ｃは、ネットワークＡ宛の経路として複数の経路を備えるので、転送装置１０ｃは、ネットワークＡ宛のパケットを複数の経路に振り分けることができる。このように振り分け処理を行う転送装置１０は、ルーティングテーブル３１の更新が終了すると、サーバ装置４０に対して、データ通信の開始要求を送信する。なお、振り分け処理を行う転送装置１０は、サーバ装置４０のＩＰアドレス等を、評価開始要求の送信元から特定している。例えば、図１５の例では、転送装置１０ｃ中の更新部２３ｃは、更新処理が終わると、サーバ装置４０に対して、データ通信の開始要求を生成し、送信部１２ｃを介して送信する（矢印Ａ３１）。
【００７２】
転送装置１０ｃのように振り分け処理を行う転送装置１０では、ルーティングテーブル３１の設定の際に、振り分け条件３３も設定される。例えば、転送装置１０ｃでは、更新部２３ｃは、旧経路情報３２ｃとして記憶している旧経路をルーティングテーブル３１ｃに追加する際に、ＵＤＰで送受信されるパケットを、旧経路に振り分けることを設定する。このため、振り分け条件３３ｃには、ネットワークＡ宛てのパケットのうち、ＵＤＰで送受信されるパケットが転送装置１０ｄを介する経路（Ｒ１２）に振り分けることが設定される。
【００７３】
図１６は、振り分け処理のために行われるマーキングの例を説明する図である。図１６には、振り分け条件３３ｃとしてｍａｎｇｌｅテーブルが使用される場合の例を示している。振り分け条件３３のうち、「−Ａ  ＰＲＥＲＯＵＴＩＮＧ」オプションは、転送対象のパケットからマーキングの対象が選択されることを表す。「−ｄ」オプションは、そのオプションで指定された宛先宛てのパケットがマーキングの対象となりうることを表わす。「−ｐ」オプションは、そのオプションで指定されたプロトコルのパケットがマーキングの対象となりうることを表わす。従って、振り分け条件３３ｃは、転送対象のパケットの宛先ＩＰアドレスが１９２．１６８．２００．０／２４であり、かつ、ＵＤＰを用いたパケットである場合、３１というマーキング情報をパケットの末尾に付すことを表わしている。なお、以下の説明では、マーキング情報は、ルーティングテーブル３１に追加された旧経路のメトリック値と同じ値であるとする。端末５に割り当てられたＩＰアドレスは１９２．１６８．２００．１０であるので、端末５宛のパケットのうち、ＵＤＰで送受信されるパケットには、マーキングが行われる。振り分け部２４ｃは、振り分け条件３３ｃと受信パケットのＩＰヘッダ中の情報を用いて、マーキングを行うかを判定する。
【００７４】
例えば、パケットＰ３１に示すＴＣＰパケットが振り分け部２４ｃに入力されたとする。この場合、振り分け部２４ｃは、振り分け条件３３ｃのプロトコルの指定とパケットＰ３１中で使用されているトランスポート層のプロトコルが異なるので、マーキング処理を行わない。一方、パケットＰ３２に示すＵＤＰパケットが振り分け部２４ｃに入力されると、振り分け部２４ｃは、振り分け条件３３ｃのプロトコルの情報を用いて、パケットＰ３２をマーキング処理の対象と認識する。このため、振り分け部２４ｃは、パケットＰ３２の末尾にマーキング情報を付加することにより、パケットＰ３２をパケットＰ３３に示すように変換する。
【００７５】
以下、図１５と図１６を参照しながら、サーバ装置４０から送信されたパケットがＵＤＰパケットである場合とＴＣＰパケットである場合について、マーキングの詳細やマーキング後の振り分け処理を含めて、転送処理の例を説明する。なお、以下の説明では、ＵＤＰパケットは、データ通信の開始要求に応じて送信されたパケットの場合を例として説明するが、サーバ装置４０から送信されるＵＤＰパケットは、ストリーミング通信以外の通信に用いられるパケットであってもよい。
【００７６】
（４ａ）ＵＤＰパケットの転送処理
図１５の矢印Ａ３１に示すように、転送装置１０ｃがサーバ装置４０に対してデータ通信の開始要求を送信したとする。すると、サーバ装置４０では、受信部４３がデータ通信の開始要求を受信する。品質測定要求部５２は、受信部４３を介してデータ通信の開始要求を取得する。品質測定要求部５２は、ダミーパケットの送信中である場合、ダミーパケットの送信を停止すると共に、配信処理部５１に対して、端末５から要求されたデータの送信を要求する。なお、ダミーパケットの送信が終了した後にデータ通信の開始要求がサーバ装置４０に到達した場合も、品質測定要求部５２は、配信処理部５１に端末５から要求されたデータの送信を要求する。配信処理部５１は、ストリーミング配信の開始要求によって配信が要求されたデータを含むＵＤＰパケットとして、図１６のパケットＰ３２を、送信部４２を介して、端末５に向けて送信したとする。
【００７７】
サーバ装置４０から送信された端末５宛てのパケットは、転送装置１０ｇに到達する。転送装置１０ｇ中の受信部１３ｇは、パケットＰ３２を受信すると、振り分け部２４ｇに出力する。転送装置１０ｇでは、振り分け条件３３ｇが設定されていないので、振り分け部２４ｇは、パケットＰ３２を、転送処理部２５ｇに出力する。転送処理部２５ｇは、ルーティングテーブル３１ｇ（図１５）を用いて、端末５宛てのパケットをｅｔｈ２で識別されるインタフェースから出力することを特定する。送信部１２ｇは、パケットＰ３２をｅｔｈ２で識別されるインタフェースから送信するので、パケットＰ３２は、転送装置１０ｃに転送される。
【００７８】
転送装置１０ｃ中の振り分け部２４ｃは、受信部１３ｃを介して、パケットＰ３２を取得する。振り分け部２４ｃは、パケットＰ３２中のＩＰヘッダに、宛先ＩＰアドレス（ＤＡ）＝１９２．１６８．２００．１０という情報とプロトコル番号＝１７という情報が記録されていることを認識する。ここで、プロトコル番号＝１７は、トランスポート層のプロトコルとしてＵＤＰが使用されていることを表わしている。振り分け部２４ｃは、パケットＰ３２で使用されているプロトコルが、振り分け条件３３ｃ中のプロトコルの指定（−ｐ  ｕｄｐ）と合致するので、パケットＰ３２をマーキングの対象であると判定する。そこで、振り分け部２４ｃは、パケットＰ３２にマーキング処理を行って、パケットＰ３３（図１６）の状態に変換する。従って、パケットＰ３３の末尾には、旧経路のメトリック値が、マーキング情報として付加される。振り分け部２４ｃは、パケットＰ３３を転送処理部２５ｃに出力する。
【００７９】
転送処理部２５ｃは、パケットＰ３３を取得すると、末尾にマーキング情報が付加されていることを認識する。転送処理部２５ｃは、パケットＰ３３の宛先アドレスをキーとしてルーティングテーブル３１ｃを検索することにより、転送処理に使用可能な経路を求める。すると、図１５のルーティングテーブル３１ｃに示すように、２つの経路が得られる。転送処理部２５ｃは、得られた経路のうち、メトリック値がマーキング情報と一致する方の経路を転送処理に使用することを決定する。その後、転送処理部２５ｃは、パケットＰ３３を、出力先インタフェースをｅｔｈ２に指定して送信部１２ｃに出力する。送信部１２ｃは、パケットＰ３３の末尾からマーキング情報を削除することにより、パケットＰ３３をパケットＰ３２の状態に戻してから、パケットＰ３２を、ｅｔｈ２で識別されるインタフェースから送信する。このため、パケットＰ３２は、転送装置１０ｄに転送される。従って、パケットＰ３２の転送経路として、経路Ｒ１２（図１５）が採用されることになる。
【００８０】
転送装置１０ｄが保持しているルーティングテーブル３１ｄ（図１５）には、ネットワークＡ宛てのパケットの転送経路は１通り登録されている。このため、転送装置１０ｄでは、ネットワークＡ宛のパケットに対する振り分け条件３３ｄは設定されていない。このため、転送装置１０ｄ中の振り分け部２４ｄは、受信部１３ｄを介してパケットＰ３２を取得すると、パケットＰ３２を転送処理部２５ｄに出力する。転送処理部２５ｄは、ルーティングテーブル３１ｄに従って、パケットＰ３２をインタフェースｅｔｈ２から出力するので、パケットＰ３２は転送装置１０ａに向けて転送される。
【００８１】
転送装置１０ａにおいても、転送装置１０ｄなどでの処理と同様に、転送処理部２５ａがルーティングテーブル３１ａを用いた転送処理を行うため、パケットＰ３２は、端末５に向けて転送される。
【００８２】
以上述べたように、ＵＤＰパケットが転送される場合には、転送装置１０ｃでのマーキングとマーキング後の振り分け処理によって、転送装置１０ｃ、転送装置１０ｄ、転送装置１０ａを介する転送経路（経路Ｒ１２）が使用される。
【００８３】
（４ｂ）ＴＣＰパケットの転送処理
次に、サーバ装置４０が端末５に向けて、ＴＣＰを用いたパケットＰ３１を送信した場合の処理について説明する。転送装置１０ｇは、ルーティングテーブル３１ｇ（図１５）を用いて転送処理を行うので、パケットＰ３１は転送装置１０ｃに到達する。
【００８４】
転送装置１０ｃの振り分け部２４ｃは、パケットＰ３１中のＩＰヘッダに、宛先ＩＰアドレス（ＤＡ）＝１９２．１６８．２００．１０という情報とプロトコル番号＝６という情報が記録されていることを認識する。ここで、プロトコル番号＝６は、トランスポート層のプロトコルとしてＴＣＰが使用されていることを表わしている。振り分け部２４ｃは、パケットＰ３１で使用されているプロトコルが、振り分け条件３３ｃ中のプロトコルの指定（−ｐ  ｕｄｐ）と合致しないので、パケットＰ３１をマーキングの対象ではないと判定する。そこで、振り分け部２４ｃは、パケットＰ３１にマーキング処理を行わずに転送処理部２５ｃに出力する。
【００８５】
転送処理部２５ｃは、パケットにマーキング情報が付加されているかを判定する。パケットＰ３１については、マーキング情報が付加されていない。そこで、転送処理部２５ｃは、ルーティングテーブル３１ｃ（図１５）中の経路のうち、メトリックが小さく設定されている方の経路を用いることを決定する。ルーティングテーブル３１ｃでは、１９２．１６８．２００．０／２４宛てのパケットの転送先として、メトリックが最小の経路では、出力先インタフェースがｅｔｈ３に設定されている。ここで、インタフェースｅｔｈ３は、転送装置１０ｂに接続されている。従って、転送処理部２５ｃは、パケットＰ３１に対して、図１５の経路Ｒ１１を介して転送することを決定している。転送処理部２５ｃは、送信部１２ｃを介して、パケットＰ３１をインタフェースｅｔｈ３から送信するので、パケットＰ３１は、経路Ｒ１１（図１５）に沿って、転送装置１０ｂに転送される。
【００８６】
転送装置１０ｂが保持しているルーティングテーブル３１ｂ（図１５）には、ネットワークＡ宛てのパケットの転送経路は１通り登録されている。このため、転送装置１０ｂでは、ネットワークＡ宛のパケットに対する振り分け条件３３ｂは設定されていない。このため、転送装置１０ｂ中の振り分け部２４ｂは、受信部１３ｂを介してパケットＰ３１を取得すると、パケットＰ３１を転送処理部２５ｂに出力する。転送処理部２５ｂは、ルーティングテーブル３１ｂに従って、パケットＰ３１を、インタフェースｅｔｈ２から出力する。このため、パケットＰ３１は、転送装置１０ａに転送される。転送装置１０ａにおいても、転送装置１０ｂと同様の処理により、転送処理が行われる。このため、パケットＰ３１は、ルーティングテーブル３１ａに従って、端末５を含むネットワークＡに向けて転送される。
【００８７】
以上述べたように、ＴＣＰパケットが転送される場合には、転送装置１０ｃでのマーキング処理が行われないので、振り分け処理によって、転送装置１０ｃ、転送装置１０ｂ、転送装置１０ａを介する転送経路（経路Ｒ１１）が使用される。
【００８８】
ここで、経路Ｒ１２は、いずれのリンクにも障害が発生していない場合において、ＯＳＰＦで選択される経路であるため、良好な通信品質が期待できる。さらに、転送装置１０ｃでの振り分け処理により、トランスポート層のプロトコルがＵＤＰ以外のパケットは、経路Ｒ１１を用いて転送されているため、経路Ｒ１２の輻輳も避けられる。従って、経路Ｒ１２をＵＤＰパケットの転送に使用することにより、ＵＤＰを用いたストリーミング通信の通信品質を良好にすることができる。一方、最適な経路ではない経路Ｒ１１を介して転送されるパケットは、ＴＣＰパケットであり、転送に失敗しても再送処理が行われる。このため、ＴＣＰパケットについても、通信品質の劣化が避けられる。
【００８９】
（５）障害の発生時の処理と終了処理
転送装置１０ｃや転送装置１０ｄは、新たな経路の検索のために、擬似的にリンクの切断状態を発生させて、リンク切断を代表ルータに通知している。このため、実際にリンクの切断が発生した場合の処理は、擬似的なリンク切断によって、代表ルータにリンク切断を通知済みのリンクであるかによって異なってくる。
【００９０】
図１７は、障害発生時の処理の例を説明する図である。ケースＣ４１は、転送装置１０ｃと転送装置１０ｄの間のリンクに障害が発生した場合の例である。転送装置１０ｄと転送装置１０ｃの間のリンクは、実際には障害が発生していないが、ＵＤＰパケット以外のパケットの転送に使用しないようにするために、障害が発生したと代表ルータに通知している。従って、転送装置１０ｃと転送装置１０ｄのいずれにおいても経路生成部２１はＨｅｌｌｏパケットの送受信を無視しているが、品質測定部２２がＨｅｌｌｏパケットを処理している。転送装置１０ｃと転送装置１０ｄの間のリンクに障害が発生すると、転送装置１０ｃでは、品質測定部２２ｃがリンクの切断を検出して、更新部２３ｃに通知する。
【００９１】
更新部２３ｃは、品質測定部２２ｃからの通知により、ルーティングテーブル３１ｃ（図１５）中のメトリック値の大きい方の経路（経路Ｒ１２）で障害が発生したと認識する。そこで、更新部２３ｃは、障害が検出された経路Ｒ１２の情報をルーティングテーブル３１ｃから削除すると共に、ネットワークＡ宛のパケットに対する振り分け条件３３ｃも削除する。一方、転送装置１０ｄでも、品質測定部２２ｄが転送装置１０ｃと転送装置１０ｄの間のリンクの切断を検出し、更新部２３ｄに通知する。更新部２３ｄは、障害が検出された経路Ｒ１２の情報をルーティングテーブル３１ｄから削除する。このため、以後の転送処理では、転送装置１０ｃからの転送パケットは、いずれのプロトコルであっても、転送装置１０ｂを介した経路Ｒ１１で転送される。
【００９２】
ケースＣ４２は、転送装置１０ｃと転送装置１０ｂの間のリンクに障害が発生した場合の例を示す。転送装置１０ｃと転送装置１０ｂの間のリンクは、ＵＤＰパケットの転送に使用するために擬似的に切断状態に設定されているリンクではない。このため、転送装置１０ｃや転送装置１０ｂは、トリガアップデートを用いて、新たな経路検索を行う。
【００９３】
ここで、ケースＣ４２に示すケースでは、転送装置１０ｃが転送装置１０ｇを介して端末５から受信するパケットの転送に使用可能な２つのリンクのうち、一方は、擬似的に切断状態に設定されており、他方は実際にリンクの切断が発生している。このため、ケースＣ４２の状態では、転送装置１０ｃと転送装置１０ｄの間のリンクがＵＤＰパケットの転送に使用可能な状態であっても、ＯＳＦＰでは、転送装置１０ｃを介してネットワークＡ宛のパケットを転送する経路は無いと判定してしまう。そこで、データパケットの転送元以外との間のリンクが、擬似的な切断状態のリンクと、実際に切断しているリンクの組み合わせであるため、品質測定部２２ｃは、上流側の転送装置１０にトリガアップデート起動指示メッセージを送信する（矢印Ａ４１）。すると、トリガアップデート起動指示メッセージを受信した転送装置１０は、データの転送先でのネットワークの通信品質が低下していると判定し、図１２〜図１６を参照しながら説明した処理と同様の処理を行う。このため、転送装置１０ｇは、転送装置１０ｃと転送装置１０ｇとの間の経路をＵＤＰパケット用に確保した上で、擬似的に切断されたものとして、代表ルータに通知する。従って、転送装置１０ｇ、転送装置１０ｃ、転送装置１０ｄを介した経路Ｒ１２は、ＵＤＰパケット用の経路として使用される。一方、ＵＤＰ以外のプロトコルを用いたパケットは、転送装置１０ｇと転送装置１０ｆを介した経路を用いて、端末５に向けて転送される。
【００９４】
図１８は、ストリーミング配信終了時の処理の例を説明する図である。ケースＣ５１は、端末５がサーバ装置４０に対して、ストリーミング通信停止要求を送信したときの転送処理の例を示す。ストリーミング通信停止要求は、転送装置１０ａ、転送装置１０ｄ、転送装置１０ｃ、転送装置１０ｇを介して、サーバ装置４０に転送されたとする。
【００９５】
サーバ装置４０中の受信部４３は、ストリーミング通信停止要求を受信すると、ストリーミング通信停止要求を、配信処理部５１と停止制御部５３に出力する。配信処理部５１は、ストリーミング通信停止要求を取得すると、ストリーミング配信を停止する。停止制御部５３は、ストリーミング配信されたパケットを転送していた転送装置１０に対して、ストリーミング配信のために使用されていた経路の削除を要求する。経路の削除の要求は、クリア要求パケットを用いて行われる。
【００９６】
パケットＰ２１は、クリア要求パケットの例である。クリア要求パケットは、ＩＰヘッダ、ＵＤＰヘッダ、データを備える。データには、転送装置１０においてクリア要求パケットであることを特定可能な任意の情報が含まれている。ここで、クリア要求パケットは、ストリーミング通信のパケットの転送経路中の転送装置１０を介して端末５に転送されるように、ＵＤＰを用いて生成される。
【００９７】
ケースＣ５２は、クリア要求パケットの転送経路の例を示している。サーバ装置４０から送信されたクリア要求パケットは、転送装置１０ｇに到達する（矢印Ａ５１）。転送装置１０ｇの受信部１３ｇは、クリア要求パケットを受信すると、更新部２３ｇと振り分け部２４ｇに出力する。振り分け部２４ｇは、クリア要求パケットを転送処理部２５ｇに出力する。更新部２３ｇは、クリア要求パケットの宛先に宛てたＵＤＰパケットの転送のための設定を行っているかを判定する。転送装置１０ｇには、擬似的に切断されたものとして扱っているリンクが接続されていないので、更新部２３ｇは、クリア要求パケットの宛先に宛てたＵＤＰパケットの転送のための設定を行っていないと判定し、処理を終了する。一方、転送処理部２５ｇは、ルーティングテーブル３１ｇ（図１５）を用いて、クリア要求パケットを転送装置１０ｃに転送する（矢印Ａ５２）。
【００９８】
転送装置１０ｃ中の振り分け部２４ｃと更新部２３ｃは、受信部１３ｃを介してクリア要求パケットを取得する。振り分け部２４ｃは、振り分け条件３３ｃを用いて、マーキングしたクリア要求パケットを、転送処理部２５ｃに出力する。ここで、マーキング処理は図１６を用いて説明した処理と同様であるため、クリア要求パケットには、マーキング情報として、メトリック値＝３１が含まれている。転送処理部２５ｃは、クリア要求パケットの転送経路として、ルーティングテーブル３１ｃのメトリック＝３１に対応付けられた経路を選択する。送信部１２ｃは、クリア要求パケットからマーキング情報を除去した後、転送処理部２５ｃから指定された経路を用いて、転送処理を行う。このため、クリア要求パケットは、転送装置１０ｄに転送される（矢印Ａ５３）。
【００９９】
クリア要求パケットの転送処理後、更新部２３ｃは、クリア要求パケットによって設定変更を行うかを判定する。転送装置１０ｃは、転送装置１０ｄとの間のリンクをＵＤＰパケットの送信を優先させるために擬似的にリンク切断状態に設定している。そこで、更新部２３ｃは、経路生成部２１ｃに、転送装置１０ｄとの間のＨｅｌｌｏパケットを無視する設定を解除させる。さらに、ルーティングテーブル３１ｃから、ネットワークＡ宛のパケットの転送経路のうち、メトリックがより大きい値に設定されている経路を削除する。
【０１００】
矢印Ａ５３での転送により、転送装置１０ｄは、クリア要求パケットを受信する。転送装置１０ｄ中の振り分け部２４ｄと更新部２３ｄは、受信部１３ｃを介してクリア要求パケットを取得する。振り分け部２４ｄは、クリア要求パケットを、転送処理部２５ｄに出力する。転送処理部２５ｄは、クリア要求パケットを、ルーティングテーブル３１ｄに従って転送する。このため、クリア要求パケットは、転送装置１０ａに転送される（矢印Ａ５４）。
【０１０１】
クリア要求パケットの転送処理後、更新部２３ｄは、クリア要求パケットによって設定変更を行うかを判定する。転送装置１０ｄは、転送装置１０ｃとの間のリンクをＵＤＰパケットの送信を優先させるために擬似的にリンク切断状態に設定している。そこで、更新部２３ｄは、経路生成部２１ｄに、転送装置１０ｃとの間のＨｅｌｌｏパケットを無視する設定を解除させる。さらに、ルーティングテーブル３１ｃから、ネットワークＡ宛のパケットの転送経路を削除する。
【０１０２】
転送装置１０ａでは、クリア要求パケットを受信すると、転送装置１０ｇと同様の処理が行われる。すなわち、クリア要求パケットは、ルーティングテーブル３１ａを用いて端末５に転送される（矢印Ａ５５）。更新部２３ａは、転送装置１０ａでは、ＵＤＰパケットの転送のための設定を行っていないと判定し、処理を終了する。
【０１０３】
（６）処理フローなど
以下、転送装置１０で行われる処理の例を、シーケンス図やフローチャートを用いて整理する。
【０１０４】
図１９は、実施形態にかかる通信方法の処理の例を説明するシーケンス図である。図１９では、図を見やすくするために、転送装置１０を１つにまとめてあるが、ネットワーク中に含まれている転送装置１０の数は任意である。端末５は、転送装置１０を介して、ストリーミングリクエストをサーバ装置４０に送信する（ステップＳ１）。サーバ装置４０中の配信処理部５１は、転送装置１０に対して、コンテンツのメタデータやサーバアクセス情報を通知する（ステップＳ２）。端末５は、サーバ装置４０に対して、配信開始要求を送信する（ステップＳ３）。
【０１０５】
配信開始要求を受信すると、サーバ装置４０中の品質測定要求部５２は、評価開始要求を送信する（ステップＳ４）。このとき、評価開始要求の宛先は、端末５に設定されるので、サーバ装置４０から端末５に至る経路中の各転送装置１０は、評価開始要求を受信することにより、通信品質の評価が要求されていることを認識する。さらに、各転送装置１０は、評価開始要求を、端末５宛のパケットの転送先の転送装置１０に転送する。なお、端末５においては、評価開始要求は処理対象ではないので破棄される。
【０１０６】
評価開始要求を受信した転送装置１０は、評価開始要求の転送元との間の通信品質を評価する（ステップＳ５）。通信品質が低いと判定すると、転送装置１０は、複数の経路を用いて、通信プロトコル別の経路制御を行う（ステップＳ６、Ｓ７）。複数の経路を用いて、通信プロトコル別の経路が設定できると、振り分け処理を行う転送装置１０は、サーバ装置４０に対して、データ通信開始要求を送信する（ステップＳ８）。
【０１０７】
データ通信開始要求を受信したサーバ装置４０の配信処理部５１は、ストリーミング通信のデータを端末５に送信する（ステップＳ９）。ステップＳ９において、ネットワーク中の転送装置１０は、ステップＳ７での設定に基づいて転送処理を行う。ストリーミング通信を終了するとき、端末５は、サーバ装置４０に対してストリーミング通信停止要求を送信する（ステップＳ１０）。すると、サーバ装置４０からのストリーミング配信は終了する。
【０１０８】
図２０は、転送装置１０の処理の例を説明するフローチャートである。図２０には、図１５などを参照しながら説明した転送装置１０ｄのように、経路の振り分けを行う転送装置１０の下流側に位置する転送装置１０での処理が含まれている。
【０１０９】
受信部１３は、評価開始要求を受信する（ステップＳ２１）。このとき、更新部２３は、評価開始要求の宛先アドレスを、ストリーミング通信の宛先として記憶しておく。品質測定部２２は、評価開始要求の転送元との間の通信品質を測定する（ステップＳ２２）。品質測定部２２は、通信品質が所定の閾値未満であるかを判定する（ステップＳ２３）。通信品質が所定の閾値未満の場合、品質測定部２２は、トリガアップデート起動指示を生成し、評価開始要求の転送元に送信する（ステップＳ２３でＹｅｓ、ステップＳ２４）。その後、更新部２３は、ストリーミング通信の宛先の端末へのパケットの転送に使用する経路情報を旧経路情報３２として記憶する（ステップＳ２５）。その後、代表ルータからの指示に従って、トリガアップデートを実行すると共に、新たな通信経路を検索する（ステップＳ２６）。更新部２３は、旧経路情報３２として保存しておいた旧経路を、ルーティングテーブル３１に追加する（ステップＳ２７）。その後、データパケットが送信されてくると、転送処理部２５は、ルーティングテーブル３１を用いてルーティングを行う（ステップＳ２８）。なお、ステップＳ２８での処理対象のパケットは、上流側の転送装置１０によって、旧経路を介して転送されてきたＵＤＰパケットである。ストリーミングが終了するまで、ステップＳ２８の処理が繰り返される（ステップＳ２９でＮｏ）。ストリーミングが終了すると、更新部２３は、終了したストリーミングの転送のために追加した経路を、ルーティングテーブル３１から削除して処理を終了する（ステップＳ２９でＹｅｓ、ステップＳ３０）。
【０１１０】
一方、ステップＳ２３において、通信品質が所定の閾値以上と判定されたとする。この場合、転送処理部２５は、ストリーミングが終了するまで、データパケットをルーティングテーブル３１に従ってルーティングする（ステップＳ３１、ステップＳ３２でＮｏ）。ストリーミング通信が終了すると、転送処理部２５は処理を終了する（ステップＳ３２でＹｅｓ）。
【０１１１】
図２１は、転送装置１０の処理の例を説明するフローチャートである。転送装置１０は、図１５などを参照しながら説明した転送装置１０ｃのように、経路の振り分けを行う転送装置１０の動作の例を表わしている。なお、経路の振り分けを行う転送装置１０においても、評価開始要求を転送した際に、評価開始要求の宛先アドレスを、ストリーミング通信の宛先として記憶しているものとする。
【０１１２】
受信部１３は、トリガアップデート起動指示を受信する（ステップＳ４１）。更新部２３は、ストリーミング通信の宛先となる端末にパケットを転送する際に用いる経路を、旧経路情報３２として記憶部３０に記憶する（ステップＳ４２）。経路生成部２１は、トリガアップデート起動指示に伴い、トリガアップデート起動指示の送信元との間のリンクが切断された状況を擬似的に実現する。また、代表ルータに、トリガアップデート起動指示の送信元との間のリンクの切断を通知する。その後、代表ルータからの指示に従って、トリガアップデートを実行すると共に、新たな通信経路（新経路）を検索する（ステップＳ４３）。更新部２３は、旧経路情報３２として保存しておいた旧経路を、ルーティングテーブル３１に追加する（ステップＳ４４）。ステップＳ４４では、旧経路のメトリックが、ルーティングテーブル３１中で、追加対象の経路と同じ宛先への新経路のメトリックよりも大きくなるように設定される。
【０１１３】
その後、データパケットが送信されてくると、振り分け部２４での処理が行われる。振り分け部２４は、ＵＤＰパケットをマーキング処理の対象とし、マーキング処理後のＵＤＰパケットを転送処理部２５に出力する（ステップＳ４５）。一方、ＴＣＰパケットについては、振り分け部２４は、マーキングを行わずに転送処理部２５に出力する。振り分け部２４でのマーキングに従って、転送処理部２５は、ルーティングテーブル３１を用いてルーティングを行う。すなわち、マーキング情報を含むパケットは、宛先ネットワークへの経路のうち、旧経路を用いて転送する（ステップＳ４６でＹｅｓ、ステップＳ４７）。なお、旧経路は、宛先ネットワークへの経路のうち、メトリックがより大きく設定されている経路である。一方、マーキング情報を含まないパケットは、宛先ネットワークへの経路のうち、新経路を用いて転送する（ステップＳ４６でＮｏ、ステップＳ４８）。新経路は、宛先ネットワークへの経路のうち、メトリックがより小さく設定されている経路である。しかしながら、新経路は、旧経路が適用されない場合において最適と考えられる経路である。従って、見かけ上のメトリックに関わらず、ステップＳ４７、Ｓ４８の処理により、ＵＤＰパケットは、最適の経路を用いて転送され、ＴＣＰパケットはＵＤＰパケットよりは条件の悪い経路で転送される。
【０１１４】
ストリーミングが終了するまで、ステップＳ４５〜Ｓ４８の処理が繰り返される（ステップＳ４９でＮｏ）。ストリーミングが終了すると、更新部２３は、終了したストリーミングの転送のために追加した経路を、ルーティングテーブル３１から削除して処理を終了する（ステップＳ４９でＹｅｓ、ステップＳ５０）。
【０１１５】
図２２は、実施形態にかかる方法による通信と他の通信方法の比較例を説明する図である。ケースＣ６１は、実施形態にかかる通信方法が用いられたシステムの例であり、ケースＣ６２とケースＣ６３は他の通信方法が用いられたシステムの例を示す。
【０１１６】
ケースＣ６２の通信方法では、送信元から宛先までの転送経路では、転送装置２ｘから転送装置２ｚを経由する経路Ｒ２３であるとする。ケース６２では、プロトコルに関係なく全てのパケットが経路Ｒ２３を経由して宛先に転送される。このため、輻輳が発生すると、パケットロスなどが発生してしまう。ストリーミング通信が、再送処理を伴わないＵＤＰなどのプロトコルで行われている場合、ケースＣ６２の通信方法では、ストリーミング通信の通信品質が低下してしまう。
【０１１７】
ケースＣ６３では、輻輳による品質低下を抑えるために、ＵＤＰ通信を優先させる経路として、転送装置２ｗ〜２ｚを介した経路を、ＵＤＰ通信用に事前に予約する場合の例を示している。この場合、ＵＤＰ通信で送受信されるデータ量が少なかったとしても、予約されているリソースは他のプロトコルで送受信されるパケットの処理には使用されない。例えば、このため、ＵＤＰ以外のプロトコルのパケットは、転送装置２α〜２γを介して転送されているとする。ＵＤＰ以外のプロトコルのパケットのトラフィックが増加して、転送装置２α〜２γを介した経路で輻輳が発生したとしても、転送装置２ｗ〜２ｚを介した経路は、ＵＤＰ通信用に予約されているため、輻輳の解消用に使用されない。このため、処理効率が悪い。
【０１１８】
実施形態にかかる方法では、ケースＣ６１に示すように、経路Ｒ２１（旧経路）と経路Ｒ２２（新経路）が併用されうる。送信元から宛先までの転送経路として、経路Ｒ２１が使用されている場合、ストリーミング通信の品質低下の可能性が発生する程度に通信量が増加するまでは、プロトコルに関わらず、経路Ｒ２１が使用される。ストリーミング通信の品質低下の可能性が発生すると、転送装置１０ｘと転送装置１０ｙは、擬似的に、転送装置１０ｘと転送装置１０ｙの間のリンクが切断された状況を生成することにより、新経路として経路Ｒ２２を取得する。その後、ＵＤＰプロトコルによるパケットについては、マーキング処理により、旧経路である経路Ｒ２１を介して転送する。一方、ＵＤＰ以外のパケットについては、新経路である経路Ｒ２２を介して転送する。新経路Ｒ２２は、旧経路Ｒ２１が適用されない場合において最適と考えられる経路である。従って、ＵＤＰについては、最適の経路Ｒ２１を用いて転送し、再送処理の可能なプロトコルによる転送パケットは、経路Ｒ２２を用いて転送することにより、ストリーミング通信の品質を担保することができる。
【０１１９】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１２０】
図１９では、通信品質が低いと判定されたリンクが含まれている場合の処理の例を説明したが、通信品質が低いと判定されたリンクが無い場合にも、実施形態にかかるシステムは適用可能である。この場合、サーバ装置４０は、データ通信開始要求を受信しなくても、配信開始要求を受信してから所定の期間が経過すると、ストリーミング配信を開始するように設定される。
【０１２１】
以上の説明で図示したパケットのフォーマットやテーブル中の情報要素は一例に過ぎない。パケットのフォーマットやテーブル中の情報要素は、実装に応じて変更され得る。
【０１２２】
以上の説明では、送信部１２においてマーキング情報が削除される場合を例として説明したが、マーキング情報は転送処理部２５で削除されても良い。この場合、転送処理部２５は、マーキング情報を削除した後のパケットを、出力先のインタフェースの情報と共に、送信部１２に出力する。なお、マーキング情報は、メトリック値に限られず、旧経路の識別に使用可能な任意の識別情報であっても良い。
【０１２３】
上述の実施形態に関し、さらに以下の付記を開示する。
（付記１）
サーバ装置から送信される複数のフローを処理する転送装置であって、
前記複数のフローを受信する受信部と、
前記転送装置と前記複数のフローの転送先の間の通信品質が所定の基準を下回ったことを通知する通知パケットを前記受信部が受信すると、前記複数のフローのうちで再送処理が可能なプロトコルで処理されているフローの転送経路を、前記複数のフローの転送に使用している第１の経路から、前記転送装置と前記転送先との間のリンクを使用せずに前記サーバ装置から当該フローの宛先に至る第２の経路に変更する制御部と、
前記複数のフローの各々を、前記制御部で決定された経路を用いて転送する送信部
を備えることを特徴とする転送装置。
（付記２）
前記制御部は、
前記複数のフローのうちで、再送処理を行わないプロトコルによるストリーミング通信に使用されているフローの宛先を特定し、
前記通知パケットを前記受信部が受信すると、前記転送装置と前記転送先との間のリンクが切断されたときに前記サーバ装置から前記宛先に到達可能な経路のうち、相対的に通信状況の良い経路を、前記第２の経路に選択する
ことを特徴とする付記１に記載の転送装置。
（付記３）
前記制御部は、
前記宛先宛てのフローの転送に適用する経路としての前記第２の経路の優先度を、前記第１の経路よりも高く設定し、
前記受信部が受信した転送対象のフローのうち、再送処理を行わないプロトコルで処理されているフロー中のパケットに、前記第１の経路に対応付けられた識別情報を付加し、
前記送信部は、
前記識別情報を含まないパケットを前記第２の経路を用いて転送し、
前記識別情報を含むパケットを、前記識別情報を除去した上で、前記第１の経路から送信する
ことを特徴とする付記２に記載の転送装置。
（付記４）
前記受信部は、前記サーバ装置から前記ストリーミング通信の宛先に宛てた通信品質の評価要求を受信し、
前記制御部は、
前記評価要求を受信すると、前記評価要求の転送元との間の通信品質を測定し、
前記転送元との通信品質が低い場合、前記転送元に通信品質の低下を通知する他の通知パケットを生成し、
前記送信部は、前記他の通知パケットを前記転送元に送信すると共に、前記評価要求を前記宛先に向けて転送する
ことを特徴とする付記１〜３のいずれか1項に記載の転送装置。
（付記５）
パケットを受信する受信部と、
端末へのストリーミング通信を要求する配信要求を前記受信部が受信すると、前記ストリーミング通信でのデータパケットの代替とするダミーパケットの送信の開始を決定すると共に、前記ダミーパケットの送信中での前記端末に至る経路の通信品質の評価を当該経路中の転送装置に要求する評価要求を生成する要求部と、
前記ダミーパケットと前記評価要求を前記端末に向けて送信する送信部と、
前記評価要求を受信した転送装置のいずれかから、前記データパケットの転送の要求を前記受信部が受信すると、前記ダミーパケットの送信を終了すると共に、前記端末に宛てて、前記データパケットの配信処理を開始する配信処理部
を備えることを特徴とするサーバ装置。
（付記６）
前記ストリーミング通信の停止が通知されると、再送処理が可能なプロトコルで処理されている前記端末宛てのパケットと、前記端末宛ての前記データパケットを、異なる転送経路に振り分ける設定をした転送装置に、前記振り分けの設定の消去を要求する制御を行う停止制御部
をさらに備えることを特徴とする請求項５に記載のサーバ装置。
（付記７）
前記配信処理部は、前記配信要求の受信から所定の期間が経過すると、前記データパケットの転送の要求を前記受信部が受信していなくても、前記端末に宛てて、前記データパケットの配信処理を開始する
ことを特徴とする付記５または６に記載のサーバ装置。
（付記８）
サーバ装置から送信される複数のフローを処理する転送装置が、
前記複数のフローを第１の経路を用いて転送し、
前記転送装置と前記複数のフローの転送先の間の通信品質が所定の基準を下回ったことを通知する通知パケットを受信すると、前記複数のフローのうちで再送処理が可能なプロトコルで処理されているフローの転送経路を、前記第１の経路から、前記転送装置と前記転送先との間のリンクを使用せずに前記サーバ装置から当該フローの宛先に至る第２の経路に変更する
処理を行うことを特徴とする転送方法。
（付記９）
前記転送装置は、
前記複数のフローのうちで、再送処理を行わないプロトコルによるストリーミング通信に使用されているフローの宛先を特定し、
前記通知パケットを受信すると、前記転送装置と前記転送先との間のリンクが切断されたときに前記サーバ装置から前記宛先に到達可能な経路のうち、相対的に通信状況の良い経路を、前記第２の経路に選択する
ことを特徴とする付記８に記載の転送方法。
（付記１０）
前記転送装置は、
前記宛先宛てのフローの転送に適用する経路としての前記第２の経路の優先度を、前記第１の経路よりも高く設定し、
受信した転送対象のフローのうち、再送処理を行わないプロトコルで処理されているフロー中のパケットに、前記第１の経路に対応付けられた識別情報を付加し、
前記識別情報を含まないパケットを前記第２の経路を用いて転送し、
前記識別情報を含むパケットを、前記識別情報を除去した上で、前記第１の経路から送信する
ことを特徴とする付記９に記載の転送方法。
（付記１１）
前記サーバ装置は、
端末へのストリーミング通信を要求する配信要求を受信すると、前記端末宛に、前記ストリーミング通信でのデータパケットの代替とするダミーパケットを送信し、
前記ダミーパケットの送信中での前記端末に至る経路の通信品質の評価を当該経路中の転送装置に要求する評価要求を前記端末に向けて送信し、
前記通信装置は、
前記評価要求を受信すると、前記評価要求の転送元との間の通信品質を測定し、
前記転送元との通信品質が低い場合、通信品質の低下を通知する他の通知パケットを前記転送元に送信し、
前記評価要求を前記宛先に向けて転送する
ことを特徴とする付記８〜１０のいずれか１項に記載の転送方法。
（付記１２）
前記サーバ装置は、前記評価要求を受信した転送装置のいずれかから、前記データパケットの転送の要求を受信すると、前記ダミーパケットの送信を終了すると共に、前記端末に宛てて、前記データパケットの配信処理を開始する
ことを特徴とする付記１１に記載の転送方法。
【符号の説明】
【０１２４】
２、１０  転送装置
５  端末
１１、４１  通信部
１２、４２  送信部
１３、４３  受信部
２０、５０  制御部
２１  経路生成部
２２  品質測定部
２３  更新部
２４  振り分け部
２５  転送処理部
３０、６０  記憶部
３１  ルーティングテーブル
３２  旧経路情報
３３  振り分け条件
３４  トポロジ情報
４０  サーバ装置
５１  配信処理部
５２  品質測定要求部
５３  停止制御部
１０１、１１１  プロセッサ
１０２、１１２  メモリ
１０３  入力装置
１０４  出力装置
１０５、１１４  バス
１０６  記憶装置
１０７  可搬記憶媒体駆動装置
１０８  可搬記憶媒体
１０９、１１５  ネットワークインタフェース
【図１】
2018006793.tif 000003
【図２】
2018006793.tif 000004
【図３】
2018006793.tif 000005
【図４】
2018006793.tif 000006
【図５】
2018006793.tif 000007
【図６】
2018006793.tif 000008
【図７】
2018006793.tif 000009
【図８】
2018006793.tif 000010
【図９】
2018006793.tif 000011
【図１０】
2018006793.tif 000012
【図１１】
2018006793.tif 000013
【図１２】
2018006793.tif 000014
【図１３】
2018006793.tif 000015
【図１４】
2018006793.tif 000016
【図１５】
2018006793.tif 000017
【図１６】
2018006793.tif 000018
【図１７】
2018006793.tif 000019
【図１８】
2018006793.tif 000020
【図１９】
2018006793.tif 000021
【図２０】
2018006793.tif 000022
【図２１】
2018006793.tif 000023
【図２２】
2018006793.tif 000024