JP2004135065A - 送信端末、受信端末及びデータ伝送システム - Google Patents

送信端末、受信端末及びデータ伝送システム Download PDF

Info

Publication number
JP2004135065A
JP2004135065A JP2002297583A JP2002297583A JP2004135065A JP 2004135065 A JP2004135065 A JP 2004135065A JP 2002297583 A JP2002297583 A JP 2002297583A JP 2002297583 A JP2002297583 A JP 2002297583A JP 2004135065 A JP2004135065 A JP 2004135065A
Authority
JP
Japan
Prior art keywords
terminal
packet
transmission
delay time
communication rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002297583A
Other languages
English (en)
Inventor
Naoyuki Otoshi
大利 直行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002297583A priority Critical patent/JP2004135065A/ja
Publication of JP2004135065A publication Critical patent/JP2004135065A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】受信端末から送信端末の通信レートを制御するデータ伝送システムにおいて、パケットロスの上昇を引き起こすことなく特定の送信端末に優先的に通信レートを割り当てることができるようにする。
【解決手段】受信端末120において、登録スレッド121は送信端末100の経路情報を計測してボトルネック帯域となるルータを共有する送信端末をグループ化しグループ内での総パケットロス率を管理する。通信レート通知スレッド122はグループ内での総パケットロス率を変更しないように端末送信優先度に従ってパケットロスを分配して擬似パケットロス率を算出すると共に送信端末110から送信されたRTTより移動平均を算出して擬似パケットロス率とRTTの移動平均から通信レートを計算して送信端末110に通知する。送信端末100は通知された通信レートに従ってパケットの送信を行う。
【選択図】   図1

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークを介して映像や音声などのメディアデータの送受信を行う送信端末、受信端末及びデータ伝送システムに関する。
【0002】
【従来の技術】
従来、ネットワークを利用した映像や音声等のメディアデータの伝送においては、リアルタイムに通信ができるように予め必要な通信帯域を確保するようにしている。しかしながら、インターネットのような通信システムでは、常にネットワーク上の通信状態が変化することから、確保した通信帯域を維持することが困難であり、このため送信端末と受信端末夫々が通信状態の変化を検出して通信帯域の変化に対応する必要がある。
【0003】
その対策の一例として、RFC1889に記載のRTP(Real Time transportProtocol)/RTCP(RTP Control Protocol)の送受信プロトコルを用いたメディアデータ伝送システムがある。この送受信プロトコルを利用することで通信状態の変化が送信端末側に通知されるため、送信端末側で通信レートの制御を行うことができる。例えば受信端末で所望の通信レートになるように擬似パケットロス率を実パケットロス率として設定し、それを送信端末に通知することで送信端末から送信されるパケットの通信レートを制御する(例えば、特許文献1参照)。
【0004】
ここで、特許文献1で開示された技術について、図14に示すフローチャートを参照して説明する。なお、この図の左側部分が送信端末の動作を示すフローチャートであり、右側部分が受信端末の動作を示すフローチャートである。
【0005】
(1)送信端末の動作
まずステップ1401で、受信端末からの受信状態の情報をRTCPによって受信する。RTCPによる受信を行うと、RTCPの情報からパケットロスが発生しているかどうか判定する(ステップ1402)。この判定において、前回のRTCPの受信以降に送信したデータについてパケットロスが発生していると判定した場合は、次の送信フェーズの通信レートを低下させる(ステップ1403)。これに対して、前回のRTCPの受信以降に送信したデータについてパケットロスが発生していないと判定した場合は、次の送信フェーズの通信レートを上昇させる(ステップ1404)。ステップ1403又はステップ1404にて通信レートを決定した後、ステップ1401に戻り、以後再びRTCPの受信待ちを行う。
【0006】
(2)受信端末の動作
まずステップS1405でタイマをセットし、同タイマを一定時間間隔で起動させる。タイマがタイムアウトすると、前回のRTCPパケット送信以降に受信したRTPパケットのパケットロス率を算出してRTCPパケットを作成する(ステップ1406)。次いで、予め入力された目標受信レートとRTPの実受信レートとから次の手順で擬似パケットロス率を計算する(ステップ1407)。ここで、擬似パケットロス率を以下の式を用いて求める。
擬似パケットロス率=(1−(目標受信レート/実受信レート))×100
【0007】
次いで、算出した擬似パケットロス率と実際のパケットロス率の比較を行う(ステップ1408)。この比較において、擬似パケットロス率が大きいと判定した場合、ステップ1406において作成したRTCPパケット内のパケットロス率を擬似パケットロス率に変更する(ステップ1409)。これに対して、ステップ1408にて擬似パケットロス率が実際のパケットロス率と等しいか、又は小さいと判定した場合、ステップ1409をスキップする。ステップ1409の処理後又はステップ1409の処理をスキップした後、RTCPパケットを送信端末に向けて送信し(ステップ1410)、その後、再びタイマをセットして次の起動待ちとなる。
【0008】
このように、受信端末から送信端末に送信されるパケットのパケットロス率を、目標の受信レートをもとにして擬似的に算出することで、受信端末から通信レートを明示的に操作することができる。これにより、受信端末側で送信端末からの映像や音声等のリアルタイム性を要求されるデータ通信を集中的に制御することが可能となる。
【0009】
【特許文献1】
特開2000−183958号公報
【0010】
【発明が解決しようとする課題】
しかしながら、従来のデータ伝送システムにおいては、所望の通信レートが実際の通信レートよりも低い場合は擬似パケットロス率を実パケットロス率よりも低下させることで所望の通信レートに近づけるため、所望の通信レートに到達した時には実パケットロス率が大きく上昇し、擬似パケットロス率と実パケットロス率が大きく乖離して実際に送信されるパケットの多くを損失してしまうという問題がある。
【0011】
また、送信端末と受信端末が複数接続されたネットワーク環境においては、1つの送信端末の通信レートを変更すると、通信経路上のボトルネック帯域となるルータを共有する他の送信端末から送信されるパケットの通信帯域に影響を与えてパケットロスの増加をも引き起こすなど、相互に作用を及ぼしてしまう問題もある。
【0012】
本発明は係る点に鑑みてなされたものであり、所望の通信レートを実現し、通信帯域の優先的な割り当てを実現できる送信端末、受信端末及びデータ伝送システムを提供することを目的とする。
【0013】
【課題を解決するための手段】
請求項1に係る発明の送信端末は、ネットワークを介して接続された受信端末に対してデータの送信を行う送信端末であって、送信するパケットのヘッダ情報に前回送信したパケットの往復伝搬遅延時間を付与して送信する送信手段と、一定時間毎に送信したパケットの往復伝搬遅延時間を計測する往復伝搬遅延時間計測手段と、パケットを送信することで前記受信端末から通知される通信レートを受信し、受信した通信レートに従って送信するパケットの送信タイミングを制御する通信レート受信手段と、を具備する構成を採る。
【0014】
この構成によれば、受信端末が決定した通信レートの通知を受け、その通信レートに従ってパケットを送信するタイミングを制御することから、受信端末が送信端末の通信レートを制御することができる。
【0015】
請求項2に係る発明の受信端末は、ネットワークを介して接続された送信端末からデータの受信を行う受信端末であって、パケットを受信する受信手段と、送信端末から自端末へ送信されるパケットの経路上の各ルータに対する往復伝搬遅延時間を計測し、経路上で隣接するルータ間の往復伝搬遅延時間の差より伝送遅延時間を算出し、算出した伝送遅延時間の最も大きなルータのアドレスが一致する送信端末を1つのグループとして登録する登録手段と、登録された同一グループの送信端末のパケットロスを加算し、予め送信端末毎に設定された優先度に応じた比率で同一グループの送信端末間でパケットロスを分配して擬似的なパケットロス率を生成するとともに、送信端末から送信された往復伝搬遅延時間から移動平均を算出し、算出した移動平均と前記パケットロス率とから通信レートを算出して送信端末に通知する通信レート通知手段と、を具備する構成を採る。
【0016】
この構成によれば、ボトルネック帯域のルータ上のパケットロスが維持されるため、パケットロスの上昇を引き起こすことなく特定の送信端末に優先的に通信レートを割り当てることができる。すなわち、パケットロスにもとづく通信レート制御を行う際に、パケットを受信している受信端末上で総パケットロス数を送信端末の送信優先度に基づいて、各々の送信端末にパケットロス数を再分配することにより、優先的な通信レートの割り当てが可能となる。また、総パケットロス数を変更しないため、送信端末全体のトータルの通信レートを維持することができ、ネットワーク上の通信状態に影響を与えることなく維持することができる。
【0017】
請求項3に係る発明の受信端末は、請求項2に係る発明の受信端末において、前記通信レート通知手段は、往復伝搬遅延時間又はパケットロス率のいずれか一方でも上昇する場合には通信レートを減少し、前記往復伝搬遅延時間又は前記パケットロス率のいずれか一方でも低下する場合には通信レートを増加し、前記往復伝搬遅延時間と前記パケットロス率の一方が上昇し他方が低下する場合には上昇率と低下率の大小により通信レートを減少又は増加させる構成を採る。
【0018】
この構成によれば、往復伝搬遅延時間とパケットロス率夫々の値の違いに応じて的確な通信レートの設定が可能となる。
【0019】
請求項4に係る発明のデータ伝送システムは、請求項1に係る発明の送信端末と、請求項2又は請求項3のいずれかに係る発明の受信端末と、を具備する構成を採る。
【0020】
この構成によれば、パケットロス率を擬似的に操作して送信端末の通信レートを制御するようにしても、パケットロスの上昇を引き起こすことなく特定の送信端末の通信レートを優先的に割り当てることができるデータ伝送システムを提供することができる。
【0021】
請求項5に係る発明のデータ伝送方法は、少なくとも1つの送信端末と受信端末とがネットワークを介してデータの送受信を行うデータ伝送システムにおけるデータ伝送方法であって、送信端末は、一定時間毎に送信パケットの往復伝搬遅延時間を計測し、パケットを送信する際には当該パケットのヘッダ情報に前回送信したパケットの往復伝搬遅延時間を付与した後に受信端末から通知された通信レートに従って送信タイミングを制御して送信し、受信端末は、送信端末から自端末へ送信されるパケットの経路上の各ルータに対する往復伝搬遅延時間を計測して経路上で隣接するルータ間の往復伝搬遅延時間の差より伝送遅延時間を算出し、算出した伝送遅延時間の最も大きなルータのアドレスが一致する送信端末を1つのグループとして登録し、登録した同一グループの送信端末のパケットロスを加算して予め送信端末毎に設定された優先度に応じた比率で同一グループの送信端末間でパケットロスを分配して擬似的なパケットロス率を生成し、更に送信端末から送信された往復伝搬遅延時間から移動平均を算出して、求めた移動平均とパケットロス率とから通信レートを算出して送信端末に通知する。
【0022】
この方法によれば、送受信端末の間でパケットロス率に従った通信レートを管理し、端末送信優先度に従ってパケットロスを移し替えるため、通信レートを優先的に割り当てを行うことができる。また、通信経路上のボトルネック帯域となるルータを共有する送信端末を1つのグループとして管理し、グループ内でのみパケットロスの移し替えを行うで、有効的かつ安全にパケットロスを管理でき、他の送信端末へ影響を与えることなく安全に通信レートを制御することが可能となる。
【0023】
請求項6に係る発明の送信プログラムは、ネットワークを介して接続された受信端末に対してデータの送信を行う送信プログラムであって、送信するパケットのヘッダ情報に前回送信したパケットの往復伝搬遅延時間を付与して送信する送信手順と、一定時間毎に送信したパケットの往復伝搬遅延時間を計測する往復伝搬遅延時間計測手順と、通信レートを受信する通信レート受信手順と、受信した通信レートに従って送信するパケットの送信タイミングを制御する通信レート制御手順と、を具備する。
【0024】
このプログラムによれば、受信端末が決定した通信レートの通知を受けて、その通信レートに従ってパケットの送信タイミングを制御するので、受信端末が送信端末の通信レートを制御することができる。
【0025】
請求項7に係る発明の送信端末は、記録媒体に記録されたプログラムを読み出して装置各部の制御を行うコンピュータと、請求項6に係る発明の送信プログラムが記録された記録媒体と、を具備する構成を採る。
【0026】
この構成によれば、プログラム制御とすることで、送信端末を特別なハードウェアで構成することなく、新たな機能の追加や変更を柔軟に行うことができる。
【0027】
請求項8に係る発明の受信プログラムは、ネットワークを介して接続された送信端末から送信されるデータを受信する受信プログラムであって、送信端末から送信されるパケットの経路上の各ルータに対する往復伝搬遅延時間を計測する往復伝搬遅延時間計測手順と、経路上で隣接するルータ間の往復伝搬遅延時間の差より伝送遅延時間を算出する伝搬遅延時間算出手順と、算出された伝送遅延時間の最も大きなルータのアドレスが一致する送信端末を1つのグループとして登録する登録手順と、登録された同一グループの送信端末のパケットロスを加算して予め送信端末毎に設定された優先度に応じた比率で同一グループの送信端末間でパケットロスを分配して擬似的なパケットロス率を生成するパケットロス率生成手順と、送信端末から送信された往復伝搬遅延時間から移動平均を算出する移動平均算出手順と、求められた移動平均とパケットロス率とから通信レートを算出する通信レート算出手順と、算出された通信レートを送信端末に通知する通信レート通知手順と、を具備する。
【0028】
このプログラムによれば、パケットを受信している受信端末上で総パケットロス数を送信端末の送信優先度に基づいて、各々の送信端末にパケットロス数を再分配するので、優先的な通信レートの割り当てが可能となる。また、総パケットロス数を変更することがないため、送信端末全体のトータルの通信レートを維持することができ、ネットワーク上の通信状態に影響を与えることなく維持することができる。
【0029】
請求項9に係る発明の受信端末は、記録媒体に記録されたプログラムを読み出して装置各部の制御を行うコンピュータと、請求項8に係る発明の受信プログラムが記録された記録媒体と、を具備する構成を採る。
【0030】
この構成によれば、プログラム制御とすることで、受信端末を特別なハードウェアで構成することなく、新たな機能の追加や変更を柔軟に行うことができる。
【0031】
【発明の実施の形態】
本発明の骨子は、予め通信経路上のボトルネック帯域となるルータを共有する送信端末をグループ化し、グループ化した全ての送信端末の総パケットロス数を変更することなく、送信端末のパケットロス率を擬似的に操作することで、所望の通信レートを実演し、通信帯域の優先的な割り当てを実現することである。
【0032】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0033】
図1は、本発明の一実施の形態に係るデータ伝送システムを示す機能ブロック図である。
この図において、本実施の形態に係るデータ伝送システム1は、複数の送信端末100と複数の受信端末120が夫々ネットワーク150を介して接続された構成を採る。送信端末100は、図示のようにタイマ101と、起動スレッド102と、RTT(往復伝搬遅延時間)計測スレッド103と、送信スレッド104と、通信レート受信スレッド105と、共有メモリ106とを備えている。なお、RTT計測スレッド103は往復伝搬遅延時間計測手段に対応し、送信スレッド104は送信手段に対応し、通信レート受信スレッド105は通信レート受信手段に対応する。
【0034】
RTT計測スレッド103には送信統計計測部110があり、送信スレッド104にはパケット送信部111があり、通信レート受信スレッド105には通信レート受信部112と通信レート制御部113がある。送信統計計測部110は、一定時間毎に送信パケットの往復伝搬遅延時間を計測する。パケット送信部111は、次に送信するパケットのヘッダ情報に前回送信したパケットの往復伝搬遅延時間を付与して送信する。通信レート受信部112は、受信端末120から通知される通信レートを受信する。通信レート制御部113は、通信レート受信部112が受信した通信レートに基づいて送信データの送信タイミングを制御する。共有メモリ106には、通信レートを記憶するための領域とRTT(往復伝搬遅延時間)を記憶するための領域と送信パケットサイズを記憶する領域(この領域については図示略)が設けられている。
【0035】
一方、受信端末120は、登録スレッド121、通信レート通知スレッド122、受信スレッド123を有している。登録スレッド121には経路情報計測部124と送信端末情報登録部125があり、通信レート通知スレッド122には通信レート通知部126と通信レート算出部127と総パケットロス管理部128とがあり、受信スレッド123にはパケット受信部129と受信統計計測部130とがある。なお、受信スレッド123は受信手段に対応し、登録スレッド121は登録手段に対応し、通信レート通知スレッド122は通信レート通知手段に対応する。
【0036】
経路情報計測部124は、送信端末100までの経路を計測する。送信端末情報登録部125は、自端末120にパケットを送信する全ての送信端末の情報を登録する。パケット受信部129は、ネットワークに送出されたパケットを受信する。受信統計計測部130は、パケット受信部129が受信したパケットのヘッダ情報に含まれている往復伝搬遅延時間から移動平均を計測し、さらにパケットロス率を計測する。総パケットロス管理部128は、自端末120にパケットを送信する全ての送信端末からのパケットの総パケットロス率を管理する。通信レート算出部127は、受信統計計測部130で計測された移動平均とパケットロス率に基づいて次に送信するパケットの通信レートを算出する。通信レート通知部126は、通信レート算出部127が算出した通信レートを通信中の送信端末100に通知する。
【0037】
経路情報計測部124は、図2に示すアドレス情報収集部201と伝送時間計測部202を有する。また、経路情報計測部124は、図3に示す経路情報テーブル300も有する。経路情報テーブル300には、ルータアドレスと、ルータRTT(RTT:往復伝搬遅延時間)と、隣接ルータ伝送遅延時間とを一対のルータ情報として複数のルータ情報を登録する。登録スレッド121の送信端末情報登録部125(図1参照)は、図4に示す端末情報管理テーブル400を有している。この端末情報管理テーブル400には、グループID、送信端末アドレス、経路情報テーブルポインタ、パケットロステーブルポインタ、RTT(往復伝搬遅延時間)、端末送信優先度及びボトルネックルータアドレスを一対の情報として、複数の端末情報が登録される。
【0038】
通信レート通知スレッド122の総パケットロス管理部128(図1参照)は、図5に示すパケットロステーブル500を有している。このパケットロステーブル500には、総パケットロス数、現在のパケットロス数及び前回のパケットロス数が登録される。
【0039】
次に、本実施の形態に係るデータ伝送システム1の動作について、図6〜図13に示すフローチャートを参照して説明する。
【0040】
(送信端末におけるデータ送信処理)
図6は、送信端末100から受信端末120へデータ送信を行う処理を示すフローチャートである。
この図において、送信スレッド102が起動すると、共有メモリ106から現在の通信レート値と、送信パケットサイズと、往復伝搬遅延時間(RTT)を取得する(ステップS601)。次いでヘッダ情報を設定する(ステップ602)。すなわち、往復伝搬遅延時間とシーケンス番号(送信の度に1ずつ加算する)をパケットのヘッダ情報として記録する。ヘッダ情報の設定後、当該パケットを受信端末120に向けて送信する(ステップ603)。
【0041】
パケットの送信後、受信端末120から通知された通信レートに従って次のパケットを送信するため、送信待ち状態を維持する。この場合、送信パケットサイズ/通信レートで算出される送信待ちタイマを設定して、このタイマで設定された時間だけ送信待ち状態となる(ステップ604)。設定した送信待ち状態がタイムアウトになると(ステップ605)、再び送信可能状態となり、ステップS601から同様の処理を行う。
【0042】
一方、ステップ603で送信されたパケットが受信端末120にて受信される。このパケットの受信は受信スレッド123にて行われる。受信スレッド123は、送信端末100からパケットが送信されるまでは受信待ち状態となっており(ステップ606)、この待ち状態中にパケットを受信すると、復号等の受信処理を行い、その結果をアプリケーションに転送する。受信処理結果をアプリケーションに転送した後、受信統計計測部130にてパケットロス率の更新を行う(ステップ607)。以後、送信端末100からパケットが送信されるまで待ち状態となる。
【0043】
(受信端末におけるロスパケット検出処理)
図7は、受信端末120におけるロスパケット検出処理を示すフローチャートである。ロスパケット検出処理は図6のステップ607で行われる。受信スレッド123は、受信したパケットのシーケンス番号をパラメータとして受信統計計測部130のロスパケット検出処理に引き渡す。
【0044】
この図において、まず最初に管理データとして記録された最大シーケンス番号と、パラメータとして渡されたシーケンス番号とを比較する(ステップ701)。シーケンス番号が最大シーケンス番号以上である場合、(シーケンス番号−最大シーケンス番号−1)の数だけパケットロスが発生しているため、共有メモリ106に記憶されているパケットロス数を、(シーケンス番号−最大シーケンス番号−1)だけ加算する(ステップ702)。そして、最大シーケンス番号よりも大きなシーケンス番号が受信されたため、最大シーケンス番号の更新を行う(ステップ703)。最大シーケンス番号の更新処理を行った後、本処理の呼び出し元に復帰する。
【0045】
一方、ステップ701の判定において、受信したパケットのシーケンス番号が最大シーケンス番号よりも小さいと判定した場合は、既にパケットロスとしてカウントされたパケットを受信したことになるため、パケットロステーブル500(図5参照)に登録された端末パケットロス数を「1」だけ減算し(ステップ704)、既にパケットロスとしてカウントされたパケットロス数の修正を行う。このパケットロス数の修正を行った後、本処理の呼び出し元に復帰する。
【0046】
(送信端末における通信レート通知処理)
図8は、受信端末120から送信端末100へ通信レートの通知を行う処理を示すフローチャートである。
受信端末120は新たな送信端末100と接続が行われると、通信レート通知スレッド122を呼び出し、端末情報管理テーブル400(図4参照)から該当する送信端末100の送信端末情報を取得し(ステップ801)、以下の処理を一定周期毎に繰り返す。
【0047】
通信レート通知スレッド122は、一定周期毎に起動すると、擬似パケットロス率を計算する(ステップ802)。なお、擬似パケットロス率の計算は以下で説明する。擬似パケットロス率を求めた後、受信統計計測部130がパケットのヘッダ情報に含まれる往復伝搬遅延時間から移動平均を算出する。そして、移動平均の算出後、通信レート算出部127が、算出された移動平均と擬似パケットロス率とを元に次のフェーズの通信レートを計算する(ステップ803)。この場合、通信レートの計算は幾つか考えられるが、ここでは以下の計算式を用いる。すなわち、1個のパケットの平均サイズS、擬似パケットロス率P、現在の往復伝搬遅延時間より得られる移動平均をRとすると、通信レート=S/(P×R)として求める。
【0048】
また、通信レート算出部127は、往復伝搬遅延時間又は擬似パケットロス率のいずれか一方でも上昇する場合には通信レートを減少し、往復伝搬遅延時間又は擬似パケットロス率のいずれか一方でも低下する場合には通信レートを増加し、往復伝搬遅延時間とパケットロス率の一方が上昇し他方が低下する場合には上昇率と低下率の大小により通信レートを減少又は増加させる。このようにして通信レートを求めた後、それを通知データとして設定し、送信端末100に向けて送信する(ステップ804)。
【0049】
次に、通信レート通知スレッド122は、予め設定した通信レート通知間隔をタイマに設定し(ステップ805)、タイムアウト待ち状態となる(ステップ806)。以後、再びステップ802から806の処理を繰り返し行う。
ステップ804で送信された通信レート通知データは、送信端末100の通信レート受信スレッド105にて受信される。通信レート受信スレッド105は、受信端末100から通信レート通知データが送信されるまでは受信待ち状態を維持し(ステップ807)、通信レート通知データを受信すると、そのデータから通信レートを読み出して共有メモリ106に記録された通信レートを更新する(ステップ808)。以後、再び通信レート受信データの受信待ち状態となる。
【0050】
(受信端末における擬似パケットロス率算出処理)
図9は、擬似パケットロス率算出処理を示すフローチャートである。
この擬似パケットロス率計算処理は、図8のステップ802で受信端末120の通信レート通知スレッド122から起動される。この時、通信レート通知スレッド122は送信端末アドレスをパラメータとして擬似パケットロス率計算処理に引き渡す。
【0051】
擬似パケットロス率計算処理は、まず最初にパラメータとして渡された送信端末アドレスから端末情報管理テーブル400(図4参照)を検索して、送信端末100の端末管理情報を取得し、送信端末100のグループIDを読み出す。送信端末100のグループIDを読み出した後、総パケットロス数と総優先度をクリアする(ステップ901)。以後、読み出したグループIDから同一のグループIDを持つ全ての送信端末100に対して、ステップ903及び904の処理を繰り返す(ステップ902)。すなわち、端末情報管理テーブル400の該当テーブルから端末送信優先度と、パケットロステーブル500を取得して送信端末100の端末パケットロス数を読み出して、総パケットロス数に加算する(ステップ903)。次いで、総優先度に端末送信優先度(図4参照)を加算する(ステップ904)。
【0052】
同一のグループIDを持つ全ての送信端末100について処理を終了すると、擬似パケットロス率の算出を行う(ステップ905)。擬似パケットロス率は送信端末100の端末送信優先度に比例したパケットロスの分配を行い、以下の計算式により算出する(ステップ906)。
【0053】
擬似パケットロス率=総パケットロス数×(端末送信優先度/総優先度)
擬似パケットロス率を算出すると、それを返却値として本処理の呼び出し元に復帰する。
【0054】
(送信端末における接続要求処理)
図10は、送信端末100から受信端末120へ接続要求処理を示すフローチャートである。
送信端末100は新たな受信端末120と接続を開始するため、起動スレッド102を呼び出す。起動スレッド102は、予め設定された受信端末120のアドレスに対して接続要求を送信する(ステップ1001)。接続要求の送信後、受信端末120からの接続応答の受信待ち状態に遷移する(ステップ1002)。そして、受信端末120からの接続応答を受信すると、データの送信を行う送信スレッド104を起動して終了する(ステップ1003)。
【0055】
一方、ステップ1001にて送信端末100から受信端末120に送信された接続要求を受信端末120の登録スレッド121が受信する。登録スレッド121は、送信端末100から接続要求が送信されるまで受信待ち状態となっており(ステップ1004)、この状態で接続要求を受信すると、新規の送信端末100からの接続受付処理を開始し、接続元の送信端末100までの経路情報の収集を行う(ステップ1005)。さらに接続元の送信端末100の端末登録処理を行う(ステップ1006)。端末登録処理後、以後のデータ受信処理の準備が完了したため送信端末100に接続応答を送信する(ステップ1007)。接続応答の送信後、送信端末100に対応した受信スレッド123を起動し(ステップ1008)、再び新しい送信端末100からの接続要求の受信待ち状態となる。
【0056】
(受信端末における経路情報収集処理)
図11は、受信端末120における経路情報収集処理を示すフローチャートである。
この経路情報収集処理は、図10のステップ1005で登録スレッド121から呼び出される。この時、登録スレッド121は送信端末アドレスをパラメータとして経路情報収集処理に引き渡す。経路情報収集処理では、TTL(パケット生存時間)を「1」に初期化し(ステップ1101)、パラメータとして渡された送信端末アドレスをRFC792で公知のICMP(Internet Control Massage protocol)エコーメッセージに設定する。
【0057】
次に、応答時間計測タイマを起動し(ステップ1102)、パケット生存時間をICMPエコーメッセージに設定して送信端末100に向けて送信する(ステップ1103)。そして、ICMP時間超過メッセージを受信すると(ステップ1104)、応答時間計測タイマを停止し、それまでに測定した時間を往復伝搬遅延時間として記録する(ステップ1105)。ここで応答があったメッセージの送信元はホップ数がパケット生存時間に等しい距離にあるルータからの応答である。
【0058】
次に、ICMP時間超過メッセージの応答元のアドレスとステップ1105で計測した往復伝搬遅延時間(RTT)と隣接ルータ伝送遅延時間を経路情報テーブル300(図3参照)に記録する(ステップ1106)。この場合、隣接ルータ伝送遅延時間はパケット生存時間が1つ小さいICMP時間超過メッセージから得られた往復伝搬遅延時間との差分の半分の時間として算出する。
【0059】
次に、応答元のアドレスが送信端末アドレスに等しいかどうかチェックする(ステップ1107)。応答元のアドレスが送信端末アドレスと等しくない場合は、未だ送信端末100と受信端末120との間にルータが存在するので、パケット生存時間を「1」だけ加算する(ステップ1108)。以後、再びステップ1102からの処理を繰り返す。そして、ステップ1107の判定において、応答元のアドレスと送信端末アドレスが等しい場合には、送信端末100と受信端末120との間のルータからの情報が全て得られたため処理を終了し、本処理の呼び出し元に復帰する。
【0060】
(受信端末における端末登録処理)
図12は、受信端末120における送信端末情報の登録を行う処理を示すフローチャートである。
端末登録処理は、図10のステップS1006で登録スレッド121から呼び出される。この際、登録スレッド121は送信端末アドレスをパラメータとして端末登録処理に引き渡す。端末登録処理は、まず最大伝送遅延時間をクリアし、該当端末を自分のアドレスに初期化する(ステップ1201)。
【0061】
次いで、経路情報テーブル300(図3参照)から経路情報収集処理において収集された経路上のルータの情報を順次読み出し、当該情報が無くなるまでステップ1203とステップ1204の処理を繰り返す(ステップ1202)。ステップ1203では、経路情報テーブル300から読み出した隣接ルータの伝送遅延時間と最大伝送遅延時間の比較を行う。隣接ルータの伝送遅延時間が最大伝送遅延時間よりも大きい場合には、該当アドレスを、読み出したルータアドレスに更新し、また最大伝送遅延時間を、読み出した隣接ルータ伝送遅延時間に更新する(ステップ1204)。これに対して、隣接ルータの伝送遅延時間が最大伝送遅延時間と等しいかあるいは小さい場合にはステップ1204の処理をスキップする。
【0062】
全ての経路情報についてステップ1203とステップ1204の処理を終了すると、続いて端末情報管理テーブル400から端末情報を順次読み出して、ステップ1206の処理を繰り返す(ステップ1205)。ステップ1206では、読み出した端末情報に記載されているボトルネックルータアドレスが該当アドレスと等しいか否かを判定する。この判定において、ボトルネックルータアドレスと該当アドレスが等しくない場合には、再びステップ1206の処理を行う。これに対して、ボトルネックルータアドレスと該当アドレスが等しい場合には、ボトルネックとなるルータと帯域を共有している送信端末であるため、端末情報に記載されているグループIDを付与して、端末情報テーブルに新しく端末情報を登録する(ステップ1208)。
【0063】
端末情報テーブルに端末情報が無くなるまでステップS1206の処理を繰り返した場合には、ボトルネックとなるルータが他の送信端末と帯域を共有していないので、新規にグループIDを付与して端末情報テーブルに新しく端末情報を登録する(ステップ1207)。ステップ1208又はステップ1207の処理を終えると、本処理の呼び出し元に復帰する。
【0064】
(送信端末における往復伝搬遅延時間計測処理)
図13は、往復伝搬遅延時間(RTT)計測処理を示すフローチャートである。
往復伝搬遅延時間計測処理は、図10のステップ1003で送信スレッド104から起動され、予め設定された一定周期で処理を行う。RTT計測スレッド103は、一定周期毎に起動するとRTT計測タイマを設定する(ステップ1301)。そして、受信端末120に対してICMPエコーメッセージを送信し(ステップ1302)、それに対するICMPエコー応答メッセージを受信すると(ステップ1303)、RTT計測タイマを停止させて往復伝搬遅延時間を計測する(ステップ1304)。そして、計測した往復伝搬遅延時間を共有メモリ106に記録する(ステップ1305)。そして、予め設定された周期にタイマを設定し(ステップ1306)、タイムアウト待ち状態となる(ステップ1307)。
【0065】
このように、本実施の形態に係るデータ伝送システム1によれば、受信端末120の登録スレッド121が送信端末100の経路情報を計測して、ボトルネック帯域となるルータを共有する送信端末100をグループ化し、グループ内での総パケットロス率を管理する。また、受信端末120の通信レート通知スレッド122がグループ内での総パケットロス率を変更しないように、端末送信優先度に従ってパケットロスを分配して擬似パケットロス率を算出し、さらに送信端末100から送信された往復伝搬遅延時間(RTT)から移動平均を算出して、擬似パケットロス率とRTTの移動平均から通信レートを計算して送信端末100に通知を行う。送信端末100では、通知された通信レートに従ってパケットの送信を行う。これにより、ボトルネック帯域のルータ上のパケットロスが維持されるため、パケットロスの上昇を引き起こすことなく特定の送信端末に優先的に通信レートを割り当てることが可能となる。また、総パケットロス数を変更しないため、複数の送信端末100の通信レート変更によっても相互にパケットロスの影響を与えることなく、安全に帯域の割り当てを実現することができる。
【0066】
【発明の効果】
以上説明したように、本発明によれば、通信レート管理サーバー等の特別な装置を設置することなく、送受信端末の間でパケットロス率に従った通信レートを管理し、優先度に基づいてパケットロスを移し替えるようにしたので、通信レートを優先的に割り当てを行うことができる。
【0067】
また、通信経路上のボトルネック帯域となるルータを共有する送信端末を1つのグループとして管理し、グループ内でのみパケットロスの移し替えを行うようにしたので、有効的かつ安全にパケットロスを管理でき、他の送信端末へ影響を与えることなく安全に通信レートを制御することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るデータ伝送システムの構成を示すブロック図
【図2】本発明の一実施の形態に係るデータ伝送システムの経路情報計測部の構成を示すブロック図
【図3】本発明の一実施の形態に係るデータ伝送システムの経路情報テーブルを示す図
【図4】本発明の一実施の形態に係るデータ伝送システムの端末情報管理テーブルを示す図
【図5】本発明の一実施の形態に係るデータ伝送システムのパケットロステーブルを示す図
【図6】本発明の一実施の形態に係るデータ伝送システムにおける送信端末から受信端末へのデータ送信処理を示すフローチャート
【図7】本発明の一実施の形態に係るデータ伝送システムにおける受信端末におけるロスパケット検出処理を示すフローチャート
【図8】本発明の一実施の形態に係るデータ伝送システムにおける受信端末から送信端末への通信レート通知処理を示すフローチャート
【図9】本発明の一実施の形態に係るデータ伝送システムにおける受信端末における擬似パケットロス率算出処理を示すフローチャート
【図10】本発明の一実施の形態に係るデータ伝送システムにおける送信端末から受信端末への接続要求処理を示すフローチャート
【図11】本発明の一実施の形態に係るデータ伝送システムにおける受信端末での経路情報収集処理を示すフローチャート
【図12】本発明の一実施の形態に係るデータ伝送システムにおける受信端末での送信端末情報の登録処理を示すフローチャート
【図13】本発明の一実施の形態に係るメディアデータ伝送システムにおける受信端末での往復伝搬遅延時間計測処理示すフローチャート
【図14】従来のデータ伝送システムにおける通信レート算出処理を示すフローチャート
【符号の説明】
1 データ伝送システム
100 送信端末
101 タイマ
102 起動スレッド
103 RTT計測スレッド
104 送信スレッド
105 通信レート受信スレッド
106 共有メモリ
110 送信統計計測部
111 パケット送信部
112 通信レート受信部
113 通信レート制御部
120 受信端末
121 登録スレッド
122 通信レート通知スレッド
123 受信スレッド
124 経路情報計測部
125 送信端末情報登録部
126 通信レート通知部
127 通信レート算出部
128 総パケットロス管理部
129 パケット受信部
130 受信統計計測部
201 アドレス情報収集部
202 伝送時間計測部
300 経路情報テーブル
400 端末情報管理テーブル
500 パケットロステーブル

