(57)【要約】【課題】  バッファ容量に依存せずに、より小規模の装置構成で長期的にスケジュールされたデータ送出レートを確保することのできるデータ生成装置及びデータ送出方法を提供する。【解決手段】  上流からのフロー制御により、データ送信が遅延させられた場合、フロー制御が有効な間は、送信要求を停止させ、フロー制御がなくなってから、待たされていた送信要求を実行させ、データの送出を行う。この場合、待たされていたデータの送出は、遅延させられた時間に基づいた、通常より高速のレートでデータを送出する。【選択図】図２
2005268914.tif 000002
【特許請求の範囲】
【請求項１】
データを時間軸上でスケジュールされた任意のタイミングで送出するデータ生成装置において、
スケジュールされたタイミングでデータの送出が出来なかった場合に、データが遅延した遅延時間を計数する遅延時間係数手段と、
該遅延時間に基づいて、通常の送出レートより速い送出レートを算出し、該算出されたレートに基づいて遅延されたデータを送出するようにスケジューリングするスケジューリング手段と、
該スケジュールに従ってデータを送出するデータ送出手段と、
を備えることを特徴とするデータ生成装置。
【請求項２】
前記スケジュールされたタイミングでデータを送出出来なかった原因は、上流からのフロー制御であることを特徴とする請求項１に記載のデータ生成装置。
【請求項３】
データを時間軸上でスケジュールされた任意のタイミングで送出するデータ生成装置におけるデータ送出方法において、
スケジュールされたタイミングでデータの送出が出来なかった場合に、データが遅延した遅延時間を計数する遅延時間係数ステップと、
該遅延時間に基づいて、通常の送出レートより速い送出レートを算出し、該算出されたレートに基づいて遅延されたデータを送出するようにスケジューリングするスケジューリングステップと、
該スケジュールに従ってデータを送出するデータ送出ステップと、
を備えることを特徴とするデータ送出方法。
【請求項４】
前記スケジュールされたタイミングでデータを送出出来なかった原因は、上流からのフロー制御であることを特徴とする請求項３に記載のデータ送出方法。
【請求項５】
データを時間軸上でスケジュールされた任意のタイミングで送出するデータ生成装置におけるデータ送出方法において、
スケジュールされたタイミングでデータの送出が出来なかった場合に、データが遅延した遅延時間を計数する遅延時間係数ステップと、
該遅延時間に基づいて、通常の送出レートより速い送出レートを算出し、該算出されたレートに基づいて遅延されたデータを送出するようにスケジューリングするスケジューリングステップと、
該スケジュールに従ってデータを送出するデータ送出ステップと、
を備えることを特徴とするデータ送出方法をコンピュータに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ（パケット、セル、フレーム等）を時間軸上の任意のタイミングで送出することで送信レートを確保するデータ生成装置に関する。
【背景技術】
【０００２】
データ生成装置は、通常のパソコンなど、一般に通信路に繋がれて通信可能な端末であり、データを生成して、通信路にデータを送信する装置である。このような装置は、後段の装置や伝送路に対し、固定的なデータ帯域にてデータを送出する装置及び、前記の装置や伝送路に対して適切なデータ負荷を与えることで処理能力を測定するための擬似試験装置としても利用される。
【０００３】
図４は、従来のデータ生成装置とその動作を概略説明する図である。
図４（ａ）において、スケジューラ１０は内部にタイマを持ち、割り当てられた帯域に基づいてデータの送出間隔を制御し、データ生成装置１１に対して送出要求を行うことで、データ送信レートを決定する。データ生成装置１１が生成したデータは、伝送装置１３に送られ、ここから伝送路に送出される。
【０００４】
伝送装置側からのフロー制御（図中フロー制御（１））等によってデータが送信できない場合、データ生成装置１１は加入者側装置１４より入力されたデータを一旦バッファ１２に蓄積し、データが送信可能となったときに蓄積したデータを送出することで、スケジューリングされたデータ送信レートを確保する。
【０００５】
図４（ｂ）は、従来のデータの送出タイミング及び各制御の関係を示すタイミング図である。
図４（ｂ）の一番上にあるように、データ送出は、何も問題が無い場合、時間間隔ｔ１で規則正しく送出されることを期待している。これに対し、図４（ｂ）の下には、フロー制御により遅延が発生した場合のデータ入力、フロー制御（１）、（２）、データ送出、送信要求の関係が示されている。データ入力は、送信要求が発せられると生じる。
【０００６】
タイミングＩにおいては、フロー制御（１）によりデータ送出の遅延が生じている。この場合には、データ入力は正常どおりである。しかし、フロー制御（１）が発生しているので、データは、バッファ１２に蓄積され、フロー制御（１）がなくなるまで、データの送出を待ち合わせる。タイミングＩでは、フロー制御（１）がなくなってからバッファに格納されていたデータが送出されている。タイミングＩＩは、フロー制御（１）が２つのデータ送信タイミングにまたがった場合を示している。やはり、タイミングＩＩにおいても、フロー制御（１）が発生すると、データ入力されたデータは、バッファ１２に蓄積され、フロー制御（１）が終了するまでデータ送信を待つ。そして、フロー制御（１）が終了するとバッファ１２に蓄積されていたデータが送出され、その後は、通常どおりに送信が行われる。なお、ここでは、バッファ１２の容量は、データサイズの２倍としている。すなわち、図４（ｂ）のデータを示す斜線つきの矩形を二つ分バッファリングできるとしている。次に、タイミングＩＩＩでは、フロー制御（１）が長く続き、バッファ１２にデータを格納しきれない場合を示している。この場合には、フロー制御（１）が発生してから、データ２個分についてはバッファ１２に格納するが、それ以上は、バッファ１２があふれて格納できなくなるので、フロー制御（２）を発生させて、加入者側装置１４にデータの送信を中止させる。従って、その間の送信要求は無効とされる。そして、フロー制御（１）がなくなると、バッファに格納されていたデータを送出し、それ以降は、通常の送信となる。
【０００７】
従来の技術としては、特許文献１と特許文献２がある。特許文献１では、レンジングウィンドウを開いたことによって送信出来なかった信号数を計数し、次の送信機会に優先して送る技術が開示されている。特許文献2では、デジタルビデオストリームに関し、データストリームがオーバフローする場合には、ゼロパケットを追加して、データストリームのデータの部分を遅延させ、オーバフローが無くなれば、ゼロパケットを削除して、データストリームのデータの一部を加速する技術が開示されている。
【特許文献１】特開２００２−２０４２４５号公報
【特許文献２】特表２００２−５０７３７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、伝送装置１３側からのフロー制御（１）による送信停止期間にスケジューリングされるデータ量がバッファ１２の容量を越えてしまう場合、バッファが空くまでの期間、加入者側装置１４からのデータ入力を停止しなければならず、スケジューラ１０からの送信要求が無効となってしまうため、期待するデータ送出レートが確保できない。
【０００９】
期待するデータ送信レートを確保可能な送信停止期間の範囲はバッファの容量に依存し、伝送装置側からのフロー制御に対する耐力を２倍にするためにはバッファ容量を２倍にする必要があるため、装置規模の増大を招いてしまう。
【００１０】
本発明の課題は、バッファ容量に依存せずに、より小規模の装置構成で長期的にスケジュールされたデータ送出レートを確保することのできるデータ生成装置及びデータ送出方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明のデータ生成装置は、データを時間軸上でスケジュールされた任意のタイミングで送出するデータ生成装置において、スケジュールされたタイミングでデータの送出が出来なかった場合に、データが遅延した遅延時間を計数する遅延時間係数手段と、該遅延時間に基づいて、通常の送出レートより速い送出レートを算出し、該算出されたレートに基づいて遅延されたデータを送出するようにスケジューリングするスケジューリング手段と、
該スケジュールに従ってデータを送出するデータ送出手段とを備えることを特徴とする。
【００１２】
本発明のデータ送出方法は、データを時間軸上でスケジュールされた任意のタイミングで送出するデータ生成装置におけるデータ送出方法において、スケジュールされたタイミングでデータの送出が出来なかった場合に、データが遅延した遅延時間を計数する遅延時間係数ステップと、該遅延時間に基づいて、通常の送出レートより速い送出レートを算出し、該算出されたレートに基づいて遅延されたデータを送出するようにスケジューリングするスケジューリングステップと、該スケジュールに従ってデータを送出するデータ送出ステップとを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、遅延吸収のためのバッファを用意することなく、平均して、データの送出レートをスケジュールされた値に維持することのできる小型のデータ生成装置及びデータ送出方法を提供することが出来る。
【発明を実施するための最良の形態】
【００１４】
本発明の実施形態では、以下のような手段を用いる。
送信停止期間を吸収するためのバッファを持たず、送出すべきタイミングでデータが送出できなかった時間（遅延時間）を測定し、その累積時間を次回以降の送出タイミングより減算してデータを送信する。
【００１５】
以上によれば、遅延した時間だけデータの送出周期を短くすることで、一時的にデータ送出レートが加速され、結果として長期的なデータ送出レートの確保が図れる。
また、後段の伝送装置での競合解決方式に影響されずフロー制御によるデータ送出の可否情報のみでチャネル毎に独立した制御が可能である。
【００１６】
更に、期待するデータ送信レートを確保可能な送信停止期間の範囲は遅延時間を測定するタイマの上限（ビット数）に依存するが、伝送装置側からのフロー制御に対する耐力を２倍にするためにはタイマの桁数を１ビット増やすだけで実現できるので構成の簡単化、小型化が図れる。
【００１７】
図１は、本発明の実施形態に従った、データ生成装置のブロック構成図である。
データ生成装置２０は、受信したデータフレームを処理するデータ受信処理部２４と、受信したデータフレームを再生成し、伝送路に送信するフレーム生成処理部２５を有する。フレーム生成処理部２５は、スケジューラ（不図示）からデータの送信要求を受け、スケジューラに送信完了通知を行うデータ生成制御部２２からの制御信号に基づいて、データフレームの送信を行う。データ生成制御部２２は、上流からのフロー制御信号を受けて、データフレームの送信許可信号を生成する送出許可信号生成部２３と制御信号を授受し、適切なタイミングでデータを送出するようにする。タイミングジェネレータ２１は、クロックなどを含み、データ生成装置２０の各ブロックに動作タイミングを与えるものである。
【００１８】
図２は、本発明の一実施形態の説明図である。
図２（ａ）において、スケジューラ１０は内部にタイマを持ち、データの送信周期から求められる次の送信タイミングまでの時間情報（ｔ１）を管理し、次のデータ送出タイミングを決定する。求められたデータ送出タイミングにおいて、直前のデータの送出完了を受信して、かつ、伝送装置側よりフロー制御（１）が入力されないならば、データ生成装置１１に対して送信要求を行う。
【００１９】
データ生成装置１１は、スケジューラ１０からの要求に従って、加入者側装置１４へのフロー制御情報（２）を制御し、データ送信が完了したらスケジューラ１０に対して送信完了を通知する。
【００２０】
スケジューラ１０において条件が整わず（送信停止状態）、データ送出タイミングに送信要求が行えない場合には、送信要求可能となるまでの時間を測定し遅延時間とする。この時間測定は、遅延測定タイマ３０が行う。
【００２１】
スケジューラ１０が、データ送信タイミングを算出する際に、遅延情報の累計を差し引くことで、累積遅延の量に応じて以降の送出タイミングを早めることができる。
また、次のデータ送信タイミングまでの時間よりも遅延情報累計が大きい場合は、最小間隔（ｔ２）で次の送信要求を行うとともに、本来の送信間隔との差分（ｔ１−ｔ２）を遅延情報累計から差し引くことで複数の送信周期にわたって遅延を吸収することができる。
【００２２】
図２（ｂ）は、本発明の実施形態に従った、データ送出のタイミング図である。
図２（ｂ）上に示されるように、フロー制御が生じない場合には、規則正しく、期間間隔ｔ１で、データが送出される。これに対し、フロー制御（１）により遅延が発生した場合には、タイミングＩの部分に示されるように、フロー制御（２）も遅延させ、送信要求、及び、データ入力を遅らせる。そして、フロー制御（１）がなくなると、遅延した時間分高速に、待たされていたデータを送信する。タイミングＩの場合、待たされたデータが１つなので、遅延時間をｄ１すると、フロー制御（１）がなくなってからｔ１−ｄ１の時間の間に、待たされていたデータを送出する。タイミングＩＩの場合には、２つのデータが待たされた場合を示している。この場合、フロー制御（１）がなくなるまで、データ送信を停止し、フロー制御（１）がなくなってから、待たされたデータを送出する。このとき、遅延時間をｄ２とすると、フロー制御（１）がなくなってからｔ２時間毎にデータを１つずつ送出し、最後のデータが前のデータの送出完了からｔ１−（ｄ２−（ｔ１−ｔ２））時間の間に送出を完了する。タイミングＩＩＩの場合には、フロー制御（１）による待ち時間が４つのデータの送出タイミングをまたいでおり、遅延時間はｄ３となっている。待たされたデータは、フロー制御（１）がなくなってから、各データをｔ２間隔で送出する。しかし、この場合、５つ目のデータのタイミングにかかっても、待たされたデータの送出が終わらないので、５つ目のデータも送出を待たせる。そして、順次待たされたデータを５つ目まで時間間隔ｔ２で送出するが、５つめの送出時間ｔ２が６つ目のデータの送出時間に係ってしまうので、６つ目のデータも５つ目のデータの送出時間後、ｔ１×５−（ｄ３−ｔ２×５）の時間の間に送出する。その後は、通常のデータ送信と同じである。
【００２３】
図３は、本発明の実施形態に従った、スケジューラの動作を説明するフローチャートである。
まず、ステップＳ１０において、遅延累計値と遅延タイマを０にリセットする。ステップＳ１１において、遅延累計値と遅延タイマの値の和が遅延累計最大値以下か、より大きいかを判断する。ステップＳ１１において、和が遅延累計最大値より大きいと判断された場合には、ステップＳ１２において、遅延累計値に遅延累計最大値を設定し、遅延タイマを０に設定して、ステップＳ１４に進む。ステップＳ１１において、和が遅延累計最大値以下であると判断された場合には、ステップＳ１３において、遅延累計値に遅延累計値と遅延タイマの値の和を設定し、遅延タイマを０に設定して、ステップＳ１４に進む。ステップＳ１４においては、遅延累計値が、データの通常の送出間隔ｔ１からデータの送出に必要な最小時間間隔ｔ２を引いた値より大きいか、以下かを判断する。遅延累計値が当該差より大きい場合には、ステップＳ１５において、スケジュールタイマにｔ２を設定し、遅延累計値に遅延累計値−（ｔ１−ｔ２）を設定してステップＳ１７に進む。ステップＳ１４において、遅延累計値が当該差以下であると判断された場合には、ステップＳ１６において、スケジュールタイマに、ｔ１−遅延累積値を設定し、遅延累積値を０に設定して、ステップＳ１７に進む。
【００２４】
ステップＳ１７においては、スケジュールタイマが０であるか否かを判断する。ステップＳ１７の判断がＮｏの場合には、ステップＳ２２において、スケジュールタイマを１減らし、ステップＳ１７に進む。ステップＳ１７の判断がＹｅｓの場合には、ステップＳ１８において、送信完了を受信したか否かを判断する。ステップＳ１８の判断が未受信である場合には、ステップＳ２１において、遅延タイマを１増やし、ステップＳ１7に進む。ステップＳ１８の判断が受信済みの場合には、ステップＳ１９において、フロー制御（１）があるか（‘Ｈ’か）、無いか（‘Ｌ’か）を判断する。ステップＳ１９の判断の結果、フロー制御（１）が‘Ｈ’であると判断された場合には、ステップＳ２１に進む。ステップＳ１９の判断の結果、フロー制御（１）が‘Ｌ’であると判断された場合には、ステップＳ２０において、送信要求を行い、ステップＳ１１に戻る。
【００２５】
本実施形態によれば、バッファ容量に依存せずに、より小規模の装置構成で期待するデータ送信レートを確保することが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態に従った、データ生成装置のブロック構成図である。
【図２】本発明の一実施形態の説明図である。
【図３】本発明の実施形態に従った、スケジューラの動作を説明するフローチャートである。
【図４】従来のデータ生成装置とその動作を概略説明する図である。
【符号の説明】
【００２７】
１０      スケジューラ
１１、２０      データ生成装置
１３      伝送装置
１４      加入者側装置
２１      タイミングジェネレータ
２２      データ生成制御部
２３      送出許可信号生成部
２４      データ受信処理部
２５      フレーム生成処理部
３０      遅延測定タイマ
【図１】
2005268914.tif 000003
【図２】
2005268914.tif 000004
【図３】
2005268914.tif 000005
【図４】
2005268914.tif 000006