(57)【特許請求の範囲】
【請求項１】
上流側から受信したパケットを下流側へ送信するパケット中継サーバーにおいて、
前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する手段と、
前記パケット受信間隔値が指定された閾値を上回る場合はバーストパケット値をカウントするカウンタを０クリアする手段と、
前記パケット受信間隔値が指定された閾値を下回る場合は前記カウンタを＋１し、前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する手段と、
バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する手段と、
を有することを特徴とするパケット中継サーバー。
【請求項２】
請求項１記載のパケット中継サーバーにおいて、
前記下流側へのパケット送信を休止する間に前記上流側からのパケットを滞留させるバッファを有することを特徴とするパケット中継サーバー。
【請求項３】
上流側から受信したパケットを下流側へ送信するパケット中継処理方法において、
前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する第１ステップと、
前記パケット受信間隔値が指定された閾値を上回る場合はバーストパケット値をカウントするカウンタを０クリアする第２ステップと、
前記パケット受信間隔値が指定された閾値を下回る場合は前記カウンタを＋１し、前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する第３ステップと、
バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する第４ステップと、
を有することを特徴とするパケット中継処理方法。
【請求項４】
請求項３記載のパケット中継処理方法において、
前記第４ステップは、オペレーティングシステムのタイマ割り込みをセットして下流側送信を休止するとともに、タイマ割り込みが発生した時点で、上流側受信バッファに蓄積されたパケットを取り出し下流側へ送出する処理を再開することを特徴とするパケット中継処理方法。
【請求項５】
上流側から受信したパケットを下流側へ送信するパケット中継プログラムであって、
コンピュータに
前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する手順と、
前記パケット受信間隔値が指定された閾値を上回る場合はバーストパケット値をカウントするカウンタを０クリアする手順と、
前記パケット受信間隔値が指定された閾値を下回る場合は前記カウンタを＋１し、前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する手順と、
バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する手順と、
を実行させるためのパケット中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット中継サーバー、パケット中継処理方法およびパケット中継プログラムに関し、特に、映像配信のように大量のデータを送信する際のデータロストを防ぐためにパケット中継サーバーの下流側へパケットが限度以上にバースト的に送出されることを防止するパケット中継サーバー、パケット中継処理方法およびパケット中継プログラムとして用いると好適である。
【背景技術】
【０００２】
パケット間隔が等しいことを重視する分野においては、パケット中継サーバーにおいて上流からのバースト的な流入を即時検出し、下流に対してはロスなどが発生しないように平滑化する必要がある。
【０００３】
特に、映像配信のように大量のデータを送信する場合はパケットの平滑性が求められるため、専用装置であるエンコーダは等間隔でパケットを送出する。ところが、ハブ等の経路を経て伝送されるうちに途中で滞留するなどして時系列的に偏りが生じ、パケットが連続して通過する瞬間と空白の期間ができてしまう。
【０００４】
映像配信においては、転送速度の高いＵＤＰ(User Datagram Protocol)が利用されるが、ＵＤＰは到達保証のないプロトコルであるため、一般に大きなバッファを持っていないＤＳＬモデム等の比較的帯域の低い装置では、バースト的に連続してパケットを受信するとデータロストが発生してしまう。上記においてパケットの間隔は、一般的に１ｍｓｅｃ前後〜数ｍｓｅｃである。
【０００５】
一方、Ｓｏｌａｒｉｓ（登録商標）などの汎用ＯＳ(Operating System)におけるタイマ割り込み間隔は１０ｍｓｅｃ程度であり、これを小さくすることはシステム全体のオーバーヘッドが大きくなることから推奨されていない。
【０００６】
従来、パケット通信、フレームリレ−、ＡＴＭ（Asynchronous Transfer Mode）等のデータ通信を行うデータ蓄積形交換装置において、装置内の加入者側フレーム処理部における中継回線から加入者回線方向へのトラヒック集中を、フレーム処理部と中継側フレーム処理部間でフロー制御を行うことによって緩和し、通常トラヒック加入者の通信品質を確保するとともに、装置全体での輻輳耐力向上を図ることを目的にし、その実現手段は、加入者側フレーム処理部において、中継側フレーム処理部からのバーストトラヒックに対する輻輳検出ポイントを複数設定する手段と、加入者側フレーム処理部で輻輳検出ポイント毎に輻輳を検出または輻輳解除を検出する手段と、加入者側フレーム処理部で検出した輻輳または輻輳解除を輻輳検出ポイント単位に中継側フレーム処理部に通知する手段と、中継回線から受信したフレームを中継側フレーム処理部内で加入者回線単位に分離して蓄積する手段と、中継側フレーム処理部で受信した輻輳または輻輳解除通知に対して輻輳検出ポイントに対応させて加入者側フレーム処理部ヘのフレーム送出を少なくとも加入者単位に停止または再開させる手段とを設けて構成する発明が知られている。（例えば、特許文献１参照）
【特許文献１】特開平０６−１８９３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術（特許文献１）は、一定周期内に送出可能なデータ量を設定することで下流側帯域を制限する内容であり、下流側装置のバッファサイズを超えて連続してパケットを送出しないようにすることには、必ずしも有効ではない。
【０００８】
さらに、従来技術（特許文献１）は、パケットが連続する部分と空白の部分を併せた周期を指定する必要があり、ＤＳＬモデム等のバッファサイズに収まる範囲内であれば連続送出可能である点を生かせない。
【０００９】
また、輻輳検出時に装置内の上流側処理部に停止依頼を出し、輻輳解除されるまで装置内の上流側処理部の送出は再開されない、という問題点を有していた。
【００１０】
よって、データロストを防ぐためにはパケット平準化装置を導入する必要があるが、このパケット平準化装置は高価な専用装置であり、経済的ではなかった。
【００１１】
本発明は、ストリーミング等の帯域およびパケット間隔が一定な環境でのパケット中継において、上流側経路上装置での滞留等によりバースト的に到着したパケット群が下流側狭帯域区間に存在する装置でのバッファサイズをオーバーすることによる損失をパケット平準化装置などを導入せずに防ぐパケット中継サーバー、パケット中継方法およびパケット中継プログラムを提供することを目的にする。
【課題を解決するための手段】
【００１２】
上記問題を解決するための第１の発明は、上流側から受信したパケットを下流側へ送信するパケット中継サーバーにおいて、前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する手段と、前記パケット受信間隔値が指定された閾値を上回る場合はバーストパケット値をカウントするカウンタを０クリアする手段と、前記パケット受信間隔値が指定された閾値を下回る場合は前記カウンタを＋１し、前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する手段と、バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する手段とを有している。
【００１３】
この第１の発明によれば、バースト的に連続して送られてくるパケットが伝送経路上の帯域の狭い部分でもパケット損失を生じさせないようにしたパケット中継サーバーを提供できる。
【００１４】
第２の発明は、第１の発明に記載のパケット中継サーバーにおいて、前記下流側へのパケット送信を休止する間に前記上流側からのパケットを滞留させるバッファを有している。
【００１５】
この第２の発明によれば、パケット中継サーバーの下流側へのパケット送信休止中も上流側から受信されるパケットをバッファに滞留させることができるパケット中継サーバーを提供できる。
【００１６】
第３の発明は、上流側から受信したパケットを下流側へ送信するパケット中継処理方法において、前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する第１ステップと、前記パケット受信間隔値が指定された閾値を上回る場合はバーストパケット値をカウントするカウンタを０クリアする第２ステップと、前記パケット受信間隔値が指定された閾値を下回る場合は前記カウンタを＋１し、前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する第３ステップと、バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する第４ステップとを有している。
【００１７】
この第３の発明によれば、バースト的に連続して送られてくるパケットが伝送経路上の帯域の狭い部分でもパケット損失を生じさせないようにしたパケット中継処理方法を提供できる。
【００１８】
第４の発明は、第３の発明に記載のパケット中継処理方法において、前記第４ステップは、オペレーティングシステムのタイマ割り込みをセットして前記下流側送信を休止するとともに、タイマ割り込みが発生した時点で、上流側受信バッファに蓄積されたパケットを取り出し下流側へ送出する処理を再開する。
【００１９】
この第４の発明によれば、タイマ割り込みにセットする休止時間は、パケットが下流側伝送経路上の帯域の狭い部分を通過するのに十分な値を設定できるパケット中継処理方法を提供できる。
【００２０】
第５の発明は、上流側から受信したパケットを下流側へ送信するパケット中継プログラムであって、コンピュータに前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する手順と、前記パケット受信間隔値が指定された閾値を上回る場合はバーストパケット値をカウントするカウンタを０クリアする手順と、前記パケット受信間隔値が指定された閾値を下回る場合は前記カウンタを＋１し、前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する手順と、バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する手順とを実行させるためのパケット中継プログラムである。
【００２１】
この第５の発明によれば、バースト的に連続して送られてくるパケットが伝送経路上の帯域の狭い部分でもパケット損失を生じさせないようにしたパケット中継プログラムを提供できる。
【発明の効果】
【００２２】
以上、本発明のパケット中継サーバー、パケット中継方法およびパケット中継プログラムによれば、専用のパケット平滑化装置を利用することなく、タイマ割り込み間隔が平均パケット間隔よりも大きい汎用ＯＳ（Operating System）上で動作する中継プログラムのみで、バースト的に連続して送られてきたパケットを、伝送経路上の帯域の狭い部分でパケットロストが発生しないように中継できる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について、図を参照しながら説明する。
【００２４】
図１は、本発明の一実施形態における映像データをパケット中継するシステム構成図である。
【００２５】
映像配信サービス側装置であるエンコーダ１は、元情報である映像の符号化（情報源符号化符号化）した大量のデータを送信する専用装置であり、映像データをエンコードして等間隔（約２ｍｓｅｃ）でパケットを送出する。ここで、パケットは平均５Ｍｂｐｓとし、１パケット最大１５００バイトとする。
【００２６】
ところが、パケットがハブ２等の経路を経て伝送されるうちに途中で滞留するなどして時系列的に偏りが生じ、パケットが連続して通過する瞬間と空白の期間ができてしまう。
【００２７】
図１では、パケット中継サーバー３への到達時にパケットが偏り、パケット連続受信の連続数は最大で２００個程度となる。
【００２８】
パケット中継サーバー３は、受信したパケットを再送信する装置であり、受信したパケットを一旦格納するバッファを有する。このパケット中継サーバー３に備えられたバッファは、パケット５００個分を格納でき、中継処理にてパケットの送信間隔をずらして送信する。
【００２９】
本実施例では、連続パケットを１０個づつ分割して送信する。パケット間隔は、本来の間隔（２ｍｓｅｃ）×個数（１０個）＝２×１０＝２０ｍｓｅｃとする。
ＤＳＬ（Digital Subscriber Line）モデムＡは、例えば、加入者収容局又はマンション（集合住宅）に共通に設けられ、受信したパケットを変調処理する装置であり、パケット１０個分のバッファを有する。ＤＳＬ（Digital Subscriber Line）モデムＢは、宅内に設けられるモデムである。
【００３０】
最も帯域の狭いＤＳＬモデムＡとＤＳＬモデムＢの区間が実データで１０Ｍｂｐｓとすると１秒当たりに通過可能なパケット（最大１５００バイト）は１０Ｍｂｐｓ÷１５００バイト≒８７４パケット毎秒、となる。
【００３１】
一方、映像配信の帯域は５Ｍｂｐｓで１３１６バイト（ＩＰヘッダ、ＵＤＰヘッダ等含まず）ずつ送信するので５Ｍｂｐｓ÷１３１６バイト≒４９８パケット毎秒。
【００３２】
したがって、平均帯域上は伝送経路上の最も帯域の狭い部分でもパケットロストは発生しない。このときの平均パケット間隔は1秒÷４９８パケット毎秒≒２ｍｓｅｃとなる。
【００３３】
最も帯域の狭くなる直前のＤＳＬモデムは１５,０００バイトのバッファを持っている。
【００３４】
最大パケットサイズは１，５００バイトなので、１５,０００バイト÷１５００バイト＝１０個のパケットを連続して受信できることになる。
【００３５】
図２は、本発明の一実施形態におけるパケット中継サーバーのパケット中継処理フローチャートである。
【００３６】
以下に、パケット中継処理の動作を図１とともに説明する
Ｓ１．パケット中継サーバー３の上流側より送られてくるパケットを受信する。
【００３７】
Ｓ２．パケット受信時点の現在時刻を取得する。
【００３８】
Ｓ３．前回パケットを受信した時刻と、今回パケットを受信した時刻との差を検出し、そのパケット受信間隔値＜最大バーストパケット間隔（Max Burst Packet Interval）を判定する。なお、最大バーストパケット間隔（Max Burst Packet Interval）とは、パケット間隔のバーストとみなす閾値をμｓｅｃ単位で指定する値である。
【００３９】
Ｓ４．Ｓ３での判定の結果、パケット受信間隔値が最大バーストパケット間隔より大きい場合は、パケット中継サーバー３内に設けられたバーストカウンタをリセットする。
【００４０】
Ｓ５．Ｓ３での判定の結果、パケット受信間隔値が最大バーストパケット間隔より小さい場合は、パケット中継サーバー３内に設けられたバーストカウンタを＋１する。
【００４１】
Ｓ６．現在のバーストカウンタ値＞最大バーストパケット数（Max Burst Packet Count）を判定する。なお、最大バーストパケット数（Max Burst Packet Count）とは、連続して送出可能なパケット数である。
【００４２】
Ｓ７．Ｓ６での判定の結果、現在のバーストカウンタ値が最大バーストパケット数（Max Burst Packet Count）より大きい場合は、最大バーストパケット数×最大バーストパケット間隔で求められる休止時間が経過するまでパケットの下流側送信を停止する。
【００４３】
Ｓ８．同時にバーストカウンタをリセットする。
【００４４】
Ｓ９．受信パケットをパケット中継サーバー３の下流側へ送信するに先立ち、パケットデータの暗号化等の加工が施される。
【００４５】
Ｓ１０. パケット中継処理の施された送信パケットは、パケット中継サーバー３から下流側へ送信される。
【００４６】
ここで、最大バーストパケット間隔（Max Burst Packet Interval）と最大バーストパケット数（Max Burst Packet Count）について説明すると、図１にて説明したように、最も帯域の狭いＤＳＬ区間でも８７４パケットが１秒当たりに通過可能なので、最大バーストパケット間隔（Max Burst Packet Interval）＝１,０００,０００μｓｅｃ÷８７４≒１，１４４μｓｅｃとなり、そこで１０個のパケットを連続して受信できるので、最大バーストパケット数（Max Burst Packet Count）＝１０となる。
【００４７】
タイマ割り込みにセットされる時間は、休止時間＝最大バーストパケット間隔（Max Burst Packet Interval）×最大バーストパケット数（Max Burst Packet Count）≒１１．５ｍｓｅｃとなる。
【００４８】
以上のように、パケット中継サーバー３の下流側送信パケットは、１０パケット連続送信しては約１１．５ｍｓｅｃ休止を繰り返す。パケット中継サーバー３の上流側には、７５０，０００バイトのバッファを持っていて、偏りによるパケットの連続は２００個程度なので、７５０，０００バイト÷１，５００バイト＝５００パケットのバッファに収容可能である。
【００４９】
一方、視聴端末６も７５０，０００バイトのバッファを持っているため、約１１．５ｍｓｅｃの間隔によるバッファアンダーフローは発生しない。
【００５０】
図３は、本発明によるパケット中継サーバーの上流側の１０ｍｓｅｃ当たりの受信パケット数を示す計測図である。同図において、横軸は時間を、縦軸はパケット数を示す。同図に示すように、パケット中継サーバー３の上流側の受信パケット数は、３７．０ｓｅｃ近傍において、１０ｍｓｅｃに１４０パケットを超えるバースト状態が発生していることを示している。
【００５１】
前述の図１にて説明したように、パケット中継サーバー３の上流側には７５０，０００バイト分のバッファを具備している。一方、偏りによるパケットの連続は、２００個程度であり７５０，０００バイト÷１，５００バイト＝５００パケット分のバッファにより十分に収容可能である。
【００５２】
図４は、本発明によるパケット中継サーバーの下流側の１ｍｓｅｃ当たりの受信パケット数を示す計測図である。同図において、横軸は時間を、縦軸はパケット数を示す。同図に示すように、パケット中継サーバー３の下流側を１ｍｓｅｃ当たりで見ると、約１１．５ｍｓｅｃ毎に許容される最大バーストパケット数である最大バーストパケット数（Max Burst Packet Count）に指定した１０個のパケットずつ分割して２７回送出して状態を示している。
【産業上の利用可能性】
【００５３】
本発明は、到達保証のないＵＤＰ（User Datagram Protocol）等のプロトコルを利用して、受信したパケットを再送信するパケット中継サーバーの中継プログラムにおいて、特に、映像配信等のようにパケット間隔が等しいことを重視する分野において、専用のパケット平滑化装置を利用することなく、バースト的に連続して送られてくるパケットをパケットロスを発生させないで中継できる。そのため、パケット中継サーバーおよびパケット中継プログラムに利用できる。
【００５４】
以上の実施例を含む実施態様に関し、更に以下の付記を開示する。
（付記１)
上流側から受信したパケットを下流側へ送信するパケット中継サーバーにおいて、
前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する手段と、
前記パケット受信間隔値が指定された閾値を下回る場合はカウンタを＋１歩進する手段と、
前記パケット受信間隔値が指定された閾値を上回る場合はカウンタを０クリアする手段と、
前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する手段と、
バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する手段と、
を有することを特徴とするパケット中継サーバー。
（付記２）
請求項１記載のパケット中継サーバーにおいて、
前記下流側へのパケット送信を休止する間に前記上流側からのパケットを滞留させるバッファを有することを特徴とするパケット中継サーバー。
（付記３）
付記１記載のパケット中継サーバーにおいて、
前記休止時間後に前記下流側へパケットを送信する手段は、オペレーティングシステムのタイマ割り込みをセットして下流側送信を休止するとともに、タイマ割り込みが発生した時点で、上流側受信バッファに蓄積されたパケットを取り出し下流側へ送出する処理を再開することを特徴とするパケット中継サーバー。
（付記４）
上流側から受信したパケットを下流側へ送信するパケット中継処理方法において、
前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する第１ステップと、
前記パケット受信間隔値が指定された閾値を下回る場合はカウンタを＋１歩進する第２ステップと、
前記パケット受信間隔値が指定された閾値を上回る場合はカウンタを０クリアする第３ステップと、
前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する第４ステップと、
バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する第５ステップと、
を有することを特徴とするパケット中継処理方法。
（付記５)
付記４記載のパケット中継処理方法において、
前記第５ステップは、オペレーティングシステムのタイマ割り込みをセットして下流側送信を休止するとともに、タイマ割り込みが発生した時点で、上流側受信バッファに蓄積されたパケットを取り出し下流側へ送出する処理を再開することを特徴とするパケット中継処理方法。
（付記６)
上流側から受信したパケットを下流側へ送信するパケット中継プログラムであって、コンピュータに
前記パケットを受信した時刻と、前回前記パケットを受信した時刻との差によりパケット受信間隔を監視する手順と、
前記パケット受信間隔値が指定された閾値を下回る場合はカウンタを＋１歩進する手順と、
前記パケット受信間隔値が指定された閾値を上回る場合はカウンタを０クリアする手順と、
前記カウンタのカウント値が予め設定した値を超えた場合は前記カウンタを０クリアするとともに、前記下流側へのパケット送信を休止する手順と、
バーストと判定されたパケットの先頭パケットの受信時間から一定時間の休止時間後にパケット送信を再開する手順と、
を実行させるためのパケット中継プログラム。
（付記７）
付記６記載のパケット中継プログラムにおいて、
前記休止時間は、オペレーティングシステムのタイマ割り込みをセットして下流側送信を休止するとともに、タイマ割り込みが発生した時点で、上流側受信バッファに蓄積されたパケットを取り出し下流側へ送出する処理を再開することを特徴とするパケット中継プログラム。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施形態における映像データをパケット中継するシステム構成図である。
【図２】本発明の一実施形態におけるパケット中継サーバーのパケット中継処理フローチャートである。
【図３】本発明によるパケット中継サーバーの上流側の１０ｍｓｅｃ当たりの受信パケット数を示す計測図である。
【図４】本発明によるパケット中継サーバーの下流側の１ｍｓｅｃ当たりの送信パケット数を示す計測図である。
【符号の説明】
【００５６】
１    エンコーダ
２    ハブ    
３    パケット中継サーバー
４    ＤＳＬモデムＡ
５    ＤＳＬモデムＢ
６    視聴端末
【図１】
0004962369.tif 000002
【図２】
0004962369.tif 000003
【図３】
0004962369.tif 000004
【図４】
0004962369.tif 000005