Claims (9)

  1. ネットワークを介して接続された受信端末に対してデータの送信を行う送信端末であって、送信するパケットのヘッダ情報に前回送信したパケットの往復伝搬遅延時間を付与して送信する送信手段と、一定時間毎に送信したパケットの往復伝搬遅延時間を計測する往復伝搬遅延時間計測手段と、パケットを送信することで前記受信端末から通知される通信レートを受信し、受信した通信レートに従って送信するパケットの送信タイミングを制御する通信レート受信手段と、を具備することを特徴とする送信端末。
  2. ネットワークを介して接続された送信端末からデータの受信を行う受信端末であって、パケットを受信する受信手段と、送信端末から自端末へ送信されるパケットの経路上の各ルータに対する往復伝搬遅延時間を計測し、経路上で隣接するルータ間の往復伝搬遅延時間の差より伝送遅延時間を算出し、算出した伝送遅延時間の最も大きなルータのアドレスが一致する送信端末を1つのグループとして登録する登録手段と、登録された同一グループの送信端末のパケットロスを加算し、予め送信端末毎に設定された優先度に応じた比率で同一グループの送信端末間でパケットロスを分配して擬似的なパケットロス率を生成するとともに、送信端末から送信された往復伝搬遅延時間から移動平均を算出し、算出した移動平均と前記パケットロス率とから通信レートを算出して送信端末に通知する通信レート通知手段と、を具備することを特徴とする受信端末。
  3. 前記通信レート通知手段は、往復伝搬遅延時間又はパケットロス率のいずれか一方でも上昇する場合には通信レートを減少し、前記往復伝搬遅延時間又は前記パケットロス率のいずれか一方でも低下する場合には通信レートを増加し、前記往復伝搬遅延時間と前記パケットロス率の一方が上昇し他方が低下する場合には上昇率と低下率の大小により通信レートを減少又は増加させることを特徴とする請求項2に記載の受信端末。
  4. 請求項1に記載の送信端末と、請求項2又は請求項3のいずれかに記載の受信端末と、を具備することを特徴とするデータ伝送システム。
  5. 少なくとも1つの送信端末と受信端末とがネットワークを介してデータの送受信を行うデータ伝送システムにおけるデータ伝送方法であって、送信端末は、一定時間毎に送信パケットの往復伝搬遅延時間を計測し、パケットを送信する際には当該パケットのヘッダ情報に前回送信したパケットの往復伝搬遅延時間を付与した後に受信端末から通知された通信レートに従って送信タイミングを制御して送信し、受信端末は、送信端末から自端末へ送信されるパケットの経路上の各ルータに対する往復伝搬遅延時間を計測して経路上で隣接するルータ間の往復伝搬遅延時間の差より伝送遅延時間を算出し、算出した伝送遅延時間の最も大きなルータのアドレスが一致する送信端末を1つのグループとして登録し、登録した同一グループの送信端末のパケットロスを加算して予め送信端末毎に設定された優先度に応じた比率で同一グループの送信端末間でパケットロスを分配して擬似的なパケットロス率を生成し、更に送信端末から送信された往復伝搬遅延時間から移動平均を算出して、求めた移動平均とパケットロス率とから通信レートを算出して送信端末に通知することを特徴とするデータ伝送方法。
  6. ネットワークを介して接続された受信端末に対してデータの送信を行う送信プログラムであって、送信するパケットのヘッダ情報に前回送信したパケットの往復伝搬遅延時間を付与して送信する送信手順と、一定時間毎に送信したパケットの往復伝搬遅延時間を計測する往復伝搬遅延時間計測手順と、通信レートを受信する通信レート受信手順と、受信した通信レートに従って送信するパケットの送信タイミングを制御する通信レート制御手順と、を具備することを特徴とする送信プログラム。
  7. 記録媒体に記録されたプログラムを読み出して装置各部の制御を行うコンピュータと、請求項6に記載の送信プログラムが記録された記録媒体と、を具備することを特徴とする送信端末。
  8. ネットワークを介して接続された送信端末から送信されるデータを受信する受信プログラムであって、送信端末から送信されるパケットの経路上の各ルータに対する往復伝搬遅延時間を計測する往復伝搬遅延時間計測手順と、経路上で隣接するルータ間の往復伝搬遅延時間の差より伝送遅延時間を算出する伝搬遅延時間算出手順と、算出された伝送遅延時間の最も大きなルータのアドレスが一致する送信端末を1つのグループとして登録する登録手順と、登録された同一グループの送信端末のパケットロスを加算して予め送信端末毎に設定された優先度に応じた比率で同一グループの送信端末間でパケットロスを分配して擬似的なパケットロス率を生成するパケットロス率生成手順と、送信端末から送信された往復伝搬遅延時間から移動平均を算出する移動平均算出手順と、求められた移動平均とパケットロス率とから通信レートを算出する通信レート算出手順と、算出された通信レートを送信端末に通知する通信レート通知手順と、を具備することを特徴とする受信プログラム。
  9. 記録媒体に記録されたプログラムを読み出して装置各部の制御を行うコンピュータと、請求項8に記載の受信プログラムが記録された記録媒体と、を具備することを特徴とする受信端末。
