JP3731665B2 - データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム - Google Patents
データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム Download PDFInfo
- Publication number
- JP3731665B2 JP3731665B2 JP2003088612A JP2003088612A JP3731665B2 JP 3731665 B2 JP3731665 B2 JP 3731665B2 JP 2003088612 A JP2003088612 A JP 2003088612A JP 2003088612 A JP2003088612 A JP 2003088612A JP 3731665 B2 JP3731665 B2 JP 3731665B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission rate
- information processing
- rate
- processing apparatus
- maximum
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関し、特に、ネットワークを介して、安定した品質の画像を提供できるようにしたデータ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関する。
【0002】
【従来の技術】
RTP(Real Time Transport Protocol)/RTCP(RTP Control Protocol)を用いたデータの送受信における適応的レート制御方法としては、例えば、データ受信側の装置が、データ送信側の装置に対してパケット損失率やジッタなどを通知するRTCPのRR(Receiver Report)パケットに記載されている情報を基に、送信側の装置でデータの伝送状態を推定し、送信レートを制御するという方法が提案されている(例えば、特許文献1参照)。
【0003】
また、データ送信側の装置が、パケットの到着遅延からネットワークの輻輳を検出し、検出結果を基に、データ送信レートを制御するという方法が提案されている(例えば、特許文献2参照)。
【0004】
さらに、送信側のレートを上下させながら、最適なレートを探し出すという方法が提案されている(例えば、特許文献3参照)。
【0005】
この方法も、基本的には特許文献2に示される場合と同じ様に、RTCPのSR(Sender Report)パケットおよびRRパケットを用いて、受信側からの情報を基に、送信側でパケットの伝送遅延(RTTを基準とした遅延)を検出することにより、送信レートを制御するものである。
【0006】
更に、データ受信側で、ネットワークの伝送帯域を推定し、これに基づいて、データ受信側がデータ送信側に対して、伝送制御指示を送信することにより、データ伝送レートを制御する技術がある(例えば、特許文献4参照)。
【0007】
【特許文献1】
特開平2002−204278号公報
【特許文献2】
特開平11−308271号公報
【特許文献3】
特開平11−341064号公報
【特許文献4】
特開2000−115245号公報
【0008】
【発明が解決しようとする課題】
しかしながら、上記したいずれの方法も、基本的に送信レートを上昇させ、ネットワークの輻輳が発生した時点で送信レートを下げ、その後、しばらくしたら、再び送信レートを上げることで、動的に伝送レートを制御するものである。しかしその結果、ネットワークが輻輳状態になるまで送信レートを上げてしまうため、定期的に輻輳状態になり、ネットワークを介して画像データを送受信している場合、提供される画像の品質が劣化してしまう課題があった。
【0009】
本発明はこのような状況に鑑みてなされたものであり、安定した品質のコンテンツを提供することができるようにするものである。
【0010】
【課題を解決するための手段】
本発明のデータ通信システムは、ネットワークを介してデータを送信する第1の情報処理装置と、ネットワークを介して、第1の情報処理装置からデータを受信する第2の情報処理装置からなるデータ通信システムであって、第1の情報処理装置はアクセスリンクの上り伝送レートを計測し、第2の情報処理装置はデータを受信する受信手段を備えるとともに、ネットワークの輻輳の有無を判定し、第1の情報処理装置から伝送レートに関する情報を取得し、下りの伝送レートを計測し、伝送レートに関する情報として取得された、第1の情報処理装置の上りの伝送レートと、計測した自分自身の下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定し、伝送レートに関する情報として取得された、第1の情報処理装置の送信能力の最大のビットレートと、受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択したビットレートと経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定し、設定された最大の基準値以下の範囲において、輻輳の有無の判定結果に基づいて、第1の情報処理装置との間におけるデータの伝送レートを設定し、設定した伝送レートを第1の情報処理装置に通知することにより、伝送レートの制御を行い、第1の情報処理装置は、第2の情報処理装置から通知されてきた伝送レートでデータを第2の情報処理装置に送信することを特徴とする。
【0011】
本発明の情報処理装置は、データを受信する受信手段と、ネットワークの輻輳の有無を判定する輻輳判定手段と、他の情報処理装置から伝送レートに関する情報を取得する取得手段と、下りの伝送レートを計測する計測手段と、取得手段により伝送レートに関する情報として取得された、他の情報処理装置の上りの伝送レートと、計測手段によって計測した自分自身の下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定手段と、取得手段により伝送レートに関する情報として取得された、他の情報処理装置の送信能力の最大のビットレートと、受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択したビットレートと経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定手段と、基準値設定手段により設定された最大の基準値以下の範囲において、輻輳判定手段による輻輳の有無の判定結果に基づいて、他の情報処理装置との間におけるデータの伝送レートを設定し、設定した伝送レートを他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御手段とを備えることを特徴とする。
【0016】
前記基準値設定手段は、伝送レートの最小の基準値をさらに設定し、伝送レート制御手段は、基準値設定手段により設定された最大の基準値と最小の基準値の範囲内において、他の情報処理装置との間におけるデータの伝送レートを設定するようにすることができる。
【0017】
前記伝送レート制御手段は、伝送レートを下げる場合、最大の基準値に対する割合に基づいて、伝送レートの下げ幅を変化させるようにすることができる。
【0018】
前記伝送レート制御手段は、最大の基準値に達するまでの時間が一定となるように、伝送レートを上げるようにすることができる。
【0019】
本発明の情報処理方法は、ネットワークの輻輳の有無を判定する輻輳判定ステップと、他の情報処理装置から伝送レートに関する情報を取得する取得ステップと、下りの伝送レートを計測する計測ステップと、取得ステップの処理により伝送レートに関する情報として取得された、他の情報処理装置の上りの伝送レートと、計測ステップの処理によって計測した自分自身の下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定ステップと、取得ステップの処理により伝送レートに関する情報として取得された、他の情報処理装置の送信能力の最大のビットレートと、受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択したビットレートと経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定ステップと、基準値設定ステップの処理により設定された最大の基準値以下の範囲において、輻輳判定ステップの処理による輻輳の有無の判定結果に基づいて、他の情報処理装置との間におけるデータの伝送レートを設定し、設定した伝送レートを他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御ステップとを含むことを特徴とする。
【0020】
本発明の記録媒体に記録されているプログラムは、ネットワークの輻輳の有無を判定する輻輳判定ステップと、他の情報処理装置から伝送レートに関する情報を取得する取得ステップと、下りの伝送レートを計測する計測ステップと、取得ステップの処理により伝送レートに関する情報として取得された、他の情報処理装置の上りの伝送レートと、計測ステップの処理によって計測した自分自身の下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定ステップと、取得ステップの処理により伝送レートに関する情報として取得された、他の情報処理装置の送信能力の最大のビットレートと、受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択したビットレートと経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定ステップと、基準値設定ステップの処理により設定された最大の基準値以下の範囲において、輻輳判定ステップの処理による輻輳の有無の判定結果に基づいて、他の情報処理装置との間におけるデータの伝送レートを設定し、設定した伝送レートを他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御ステップとを含むことを特徴とする。
【0021】
本発明のプログラムは、ネットワークの輻輳の有無を判定する輻輳判定ステップと、他の情報処理装置から伝送レートに関する情報を取得する取得ステップと、下りの伝送レートを計測する計測ステップと、取得ステップの処理により伝送レートに関する情報として取得された、他の情報処理装置の上りの伝送レートと、計測ステップの処理によって計測した自分自身の下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定ステップと、取得ステップの処理により伝送レートに関する情報として取得された、他の情報処理装置の送信能力の最大のビットレートと、受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択したビットレートと経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定ステップと、基準値設定ステップの処理により設定された最大の基準値以下の範囲において、輻輳判定ステップの処理による輻輳の有無の判定結果に基づいて、他の情報処理装置との間におけるデータの伝送レートを設定し、設定した伝送レートを他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0022】
本発明のデータ通信システムにおいては、第1の情報処理装置でアクセスリンクの上り伝送レートが計測され、第2の情報処理装置でネットワークの輻輳の有無が判定され、第1の情報処理装置から伝送レートに関する情報が取得され、下りの伝送レートが計測され、伝送レートに関する情報として取得された、第1の情報処理装置の上りの伝送レートと、計測された自分自身の下りの伝送レートのうち、小さい方に基づいて、経路最大レートが決定され、伝送レートに関する情報として取得された、第1の情報処理装置の送信能力の最大のビットレートと、受信手段の受信能力の最大のビットレートのうちの小さい方が選択され、選択されたビットレートと経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値が設定され、設定された最大の基準値以下の範囲において、輻輳の有無の判定結果に基づいて、第1の情報処理装置との間におけるデータの伝送レートが設定され、設定された伝送レートが第1の情報処理装置に通知されることにより、伝送レートの制御が行われ、第1の情報処理装置で、第2の情報処理装置から通知されてきた伝送レートでデータが第2の情報処理装置に送信される。
【0023】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、ネットワークの輻輳の有無が判定され、他の情報処理装置から伝送レートに関する情報が取得され、下りの伝送レートが計測され、伝送レートに関する情報として取得された、他の情報処理装置の上りの伝送レートと、計測された自分自身の下りの伝送レートのうち、小さい方に基づいて、経路最大レートが決定され、伝送レートに関する情報として取得された、他の情報処理装置の送信能力の最大のビットレートと、受信手段の受信能力の最大のビットレートのうちの小さい方が選択され、選択されたビットレートと経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値が設定され、設定された最大の基準値以下の範囲において、輻輳の有無の判定結果に基づいて、他の情報処理装置との間におけるデータの伝送レートが設定され、設定された伝送レートが他の情報処理装置に通知されることにより、伝送レートの制御が行われる。
【0038】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。
【0039】
図1は、本発明を適用した通信システムを説明する図である。
【0040】
図1においては、情報処理装置1−1、情報処理装置1−2、および計測サーバ4が、それぞれネットワークとしてのインターネット3に接続されている。
【0041】
情報処理装置1−1は、アクセスリンク2−1を介してインターネット3に接続されており、情報処理装置1−2は、アクセスリンク2−2を介してインターネット3に接続されている。アクセスリンク2−1およびアクセスリンク2−2は、ISDN(Integrated Service Digital Network)、ADSL(Asymmetric Digital
Subscriber Line)等とされる。
【0042】
基幹リンク5を介してインターネット3に接続されている計測サーバ4は、情報処理装置1−1,1−2がそれぞれ対応するアクセスリンク2−1,2−2のリンクスピード(伝送レート)を計測するためのサーバである。
【0043】
情報処理装置1−1は、上りの伝送レートを計測するとき、所定のサイズのパケット11を、アクセスリンク2−1からインターネット3を介して計測サーバ4に送信する。情報処理装置1−1は、パケット11を計測サーバ4に送信するときの速度に基づき、上りの伝送レートを求める。また、情報処理装置1−2は、下りの伝送レートを計測するとき、計測サーバ4から所定のサイズのパケット21を、インターネット3およびアクセスリンク2−2を介して受信する。情報処理装置1−2は、データパケット21を計測サーバ4から受信するときの速度に基づき、下りの伝送レートを求める。
【0044】
情報処理装置1−2から情報処理装置1−1にデータを送信するときは、同様に、情報処理装置1−2の上りの速度と、情報処理装置1−1の下りの速度が計測される。
【0045】
以下、例えば、パーソナルコンピュータよりなる情報処理装置1−1と情報処理装置1−2を個々に区別する必要がない場合、単に情報処理装置1と称し、アクセスリンク2−1とアクセスリンク2−2を個々に区別する必要がない場合、単にアクセスリンク2と称する。
【0046】
図2は、情報処理装置1の機能的構成を示す機能ブロック図である。情報処理装置1は、データを送信する機能とデータを受信する機能を有している。
【0047】
情報処理装置1は、データ受信部41、データ再生部42、輻輳判定部43、モード設定部44、送信レート判定部45、送信レート設定部46、タイマ47、速度計測部48、データ送信部49、データ記録部50、経路最大レート決定部51、最大ビットレート設定部52、および最大値最小値決定部53により構成される。
【0048】
データ受信部41は、インターネット3(およびアクセスリンク2)を介してデータを受信する。受信されたデータは、データ再生部42、輻輳判定部43、送信レート設定部46、速度計測部48、データ記録部50、経路最大レート決定部51、または最大ビットレート設定部52に供給される。
【0049】
輻輳判定部43は、データ受信部41から受信したデータと、送信レート設定部46からの情報に基づいて、輻輳があるか否かを判定する。輻輳判定部43による判定結果は、モード設定部44と送信レート判定部45に供給される。
【0050】
モード設定部44は、輻輳判定部43による判定結果と、タイマ47により計時される時刻に基づいて、所定のモードを設定する。設定されるモード(状態)は、ホールド状態、アップ状態、およびダウン状態の3つの状態のいずれかである。設定されたモードは、送信レート判定部45に供給される。このモード(状態)の詳細は、図4を参照して後述する。
【0051】
送信レート判定部45は、輻輳判定部43の判定結果、モード設定部44により設定されたモード(状態)に基づいて、送信レートを判定する。例えば、いまの送信レートが、レート制御の最小値であるか否かを判定したり、いまの送信レートが、レート制御の最大値であるか否かを判定する。送信レート判定部45による送信レートの判定結果は、送信レート設定部46に供給される。
【0052】
このシステムの場合、送信レートは受信側で動的に制御される。そこで、送信レート設定部46は、自分自身が送信側である場合、他の情報処理装置(受信側の情報処理装置)により送信され、データ受信部41により受信された受信レートを調べ、現在の送信レートを設定する(送信レートと受信レートは同じになる)。設定された送信レートは、輻輳判定部43およびデータ送信部49に供給される。
【0053】
タイマ47は、計時動作を実行し、計時した時刻をモード設定部44、速度計測部48、および輻輳判定部43に出力する。速度計測部48は、タイマ47から取得した現在時刻と、データ受信部41が受信したデータ量に基づいて、下りの伝送レート(データを受信するときの伝送レート)を計測する。また、速度計測部48は、タイマ47から取得した現在時刻と、データ送信部49が送信しているデータ量に基づいて、上りの伝送レート(送信するときの伝送レート)を計測する。計測された速度は、経路最大レート決定部51に出力される。
【0054】
データ送信部49は、自分自身が送信側である場合、送信レート設定部46により設定された送信レートに基づいて、データ記録部50に記録されているコンテンツデータ(例えば、音声、画像、テキストデータ、または、これらを混合したデータ)を読み出し、ストリームデータとして、受信側の情報処理装置に送信する。また、データ送信部49は、上りの伝送レートを計測するとき、送信するデータの情報(データの量)を、速度計測部48に出力する。データ送信部49はさらに、自分自身が受信側である場合、経路最大レート決定部51により決定され、供給された経路の最大レートと、最大ビットレート設定部52により設定され、供給された最大ビットレートを、送信側の情報処理装置に送信する。
【0055】
自分自身が受信側である場合、データ記録部50は、データ受信部41により受信されたコンテンツデータを記録する。自分自身が受信側である場合、データ記録部50は、記録されているコンテンツデータを読み出して、データ送信部49に出力する。
【0056】
経路最大レート決定部51は、自分自身が受信側である場合、データ受信部41により受信された送信側の上りの伝送レートの情報、並びに速度計測部48により計測された速度(自分自身(受信側)の下りの伝送レート)に基づいて、経路の最大レートを決定する(図11を参照して後述する)。決定された経路の最大レートは、データ送信部49に出力されるとともに、最大値最小値決定部53に出力される。
【0057】
最大ビットレート設定部52は、データ受信部41により受信された送信側の最大ビットレートと自分自身の受信可能な最大ビットレートに基づいて、ストリームの最大ビットレートを設定し、設定した最大ビットレートを、データ送信部49と最大値最小値決定部53に出力する(図12を参照して後述する)。
【0058】
最大値最小値決定部53は、経路最大レート決定部51により決定された経路の最大レートと、最大ビットレート設定部52により設定された最大ビットレートに基づいて、ストリームの最大ビットレートと、最小ビットレートを決定する(図8を参照して後述する)。決定された最大ビットレートと最小ビットレートは、送信レート設定部46に出力される。
【0059】
以下、受信側の機器(例えば、情報処理装置1−2)が、送信側の機器(例えば、情報処理装置1−1)の伝送レートを設定する場合について説明する。
【0060】
図3は、送信側のレート制御処理を説明するフローチャートである。例えば、情報処理装置1−1が所定のデータ(データパケット)を、情報処理装置1−2に送信する場合、情報処理装置1−1が送信側となり、情報処理装置1−2が受信側となる。従って、図3の処理は、送信側の情報処理装置1−1により実行される。
【0061】
ステップS1において、情報処理装置1−1のデータ受信部41は、受信側の情報処理装置1−2から送信レートを受信したか否かを判定し、受信したと判定されるまで待機する。すなわち、このシステムでは送信レートは受信側で制御されるため、受信側の情報処理装置1−2から送信レートが送信されてくる(後述する図5のステップS49またはステップS53)ので、送信側の情報処理装置1−1のデータ受信部41は、インターネット3を介して、これを受信する。
【0062】
ステップS1において、送信レートを受信したと判定された場合、ステップS2において、送信レート設定部46は、送信レートを、データ受信部41が受信した値(送信レートの値)に設定する。
【0063】
ステップS3において、データ送信部49は、データ記録部50に記録されているコンテンツデータを読み出し、ステップS2の処理により設定された送信レートで、インターネット3を介して受信側の情報処理装置1−2に送信する。
【0064】
このように、送信側の情報処理装置1−1は、受信側の情報処理装置1−2から取得した送信レートに基づいて、送信レートを制御する。なお、いまの例の場合、送信側を情報処理装置1−1としたが、送信側を情報処理装置1−2とすることも、勿論可能である。その場合、図3の処理は、情報処理装置1−2が実行する。
【0065】
次に、受信側の装置における伝送レートの動的制御について説明する。このシステムの場合、モード設定部44は、図4に示されるように、3つのモード(状態)のいずれかにモード(状態)を遷移させることで、伝送レートを制御する。
【0066】
3つのモード(状態)とは、データ伝送レートを上げるように制御するUP状態(以下、アップ状態と称する)、データ伝送レートを下げるように制御するDown状態(以下、ダウン状態と称する)、および、データ伝送レートを変更しないように制御するHold状態(以下、ホールド状態と称する)である。
【0067】
制御のはじめにおいて、状態はホールド状態とされる。ステップS21において、予め設定されているHolding Time(以下、ホールディング時間と称する)が経過するまでホールド状態が保持される。ホールディング時間内にネットワークの輻輳が検知された場合、ステップS22において、状態はダウン状態に遷移され、ホールディング時間が経過した場合、ステップS23において、状態はアップ状態に遷移される。
【0068】
ダウン状態では、伝送レートが下げられる。伝送レートが予め設定された最小値となった場合、伝送レートは、最小値以下には下げられない。従って、実質的にはホールドされるが、状態はダウン状態のままとされる。ダウン状態でネットワークの輻輳があると判定された場合、ステップS24で、状態はそのままダウン状態とされる。ダウン状態において、ネットワークの輻輳がなくなったと判定された場合、ステップS25で、状態はダウン状態からホールド状態に遷移される。
【0069】
アップ状態においては、伝送レートが上げられる。アップ状態において、ネットワークに輻輳がないと判定された場合、ステップS26で、状態はアップ状態に保持される。アップ状態において、伝送レートが、予め設定されている最大ビットレートに達したと判定された場合、ステップS27において、ホールディング時間が無限大(∞)とされ、状態はホールド状態に遷移される。アップ状態において、ネットワークの輻輳が検知された場合、ステップS28で、状態はダウン状態に遷移される。
【0070】
このようにして、3つの状態に基づいて、データ伝送レートが制御されることにより、データ伝送レートは、そのときのデータ伝送路の条件により最適に制御される。
【0071】
以上の3つのモード(状態)による受信側のレート制御処理をフローチャートに示すと、図5のようになる。次に、この図5のフローチャートを参照して、受信側のレート制御について説明する。
【0072】
ステップS41において、受信側の情報処理装置1−2のモード設定部44は、状態をホールド状態に設定する。上述したように、ホールド状態では、データ伝送レートは、変更されない。モード設定部44は、また、タイマ47から現在時刻を取得する。
【0073】
ステップS42において、輻輳判定部43は、ネットワークの輻輳があるか否かを判定する。ステップS42において、輻輳がないと判定された場合、ステップS43において、モード設定部44は、ホールディング時間が経過したか否かを判定する。具体的には、モード設定部44は、タイマ47から現在時刻を取得し、取得した現在時刻と、ステップS41においてホールド状態を設定した時刻との差が、予め設定されているホールディング時間より大きいか否か(ホールディング時間が経過したか否か)を判定する。ステップS43において、ホールディング時間が経過していないと判定された場合、ステップS42に戻り、それ以降の処理が繰り返される。
【0074】
ステップS43において、ホールディング時間が経過したと判定された場合、ステップS44において、モード設定部44は、状態をアップ状態に設定する。上述したように、アップ状態では、データ伝送レートが上げられる。
【0075】
ステップS45において、輻輳判定部43は、ネットワークの輻輳があるか否かを判定する。
【0076】
ステップS45において、輻輳があると判定された場合、またはステップS42において、輻輳があると判定された場合、ステップS46において、モード設定部44は、状態をダウン状態に設定する。上述したように、ダウン状態では、データ伝送レートが下げられる。
【0077】
ステップS47において、送信レート判定部45は、送信レートが予め設定されている最小値か否かを判定する。送信レートが最小値ではない(最小値より大きい)と判定された場合、ステップS48において、送信レート設定部46は、送信レートを、その値が大きいほど、大きい変化幅となるように下げる。
【0078】
この送信レートを下げる場合の例を、図6を参照して説明する。図6において、横軸は、時刻tを表し、縦軸は、ビットレート(送信レート)を表す。また、RMは、最大ビットレートを表す。最大ビットレートの求め方は、図8のフローチャートを参照して後述する。図6の例の場合、ストリームAが、データ受信部41により受信されている。
【0079】
ストリームAは、ピーク点P1に達するまで、ホールド状態とアップ状態が繰り返される。ストリームAは、ピーク点P1において、ダウン状態とされる(ステップS46の処理)。送信レート設定部46は、ストリームAのピーク点P1が、最大ビットレートRMに近いため、ストリームAのビットレートを、変化幅D2だけ下げる。
【0080】
一方、データ受信部41が受信しているのが、図6に示されるような伝送レートが低いストリームBである場合、ピーク点P12からダウンされるとき、ピーク点P12の値は、最大ビットレートRMより充分小さいので、より小さい変化幅D12だけ下げられる。
【0081】
具体的には、ピーク点P1におけるストリームAのビットレートの変化幅D2と、ピーク点P12におけるストリームBのビットレートの変化幅D12は、D2>D12となるように設定される。例えば、送信レートが最大ビットレートRMに近いストリームAは、送信レートがピーク点P1の70%に下げられる(30%だけ下げられる)のに対し、ストリームBは、送信レートがピーク点P12の85%に下げられる。
【0082】
従って、図6に示されるように、ストリームAの、ピーク点P1より小さい値のピーク点P3における変化幅D4は、変化幅D2より小さい幅とされる(D2>D4)。ストリームBにおいても同様に、ピーク点P12より大きいピーク点P11における変化幅D14は、変化幅D12より大きい値とされる。
【0083】
このように、最大ビットレートに対する受信レートの割合が高いストリームほど、大きな割合でビットレートが下げられる。
【0084】
図5に戻って、ステップS49において、データ送信部49は、ステップS48の処理により下げられた(設定された)送信レートを、インターネット3を介して送信側に通知する。いまの例の場合、情報処理装置1−1が送信側とされるので、情報処理装置1−1は、上述した図3の処理により、送信レートを受信し、設定する。
【0085】
ステップS47において、送信レートがレート制御の最小値であると判定された場合、またはステップS49の後、処理はステップS50に進み、輻輳判定部43は、ネットワークの輻輳があるか否かを判定する。ステップS50において、輻輳があると判定された場合、処理はステップS47に戻り、それ以降の処理が繰り返される。すなわち、再び、ステップS47において、送信レートがレート制御の最小値でないと判定された場合、ステップS48において、さらに、送信レートが下げられる。
【0086】
ステップS50において、輻輳がないと判定された場合、処理はステップS41に戻り、それ以降の処理が繰り返される。すなわち、再び、ホールド状態とされ(ステップS41)、輻輳の有無とホールディング時間に基づいて、アップ状態に設定される(ステップS44)。
【0087】
ステップS45において、アップ状態で輻輳がないと判定された場合、ステップS51において、送信レート判定部45は、現在の送信レートが最大値であるか否かを判定する。送信レートがレート制御の最大値でないと判定された場合、ステップS52において、送信レート設定部46は、送信レートを、その値が大きいほど、小さい変化幅になるように上げる。
【0088】
具体的には、図6の例の場合、最大値RMに近いストリームAのビットレートがピーク点P2からピーク点P1まで上げられるときの変化幅D1は、最大値RMより充分小さいストリームBのビットレートがピーク点P14からピーク点P12まで上げられるときの変化幅D11より小さい。
【0089】
同様に、ストリームAのピーク点P4からピーク点P3までの変化幅D3は、ストリームBのピーク点P13からピーク点P11までの変化幅D13より小さい。
【0090】
ステップS53において、データ送信部49は、送信レート設定部46により上げられた(設定された)送信レートを、インターネット3を介して送信側に通知する。これに対し、送信側の情報処理装置1−1は、上述した図3に示されるように、送信レートを受信し、設定する。ステップS53の処理の後、処理はステップS45に進み、同様の処理が繰り返される。
【0091】
ステップS51において、送信レートが最大値であると判定された場合、ステップS54において、輻輳判定部43は、ホールディング時間を無限大に設定する。その後、処理はステップS41に戻り、それ以降の処理が繰り返される。これにより、送信レートが最大値を超えないように制御することができる。
【0092】
図5の処理により、受信側において、ネットワークの状況に応じて、動的に送信レートを制御することができる。
【0093】
このように、図5の処理の繰り返しにより、ストリームAの送信レートと、ストリームBの送信レートが相互に近づく(一致する)ようになる。
【0094】
なお、ステップS52の送信レートを上げる処理は、図7に示されるようにすることもできる。
【0095】
図7に示される例では、送信レート設定部46は、伝送レートが大きいストリームCも、伝送レートが小さいストリームDも、最大ビットレートRMに達するまでの時間Tが一定(固定)となるように、送信レートを上げる。これにより、ホールド状態(ステップS41)とアップ状態(ステップS44)の繰り返しにより時間Tが経過した場合に、ストリームCとストリームDの送信レートを最大ビットレートRMに設定することができる。
【0096】
また、伝送路の伝送容量に余裕があったとしても、伝送レートを、予め設定されている最大値RMより大きい値に設定しないようにすることで、安定した品質のコンテンツを提供することが可能となる。
【0097】
このように、このシステムでは、伝送レートに最大値と最小値が設定される。次に、図8乃至図12のフローチャートを参照して、この最大値と最小値を決定する処理を説明する。この処理は、受信側の情報処理装置1−2において(コンテンツデータの受信処理を開始する直前に)行なわれる。
【0098】
ステップS71において、速度計測部48は、下りの伝送レートを計測する。下りの伝送レートは、例えば、図9のフローチャートに示される処理により求められる。
【0099】
ステップS101において、データ送信部49から計測サーバ4にアクセスし、計測用パケットの送信を要求する。この要求に基づいて、計測サーバ4は、計測用パケット21を送信してくる。この計測用パケット21は、基幹リンク5、インターネット3、アクセスリンク2−2を介して伝送されてくる。
【0100】
ステップS102において、データ受信部41は、計測サーバ4から送信された計測用パケット21を受信する。この所定のデータは、伝送レートを計測するためのものであるので、決まったデータ量のものであればよい。
【0101】
ステップS103において、速度計測部48は、データ受信部41が、最初のデータを受信してから、Kバイト目(K:アクセスリンクの速度にあわせた適当なサイズのデータ)のデータを受信するまでの時間Tdを、タイマ47により計時される時刻に基づいて計測する。
【0102】
ステップS104において、速度計測部48は、「K/Td」を演算し、これを下りの伝送レートVdとする(すなわち、「Vd=K/Td」を演算する)。
【0103】
計測サーバ4は、計測機能を実現するために、充分広い(少なくともアクセスリンク2−1,2−2より広い)帯域の基幹リンク5に接続されている。従って、この伝送レートVdの値は、基幹リンク5とアクセスリンク2−2よりなる伝送路のうちのボトルネックとしてのアクセスリンク2−2の速度となる。
【0104】
図9の処理により、情報処理装置1−2の下りの伝送レートVdが求められる。
【0105】
一方、送信側である情報処理装置1−1は、上りの伝送レートを予め計測する。以下に、上りの伝送レート計測処理を、図10のフローチャートを参照して説明する。
【0106】
ステップS121において、情報処理装置1−1のデータ送信部49は、アクセスリンク2−1とインターネット3を介して、計測サーバ4にアクセスし、計測を要求し、計測用パケット11を送信する。このパケットは、伝送レートを計測するためのものであるので、データ量が明らかなものであればよい。
【0107】
ステップS122において、速度計測部48は、データ送信部49が、最初のデータを送信してから、Lバイト目(L:アクセスリンクの速度にあわせた適当なサイズのデータ)のデータを送信するまでの時間Tuを、タイマ47により計時される時刻に基づいて計測する。
【0108】
ステップS123において、速度計測部48は、「L/Tu」を演算し、これを情報処理装置1−1の上りの伝送レートVuとする(すなわち、「Vu=L/Tu」を演算する)。
【0109】
ステップS124において、データ送信部49は、速度計測部48により演算された伝送レートVuを、受信側(情報処理装置1−2)からの要求に応じて送信する。
【0110】
アクセスリンク2−1に較べて基幹リンク5は充分広い帯域を有するので、伝送レートVuは、アクセスリンク2−1と基幹リンク5よりなる伝送路のうちのボトルネックとしてのアクセスリンク2−1の速度ということになる。
【0111】
図10の処理により、上りの伝送レートVuが求められ、受信側からの要求に応じて、送信される。
【0112】
図8に戻って、ステップS72において、受信側の情報処理装置1−2の経路最大レート決定部51は、経路最大レートを決定する。経路最大レートは、例えば、図11に示されるような処理により決定される。
【0113】
ステップS141において、データ送信部49は、送信側に上りの伝送レートの通知を要求する。いまの場合、データ送信部49は、情報処理装置1−1に上りの伝送レートの通知を要求する。情報処理装置1−1は、上述した図10のステップS123の処理により、上りの伝送レートVuを求めており、情報処理装置1−2のこの要求(ステップS141の要求)に対応して、上りの伝送レートVuを送信してくる(ステップS124の処理)。
【0114】
そこで、ステップS142において、情報処理装置1−2のデータ受信部41は、情報処理装置1−1(相手先)から送信されてきた上りの伝送レートVuの通知を受信する。上りの伝送レートVuは、経路最大レート決定部51に出力される。
【0115】
ステップS143において、経路最大レート決定部51は、自分自身の下りの伝送レートVd(図9の処理により求めた、情報処理装置1−2の下りの伝送レートVd)と、相手側(情報処理装置1−1)の上りの伝送レートVuのうち、小さい方に基づいて、経路最大レートを求める。例えば、下りの伝送レートVdが1200Kbpsであり、上りの伝送レートVuが500Kbpsである場合、小さいレートは、上りの伝送レートVuである。経路最大レート決定部51は、この上りの伝送レートVuを、例えば0.8倍する(1より小さい、所定の係数を乗算する)ことにより、経路最大レートを求める。これは、経路最大レートを実際のレートより少し低くすることで、ネットワークの輻輳が起らないようにするためである。この場合、400Kbps(=500Kbps×0.8)が、経路最大レートとなる。
【0116】
図11の処理により、経路最大レートが求められる。
【0117】
図8に戻って、ステップS73において、最大ビットレート設定部52は、処理能力により規定される伝送レートとしてのストリームの最大ビットレートを獲得する。ストリームの最大ビットレートの獲得は、例えば、図12のフローチャートに示される処理により行なわれる。
【0118】
ステップS161において、データ送信部49は、送信側に、送信のストリームの最大ビットレートの通知を要求する。いまの例の場合、送信側である情報処理装置1−1に、送信ストリームの最大ビットレートの通知が要求される。送信ストリームの最大ビットレートは、例えば、ストリームの送信側(いまの例の場合、情報処理装置1−1)のデータ送信部49の処理能力(送信能力)によって異なる。情報処理装置1−1は、この要求(ステップS161の処理)に対応して、自分自身の能力に対応する送信のストリームの最大ビットレートを送信する。
【0119】
そこで、ステップS162において、情報処理装置1−2のデータ受信部41は、送信側(いまの例の場合、情報処理装置1−1)から送信のストリームの最大ビットレートの通知を受信する。
【0120】
ステップS163において、情報処理装置1−2の最大ビットレート設定部52は、データ受信部41の受信可能なストリームの最大ビットレートと、送信側(いまの例の場合、情報処理装置1−1)の送信のストリームの最大ビットレートのうち、小さい方を、下りのストリームの最大ビットレートとする。すなわち、受信のストリームの最大ビットレートは、ストリームを受信する側(いまの例の場合、情報処理装置1−2)のデータ受信部41の能力によって異なる。最大ビットレート設定部52は、このデータ受信部41の最大ビットレートと、送信側である情報処理装置1−1の送信のストリームの最大ビットレートのうち、小さい方を、下りのストリームの最大ビットレートとする。
【0121】
これにより、ストリームの最大ビットレート(送受信する装置の処理能力により規定される伝送レート)が獲得される。
【0122】
図8に戻って、ステップS74において、最大値最小値決定部53は、経路最大レート決定部51により決定された経路最大レート(図11の処理により決定された経路最大レート)と、最大ビットレート設定部52により獲得されたストリームの最大ビットレート(図12の処理により決定されたストリームの最大ビットレート)の大きさを比較し、経路最大レートが、最大ビットレートより小さいか否かを判定する(経路最大レート<最大ビットレートであるか否かを判定する)。
【0123】
ステップS74において、経路最大レートが、最大ビットレートより小さいと判定された場合、ステップS75において、最大値最小値決定部53は、最大ビットレートRMに、経路最大レートを設定する。また、ステップS74において、経路最大レートが、最大ビットレートより小さくない(すなわち、経路最大レートが、最大ビットレートより大きい)と判定された場合、ステップS76において、最大値最小値決定部53は、最大ビットレートRMに、ストリームの最大ビットレートを設定する。
【0124】
ステップS75またはステップS76の処理の後(すなわち、最大ビットレートが設定された後)、ステップS77において、最大値最小値決定部53は、最大ビットレートRMに基づいて、最小ビットレートRLを決定する。最小ビットレートRLは、ストリームに依存するが、例えば、最大値(最大ビットレートRM)の1/5倍とされる。すなわち、「RL=RM×1/5」が演算される。なお、この倍率は、1/5倍に限らず、他の倍率としてもよい。
【0125】
図8乃至図12の処理により、最大ビットレートRMと最小ビットレートRLが決定される。これらの値が、上述した図5のステップS47,S51で使用される。
【0126】
以上の処理により、図13に示されるようなビットレートの伝送レートでストリームが伝送される。
【0127】
図13の例の場合、時刻t0において伝送レートがアップ状態とされ、ストリーム251のビットレートは、最大ビットレートRMまで上げられる(例えば、図5のステップS52)。時刻t1において、ホールド状態とされ、ストリーム251のビットレートは、一定に保たれる(例えば、図5のステップS51において、送信レートが最大値になったと判定されたため)。時刻t2において、ストリーム251以外に、ストリーム252が伝送されるようになり、いずれの伝送レートもダウン状態とされ、ストリーム251とストリーム252のビットレートは、下げられる。これは、ストリーム252が、伝送され始め、輻輳が検出されたためである(例えば、図5のステップS42において、輻輳があると判定されたためである)。
【0128】
時刻t3において、状態はホールド状態とされ、ストリーム251とストリーム252のビットレートは、一定に保たれる(例えば、図5のステップS41)。時刻t4において、状態はアップ状態とされ、ストリーム251とストリーム252のビットレートは、上げられる。時刻t5において、状態はダウン状態とされ、ストリーム251とストリーム252のビットレートは、下げられる。時刻t6において、状態はホールド状態とされ、ストリーム251とストリーム252のビットレートは、一定に保たれる。
【0129】
その後、ストリーム252の伝送が終了し、ホールディング時間が経過した後(ストリーム252の終了後、ホールディング時間が経過したとき)(例えば、図5のステップS43において、YESとされたとき)、時刻t7において、状態はアップ状態とされる(例えば、図5のステップS44)。その後、送信レートがレート制御の最大値(RM)となったため、時刻t8において、ホールド状態とされる。
【0130】
このように、ストリームの伝送レートが最大値と最小値の範囲内において、動的に制御される。
【0131】
これにより、広い帯域を必要とする装置と、狭い帯域でよい装置に、図14に示されるように、的確に帯域が割り当てられる。図14の例の場合、ストリーム261のレート制御の最大値が、ストリーム262のレート制御の最大値より小さい、すなわち、ストリーム261の帯域は狭い帯域でよいのに対し、ストリーム262の帯域は広い帯域を必要とする。
【0132】
図6の例の場合、ストリームAの最大ビットレートRMとストリームBの最大ビットレートは、同一となっている。このことは、図8乃至図12の処理により求められた最大ビットレートRMが、ストリームAとストリームBで等しくなったことを表わしている。しかしながら、最大ビットレートRMがストリームAとストリームBで異なる場合も勿論ある(図14の例が、これに該当する)。その場合には、図14に示されるように、それぞれの最大ビットレートRMに基づいて、帯域が配分される。
【0133】
これにより、ストリーム261の帯域D51より、ストリーム262の帯域D52が広く割り当てられるので、広い帯域を必要とするストリーム262の画質と、狭い帯域を必要とするストリーム261の画質は、ほぼ均等の画質となる。すなわち、広い帯域を必要とするストリーム262の画質が大幅に低下するのを防ぐことができる。
【0134】
この点、図15に示されるように、広い帯域を必要とする装置と、狭い帯域でよい装置に、同じ幅の帯域が割り当てられてしまうと、ストリーム271は、必要以上に帯域を占有するのに対し(それによって画質がより向上する訳でもない)、広い帯域を必要とするストリーム272の画質が大幅に低下してしまう。
【0135】
本実施の形態の場合、このような広い帯域を必要とするストリームの画質が、大幅に低下するのを防ぐことができる。
【0136】
なお、図5のステップS42、ステップS45、またはステップS50の処理における、輻輳の検出であるが、ここでは特にそれを限定しない。
【0137】
一般的にネットワークの輻輳の検出では、パケットロスや、送信側と受信側のRTT(Round Trip Time)等が用いられる。この例では、データ受信部でパケットの番号(RTPのシーケンスナンバ)を輻輳判定部43に絶えず送ることで、輻輳判定部でパケットロスを検出する。輻輳判定部43からは、一定時間に閾値以上のパケットロスが発生した場合、モード設定部44に輻輳検出信号が出力される。図5のステップS42、ステップS45、およびステップS50の輻輳判定処理は、この輻輳検出信号に基づいて行なわれる。
【0138】
以上の処理により、送信側の情報処理装置1−1は、受信した送信レートに基づいた送信レートで、受信側の情報処理装置1−2にデータを送信することができる。
【0139】
情報処理装置1−2が送信側となり、情報処理装置1−1が受信側となる場合にも、立場を変更するだけで、同様の処理が行なわれる。
【0140】
また、動的レート制御の最大ビットレートを決めることにより、最大ビットレートに達すると、送信レートの変更を行なわない(アップ状態からホールド状態となる)ので、最大ビットレート以上の空き帯域がある場合でも、送信レートが安定し、パケットロスやネットワーク遅延が長くなるのを防ぐことができる。
【0141】
さらに、動的レート制御の最小ビットレートを決めることにより、最小ビットレート以下に送信レートを下げないので、著しく送信レートが下がるのを防ぐことができる。
【0142】
また、受信ビットレートの最大ビットレートの割合に基づいて、送信レートを下げることにより、最大ビットレートが同じストリームの送信レートを、ほぼ同じレートに安定させることができるとともに、最大ビットレートが異なるストリームは均等な画質劣化で帯域が配分されるようにすることができる。
【0143】
さらに、最大ビットレートに達する時間を固定(例えば、図7に示されるように)とすることにより、最大ビットレートが同じストリームを、より迅速に、同じ帯域に安定させることができる。
【0144】
また、データ送信側の装置とデータ受信側の装置が、ネットワークの状況に応じた伝送レートで情報を授受することができる。
【0145】
さらに、データ受信側の装置が、ネットワークの状況(輻輳、レート制御の最大値、最小値、およびホールディング時間等)に応じて、伝送レートを設定することができる。
【0146】
以上においては、情報処理装置1を、送信と受信の両方ができる装置としたが、送信と受信の一方のみができるように構成してもよい。また、伝送レートを受信側で制御するようにしたが、送信側で制御するようにしてもよい。この場合、送信側が速度を決定し、決定した速度でデータを送信する。
【0147】
さらに、上りと下りの伝送レートの計測を、情報処理装置1と計測サーバ4の間で行なうようにしたが(図9と図10)、計測サーバ4を使用せずに、送信側の情報処理装置1−1と受信側の情報処理装置1−2の間で、直接計測するようにしてもよい。
【0148】
また、ネットワークとしては、インターネット以外にWAN(Wide Area Network)、LAN(Local Area Network)、その他の各種のネットワークを利用することができる。
【0149】
上述した一連の処理は、ソフトウェアにより実行することもできる。この場合情報処理装置1は、図16に示されるように構成される。この情報処理装置1のCPU(Central Processing Unit)341は、ROM(Read Only Memory)342に記憶されているプログラム、またはHDD(Hard Disc Drive)348から、RAM(Random Access Memory)343にロードされたプログラムに従って、上述したような各種の処理を実行する。RAM343にはまた、CPU341が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0150】
CPU341、ROM342、およびRAM343は、内部バス344を介して相互に接続されている。この内部バス344にはまた、入出力インタフェース345も接続されている。
【0151】
入出力インタフェース345には、キーボード、マウスなどよりなる入力部346、CRT(Cathode Ray Tube)、およびLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部347、ハードディスクにより構成されるHDD348、モデム、ターミナルアダプタなどより構成されるネットワークインターフェース349が接続されている。ネットワークインターフェース349は、例えば、インターネット3などのネットワークを介しての通信処理を行う。
【0152】
入出力インタフェース345にはまた、必要に応じてドライブ351が接続され、磁気ディスク401、光ディスク402、光磁気ディスク403、または、半導体メモリ404などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてHDD348にインストールされる。
【0153】
このプログラムを提供する記録媒体は、図16に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク401(フレキシブルディスクを含む)、光ディスク402(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク403(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ404などよりなるパッケージメディアなどにより構成される。
【0154】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0155】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0156】
【発明の効果】
以上の如く、第1の本発明によれば、2つの装置において、データを送受信することができる。特に、安定した品質のコンテンツを送受信可能なシステムを実現することができる。また、送信側の上りの伝送レートと受信側の下りの伝送レートに基づいて、伝送レートを決定することができる。
【0157】
第2の本発明によれば、データを送信または受信することができる。特に、安定した品質のコンテンツを送信または受信することができる。また、個々のコンテンツに適した伝送レートでコンテンツを提供することができる。
【図面の簡単な説明】
【図1】本発明を適用した通信システムを説明する図である。
【図2】図1の情報処理装置の機能的構成を示すブロック図である。
【図3】送信側のレート制御処理を説明するフローチャートである。
【図4】状態遷移について説明する図である。
【図5】受信側のレート制御処理を説明するフローチャートである。
【図6】レートの変化の例を説明する図である。
【図7】レートの変化の他の例を説明する図である。
【図8】最大値最小値決定処理を説明するフローチャートである。
【図9】下りの伝送レート計測処理を説明するフローチャートである。
【図10】上りの伝送レート計測処理を説明するフローチャートである。
【図11】経路最大レートの決定処理を説明するフローチャートである。
【図12】ストリームの最大ビットレートの獲得処理を説明するフローチャートである。
【図13】レートの変化のさらに他の例を説明する図である。
【図14】ストリームに割り当てられる帯域を説明する図である。
【図15】ストリームに割り当てられる帯域を説明する図である。
【図16】図1の情報処理装置の構成例を示すブロック図である。
【符号の説明】
1−1,1−2 情報処理装置, 2−1,2−2 アクセスリンク, 3 インターネット, 4 計測サーバ, 41 データ受信部, 43 輻輳判定部, 44 モード設定部, 45 送信レート判定部, 46 送信レート設定部, 47 タイマ, 48 速度計測部, 49 データ送信部, 51 経路最大レート決定部, 52 最大ビットレート設定部, 53 最大値最小値決定部
Claims (8)
- ネットワークを介してデータを送信する第1の情報処理装置と、前記ネットワークを介して、前記第1の情報処理装置から前記データを受信する第2の情報処理装置からなるデータ通信システムにおいて、
前記第1の情報処理装置はアクセスリンクの上り伝送レートを計測し、
前記第2の情報処理装置は前記データを受信する受信手段を備えるとともに、前記ネットワークの輻輳の有無を判定し、前記第1の情報処理装置から伝送レートに関する情報を取得し、下りの伝送レートを計測し、前記伝送レートに関する情報として取得された、前記第1の情報処理装置の上りの伝送レートと、計測した自分自身の前記下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定し、前記伝送レートに関する情報として取得された、前記第1の情報処理装置の送信能力の最大のビットレートと、前記受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択した前記ビットレートと前記経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定し、設定された前記最大の基準値以下の範囲において、輻輳の有無の判定結果に基づいて、前記第1の情報処理装置との間における前記データの伝送レートを設定し、前記設定した伝送レートを前記第1の情報処理装置に通知することにより、伝送レートの制御を行い、
前記第1の情報処理装置は、前記第2の情報処理装置から通知されてきた伝送レートで前記データを前記第2の情報処理装置に送信する
ことを特徴とするデータ通信システム。 - ネットワークを介して、他の情報処理装置からデータを受信する情報処理装置において、
前記データを受信する受信手段と、
前記ネットワークの輻輳の有無を判定する輻輳判定手段と、
前記他の情報処理装置から伝送レートに関する情報を取得する取得手段と、
下りの伝送レートを計測する計測手段と、
前記取得手段により前記伝送レートに関する情報として取得された、前記他の情報処理装置の上りの伝送レートと、前記計測手段によって計測した自分自身の前記下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定手段と、
前記取得手段により前記伝送レートに関する情報として取得された、前記他の情報処理装置の送信能力の最大のビットレートと、前記受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択した前記ビットレートと前記経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定手段と、
前記基準値設定手段により設定された前記最大の基準値以下の範囲において、前記輻輳判定手段による輻輳の有無の判定結果に基づいて、前記他の情報処理装置との間における前記データの伝送レートを設定し、前記設定した伝送レートを前記他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御手段と
を備えることを特徴とする情報処理装置。 - 前記基準値設定手段は、伝送レートの最小の基準値をさらに設定し、
前記伝送レート制御手段は、前記基準値設定手段により設定された前記最大の基準値と最小の基準値の範囲内において、前記他の情報処理装置との間における前記データの伝送レートを設定する
ことを特徴とする請求項2に記載の情報処理装置。 - 前記伝送レート制御手段は、伝送レートを下げる場合、前記最大の基準値に対する割合に基づいて、前記伝送レートの下げ幅を変化させる
ことを特徴とする請求項2に記載の情報処理装置。 - 前記伝送レート制御手段は、前記最大の基準値に達するまでの時間が一定となるように、前記伝送レートを上げる
ことを特徴とする請求項2に記載の情報処理装置。 - データを受信する受信手段を備え、ネットワークを介して、他の情報処理装置から前記データを受信する情報処理装置の情報処理方法において、
前記ネットワークの輻輳の有無を判定する輻輳判定ステップと、
前記他の情報処理装置から伝送レートに関する情報を取得する取得ステップと、
下りの伝送レートを計測する計測ステップと、
前記取得ステップの処理により前記伝送レートに関する情報として取得された、前記他の情報処理装置の上りの伝送レートと、前記計測ステップの処理によって計測した自分自身の前記下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定ステップと、
前記取得ステップの処理により前記伝送レートに関する情報として取得された、前記他の情報処理装置の送信能力の最大のビットレートと、前記受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択した前記ビットレートと前記経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定ステップと、
前記基準値設定ステップの処理により設定された前記最大の基準値以下の範囲において、前記輻輳判定ステップの処理による輻輳の有無の判定結果に基づいて、前記他の情報処理装置との間における前記データの伝送レートを設定し、前記設定した伝送レートを前記他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御ステップと
を含むことを特徴とする情報処理方法。 - データを受信する受信手段を備え、ネットワークを介して、他の情報処理装置から前記データを受信する情報処理装置における処理をコンピュータに実行させるプログラムであって、
前記ネットワークの輻輳の有無を判定する輻輳判定ステップと、
前記他の情報処理装置から伝送レートに関する情報を取得する取得ステップと、
下りの伝送レートを計測する計測ステップと、
前記取得ステップの処理により前記伝送レートに関する情報として取得された、前記他の情報処理装置の上りの伝送レートと、前記計測ステップの処理によって計測した自分自身の前記下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定ステップと、
前記取得ステップの処理により前記伝送レートに関する情報として取得された、前記他の情報処理装置の送信能力の最大のビットレートと、前記受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択した前記ビットレートと前記経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定ステップと、
前記基準値設定ステップの処理により設定された前記最大の基準値以下の範囲において、前記輻輳判定ステップの処理による輻輳の有無の判定結果に基づいて、前記他の情報処理装置との間における前記データの伝送レートを設定し、前記設定した伝送レートを前記他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - データを受信する受信手段を備え、ネットワークを介して、他の情報処理装置から前記データを受信する情報処理装置における処理をコンピュータに実行させるプログラムであって、
前記ネットワークの輻輳の有無を判定する輻輳判定ステップと、
前記他の情報処理装置から伝送レートに関する情報を取得する取得ステップと、
下りの伝送レートを計測する計測ステップと、
前記取得ステップの処理により前記伝送レートに関する情報として取得された、前記他の情報処理装置の上りの伝送レートと、前記計測ステップの処理によって計測した自分自身の前記下りの伝送レートのうち、小さい方に基づいて、経路最大レートを決定する経路最大レート決定ステップと、
前記取得ステップの処理により前記伝送レートに関する情報として取得された、前記他の情報処理装置の送信能力の最大のビットレートと、前記受信手段の受信能力の最大のビットレートのうちの小さい方を選択し、選択した前記ビットレートと前記経路最大レートとのうち小さい方に基づいて、伝送レートの最大の基準値を設定する基準値設定ステップと、
前記基準値設定ステップの処理により設定された前記最大の基準値以下の範囲において、前記輻輳判定ステップの処理による輻輳の有無の判定結果に基づいて、前記他の情報処理装置との間における前記データの伝送レートを設定し、前記設定した伝送レートを前記他の情報処理装置に通知することにより、伝送レートの制御を行う伝送レート制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088612A JP3731665B2 (ja) | 2003-03-27 | 2003-03-27 | データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
US10/790,006 US7345996B2 (en) | 2003-03-27 | 2004-03-02 | Data communication system, information processing apparatus, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088612A JP3731665B2 (ja) | 2003-03-27 | 2003-03-27 | データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004297565A JP2004297565A (ja) | 2004-10-21 |
JP3731665B2 true JP3731665B2 (ja) | 2006-01-05 |
Family
ID=32985217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003088612A Expired - Fee Related JP3731665B2 (ja) | 2003-03-27 | 2003-03-27 | データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7345996B2 (ja) |
JP (1) | JP3731665B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE418215T1 (de) * | 2004-04-22 | 2009-01-15 | Alcatel Lucent | Modem zum koppeln einer netzwerkeinheit an ein gerät |
JP4643330B2 (ja) | 2005-03-28 | 2011-03-02 | ソニー株式会社 | 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム |
JP4697525B2 (ja) * | 2005-04-20 | 2011-06-08 | ソニー株式会社 | 送受信システム、送信装置および送信方法、受信装置および受信方法、並びにプログラム |
JP4930388B2 (ja) * | 2008-01-17 | 2012-05-16 | ヤマハ株式会社 | 通信装置およびプログラム |
US8009560B2 (en) * | 2008-12-31 | 2011-08-30 | Microsoft Corporation | Detecting and managing congestion on a shared network link |
JP5354019B2 (ja) * | 2009-09-04 | 2013-11-27 | 富士通株式会社 | 伝送システム、伝送装置、および更新データ取得方法 |
US9049617B2 (en) * | 2009-09-23 | 2015-06-02 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
EP2550607B1 (en) * | 2010-03-23 | 2020-02-12 | Reversinglabs Corporation | Cloud-based web content filtering |
JP5565121B2 (ja) | 2010-06-09 | 2014-08-06 | ソニー株式会社 | 通信処理装置、通信処理システム、通信処理方法及びプログラム |
US8667166B2 (en) | 2010-11-02 | 2014-03-04 | Net Power And Light, Inc. | Method and system for resource-aware dynamic bandwidth control |
US8458328B2 (en) * | 2010-11-02 | 2013-06-04 | Net Power And Light, Inc. | Method and system for data packet queue recovery |
KR101491604B1 (ko) * | 2011-11-02 | 2015-02-13 | 주식회사 케이티 | 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템 |
GB2505956B (en) * | 2012-09-18 | 2015-08-05 | Canon Kk | Method and apparatus for controlling the data rate of a data transmission between an emitter and a receiver |
JP5253617B1 (ja) * | 2012-10-18 | 2013-07-31 | 三菱電機株式会社 | 管理装置、管理システム、管理方法及びプログラム |
EP2952039B1 (en) * | 2013-01-29 | 2018-09-12 | Nec Corporation | Adaptive rate control for cellular-based vehicular networks |
US10595069B2 (en) | 2016-12-05 | 2020-03-17 | Adobe Inc. | Prioritizing tile-based virtual reality video streaming using adaptive rate allocation |
WO2021084668A1 (ja) * | 2019-10-30 | 2021-05-06 | 日本電信電話株式会社 | 送信制御装置、送信制御方法、および、送信制御プログラム |
US11424849B2 (en) * | 2019-12-13 | 2022-08-23 | At&T Intellectual Property I, L.P. | Maximizing throughput on a variable bandwidth communication interface |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4769811A (en) * | 1986-12-31 | 1988-09-06 | American Telephone And Telegraph Company, At&T Bell Laboratories | Packet switching system arranged for congestion control |
US5029164A (en) * | 1990-04-13 | 1991-07-02 | Digital Equipment Corporation | Congestion avoidance in high-speed network carrying bursty traffic |
US5115429A (en) * | 1990-08-02 | 1992-05-19 | Codex Corporation | Dynamic encoding rate control minimizes traffic congestion in a packet network |
US5852601A (en) * | 1991-09-09 | 1998-12-22 | Network Equipment Technologies, Inc. | Method and apparatus for reactive congestion control in an asynchronous transfer mode (ATM) network |
JPH11308271A (ja) | 1998-04-21 | 1999-11-05 | Canon Inc | データ通信装置及び受信装置及び制御方法及び記憶媒体及びデータ通信システム |
US6701372B2 (en) * | 1997-08-22 | 2004-03-02 | Canon Kabushiki Kaisha | Data communication apparatus and method |
JPH11341064A (ja) | 1998-05-29 | 1999-12-10 | Canon Inc | 通信装置及び方法及びシステム及び記憶媒体 |
US6643496B1 (en) * | 1998-03-31 | 2003-11-04 | Canon Kabushiki Kaisha | System, method, and apparatus for adjusting packet transmission rates based on dynamic evaluation of network characteristics |
JP2000115245A (ja) | 1998-10-06 | 2000-04-21 | Oki Electric Ind Co Ltd | データ送信装置、データ受信装置、データ通信装置及びデータ通信方法 |
JP3699910B2 (ja) | 2000-10-31 | 2005-09-28 | 株式会社東芝 | データ伝送装置、データ伝送方法及びプログラム |
US20020071388A1 (en) | 2000-11-16 | 2002-06-13 | Einar Bergsson | Selectable network protocol |
-
2003
- 2003-03-27 JP JP2003088612A patent/JP3731665B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-02 US US10/790,006 patent/US7345996B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004297565A (ja) | 2004-10-21 |
US20040190452A1 (en) | 2004-09-30 |
US7345996B2 (en) | 2008-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3731665B2 (ja) | データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム | |
CN101971629B (zh) | 用于适配视频信号的目标速率的设备和方法 | |
US6643496B1 (en) | System, method, and apparatus for adjusting packet transmission rates based on dynamic evaluation of network characteristics | |
JP4128598B2 (ja) | パケット・データ通信システムにおけるフロー制御 | |
US9065795B2 (en) | Apparatus and method for providing a congestion measurement in a network | |
EP1382219B1 (en) | Method and device for robust real-time estimation of bottleneck bandwidth | |
US8797850B2 (en) | System and method to adapt to network congestion | |
EP1163764A1 (en) | Flow control method and apparatus | |
KR101399509B1 (ko) | 시-변화 전송 미디어를 통한 데이터 스트리밍 | |
JP4462996B2 (ja) | パケット受信方法及びパケット受信装置 | |
JP2003174489A (ja) | ストリーミング配信装置、ストリーミング配信方法 | |
JPWO2006054442A1 (ja) | 送信装置、受信装置及び通信システム | |
KR20060110783A (ko) | 송수신 시스템, 송신 장치, 송신 방법, 수신 장치, 수신방법, 및 프로그램 | |
EP2562979B1 (en) | Method of adapting the data rate during transmission of variable bit-rate data streams | |
US20100086021A1 (en) | Information transmission apparatus, method of controlling the same, and storage medium | |
KR100454919B1 (ko) | 양방향통신네트워크에서 패킷데이터의 서비스 특성을분류하는 방법 및 장치 | |
JP4687538B2 (ja) | 受信装置、送信装置およびその通信方法 | |
JP2002325095A (ja) | データ通信システム、データ送信装置及びデータ通信方法 | |
JP2009105662A (ja) | マルチホップ通信システム、マルチホップ通信方法、端末装置および中継装置 | |
JP2008113226A (ja) | 通信装置および通信方法 | |
JP2004153610A (ja) | 動画像配信方法、無線端末、動画像配信制御装置、及び動画像配信システム | |
WO2023119511A1 (ja) | 通信装置、通信システム、及び通信方法 | |
JP2011172162A (ja) | 受信装置、送信装置、通信システム及び通信方法並びにプログラム | |
KR20100066619A (ko) | 전송망의 특성에 적응적인 영상 전송 시스템 및 방법 | |
WO2018123710A1 (ja) | 通信システム、通信方法、転送装置及び転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050722 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051004 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081021 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |