(57)【要約】【課題】パケットの無駄な転送および他のストリーミングメディアデータパケットの遅延を回避可能な通信装置を得ること。【解決手段】受信したパケットのデータがストリーミングメディアデータであると判断した場合にパケットのフロー情報を特定するパケット識別部２と、フロー情報に基づいてパケットを送信する回線出力ポートを決定するパケット振り分け部３と、決定された回線出力ポートからパケットを送信する場合の送信予定時刻と自身が保持する送信開始可能時刻との比較結果に基づいてパケットの中継が可能かどうかを判断する時刻評価部５と、中継可能と判断された場合に対応する回線出力ポートからパケットを送信する出力順記憶部６と、を備え、通信装置は、時刻評価部５により中継不可能と判断された場合にパケットを廃棄する。【選択図】        図１
2009260888.tif 000002
【特許請求の範囲】
【請求項１】
ストリーミングメディアデータパケットを中継する通信装置であって、
受信したパケットに含まれるデータがストリーミングメディアデータであると判断した場合に、当該パケットのフロー情報を特定するパケット識別手段と、
前記フロー情報に基づいて、複数の回線出力ポートの中から前記パケットを送信するための回線出力ポートを決定するパケット振り分け手段と、
前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する場合の送信予定時刻を計算し、当該送信予定時刻と自身が保持する送信開始可能時刻とを比較し、その比較結果に基づいて、前記パケットの中継が可能かどうかを判断する時刻評価手段と、
前記時刻評価手段により中継可能と判断された場合に、前記送信予定時刻において、前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する送信手段と、
を備え、
前記時刻評価手段により中継不可能と判断された場合、前記パケットを廃棄することを特徴とする通信装置。
【請求項２】
ストリーミングメディアデータが映像であって、画面１フレーム分のパケットのうち一つでも欠けるとそのフレームを再生できないようなプロトコルでパケットを転送する場合、一旦廃棄したパケットと同一フローかつ同一フレームのパケットについては、前記時刻評価手段の処理で廃棄することを特徴とする請求項１に記載の通信装置。
【請求項３】
ストリーミングメディアデータパケットを中継する通信装置であって、
受信したパケットに含まれるデータがストリーミングメディアデータであると判断した場合に、当該パケットのフロー情報を特定するパケット識別手段と、
前記フロー情報に基づいて、複数の回線出力ポートの中から前記パケットを送信するための回線出力ポートを決定するパケット振り分け手段と、
前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する場合の送信予定時刻を計算し、当該送信予定時刻と自身が保持する送信開始可能時刻とを比較し、その比較結果に基づいて、前記パケットの中継が可能かどうかを判断する時刻評価手段と、
前記時刻評価手段により中継可能と判断された場合に、前記送信予定時刻において、前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する送信手段と、
を備え、
前記時刻評価手段は、中継不可能と判断した場合、所定の遅延時間経過後に前記比較処理を再実行することを特徴とする通信装置。
【請求項４】
前記中継不可能と判断されたパケットと同一のフローを有する新たなパケットを受信し、かつ前記中継不可能と判断されたパケットに対して前記比較処理が再実行されていない場合、前記新たに受信したパケットについては、前記所定の遅延時間経過後に前記比較処理および前記判断処理を実行することを特徴とする請求項３に記載の通信装置。
【請求項５】
ストリーミングメディアデータパケットを中継する通信装置であって、
受信したパケットに含まれるデータがストリーミングメディアデータであると判断した場合に、当該パケットのフロー情報を特定するパケット識別手段と、
前記フロー情報に基づいて、複数の回線出力ポートの中から前記パケットを送信するための回線出力ポートを決定するパケット振り分け手段と、
前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する場合の送信予定時刻を計算し、当該送信予定時刻と自身が保持する送信開始可能時刻とを比較し、その比較結果に基づいて、前記パケットの中継が可能かどうかを判断する時刻評価手段と、
前記時刻評価手段により中継可能と判断された場合に、前記送信予定時刻において、前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する送信手段と、
前記時刻評価手段により中継不可能と判断された場合に、前記パケット振り分け手段により決定された回線出力ポートからの前記パケットの送信を待たせ、その後、当該回線出力ポートからのパケット送信が許可されかつ前記送信手段から送信されるパケットが存在しない場合に、待機中のパケットを送信する待ち合わせ手段と、
を備えることを特徴とする通信装置。
【請求項６】
前記中継不可能と判断されたパケットと同一のフローを有する新たなパケットを受信し、かつ前記中継不可能と判断されたパケットに対して前記比較処理が再実行されていない場合、前記新たに受信したパケットについては、前記パケット振り分け手段により決定された回線出力ポートからの送信を待たせ、前記待ち合わせ手段による送信処理を実行することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記時刻評価手段は、
前記パケット振り分け手段により決定された回線出力ポートから送信するために一時的に保持されているデータ量の合計および当該回線出力ポートのリンク速度に基づいて、前記パケットの送信予定時刻を計算することを特徴とする請求項１〜６のいずれか一つに記載の通信装置。
【請求項８】
前記時刻評価手段は、
前記比較の結果、送信予定時刻の方が送信開始可能時刻より早い場合に、中継不可能と判断し、
送信予定時刻の方が送信開始可能時刻より遅い場合に、中継可能と判断することを特徴とする請求項１〜７のいずれか一つに記載の通信装置。
【請求項９】
前記時刻評価手段は、
前記比較の結果、送信予定時刻の方が送信開始可能時刻より遅い場合、さらに、新たに送信開始可能時刻を計算し、前記自身が保持する送信開始可能時刻を最新の送信開始可能時刻に更新することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記時刻評価手段は、
受信側装置において一時的に保持可能なバッファの容量およびストリーミングメディアのパケットレートに基づいて前記送信開始可能時刻を計算することを特徴とする請求項９に記載の通信装置。
【請求項１１】
ストリーミングメディアデータが、基底階層のみでも再生可能で、上位階層を含めるとより精密なメディアが再生できるように、階層的な符号化がなされたデータであり、かつ異なる階層のデータが異なるパケットに格納されるプロトコルである場合、
前記時刻評価手段は、送信開始可能時刻の計算方法を階層毎に変えることを特徴とする請求項９また１０に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングメディアデータを中継する通信装置に関する。
【背景技術】
【０００２】
近年、インターネットの普及およびネットワークの高速化に伴い、インターネット上で、音声や映像などのストリーミングメディアデータの転送が広く行われるようになった。これらのストリーミングメディアデータは、パケットに格納され、ネットワークを転送される。
【０００３】
インターネットのような多種多様なサービスに関するパケットを転送するネットワークでは、ファイル転送のように大きなデータを一時的に送信するパケットや、ストリーミングメディアデータパケットが混在して転送される。ルータなどの通信装置は、パケットを転送する場合、データ量が処理能力を超えると、パケットの一部を廃棄する、または、パケットの送信間隔を大幅に変動させる場合がある。そのパケットが、ストリーミングメディアデータを構成するパケットであった場合、受信端末でメディアを再生すると、音飛びやコマ落ちが発生し、再生品質が低下する。
【０００４】
また、パケットが大きく遅延して到着した場合には、その後に連続してパケットが到着することがある。このような状況下で、かつ到着するパケットがメディアデータの場合、受信端末は、メディアデータを再生するための待ち合わせバッファに、それらのパケットを保存しておく必要がある。メディア再生サービスは、携帯可能な小型の受信端末においても行われているが、小型端末は、サイズおよび消費電力を低減するためにメモリ量を抑えているので、待ち合わせバッファに割り当てられるメモリ量も少ない。したがって、連続する受信パケットの数によっては、待ち合わせバッファからパケットが溢れて廃棄されることとなり、再生品質が低下する。
【０００５】
以上のように、メディアがリアルタイムで品質良く再生されるためには、パケットが、一定のレートでかつ廃棄されずに到着することが望ましい。そこで、たとえば、Ｉｎｔｓｅｒｖ（Integrated  Services）（下記、非特許文献１参照）機能を有するルータを用い、ＲＳＶＰ（Resource  Reservation  Protocol）（下記、非特許文献２参照）方式で、ストリーミングメディアフローごとに帯域を確保する技術を用いる（１つ目の従来技術）。これにより、ストリーミングメディアデータを、廃棄や大きな遅延を生じさせることなく転送することが可能となる。
【０００６】
また、ストリーム配信では、ＲＴＳＰ（Real  Time  Streaming  Protocol）というコントロールセッション用のプロトコルと、ＲＴＰ（Real−time  Transport  Protocol）というデータセッション用のプロトコルを用いたパケット通信が広く行われている。そこで、ルータがＲＴＳＰパケットの内容を見て、後に続くＲＴＰパケットのレートや許容遅延を記憶し、受信パケットの中から記憶したＲＴＰパケットを識別し、このＲＴＰパケットに適切なスケジューリングを施して、ＲＴＰパケットをファイル転送などのパケットより優先的に転送する（２つ目の従来技術）。これにより、より低遅延で転送することが可能となる（下記、特許文献１参照）。
【０００７】
【非特許文献１】Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  ｉｎ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ａｒｃｈｉｔｅｃｔｕｒｅ：ａｎ  Ｏｖｅｒｖｉｅｗ，ＩＥＴＦ  ＲＦＣ１６３３
【非特許文献２】Ｒｅｓｏｕｒｃｅ  ＲｅＳｅｒＶａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  （ＲＳＶＰ），ＩＥＴＦ  ＲＦＣ２２０５
【特許文献１】特開２００３−１５８５４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記１つ目の技術は、ネットワークの全てのルータがＩｎｔｓｅｒｖ機能を持つ必要があるため、インターネットには採用されていない、という問題があった。一方、上記２つ目の技術は、ルータ内に複数のスケジューリングアルゴリズムを持たせるため、ルータの構成が複雑になる、という問題があった。さらに、上記２つ目の技術は、帯域を確保しないため、同一の優先度に指定された異なるセッションがルータに過剰に集まり、いずれかのパケットを廃棄せざるを得ない、といった場合が起こりうるにも関わらず、パケットの廃棄方法について何ら述べられていない、という問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、パケットの無駄な転送および他のストリーミングメディアデータパケットの遅延を防ぐことが可能な通信装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、ストリーミングメディアデータパケットを中継する通信装置であって、受信したパケットに含まれるデータがストリーミングメディアデータであると判断した場合に、当該パケットのフロー情報を特定するパケット識別手段と、前記フロー情報に基づいて、複数の回線出力ポートの中から前記パケットを送信するための回線出力ポートを決定するパケット振り分け手段と、前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する場合の送信予定時刻を計算し、当該送信予定時刻と自身が保持する送信開始可能時刻とを比較し、その比較結果に基づいて、前記パケットの中継が可能かどうかを判断する時刻評価手段と、前記時刻評価手段により中継可能と判断された場合に、前記送信予定時刻において、前記パケット振り分け手段により決定された回線出力ポートから前記パケットを送信する送信手段と、を備え、前記時刻評価手段は、前記時刻評価手段により中継不可能と判断された場合、前記パケットを廃棄することを特徴とする。
【発明の効果】
【００１１】
この発明によれば、ネットワーク上のパケットの無駄な転送および他のストリーミングメディアデータパケットの遅延を回避することが可能となる、という効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかる通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
図１は、本実施の形態の通信装置の構成例を示す図である。図１において、通信装置１は、パケット識別部２と、パケット振り分け部３と、パケットバッファ部４と、時刻評価部５と、出力順記憶部６と、回線入力ポート２０−ｍ（ｍ＝１，２，…）と、回線出力ポート２１−ｎ（ｎ＝１，２，…）とを備えている。
【００１４】
パケット識別部２は、回線入力ポート２０−ｍから入力されたパケットがストリーミングメディアデータのパケットであるか否かを識別するとともにフロー情報を特定し、また、パケットのデータ部分であるパケットデータをパケットバッファ部４に格納する。パケット振り分け部３は、パケットのフロー情報を元に送信パケットの回線出力ポートを特定する。時刻評価部５は、パケットの送信予定時刻と送信開始可能時刻を比較し、パケットの送信または廃棄を判断する。出力順記憶部６は、各回線出力ポートに対応して１つずつのキューを有し、入力された各種情報を対応するキューの最後尾に格納し、これらの情報に基づきパケットを回線出力ポートから出力する。
【００１５】
つづいて、以上のように構成された通信装置がストリーミングメディアデータパケットを受信した場合の動作を説明する。
【００１６】
通信装置１がパケットをいずれかの回線入力ポートで受信すると、パケット識別部２は、受信したパケットがストリーミングメディアデータパケットであるか否かを識別する。そして、ストリーミングメディアデータパケットであると判断した場合、自身内で利用するストリーミングメディアのフロー情報を特定する。たとえば、ＲＴＰプロトコルで分割したデータをＵＤＰ／ＩＰパケットによって通信する場合、ストリーミングメディアデータパケットであるか否かは、ＩＰヘッダの送信元ＩＰアドレス，宛先ＩＰアドレス，プロトコル（ＩＰｖ４の場合）またはネクストヘッダ（ＩＰｖ６の場合）と、ＵＤＰヘッダの送信元ポート番号の一部または全て、を参照することにより判別する。さらに、これらのパケットフィールドを参照することで、フロー情報も特定できる。
【００１７】
そして、パケット識別部２は、パケットデータ（データ部分）をパケットバッファ部４に格納する。また、パケット識別部２は、データ部分以外のパケット（制御情報等）と上記で特定したパケットのフロー情報とパケットバッファ部４内のパケットデータの格納先情報とを、パケット振り分け部３へ出力する。パケット識別部２から各種情報を受け取ったパケット振り分け部３は、フロー情報を元にそのパケットの回線出力ポートを特定し、その後、上記各種情報に加えて、さらにここで特定した回線出力ポートの情報を、時刻評価部５へ出力する。以降、上記データ部分以外のパケット、フロー情報、格納先情報および回線出力ポート情報を総称して「パケット情報」と呼ぶ。
【００１８】
つぎに、時刻評価部５の動作を詳細に説明する。図２は、時刻評価部５の処理を示すフローチャートである。
【００１９】
時刻評価部５は、パケット振り分け部３からパケット情報を受け取ると（ステップＳ１）、回線出力ポート情報に基づいて、対応する回線出力ポートから送信するパケットのパケット滞留データ量および回線出力ポートのリンク速度を確認する。そして、パケット滞留データ量および回線出力ポートのリンク速度に基づいて、そのパケットの送信予定時刻を計算する（ステップＳ２）。たとえば、回線出力ポートがいずれも１００Ｍ（ｂｉｔ／ｓ）のリンク速度であって、パケット滞留データ量が５００ｂｙｔｅであった場合、入力されたパケットの送信予定時刻は、「５００［ｂｙｔｅ］×８［ｂｉｔ／ｂｙｔｅ］÷１００Ｍ［ｂｉｔ／ｓ］＝４０マイクロ秒」を現在時刻に加算した時刻となる。
【００２０】
つぎに、時刻評価部５は、パケットのフロー情報に基づいて、前回の同一フローのパケット出力時に求めて保持しておいた送信開始可能時刻を読み出す（ステップＳ３）。送信開始可能時刻とは、そのフローのパケットを受信端末が持つ待ち合わせバッファで一時的に保持する場合に、パケットが溢れない最も早い時刻を示すものである。
【００２１】
つぎに、時刻評価部５は、送信予定時刻と送信開始可能時刻とを比較する（ステップＳ４）。たとえば、送信予定時刻の方が送信開始可能時刻より早い場合は（ステップＳ４：Ｙｅｓ）、その送信予定時刻で通信装置１がパケットを送信すると、受信端末でパケットを廃棄することが想定される。したがって、このような場合は、送信したパケットが無駄になることに加え、他のフローのストリーミングメディアデータパケットの送信を遅らせてしまう可能性がある。このため、時刻評価部５では、パケット振り分け部３から受け取ったパケット情報を廃棄するとともに、上記格納先情報に基づきパケットバッファ部５に保持されている対応するパケットデータを廃棄するための制御を行う（ステップＳ５）。一方、送信予定時刻の方が送信開始可能時刻より遅い場合は（ステップＳ４：Ｎｏ）、今回入力されたパケットについて最新の送信開始可能時刻を計算し、自身で保持している前回送信時に計算した送信開始可能時刻を最新の送信開始可能時刻に更新し（ステップＳ６）、パケット振り分け部３から受け取ったパケット情報を出力順記憶部６へ出力する（ステップＳ７）。
【００２２】
ここで、上記送信開始可能時刻の求め方の一例を示す。まず、各受信端末の待ち合わせバッファ量を予め取得しておく。この値から１パケットの最大長を減じてトークンの初期値かつ上限値とする。さらに、ＲＳＴＰの“Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ”に記載されたストリーミングメディアのパケットレートを取得してこれを一秒当たりのトークンの増加量（例：１Ｍ（ｂｉｔ／ｓ））とする。そして、パケットを出力順記憶部６に出力するたびに、そのパケット長をトークンから減算する。こうして求められたトークンが０以上の値の場合には、受信端末の待ち合わせバッファに余裕がありすぐに送信してもパケットが廃棄されないので、送信開始可能時刻をゼロとする。一方、トークンが負の値（例：−１００ｂｙｔｅ）の場合には、「トークンの絶対値÷パケットレートで求めた時間（例：１００［ｂｙｔｅ］×８［ｂｉｔ／ｂｙｔｅ］÷１Ｍ［ｂｉｔ／ｓ］＝８００マイクロ秒）」を現在時刻に加算したものを送信開始可能時刻とする。
【００２３】
つぎに、時刻評価部５からパケット情報を受け取った出力順記憶部６は、回線出力ポート情報に基づいてそのパケット情報を対応するキューの最後尾に格納する。また、出力順記憶部６は、回線出力ポートからのパケット出力が可能になった時点で、そのポートに対応するキューの先頭のパケット情報を読み出し、キュー先頭を更新し、さらに、読み出した格納先情報に基づいてパケットバッファ部４からパケットデータを読み出して送信パケットを生成し、その送信パケットを該当する回線出力ポートに出力する。
【００２４】
図３は、通信装置１がストリーミングメディアデータフローを３つの回線入力ポートでそれぞれ受信し、それらのフローが全て同一の回線出力ポートに振り分けられた場合を示す図である。この例では、時刻評価部５の制御により、２個目のフロー＃３のパケットを廃棄している。これにより、その後に受信したフロー＃１のパケットの遅延を抑えて送信することができる。
【００２５】
以上説明したように、本実施の形態では、後続の受信端末で待ち合わせバッファオーバーにより廃棄されるパケットを、受信端末より手前の通信装置で廃棄することとした。これにより、ネットワーク上のパケットの無駄な転送および他のストリーミングメディアデータパケットの遅延を回避することが可能となる。また、これに伴って、受信端末での再生品質劣化を、回避することが可能となる。
【００２６】
なお、上記実施の形態において、通信装置は、キューの物理的限界により、転送すべきパケットを廃棄する可能性がある。たとえば、ストリーミングメディアデータが映像であって、画面１フレーム分のパケットのうち一つでも欠けるとそのフレームを再生できない、というプロトコルでパケットを転送する場合、パケット廃棄が発生すると、そのフレームの他のパケットを送信しても、受信端末では再生に使われない。したがって、一旦廃棄したパケットと同一フローかつ同一フレームのパケットについては、時刻評価部の処理で廃棄することとしてもよい。これにより、ネットワークの有効利用が図られる。なお、フレームの区切りは、たとえば、ＲＴＰパケットではＲＴＰヘッダのＭビットで識別する。
【００２７】
また、ストリーミングメディアデータが、基底階層だけでもメディアが再生可能で、上位階層を含めるとより精密なメディアが再生できるように階層的な符号化がなされたデータであり、かつ異なる階層のデータが異なるパケットに格納されるプロトコルである場合には、時刻評価部５での送信開始可能時刻の導出方法を階層毎に変えることとしてもよい。これにより、再生にはあまり重要ではない上位階層のパケットを優先して廃棄することまたは遅延させることが可能となる。たとえば、トークンが負の時の各階層の送信開始可能時刻を「トークンの絶対値÷パケットレート×階層係数」で計算することとし、この階層係数を基底階層に近い階層ほど小さく、上位の階層であるほど大きくすることにより、基底階層の送信開始可能時刻を小さく、上位階層の送信開始可能時刻を大きくできるので、上位階層のパケットを優先して廃棄することまたは遅延させることが可能となる。
【００２８】
実施の形態２．
実施の形態１では、後続の受信端末で待ち合わせバッファオーバーにより廃棄されるパケットを、受信端末より手前の通信装置で廃棄する場合について説明した。本実施の形態では、こうしたパケットに対して遅延を付与する場合について説明する。本実施の形態では、前述した実施の形態１と異なる処理について説明する。
【００２９】
図４は、本実施の形態の通信装置の構成例を示す図である。図４の通信装置１Ｂは、通信装置１と比較すると、時刻評価部５の代わりに時刻評価部５Ｂを備え、さらに、パケット遅延部７を備えている。時刻評価部５Ｂは、送信予定時刻の方が送信開始可能時刻より早いと判断した場合、対応するパケット情報を廃棄する代わりにパケット遅延部７に出力する。パケット遅延部７は、時刻評価部５Ｂからパケット情報を受け取ると、そのパケット情報を固定時間遅延させて時刻評価部５Ｂに出力する。
【００３０】
つづいて、以上のように構成された通信装置がストリーミングメディアデータパケットを受信した場合の動作を、実施の形態１と異なる点を中心に説明する。図５は、時刻評価部５Ｂの処理を示すフローチャートである。
【００３１】
時刻評価部５Ｂは、パケット振り分け部３またはパケット遅延部７からパケット情報を受け取ると（ステップＳ８）、上述同様、対応するパケットの送信予定時刻を計算する（ステップＳ２）。その後、前回の同一フローのパケット出力時に求めて保持しておいた送信開始可能時刻を読み出す（ステップＳ３）。
【００３２】
つぎに、時刻評価部５Ｂは、送信予定時刻と送信開始可能時刻とを比較する（ステップＳ４）。たとえば、送信予定時刻の方が送信開始可能時刻より早い場合（ステップＳ４：Ｙｅｓ）、時刻評価部５Ｂは、その送信予定時刻でパケットを送信すると、受信端末でパケットを廃棄することが想定されるので、パケット振り分け部３から受け取ったパケット情報をパケット遅延部７に出力する（ステップＳ９）。一方、送信予定時刻の方が送信開始可能時刻より遅い場合は（ステップＳ４：Ｎｏ）、上述同様、ステップＳ６，ステップＳ７の処理を行う。
【００３３】
時刻評価部５Ｂからパケット情報を受け取ったパケット遅延部７は、そのパケット情報に固定時間（例：１００マイクロ秒）の遅延を付与し、時刻評価部５Ｂへ戻す。これにより、時刻評価部５Ｂは、一度目の比較処理で送信開始可能時刻より送信予定時刻の方が早いと判断した場合であっても、パケット遅延部７を経由したパケット情報を用いた比較処理を繰り返し実行することにより、送信可能な時刻（送信開始可能時刻）までパケットの送信を遅らせることができる。
【００３４】
また、受信端末においてパケット到着順序の逆転が生じると、ストリーミングメディアが正しく再生できなくなる可能性がある。このようケースを想定して、時刻評価部５Ｂは、パケット遅延部７に出力した前回のパケット情報と同一フローに属するパケット情報を、遅延させた前回のパケット情報よりも早く受信した場合には、上記比較処理を行う前に、今回のパケット情報をパケット遅延部７へ出力する。これにより、パケット送信順序を保つことができる。
【００３５】
図６は、通信装置１Ｂがストリーミングメディアデータフローを３つの回線入力ポートからそれぞれ受信し、それらのフローが全て同一の回線出力ポートに振り分けられた場合を示す図である。ここでは、時刻評価部５Ｂが、２個目のフロー＃３のパケット情報をパケット遅延部７へ送り、パケット遅延部７がこのパケットに遅延を加えて時刻評価部５Ｂに戻すことで、受信端末でのフロー＃３のパケット廃棄を回避している。
【００３６】
以上説明したように、本実施の形態では、後続の受信端末で待ち合わせバッファオーバーにより廃棄されるパケットを、受信端末より手前の通信装置で遅延させることとした。これにより、実施の形態１では送信側で廃棄していたパケットを、受信端末でのストリーミングメディア再生に利用することができる。また、特定のフローのパケットをパケット遅延部に転送している間に、他のフローのパケットの送信処理を進められるため、他のフローのストリーミングメディアデータパケットの遅延を防ぐことが可能となる。
【００３７】
実施の形態３．
実施の形態２では、後続の受信端末で待ち合わせバッファオーバーにより廃棄されるパケットを、受信端末より手前の通信装置で遅らせる場合を説明した。本実施の形態では、別の手段を用いてパケットを遅らせる場合について説明する。本実施の形態では、前述した実施の形態１および２と異なる処理について説明する。
【００３８】
図７は、本実施の形態の通信装置の構成例を示す図である。図７の通信装置１Ｃは、通信装置１と比較すると、時刻評価部５の代わりに時刻評価部５Ｃを、出力順記憶部６の代わりに出力順記憶部６Ｃを備え、さらに、パケット待ち合わせ部８と出力パケット選択部９とを備えている。時刻評価部５Ｃは、送信予定時刻の方が送信開始可能時刻より早いと判断した場合、対応するパケット情報を廃棄する代わりにパケット待ち合わせ部８に出力し、送信予定時刻の方が送信開始可能時刻より遅いと判断した場合、対応するパケット情報を出力順記憶部６Ｃに出力する。出力順記憶部６Ｃは、各回線出力ポートに１つずつのキューを有し、パケット情報を対応するキューの最後尾に格納する。なお、実施の形態１とは異なり、出力順記憶部６Ｃは、パケットバッファ部４からパケットデータを読み出す処理は行わない。パケット待ち合わせ部８は、出力順記憶部６Ｃと同様、各回線出力ポートに１つずつのキューを有し、パケット情報を対応するキューの最後尾に格納する。出力パケット選択部９は、出力順記憶部６Ｃとパケット待ち合わせ部８からパケット情報を選択し、パケットバッファ部４から対応するパケットデータを読み出し、生成した送信パケットを対応する回線出力ポートから出力する。
【００３９】
つづいて、以上のように構成された通信装置がストリーミングメディアデータパケットを受信した場合の動作を、実施の形態１と異なる点を中心に説明する。
【００４０】
図８は、時刻評価部５Ｃの動作を示すフローチャートである。上述同様、ステップＳ１〜Ｓ４の処理が行われた後、時刻評価部５Ｃは、送信予定時刻の方が送信開始可能時刻より早いと判断した場合（ステップＳ４：Ｙｅｓ）、パケット情報をパケット待ち合わせ部８に出力し（ステップＳ１０）、このパケット情報に対応するパケットを遅らせて送信することで受信端末の待ち合わせバッファのオーバーを防ぐことを試みる。一方、送信予定時刻の方が送信開始可能時刻より遅い場合は（ステップＳ４：Ｎｏ）、上述同様、ステップＳ６，Ｓ７の処理を行い、出力順記憶部６Ｃへパケット情報を出力する。
【００４１】
また、パケット待ち合わせ部８は、時刻評価部５Ｃからパケット情報を受け取ると、そのパケット情報を出力先のキューの最後尾に格納する。なお、出力順記憶部６Ｃも同様に、時刻評価部５Ｃからパケット情報を受け取ると、そのパケット情報を出力先のキューの最後尾に格納する。
【００４２】
図９は、出力パケット選択部９のパケット出力処理を示すフローチャートである。出力パケット選択部９は、回線出力ポートからのパケット出力が可能になると（ステップＳ１１）、出力可能になった回線出力ポート番号をｐとし（ステップＳ１２）、出力順記憶部５Ｃのキューｐにパケット情報が存在するか否かを参照する（ステップＳ１３）。存在した場合（ステップＳ１３：Ｙｅｓ）、出力パケット選択部９は、出力順記憶部５Ｃのキューｐの先頭からパケット情報を読み出し、キュー先頭を更新する（ステップＳ１４）。さらに、パケットデータの格納先情報に基づいてパケットバッファ部４から対応するパケットデータを読み出して（ステップＳ１５）送信パケットを生成し、その送信パケットを回線出力ポートｐから出力する（ステップＳ１６）。
【００４３】
一方、出力順記憶部５Ｃのキューｐにパケット情報が存在しない場合（ステップＳ１３：Ｎｏ）、出力パケット選択部９は、パケット待ち合わせ部８のキューｐにパケット情報が存在するか否かを参照する（ステップＳ１７）。パケット待ち合わせ部８のキューｐにパケット情報が存在した場合（ステップＳ１７：Ｙｅｓ）、出力パケット選択部９は、パケット待ち合わせ部８のキューｐの先頭からパケット情報を読み出す（ステップＳ１８）。そして、実施の形態１と同様の処理で送信開始可能時刻を求め（ステップＳ１９）、現在時刻と送信開始可能時刻を比較する（ステップＳ２０）。たとえば、現在時刻が送信開始可能時刻より早い場合は（ステップＳ２０：Ｙｅｓ）、このパケット情報に対応するパケットを出力すると受信端末でパケットが廃棄されることが想定されるため、パケット出力処理はここで終了し、ステップＳ１１の処理に戻る。一方、現在時刻が最小出力時刻以降である場合は（ステップＳ２０：Ｎｏ）、パケット待ち合わせ部８のキューｐの先頭を更新する（ステップＳ２１）。そして、パケットデータの格納先情報に基づいてパケットバッファ部４から対応するパケットデータを読み出して（ステップＳ１５）送信パケットを生成し、その送信パケットを回線出力ポートｐから出力する（ステップＳ１６）。
【００４４】
また、受信端末において、パケット到着順序の逆転が生じると、ストリーミングメディアが正しく再生できなくなる可能性があるので、本実施の形態では、実施の形態２と同様、時刻評価部５Ｃが、パケット待ち合わせ部８に出力した前回のパケット情報と同一フローに属するパケット情報を、前回のパケット情報がパケット待ち合わせ部８のキューに存在している間に受信した場合、今回のパケット情報もパケット待ち合わせ部８へ送信する。これにより、パケット送信順序を保つことができる。
【００４５】
図１０は、通信装置１Ｃがストリーミングメディアデータフローを３つの回線入力ポートからそれぞれ受信し、それらのフローが全て同一の回線出力ポートに振り分けられた場合を示す図である。ここでは、時刻評価部５Ｃが、２個目のフロー＃３のパケット情報をパケット待ち合わせ部９へ送り、出力パケット選択部１０がこのパケットの読み出しを遅らせることで、受信端末でのフロー＃３のパケット廃棄を回避している。
【００４６】
以上説明したように、本実施の形態では、後続の受信端末で待ち合わせバッファオーバーにより廃棄されるパケットを、受信端末より手前の通信装置で遅延させることとした。これにより、実施の形態１では送信側で廃棄していたパケットを、受信端末でのストリーミングメディア再生に利用することができる。また、遅延の必要がないパケットと、遅延が必要なパケットとを分けて、パケット情報をキューに待機させることとしたので、遅延の必要がない他のフローのストリーミングメディアデータパケットの処理を遅滞なく進めることができ、遅延を防ぐことが可能となる。
【産業上の利用可能性】
【００４７】
以上のように、本発明にかかる通信装置は、パケットを中継する通信装置として有用であり、特に、ストリーミングメディアデータを転送する通信装置として適している。
【図面の簡単な説明】
【００４８】
【図１】実施の形態１の通信装置の構成例を示す図である。
【図２】実施の形態１の時刻評価部の処理を示すフローチャートである。
【図３】実施の形態１の通信装置の動作概要を示す図である。
【図４】実施の形態２の通信装置の構成例を示す図である。
【図５】実施の形態２の時刻評価部の処理を示すフローチャートである。
【図６】実施の形態２の通信装置の動作概要を示す図である。
【図７】実施の形態３の通信装置の構成例を示す図である。
【図８】実施の形態３の時刻評価部の動作を示すフローチャートである。
【図９】出力パケット選択部の動作を示すフローチャートである。
【図１０】実施の形態３の通信装置動作概要を示す図である。
【符号の説明】
【００４９】
１，１Ｂ，１Ｃ  通信装置
２              パケット識別部
３              パケット振り分け部
４              パケットバッファ部
５，５Ｂ，５Ｃ  時刻評価部
６，６Ｃ        出力順記憶部
７              パケット遅延部
８              パケット待ち合わせ部
９              出力パケット選択部
２０−ｍ        回線入力ポート
２１−ｎ        回線出力ポート
【図１】
2009260888.tif 000003
【図２】
2009260888.tif 000004
【図３】
2009260888.tif 000005
【図４】
2009260888.tif 000006
【図５】
2009260888.tif 000007
【図６】
2009260888.tif 000008
【図７】
2009260888.tif 000009
【図８】
2009260888.tif 000010
【図９】
2009260888.tif 000011
【図１０】
2009260888.tif 000012