JP2002297583A 2002-10-10 2002-10-10 送信端末、受信端末及びデータ伝送システム Pending JP2004135065A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002297583A JP2004135065A (ja) 2002-10-10 2002-10-10 送信端末、受信端末及びデータ伝送システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002297583A JP2004135065A (ja) 2002-10-10 2002-10-10 送信端末、受信端末及びデータ伝送システム

Publications (1)

Publication Number Publication Date
JP2004135065A true JP2004135065A (ja) 2004-04-30

Family

ID=32287252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002297583A Pending JP2004135065A (ja) 2002-10-10 2002-10-10 送信端末、受信端末及びデータ伝送システム

Country Status (1)

Country Link
JP (1) JP2004135065A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608821B1 (ko) * 2004-07-22 2006-08-08 엘지전자 주식회사 휴대단말기의 왕복지연시간 측정장치 및 방법
JP2007097099A (ja) * 2005-09-30 2007-04-12 Hitachi Kokusai Electric Inc データ伝送装置
WO2008041434A1 (fr) * 2006-10-02 2008-04-10 Panasonic Corporation Procédé de commande de flux, dispositif de terminal émetteur utilisé dans celui-ci, dispositif de terminal récepteur et système de transfert par paquets
JP2008533900A (ja) * 2005-03-14 2008-08-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サービス差別型無線ネットワークでのQoSの測定及び監視
JP2009505460A (ja) * 2005-08-09 2009-02-05 華為技術有限公司 ネットワーク通信の状態を検出する方法およびサーバ
JP2010245750A (ja) * 2009-04-03 2010-10-28 Nippon Hoso Kyokai <Nhk> レート制御装置、送信装置、受信装置及びレート制御プログラム
US9544249B2 (en) 2014-02-05 2017-01-10 Fujitsu Limited Apparatus and method for aligning order of received packets
JP7092913B1 (ja) 2021-03-24 2022-06-28 アンリツ株式会社 ネットワーク測定装置とそのフレームロス測定方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496040B2 (en) 2004-07-22 2009-02-24 Kwang-Deok Seo Roundtrip delay time measurement apparatus and method for variable bit rate multimedia data
KR100608821B1 (ko) * 2004-07-22 2006-08-08 엘지전자 주식회사 휴대단말기의 왕복지연시간 측정장치 및 방법
JP4763772B2 (ja) * 2005-03-14 2011-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サービス差別型無線ネットワークでのQoSの測定及び監視
US9131407B2 (en) 2005-03-14 2015-09-08 Koninklijke Philips N.V. System and method to measure delay for QoS monitoring in WLAN 802.11 networks
JP2008533900A (ja) * 2005-03-14 2008-08-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ サービス差別型無線ネットワークでのQoSの測定及び監視
JP2009505460A (ja) * 2005-08-09 2009-02-05 華為技術有限公司 ネットワーク通信の状態を検出する方法およびサーバ
JP2007097099A (ja) * 2005-09-30 2007-04-12 Hitachi Kokusai Electric Inc データ伝送装置
JPWO2008041434A1 (ja) * 2006-10-02 2010-02-04 パナソニック株式会社 流量制御方法、ならびにそれに使用する送信端末、受信端末、およびパケット転送システム
US8031608B2 (en) 2006-10-02 2011-10-04 Panasonic Corporation Flow control method, transmitting terminal device used in same, receiving terminal device and packet transfer system
JP5025655B2 (ja) * 2006-10-02 2012-09-12 パナソニック株式会社 流量制御方法、ならびにそれに使用する送信端末およびパケット転送システム
WO2008041434A1 (fr) * 2006-10-02 2008-04-10 Panasonic Corporation Procédé de commande de flux, dispositif de terminal émetteur utilisé dans celui-ci, dispositif de terminal récepteur et système de transfert par paquets
JP2010245750A (ja) * 2009-04-03 2010-10-28 Nippon Hoso Kyokai <Nhk> レート制御装置、送信装置、受信装置及びレート制御プログラム
US9544249B2 (en) 2014-02-05 2017-01-10 Fujitsu Limited Apparatus and method for aligning order of received packets
JP7092913B1 (ja) 2021-03-24 2022-06-28 アンリツ株式会社 ネットワーク測定装置とそのフレームロス測定方法
JP2022148132A (ja) * 2021-03-24 2022-10-06 アンリツ株式会社 ネットワーク測定装置とそのフレームロス測定方法

Similar Documents

Publication Publication Date Title
US8171123B2 (en) Network bandwidth detection and distribution
EP2874116A1 (en) Communication method between content requester and content provider for providing content and real-time streaming content in content name-based content centric network
JPWO2008117379A1 (ja) パケットの伝送品質計測方法、パケット送信計測装置、およびパケット受信計測装置
JP7327730B2 (ja) パケット処理方法および装置
EP1806870B1 (en) Method for providing data and data transmission system
Bui et al. A markovian approach to multipath data transfer in overlay networks
US11102273B2 (en) Uplink performance management
JP2008005455A (ja) 通信端末装置および再送要求方法
EP2062399A1 (en) Method and apparatus for transmitting transport stream packets
CN114071168B (zh) 混流直播流调度方法及装置
US20230300051A1 (en) In-band Edge-to-Edge Round-Trip Time Measurement
US20240022638A1 (en) Systems and methods for processing heartbeat packets in switching hardware
JP2004135065A (ja) 送信端末、受信端末及びデータ伝送システム
JP4761078B2 (ja) マルチキャストノード装置とマルチキャスト転送方法ならびにプログラム
JP4798495B2 (ja) 映像配信品質測定システム、装置および方法
KR100768631B1 (ko) 컨텐트 전달망에서 컨텐트 레벨의 컨텐트 루팅 방법 및 장치
CN105657570B (zh) 缓存平台的资源传输方法及装置
US11677651B2 (en) UDPING—continuous one-way monitoring of multiple network links
JP2007324707A (ja) 再現装置、パケット転送装置、及びプログラム
JP2011150382A (ja) コンテンツ配信システムと方法およびプログラム
JP2002077257A (ja) ストリーム配信ネットワークサービス方法およびシステム
JP2012124647A (ja) 通信システム及びノード装置
JP2012186577A (ja) データ配信システム,ノード,及びデータ配信方法
JP2010268368A (ja) ネットワークにおけるサーバ選択方法,選択システム及びプログラム
JP6348377B2 (ja) コンテンツ配信ネットワークの通信装置及びプログラム