通信装置、通信方法、及び通信プログラム
【課題】他の所望データの通信を安定的に行うことができる通信装置、通信方法、及び通信プログラムを提供することにある。
【解決手段】通信装置は、計測パケットを受信装置に対して送信することで、ネットワークにおける使用可能帯域を計測する。通信装置は、計測周期T内で送信される計測パケットの総数よりも少ない数で区分された計測パケットの集合(計測パケット群51、52)毎に、計測パケットを送信する。Ta1間での計測通信(計測パケット群51、52)と、Ta2間での計測通信(計測パケット群53、54)との間に、Tb1が設けられる。Tb1間では、計測パケットの通信は実行されない。Tb1を設けることで確保された帯域を使用して、データパケット42の通信が実行される。
【解決手段】通信装置は、計測パケットを受信装置に対して送信することで、ネットワークにおける使用可能帯域を計測する。通信装置は、計測周期T内で送信される計測パケットの総数よりも少ない数で区分された計測パケットの集合(計測パケット群51、52)毎に、計測パケットを送信する。Ta1間での計測通信(計測パケット群51、52)と、Ta2間での計測通信(計測パケット群53、54)との間に、Tb1が設けられる。Tb1間では、計測パケットの通信は実行されない。Tb1を設けることで確保された帯域を使用して、データパケット42の通信が実行される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、通信方法、及び通信プログラムに関する。より詳細には、通信装置間の通信路における使用可能な帯域を計測できる通信装置、通信方法、及び通信プログラムに関する。
【背景技術】
【0002】
通信網(インターネットなど)において使用可能な伝送路容量の計測を継続的に行うことが可能な通信装置が知られている。以下、「伝送速度」「伝送路容量」を「帯域」ともいう。使用可能な伝送路容量を「使用可能帯域」という。例えば非特許文献1に記載の通信装置では、計測用のパケット(以下「計測パケット」という。)を送信する側の通信装置(以下「送信装置」という。)は、計測パケットの送信間隔を算出するための時間情報を計測パケットに格納する。送信装置は、計測パケットの送信間隔を徐々に変えることで、送信時の帯域を所定の帯域の範囲(以下「帯域範囲」という。)内で順次変更しながら、計測パケットを送信する。受信側の通信装置(以下「受信装置」という。)は、パケットの受信間隔を記憶する。受信装置は、パケット内の時間情報に含まれている送信間隔と、受信装置で記憶された受信間隔との差分を算出する。算出された複数の差分の値の変化傾向から、使用可能帯域が特定される。特定された使用可能帯域は、送信装置に対して通知される。送信装置は、使用可能帯域を取得できる。以上の処理は、送信装置側で帯域範囲を変えながら計測パケットが送信されることで、繰り返し実行される。これによって、通信装置間で使用可能帯域が継続して計測される。なお帯域範囲は、前回の計測時に特定された使用可能帯域が今回の計測時における帯域範囲の平均値(帯域範囲における最も狭帯域側の帯域と、最も広帯域側の帯域との中央値)となるように定められる。
【0003】
計測パケットには、ユーザが所望するアプリケーションに起因するデータ(音声データや映像データ等、以下「所望データ」という。)が格納される。これによって通信装置は、通信路の使用可能帯域を計測しながら、通信装置間で所望データの通信を行うことができるので、効率的に所望データの通信を行うことができる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】インラインネットワーク計測手法 ImTCP およびその応用手法の実装および性能評価 津川 知朗,LE THANH MAN, Cao,長谷川 剛,村田 正幸 電子情報通信学会 技術研究報告 (IN2005-120), pp. 79-84, December 2005
【発明の概要】
【発明が解決しようとする課題】
【0005】
通信装置が、使用可能帯域の計測が行われているネットワークを使用して、継続的に他の所望データの通信を行ないたい場合がある。また、該ネットワークを使用して、他のアプリケーションに起因する他の所望データの通信を行いたい場合がある。また、他の通信装置が、該ネットワークを使用して、他の所望データの通信を行ないたい場合がある。しかしながら上述の方法では、ネットワークにおける使用可能帯域の大部分は、計測パケットの通信によって占有されてしまう。このため、ネットワークにおける利用可能な帯域が残っていないので、通信装置や他の通信装置は、安定的に他の所望データの通信を行うことができないという問題点がある。
【0006】
本発明の目的は、他の所望データの通信を安定的に行うことができる通信装置、通信方法、及び通信プログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の第一態様に係る通信装置は、ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置であって、所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替え手段と、前記切り替え手段によって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信手段と、前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定手段と、前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定手段によって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信手段とを備えている。
【0008】
第一態様によれは、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば通信装置は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。又例えば通信装置は、他のアプリケーションに起因するデータパケットの通信を行うことができる。又例えば他の通信装置は、使用可能帯域の計測が実行されているネットワークを使用して、データパケットの通信を行うことができる。
【0009】
なお、使用帯域は使用可能帯域よりも小さいので、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【0010】
また、第一態様において、前記切り替え手段は、前記計測状態が第一時間以上継続した場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えてもよい。計測状態の時間が確実に確保されるので、通信装置は、計測パケットによる使用可能帯域の計測に必要な帯域を確実に確保できる。通信装置は、確実且つ正確に使用可能帯域の計測を行うことができる。通信装置は、計測状態である時間が第一時間以上となった場合に、動作状態を非計測状態に切り替える。従って通信装置は、使用可能帯域の計測を確実かつ正確に実行しつつ、データパケット通信用の帯域を確保できる。
【0011】
また、第一態様において、前記切り替え手段は、前記計測状態が継続した時間に対して、前記非計測状態が継続した時間の割合が第一割合以上となった場合に、前記動作状態を前記非計測状態から前記計測状態に切り替えてもよい。計測状態と非計測状態の時間比率が特定されるので、通信装置は、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とを確実に確保できる。また通信装置は、第一割合を変えることで、非計測状態の時間比率を調整できる。これによって通信装置は、時間比率を最適化することで、データパケットによる通信に必要な帯域を適切に分配することができる。
【0012】
また、第一態様において、前記第一送信手段によって送信される前記計測パケットのデータ量と、前記第二送信手段によって送信される前記データパケットのデータ量とに基づいて、前記所定周期内で使用された帯域の平均である平均帯域を算出する算出手段を備え、前記切り替え手段は、前記算出手段によって算出された前記平均帯域と前記使用可能帯域とが所定の関係を満たす場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えてもよい。使用可能帯域と平均帯域との差は、確保される帯域に相当する。従って、使用可能帯域と平均帯域とが所定の関係を満たす場合に、動作状態を非計測状態に切り替えることで、所定の帯域を確実に確保できる。これによって、計測パケット及びデータパケットの通信を確実に実行しつつ、所望の帯域を確実に確保できる。
【0013】
また、第一態様において、前記第一送信手段は、前記所定周期内で送信される前記計測パケットの総数である第一数よりも少ない第二数毎に前記計測パケットを区分して送信し、前記第二数毎に区分された前記計測パケットである計測パケット群の送信が終了したか判断する判断手段を備え、前記切り替え手段はさらに、前記判断手段において、前記計測パケット群の送信が終了したと判断された場合に、前記動作状態を切り替えてもよい。計測パケット群を構成する計測パケットの数を小さくすることで、非計測状態に切り替えられる頻度を多くできる。データパケットは頻繁に相手装置に対して送信される。これによって、データパケットに格納されるデータの通信遅延を小さくできる。
【0014】
また、第一態様において、前記決定手段は前記使用可能帯域に対して前記使用帯域が第二割合以下となるように、前記使用帯域を決定してもよい。これによって通信装置は、使用可能帯域に対する使用帯域の割合を規定できる。これによって通信装置は、非計測状態時に使用可能な帯域内で、データパケットの通信を確実に実行できる。
【0015】
また、第一態様において、前記計測パケット又は前記データパケットに格納するデータの優先度を特定する特定手段を備え、前記第二送信手段は、前記特定手段によって前記優先度が高いと特定された前記データを優先的に前記データパケットに格納し、前記相手装置に対して送信してもよい。データパケットには、優先度の高いデータが優先的に格納される。例えば通信装置は、リアルタイム性の要求されるデータの優先度を高めることで、このデータを非計測状態において相手装置に送信できる。これによって通信装置は、リアルタイム性の要求されるデータを遅滞なく通信装置に送信できる。
【0016】
また、第一態様において、前記第二送信手段は、前記データパケットに格納されるデータが作成されてからの経過時間が第二時間以上であるデータを優先的に前記データパケットに格納し、前記相手装置に対して送信してもよい。これによって通信装置は、作成されてからの経過時間が長いデータを優先的にデータパケットに格納し、相手装置に対して送信できる。これによって、作成されたデータが相手装置に対して長時間到達しないことを防止できる。
【0017】
本発明の第二態様に係る通信方法は、ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置において実行される通信方法であって、所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップとを備えている。
【0018】
第二態様によれは、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば通信装置は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。又例えば通信装置は、他のアプリケーションに起因するデータパケットの通信を行うことができる。又例えば他の通信装置は、使用可能帯域の計測が実行されているネットワークを使用して、データパケットの通信を行うことができる。
【0019】
なお、使用帯域は使用可能帯域よりも小さいので、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【0020】
本発明の第三態様に係る通信プログラムは、ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測するための通信プログラムであって、所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップとをコンピュータに実行させる。
【0021】
第三態様によれば、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば通信装置は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。又例えば通信装置は、他のアプリケーションに起因するデータパケットの通信を行うことができる。又例えば他の通信装置は、使用可能帯域の計測が実行されているネットワークを使用して、データパケットの通信を行うことができる。
【0022】
なお、使用帯域は使用可能帯域よりも小さいので、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【図面の簡単な説明】
【0023】
【図1】通信システム100の構成、及び通信装置1の電気的構成を示す図である。
【図2】計測通信において計測パケットが送信される様子の第一例を示す図である。
【図3】計測通信において計測パケットが送信される様子の第二例を示す図である。
【図4】メイン処理を示すフローチャートである。
【図5】格納処理を示すフローチャートである。
【図6】送信処理を示すフローチャートである。
【図7】終了判定処理を示すフローチャートである。
【図8】状態判定処理を示すフローチャートである。
【図9】第一送信処理を示すフローチャートである。
【図10】第二送信処理を示すフローチャートである。
【図11】受信処理を示すフローチャートである。
【図12】変形例における状態判定処理を示すフローチャートである。
【発明を実施するための形態】
【0024】
以下、本発明の通信装置を具現化した一実施の形態である通信装置1、および複数の通信装置1を備えた通信システム100について、図面を参照して説明する。なお、参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0025】
通信システム100について説明する。図1に示すように、通信システム100は、少なくとも2つの通信装置1を備える。通信装置1は、ネットワーク8を介して他の通信装置1と接続する。通信装置1は、他の通信装置1との間で各種データの通信を行う。
【0026】
通信システム100は、複数の拠点のユーザがテレビ会議を行うためのテレビ会議システムである。各通信装置1は、映像データ、画像データ、及び音声データを互いに送受信することで、複数の拠点の映像、資料、及び音声を共有する。通信装置1は、ネットワーク8を介したデータ通信を実行できるものであればよい。具体的には、テレビ会議を実行するために各拠点に配置される専用のテレビ会議端末であってもよいし、種々の情報処理を行うパーソナルコンピュータであってもよい。
【0027】
通信システム100では、通信相手の通信装置1との間で帯域が計測され、使用可能帯域が特定される。使用可能帯域とは、送信側の通信装置1が送信するデータの伝送速度とほぼ等しい伝送速度で受信側の通信装置1がデータを受信できる最大の伝送速度をいう。使用可能帯域を越える伝送速度でパケットが送信されると、パケットロス、通信遅延等が生じる。一方、伝送速度を低くしすぎると、使用可能帯域を十分に活用することができず、効率が悪い。従って、各通信装置1は、特定された使用可能帯域に合わせて、使用する伝送速度(帯域)を制御する。なお、帯域と、各通信装置1間の伝送速度とを比較するため、帯域の単位として「bps」を用いる。
【0028】
通信装置1の電気的構成について説明する。図1に示すように、通信装置1は、通信装置1の制御を司るCPU10を備えている。CPU10には、映像データ、画像データ、及び音声データを生成するエンコーダが内蔵されている。CPU10には、ROM11、RAM12、ハードディスクドライブ(以下、「HDD」という。)13、および入出力インターフェース19が、バス18を介して接続されている。
【0029】
ROM11は、通信装置1を動作させるためのプログラムおよび初期値等を記憶している。RAM12は、制御プログラムで使用される各種の情報を一時的に記憶する。HDD13は、制御プログラム等の各種の情報を記憶する不揮発性の記憶装置である。HDD13の代わりに、EEPROMまたはメモリカード等の記憶装置を用いてもよい。
【0030】
入出力インターフェース19には、音声入力処理部21、音声出力処理部22、映像入力処理部23、映像出力処理部24、操作部25、外部通信I/F26、及びドライブ装置27が接続されている。音声入力処理部21は、マイク31からのデータの入力を処理する。音声出力処理部22は、スピーカ32の動作を処理する。映像入力処理部23は、カメラ33からのデータの入力を処理する。映像出力処理部24は、映像を表示する表示装置34の動作を処理する。操作部25は、ユーザが通信装置1に各種指示を入力するために用いられる。操作部25は、通信装置1の外部から、入出力インターフェース19へ接続されるものであってもよい。外部通信I/F26は、通信装置1をネットワーク8に接続する。ドライブ装置27は、記憶媒体271に記憶された情報を読み出すことができる。例えば、通信装置1のセットアップ時、記憶媒体271に記憶された制御プログラムはドライブ装置27によって読み出され、HDD13に記憶される。
【0031】
本実施形態の通信システム100で用いられる帯域計測方式について、概略的に説明する。通信システム100で用いられる帯域計測方式は、「CaoLe Thanh Man、長谷川剛、村田正幸、「サービスオーバーレイネットワークのためのインラインネットワーク計測に関する一検討」電子情報通信学会技術研究報告、社団法人電子情報通信学会、2003年1月17日、Vol.102,No.565,p.53−58」に記載されている公知の方式である。なお、本発明を適用できる帯域計測方式は、上記文献に記載されている方式に限られない。パケットの送信間隔および受信間隔を利用した計測方式であれば、本発明の適用は可能である。
【0032】
計測原理について説明する。通信装置1は、ネットワーク8を介して他の通信装置1に対して複数の計測パケットを送信する。他の通信装置1は、計測パケットを受信する。以下、計測パケットを送信する通信装置1を「送信装置」といい、計測パケットを受信する通信装置1を「受信装置」という。送信装置が計測パケットを送信する場合に使用される帯域(単位:bps)が使用可能帯域(単位:bps)以下であれば、計測パケットはネットワーク8内で渋滞しない。この場合、送信装置によって送信された計測パケットを受信装置が受信する間隔(受信間隔)は、理想的には送信間隔と同一となる。一方、計測パケットを送信する場合に使用される帯域が使用可能帯域よりも大きければ、計測パケットはネットワーク8内で渋滞し、受信間隔は送信間隔よりも長くなる。
【0033】
送信装置は、送信間隔を徐々に変化させることで、計測パケットの送信時に使用される帯域を変化させる。使用される帯域が使用可能帯域よりも大きい間は、受信間隔が送信間隔よりも長い。しかし、計測パケットの送信時に使用される帯域が使用可能帯域以下となれば、受信間隔と送信間隔とは同一となる。通信装置1は、受信間隔と送信間隔との関係が変化する時点の帯域を、使用可能帯域として特定できる。
【0034】
計測手順について説明する。通信システム100では、大まかに、以下の手順で帯域が計測され、使用可能帯域が特定される。
【0035】
1.計測パケット送受信
送信装置において、所定の帯域範囲が特定される。帯域範囲とは、異なる二つの帯域によって定義される所定の帯域の範囲である。特定された所定の帯域範囲内の帯域のうち、計測パケットを送信する場合に使用される帯域が複数選択される。以下、計測パケットを送信する場合に使用される帯域を「計測帯域」という。其々の計測帯域を使用して送信される計測パケットのデータサイズ及び送信間隔が決定される。決定された送信間隔で、計測パケットが順番に送信装置から送信される。計測パケットには、送信間隔及びデータサイズが格納される。受信装置は、計測パケットを受信する。
【0036】
2.使用可能帯域特定
受信装置は、一連の計測パケットを受信した後、計測パケットを実際に受信した時刻から、受信間隔を算出する。計測パケットに含まれている送信間隔と計測パケットのサイズとから、計測パケットが送信装置において送信された際の伝送速度が算出される。受信間隔と計測パケットのサイズとから、計測パケットが受信装置において受信された際の受信レートか算出される。計測パケットが送信された際の伝送速度(bps)と、計測パケットが受信された際の受信レート(bps)との関係から、「送信間隔/受信間隔」が算出される。「送信間隔/受信間隔」の値が変化する時点が特定される。特定された時点の伝送速度が、使用可能帯域として特定される。結果パケットに、使用可能帯域が格納される。受信装置から送信装置に対して、結果パケットが送信される。送信装置では、結果パケットが受信される。
【0037】
3.帯域範囲を更新し、上記1.へ戻る。
送信装置では、受信した結果パケットに含まれている使用可能帯域に基づいて、新たな帯域範囲が特定される。具体的には、新たな帯域範囲の平均と使用可能帯域とが一致するように、新たな帯域範囲が特定される。特定された新たな帯域範囲に基づいて、繰り返し帯域が計測される。これによって、使用可能帯域の特定が繰り返し試みられる。以下、使用可能帯域を特定するために実行される上述の通信を「計測通信」という。
【0038】
なお計測パケットには、テレビ会議を実行するための映像データ、画像データ、及び音声データが格納される。送信装置は、計測通信と同時に、映像データ、画像データ、及び音声データを受信装置に対して送信できる。これによって通信装置1は、計測通信によって使用可能帯域の計測を実行しながら、テレビ会議を実行できる。
【0039】
図2を参照し、計測通信において計測パケットが送信される様子の第一例について説明する。図2のうち長方形の棒41は、送信装置から送信される計測パケットを示している。棒の長さは、その計測パケットが送信された場合の計測帯域を示している。BlからBhの範囲は、帯域範囲を示している。Blは、帯域範囲のうち最も狭帯域側の帯域を示している。Bhは、帯域範囲のうち最も広帯域側の帯域を示している。送信装置は、計測パケットの送信間隔を徐々に長くすることで、計測帯域を広帯域側から狭帯域側に順次移動させている。Ta1間及びTa2間では、其々、帯域範囲に応じた一連の計測パケットが送信されている。一連の計測パケットが送信される周期(Tに相当)を、以下「計測周期」という。Ta1間での計測通信によって、使用可能帯域Beが特定されている。Ta2間での計測通信における帯域範囲は、Beが帯域範囲の平均となるように調整されている。なお図2では、計測パケット間の送信間隔に相当する、棒と棒との間の隙間は省略されている。
【0040】
図2に示すように、第一例では、Ta1間での計測通信が終了してから、Ta2間での計測通信が開始されるまでに、Tb1が設けられている。Ta1間での計測通信と、Ta2間での計測通信とは連続して実行されない。Tb1間では、例えば、計測パケットに格納される各種データのうち、リアルタイム性の要求されるデータのみがパケットに格納され、通信が実行される。又、例えば、使用可能帯域の計測が行われるアプリケーションとは異なる他のアプリケーションに基づいたデータがパケットに格納され、通信が実行される。図2のうち長方形の棒42は、Tb1間で通信されるパケットを示している。以下、計測通信が実行されている動作状態(Ta1間等の状態に相当、)を、「計測状態」という。計測通信が実行されていない動作状態(Tb1間等の状態に相当)を、「非計測状態」という。非計測状態で通信が行われるパケットを、「データパケット」という。このように通信装置1は、計測通信と次の計測通信との間に非計測状態を設けることで、データパケットの通信を行うために必要な帯域を確保している。通信装置1は、非計測状態を設けたことによって確保された帯域を有効的に活用し、計測パケット以外のパケットの通信を行っている。
【0041】
本実施形態では、以下の(1)(2)のうちいずれかの条件が充足された場合に、通信装置1の動作状態が計測状態から非計測状態に切り替えられる。
(1)帯域範囲に応じた一連の計測パケットが全て送信された場合
(2)計測状態が所定の第一時間(例えば100ms)以上継続した場合
(2)の条件で動作状態が計測状態から非計測状態に切り替えられるので、計測状態の時間は確実に確保される。これによって、計測パケットによる使用可能帯域の計測に必要な帯域は確実に確保される。
【0042】
また、以下の(3)の条件が充足された場合に、通信装置1の動作状態が非計測状態から計測状態に切り替えられる。
(3)計測状態が継続した時間に対して、非計測状態が継続した時間の割合が、所定の第一割合(例えば70%)以上となった場合
(3)の条件で動作状態が非計測状態から計測状態に切り替えられるので、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とが確実に確保される。計測状態と非計測状態との時間比率が最適化されるので、データパケットによる通信に必要な帯域が適切に分配される。
【0043】
また、以下の(4)の条件が充足された場合に、計測周期は終了し、次の計測周期に切り替えられる。
(4)受信装置から結果パケットを受信した場合であり、且つ、計測状態である時間の計測周期内での累積時間に対して、非計測状態である時間の計測周期内での累積時間の割合が、所定の割合以上となった場合
【0044】
図2では、帯域範囲Bl〜Bhに応じた一連の計測パケットが全て送信されたことによって、通信装置1の動作状態が計測状態から非計測状態に切り替えられている(Ta1→Tb1)。また、非計測状態が継続した時間(Tb1)が、計測状態が継続した時間(Ta1)の第一割合以上になったことによって、通信装置1の動作状態が計測状態から非計測状態に切り替えられている(Tb1→Ta2)。また、受信装置から結果パケットを受信し、且つ、非計測状態である時間の計測周期(T)内での累積時間(Tb1)が、計測状態である時間の計測周期(T)内での累積時間(Ta1)に対して所定の割合以上となったことによって、計測周期(T)は次の計測周期(T)に切り替えられている。
【0045】
非計測状態においてデータパケット(棒42に相当)が送信される場合に使用される帯域は、計測状態時に使用された計測帯域よりも小さくなるように決定される。図2では、Ta1間の帯域範囲の中央値Bcよりも小さい帯域が、Tb1間でパケットが送信される場合に使用される帯域として決定される。なお、Ta1間の帯域範囲の中央値Bcは、Ta1間よりも前に計測された使用可能帯域に相当するので、Tb1間でパケットが送信される場合に使用される帯域は、過去に計測された使用可能帯域よりも小さくなることになる。このように帯域が決定されることによって、データパケットの通信は安定的に実行される。
【0046】
なお、非計測状態においてデータパケットが送信される場合に使用される帯域は、他の方法によって決定されてもよい。例えば帯域は、計測通信時に特定された使用可能帯域に対して第二割合(例えば80%)以下となるように決定されてもよい。例えば図2では、Ta1間での計測通信によって使用可能帯域Beが特定されているので、以後パケットが送信される場合に使用される帯域は、使用可能帯域Beに対して第二割合以下となるように決定されてもよい。これによって通信装置1は、非計測状態時におけるデータパケットの通信の確実性をさらに高めることができる。なお、非計測帯域では必ずしもデータパケットが送信される必要はなく、受信装置に対して送信するデータがなければ、データパケットは送信されなくてもよい。
【0047】
図3を参照し、計測通信において計測パケットが送信される様子の第二例について説明する。第二例では、通信装置1は、帯域範囲に応じて送信される一連の計測パケットの総数である第一数よりも小さい第二数毎に、計測パケットは区分される。以下、区分された計測パケットの集合を「計測パケット群」という。通信装置1は、計測パケット群を構成する計測パケットの送信が全て終了するタイミングで、上述した動作状態の切り替え条件(1)〜(3)を判断する。
【0048】
図3では、Ta1間での計測通信によって、計測パケット群51、52を構成する計測パケットが送信されている。Ta2間での計測通信によって、計測パケット群53、54を構成する計測パケットが送信されている。Ta1間での計測通信が終了してから、Ta2間での計測通信が開始されるまでに、Tb1が設けられている。同様に、Ta2とTa3との間にTb2が設けられ、Ta3とTa4との間にTb3が設けられている。Tb1、Tb2、Tb3間では、データパケット(棒42に相当)の通信が実行される。このように通信装置1は、計測パケット群単位で計測パケットを送信することで、非計測状態に切り替わる頻度を多くし、データパケットを頻繁に送信できるようにしている。これによって通信装置1は、データパケットを頻繁に送信することで、データの通信遅延を小さくしている。
【0049】
図3では、計測パケット群52を構成する計測パケットが全て送信された後、計測状態が継続した時間(Ta1)が第一時間以上になったと判断され、動作状態が計測状態から非計測状態に切り替えられている(Ta1→Tb1)。また、非計測状態が継続した時間(Tb1)の割合が、計測状態が継続した時間(Ta1)の第一割合以上になったと判断され、動作状態が非計測状態から計測状態に切り替えられている(Tb1→Ta2)。同様の処理が、Ta2、Ta3、Ta4、Tb2、及びTb3に対して実行されている。計測パケット群55を構成する計測パケットが全て送信された場合、帯域範囲Bl〜Bhに応じた計測パケットが全て送信されたと判断され、通信装置1の動作状態が計測状態から非計測状態に切り替えられている(Ta4→Tb4)。また、受信装置から結果パケットを受信し、且つ、非計測状態である時間の計測周期(T)内での累積時間(Tb1+Tb2+Tb3+Tb4)が、計測状態である時間の計測周期(T)内での累積時間(Ta1+Ta2+Ta3+Ta4)に対して所定の割合以上となったことによって、計測周期(T)は次の計測周期(T)に切り替えられている。
【0050】
以上のように、通信装置1は、計測状態に加えて非計測状態を設けることで、データパケットの通信を行うために必要な帯域を確保している。通信装置1は、計測状態の時間を確実に一定量確保することで、計測パケットによる使用可能帯域の計測に必要な帯域を確実に確保している。計測状態である時間が第一時間以上となった場合に、動作状態を非計測状態に切り替えることで、データパケットの通信を行うために必要な帯域を定期的に確保している。通信装置1は、計測状態と非計測状態の時間比率を特定することで、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とを調整している。
【0051】
図4から図11を参照し、通信装置1のうち送信装置のCPU10において実行されるメイン処理、送信処理、及び受信処理について説明する。メイン処理は、使用可能帯域の計測を行うアプリケーションの起動操作がユーザによって操作部25を介してなされた場合において、CPU10において起動され実行される。送信処理は、RAM12に記憶された送信フラグがOFFからONとなった場合に起動される。受信処理は、RAM12に記憶された受信フラグがOFFからONとなった場合に起動される。送信フラグ及び受信フラグのON/OFFは、メイン処理中で切り替えられる。送信フラグ及び受信フラグは、メイン処理の起動時にはOFFされている。CPU10によって実行される処理は、OSによってスイッチングされる。これによって其々の処理は並列して実行される。なお以下では、上述した第二例(図3参照)に基づき、計測パケットが計測パケット群単位で送信される場合を想定している。また、計測パケット及びデータパケットには、映像データ、画像データ、及び音声データのうちいずれかのデータが格納されるものとする。
【0052】
CPU10では、第一パラメータ及び第二パラメータが管理されている。第一パラメータは、計測パケットを所定の送信間隔で計測周期毎に送信するために使用されるパラメータである。第一パラメータとして、シーケンス番号、帯域範囲、送信間隔、計測パケット総数、計測パケット群総数、及び、データ生成速度がある。シーケンス番号は、計測パケットを送信する場合において計測パケットに付されるシーケンス番号である。送信間隔は、計測パケットと次の計測パケットとの間の送信間隔であって、計測パケット毎に特定されている。計測パケット総数は、帯域範囲を計測する一連の計測パケットの総数であって、計測周期内で送信される計測パケットの総数である。計測パケット群総数は、計測パケット群を構成する計測パケットの総数である。計測パケット群総数は、計測パケット総数と比較して小さい。データ生成速度は、映像データ、画像データ、及び音声データが、CPU10に内蔵されたエンコーダによって生成される場合の生成速度である。
【0053】
なお第一パラメータのうち、計測パケット群総数の代わりに、其々の計測パケット群によって計測される帯域範囲が決定されてもよい。計測パケット群総数は、帯域範囲に基づいて決定されてもよい。各計測パケット群の計測パケット群総数の総和が計測パケット総数と同等ならば、計測パケット群総数は計測パケット群毎に異なっていてもよい。
【0054】
第二パラメータとして、計測時間、非計測時間、連続計測時間、連続非計測時間、第一データ総量、及び、第二データ総量がある。計測時間は、計測状態である時間の計測周期内での累積時間である。非計測時間は、非計測状態である時間の計測周期内での累積時間である。連続計測時間は、計測状態が継続した場合の継続時間である。連続非計測時間は、非計測状態が継続した場合の継続時間である。例えば図3の矢印46で示される範囲で処理が実行され、47の時点に到達した場合、計測時間はTa1+Ta2+Ta3に相当する。非計測時間はTb1+Tb2+Tb3に相当する。連続計測時間はTa3に相当する。連続非計測時間はTb3に相当する。第一データ総量は、計測周期内で、計測パケットに格納されたデータの総量である。第二データ総量は、計測周期内で、データパケットに格納されたデータの総量である。
【0055】
図4を参照し、メイン処理について説明する。メイン処理では、はじめに、第一パラメータが初期化される(S11)。シーケンス番号に0が設定される。帯域範囲、送信間隔、計測パケット総数、計測パケット群総数、及びデータ生成速度に、ROM11に記憶された初期値が設定される。
【0056】
送信処理(図6参照)の起動を許可するために、送信フラグがONされる(S13)。これによって、送信処理が起動する。受信処理(図11参照)の起動を許可するために、受信フラグがONされる(S15)。これによって、受信処理が起動する。使用可能帯域の計測を行うアプリケーションの終了操作が、ユーザによって操作部25を介してなされたかが判断される(S17)。アプリケーションの終了操作がされた場合(S17:YES)、S13でONされた送信フラグはOFFされる(S29)。S15でONされた受信フラグはOFFされる(S31)。メイン処理は終了する。
【0057】
アプリケーションの終了操作がされていない場合(S17:NO)、受信処理(図11参照)において特定され、HDD13に記憶された使用可能帯域が取得される(S19)。前回取得された使用可能帯域と、今回取得された使用可能帯域とが同じであるかが判断される(S21)。前回取得された使用可能帯域と、今回取得された使用可能帯域とが同じである場合(S21:YES)、処理はS25に進む。
【0058】
前回取得された使用可能帯域と、今回取得された使用可能帯域とが異なる場合(S21:NO)、S19で取得された使用可能帯域に基づいて、データ生成速度が更新される(S23)。データ生成速度は、S19で取得された使用可能帯域よりも小さい値になるように決定される。例えばデータ生成速度は、使用可能帯域の80%となるように決定される。これによって、エンコーダによって生成されたデータが送信されず、通信装置1内に貯まってしまうことを防止している。処理はS25に進む。
【0059】
更新されたデータ生成速度に基づいて、映像データ、画像データ、及び音声データのうちいずれかがエンコーダによって生成される(S25)。生成されたデータを送信バッファに格納する格納処理が実行される(S27)。図5を参照し、格納処理について説明する。エンコーダによって生成されたデータの種別(映像データ、画像データ、及び音声データのうちいずれか)が取得される(S171)。取得された種別に基づいて、生成されたデータの優先度が特定される(S173)。具体的には、音声データの優先度が、映像データ及び画像データの優先度よりも高くなるように、優先度が特定される。映像データや画像データと比較して、音声データの方が、より高いリアルタイム性が要求され、より通信遅延の小さい環境で通信を行う必要があるためである。特定された優先度は、生成されたデータに対応付けられる。
【0060】
最大待ち時間が特定される(S175)。最大待ち時間とは、エンコーダによってデータが生成されてから、生成されたデータが計測パケット又はデータパケットに格納されて受信装置に対して送信されるまでの時間として許容される最大の時間である。最大待ち時間は、生成データの種別や、エンコードされる場合の仕様(圧縮方式など)等によって特定される。例えば、生成データが映像データである場合、最大待ち時間として66msが特定される。生成データが画像データである場合、最大待ち時間として200msが特定される。生成データが音声データである場合、最大待ち時間として40msが特定される。現時点での時刻が取得される(S177)。取得された時刻に、S175で特定された最大待ち時間を加算することで、取り出し時刻が算出される(S179)。生成されたデータに、算出された取り出し時刻が対応付けられる。
【0061】
優先度毎に送信バッファが設けられている。送信バッファは、送信処理(図6参照)において計測パケット又はデータパケットが受信装置に対して送信される場合に使用される。生成されたデータは、対応付けられている優先度に相当する送信バッファに格納される(S181)。格納処理は終了し、処理はメイン処理(図4参照)に戻る。メイン処理では、格納処理(S27)の終了後、処理はS17に戻る。
【0062】
送信処理について、図6から図10を参照して説明する。送信フラグがONからOFFに切り替えられたかが判断される(S41)。メイン処理において、送信フラグがOFFされた場合(S41:NO)、送信処理は終了する。送信フラグがONされている場合(S41:YES)、計測周期が終了したかを判定する終了判定処理が実行される(S43)。
【0063】
図7を参照し、終了判定処理について説明する。帯域範囲を計測する一連の計測パケットが全て送信され、受信装置から結果パケットを受信したかが判断される(S91)。結果パケットを受信していない場合(S91:NO)、計測周期は終了していないと判断される(S97)。終了判定処理は終了し、処理は送信処理(図6参照)に戻る。受信装置から結果パケットを受信した場合(S91:YES)、計測時間に対する非計測時間の割合が、所定の割合(例えば30%)以上となったかが判断される(S93)。計測時間に対する非計測時間の割合が所定の割合未満である場合(S93:NO)、計測周期は終了していないと判断される(S97)。終了判定処理は終了し、処理は送信処理(図6参照)に戻る。計測時間に対する非計測時間の割合が所定の割合以上となった場合(S93:YES)、計測周期は終了したと判断される(S95)。終了判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0064】
図6に示すように、終了判定処理(S43)において計測周期が終了したと判断された場合(S45:YES)、次の計測周期で計測通信を開始するために、第二パラメータが初期化される(S47)。処理はS49に進む。一方、終了判定処理において計測周期が終了していないと判断された場合(S45:NO)。処理はS49に進む。
【0065】
S49では、動作状態を判定する状態判定処理が実行される。動作状態は、第二パラメータに基づいて判定される。図8を参照し、状態判定処理について説明する。はじめに、帯域範囲を計測する一連の計測パケットが全て送信されたかが判断される(S101)。一連の計測パケットが全て送信されているか否かは、最後に送信した計測パケットに付したシーケンス番号と、計測パケット総数とを比較することによって判断される。一連の計測パケットが全て送信されている場合(S101:YES)、動作状態は非計測状態とされる(S109)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0066】
一連の計測パケットが未だ全て送信されていない場合(S101:NO)、連続計測時間が第一時間以上であるかが判断される(S103)。連続計測時間が第一時間以上である場合(S103:YES)、計測状態である時間が十分確保されたことになる。動作状態は非計測状態とされる(S109)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。このように、計測状態の時間が確実に確保されるので、通信装置1は、計測パケットによる使用可能帯域の計測に必要な帯域を確実に確保できる。通信装置1は、確実且つ正確に使用可能帯域の計測を行うことができる。
【0067】
一方、連続計測時間が第一時間未満である場合(S103:NO)、連続計測時間に対する連続非計測時間の割合が第一割合以上となったかが判断される(S105)。連続計測時間に対する連続非計測時間の割合が第一割合未満である場合(S105:NO)、非計測状態である時間は未だ十分確保されていないので、動作状態は非計測状態とされる(S109)。状態判定処理は終了し、処理はメイン処理(図6参照)に戻る。連続非計測時間の割合が第一割合以上となった場合(S105:YES)、非計測状態である時間は十分確保されたことになるので、動作状態は計測状態とされる(S107)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。このように、計測状態と非計測状態の時間比率が特定されるので、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とが確実に確保される。
【0068】
図6に示すように、状態判定処理(S49)の結果、動作状態が計測状態となっている場合(S51:YES)、動作状態が非計測状態から計測状態に切り替わった直後の状態であるかが判断される(S53)。動作状態が非計測状態から計測状態に切り替わった直後の状態である場合(S53:YES)、計測パケット群を構成する計測パケットの送信を開始するために、連続計測時間はクリアされ初期化される(S55)。処理はS57に進む。動作状態が継続して計測状態である場合(S53:NO)、処理はS57に進む。
【0069】
現時点での時刻(t1)が、送信開始時刻として取得される(S57)。第一送信処理が実行される(S59)。第一送信処理では、計測パケットが計測パケット群毎に送信される。図9を参照し、第一送信処理について説明する。計測パケット群を構成する計測パケットのうち最後の計測パケットを送信したかが判断される(S121)。判断は、最後に送信した計測パケットに付したシーケンス番号と、計測パケット群総数とを比較することによって行われる。計測パケット群を構成する計測パケットのうち最後の計測パケットを送信していない場合(S121:NO)、計測パケット群を構成する計測パケットの全てを未だ送信していないことになる。計測パケット群を構成する計測パケットのうち最初の計測パケットを既に送信しているかが判断される(S123)。計測パケット群を構成する計測パケットのうち最初の計測パケットを未だ送信していない場合(S123:NO)、処理はS131に進む。
【0070】
計測パケット群を構成する計測パケットのうち最初の計測パケットが既に送信済みである場合(S123:YES)、前回の計測パケットの送信が完了した時点の時刻(t2、S137参照、後述)から現時点までの経過時間が特定される(S125)。特定された経過時間に基づいて送信間隔が補正されることで、現時点から計測パケットを送信するまでに待機するべき待機時間が算出される(S127)。算出された待機時間分、待機される(S129)。
【0071】
S129での待機後、未だ受信装置に対して送信されていないデータが送信バッファに残っているかが判断される(S131)。送信バッファに未送信のデータが残っている場合(S131:YES)、優先度が高い順に送信バッファが選択される。選択された送信バッファからデータが取得される(S133)。処理はS135に進む。一方、送信バッファに未送信のデータが残っていない場合(S131:NO)、ダミーデータが取得される(S134)。ダミーデータとは、計測パケットのサイズを満たす目的で計測パケットに形式的に格納される、内容のないデータである。処理はS135に進む。S135では、S133又はS134で取得されたデータに基づいて、計測パケットが作成される。計測パケットには、シーケンス番号が付される。作成された計測パケットは、受信装置に対して送信される(S135)。シーケンス番号に1が加算され更新される。現時点での時刻(t2)が、送信が完了した時点の時刻として取得される(S137)。計測パケットに格納されたデータの総量が第一データ総量に加算されることで、第一データ総量は更新される(S139)。処理はS121に戻る。
【0072】
上述の処理が繰り返され、計測パケット群を構成する計測パケットのうち最後の計測パケットが受信装置に対して送信された場合(S121:YES)、計測パケット群を構成する計測パケットの全てが送信されたことになる。第一送信処理は終了し、処理は送信処理(図6参照)に戻る。
【0073】
このように通信装置1は、計測パケット群毎に計測パケットを送信することで、非計測状態への切り替えの判断の頻度を多くしている。これによって通信装置1は、非計測状態に切り替えられる頻度を多くできる。データパケットは頻繁に受信装置に対して送信される。従って、データパケットに格納されるデータの通信遅延を小さくできる。
【0074】
送信処理では、第一送信処理(S59)の終了後、現時点の時刻(t3)が送信終了時刻として取得される(S61)。S57で取得された送信開始時刻(t1)と、S61で取得された送信終了時刻(t3)との差分が算出される。算出された差分が連続計測時間に加算されることで、連続計測時間は更新される(S63)。算出された差分が計測時間に加算されることで、計測時間は更新される(S65)。処理はS41に戻る。
【0075】
一方、状態判定処理(S49)の結果、動作状態が非計測状態となっている場合(S51:NO)、動作状態が計測状態から非計測状態に切り替わった直後の状態であるかが判断される(S67)。動作状態が計測状態から非計測状態に切り替わった直後の状態である場合(S67:YES)、データパケットの送信を開始するために、連続非計測時間はクリアされ初期化される(S69)。処理はS71に進む。動作状態が継続して非計測状態である場合(S67:NO)、処理はS71に進む。
【0076】
現時点での時刻(t1)が、送信開始時刻として取得される(S71)。第二送信処理が実行される(S73)。第二送信処理では、優先度の高い送信バッファに格納されたデータが優先的に取得され、データパケットに格納されて送信される。図10を参照し、第二送信処理について説明する。最も優先度の高い送信バッファにデータが格納されているかが判断される(S141)。最も優先度の高い送信バッファにデータが格納されている場合(S141:YES)、この送信バッファに格納されたデータが取得される(S153)。処理はS148に進む。
【0077】
一方、最も優先度の高い送信バッファにデータが格納されていない場合(S141:NO)、現時点での時刻が取得される(S143)。送信バッファに格納されているデータに対応付けられた取り出し時刻が抽出される。抽出された取り出し時刻と、S143で取得された現時点での時刻とが比較される。現時点での時刻が取り出し時刻を超過しているかが判断される(S145)。現時点での時刻が取り出し時刻を超過していない場合(S145:NO)、データパケットに格納するデータは送信バッファにないと判断される。第二送信処理は終了し、処理は送信処理(図6参照)に戻る。一方、現時点での時刻が取り出し時刻を超過している場合(S145:YES)、該当する取り出し時刻が対応付けられたデータが、送信バッファから取得される(S147)。処理はS148に進む。
【0078】
S148では、データパケットを送信する場合に使用される帯域が決定される(S148)。過去に計測された使用可能帯域よりも小さい帯域が、使用される帯域として決定される。S147又はS153で取得されたデータに基づいて、データパケットが作成される。計測パケットには、シーケンス番号が付される。作成されたデータパケットは、受信装置に対して送信される(S149)。シーケンス番号に1が加算され、更新される。データパケットに格納されたデータの総量が第二データ総量に格納されることで、第二データ総量は更新される(S151)。第二送信処理は終了し、処理は送信処理(図6参照)に戻る。
【0079】
このように、データパケットには、優先度の高いデータが優先的に格納される。本実施形態では、優先度の高い送信バッファには、リアルタイム性の要求される音声データが格納されている。従って通信装置1は、音声データを遅滞なく受信装置に対して送信できる。また、データが生成されてからの経過時間が許容時間を超えた場合に、該当するデータをデータパケットに格納し、送信できる。従って、作成されたデータが受信装置に長時間到達しないことを防止できる。
【0080】
なお上述では、データパケットを送信する場合に使用される帯域は、過去に計測された使用可能帯域よりも小さい帯域とされたが、帯域は他の方法で決定されてもよい。例えば、過去に特定された使用可能帯域に対して第二割合以下となるように決定されてもよい。これによって通信装置1は、データパケットの通信の確実性をさらに高めることができる。
【0081】
図6の送信処理では、第二送信処理(S73)の終了後、現時点の時刻(t3)が送信終了時刻として取得される(S75)。S71で取得された送信開始時刻(t1)と、S75で取得された送信終了時刻(t3)との差分が算出される。算出された差分が連続非計測時間に加算されることで、連続非計測時間は更新される(S77)。算出された差分が非計測時間に加算されることで、非計測時間は更新される(S79)。処理はS41に戻る。
【0082】
図11を参照し、受信処理について説明する。受信フラグがONからOFFに切り替えられたかが判断される(S191)。メイン処理において、受信フラグがOFFされた場合(S191:NO)、受信処理は終了する。受信フラグがONされている場合(S191:YES)、受信装置から送信された結果パケットを受信したかが判断される(S193)。結果パケットを受信していない場合(S193:NO)、処理はS191に戻る。結果パケットを受信した場合(S193:YES)、結果パケットに格納されている使用可能帯域が取得される。取得された使用可能帯域は、HDD13に記憶される(S195)。取得された使用可能帯域に基づいて帯域範囲及び送信間隔を新たに定め、次の計測周期で計測通信を実行するために、第一パラメータが更新される(S197)。処理はS191に戻る。
【0083】
以上説明したように、通信装置1は、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置1は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば上述したように、通信装置1は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。
【0084】
なお、データパケットによる通信時に使用される帯域は、過去に計測された使用可能帯域よりも小さい。従って通信装置1は、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【0085】
データパケットを送信する場合に使用される帯域が、本発明の「使用帯域」に相当する。計測パケット総数が本発明の「第一数」に相当する。計測パケット群総数が本発明の「第二数」に相当する。図6のS49の処理を行うCPU10が本発明の「切り替え手段」に相当する。図9のS135の処理を行うCPU10が本発明の「第一送信手段」に相当する。図10のS148の処理を行うCPU10が本発明の「決定手段」に相当し、S149の処理を行うCPU10が本発明の「第二送信手段」に相当する。図9のS121の処理を行うCPU10が本発明の「判断手段」に相当し、図5のS173の処理を行うCPU10が本発明の「特定手段」に相当する。図6のS49の処理が本発明の「切り替えステップ」に相当する。図9のS135の処理が本発明の「第一送信ステップ」に相当する。図10のS148の処理が本発明の「決定ステップ」に相当し、S149の処理が本発明の「第二送信ステップ」に相当する。
【0086】
本発明は、上述の実施形態に限定されるものではなく、種々の変更が可能である。
上述の実施形態では、送信装置のエンコーダによって生成された各種データ(映像データ、画像データ、及び音声データ)のうち、優先度の高い音声データが優先的にデータパケットに格納されていた。本発明はこれに限定されない。データパケットに格納されるデータは、例えば、帯域計測を行うアプリケーションとは異なる他のアプリケーションで使用されるデータであってもよい。又例えば、非計測状態を設けることで確保された帯域を他の通信装置1が使用することで、他のデータの通信が行われてもよい。
【0087】
上述の実施形態のうち条件(2)では、連続計測時間が第一時間以上となった場合に、通信装置1の動作状態が計測状態から非計測状態に切り替えられていた。本発明はこれに限定されない。連続計測時間が計測周期に対して所定の割合以上となった場合に、通信装置1の動作状態が計測状態から非計測状態に切り替えられてもよい。又は、一の計測パケット群が送信される場合の送信時間が定められてもよい。連続計測時間が、該送信時間に対して所定の割合以上となった場合に、通信装置1の状態が計測状態から非計測状態に切り替えられてもよい。
【0088】
上述の実施形態のうち条件(3)では、連続計測時間と連続非計測時間との時間比率に応じて、通信装置1の動作状態が非計測状態から計測状態に切り替えられていた。本発明はこれに限定されない。連続非計測時間が所定の時間以上となった場合に、通信装置1の動作状態が非計測状態から計測状態に切り替えられてもよい。
【0089】
上述では、計測パケット群は、所定数の計測パケットを含んでいたが、本発明はこれに限定されない。計測パケット群は、所定の帯域範囲内で使用可能帯域を計測するために必要な計測パケットを含む構成であってもよい。
【0090】
上述の実施形態では、上述した(1)〜(3)の条件に基づいて動作状態を切り替えていた。本発明はこれに限定されない。以下、本発明の変形例について説明する。
【0091】
本発明の変形例について説明する。変形例では、計測周期内でパケット(計測パケット及びデータパケット)が送信された場合に占有される帯域の平均(以下「平均帯域」という。)と、特定された使用可能帯域とが所定の関係を満たす場合に、動作状態は計測状態から非計測状態に切り替えられる。例えば、平均帯域に所定の帯域を加算した値が使用可能帯域よりも大きくなった場合に、動作状態は非計測状態に切り替えられる。ここで、所定の帯域は、非計測状態を設けたことによって確保される帯域に相当する。従って通信装置1は、所望の空き帯域を確保できるので、確保された空き帯域を使用して所望量のデータを確実に受信装置に対して送信できる。
【0092】
図12を参照し、変形例における状態判定処理について説明する。メイン処理、状態判定処理を除く送信処理、及び受信処理は、上述の実施形態と同一である。変形例における状態判定処理は、送信処理(図6参照)から呼び出される。
【0093】
状態判定処理が呼び出されると、はじめに、帯域範囲を計測する一連の計測パケットが全て送信されたかが判断される(S201)。一連の計測パケットが全て送信されている場合(S201:YES)、動作状態は非計測状態とされる(S213)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0094】
一連の計測パケットが未だ全て送信されていない場合(S201:NO)、第一データ総量が取得され(S203)、次いで、第二データ総量が取得される(S205)。第一データ総量と第二データ総量とを加算した値が、計測周期で除算されることで、平均帯域が算出される(S207)。
平均帯域=(第一データ総量+第二データ総量)(bit)/計測周期(s)
【0095】
受信処理(図11参照)において特定され、HDD13に記憶された使用可能帯域が取得される。S207で算出された平均帯域に所定の帯域を加算した値が、使用可能帯域よりも大きいかが判断される(S209)。平均帯域に所定の帯域を加算した値が、使用可能帯域よりも大きい場合(S209:YES)、非計測状態に切り替えることでデータパケット用の帯域を確保しなければならないので、動作状態は非計測状態とされる(S213)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。一方、平均帯域に所定の帯域を加算した値が、使用可能帯域以下である場合(S209:NO)、計測パケットの送信を継続できるので、動作状態は計測状態とされる(S211)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0096】
以上説明したように、通信装置1は、使用可能帯域と平均帯域とが所定の関係を満たす場合に、動作状態を非計測状態に切り替えることで、所定の帯域を確実に確保できる。これによって通信装置1は、計測パケット及びデータパケットの通信を確実に実行しつつ、所望の帯域を確実に確保できる。なお、図12のS207が本発明の「算出手段」に相当する。
【符号の説明】
【0097】
1 通信装置
10 CPU
13 HDD
100 通信システム
【技術分野】
【0001】
本発明は、通信装置、通信方法、及び通信プログラムに関する。より詳細には、通信装置間の通信路における使用可能な帯域を計測できる通信装置、通信方法、及び通信プログラムに関する。
【背景技術】
【0002】
通信網(インターネットなど)において使用可能な伝送路容量の計測を継続的に行うことが可能な通信装置が知られている。以下、「伝送速度」「伝送路容量」を「帯域」ともいう。使用可能な伝送路容量を「使用可能帯域」という。例えば非特許文献1に記載の通信装置では、計測用のパケット(以下「計測パケット」という。)を送信する側の通信装置(以下「送信装置」という。)は、計測パケットの送信間隔を算出するための時間情報を計測パケットに格納する。送信装置は、計測パケットの送信間隔を徐々に変えることで、送信時の帯域を所定の帯域の範囲(以下「帯域範囲」という。)内で順次変更しながら、計測パケットを送信する。受信側の通信装置(以下「受信装置」という。)は、パケットの受信間隔を記憶する。受信装置は、パケット内の時間情報に含まれている送信間隔と、受信装置で記憶された受信間隔との差分を算出する。算出された複数の差分の値の変化傾向から、使用可能帯域が特定される。特定された使用可能帯域は、送信装置に対して通知される。送信装置は、使用可能帯域を取得できる。以上の処理は、送信装置側で帯域範囲を変えながら計測パケットが送信されることで、繰り返し実行される。これによって、通信装置間で使用可能帯域が継続して計測される。なお帯域範囲は、前回の計測時に特定された使用可能帯域が今回の計測時における帯域範囲の平均値(帯域範囲における最も狭帯域側の帯域と、最も広帯域側の帯域との中央値)となるように定められる。
【0003】
計測パケットには、ユーザが所望するアプリケーションに起因するデータ(音声データや映像データ等、以下「所望データ」という。)が格納される。これによって通信装置は、通信路の使用可能帯域を計測しながら、通信装置間で所望データの通信を行うことができるので、効率的に所望データの通信を行うことができる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】インラインネットワーク計測手法 ImTCP およびその応用手法の実装および性能評価 津川 知朗,LE THANH MAN, Cao,長谷川 剛,村田 正幸 電子情報通信学会 技術研究報告 (IN2005-120), pp. 79-84, December 2005
【発明の概要】
【発明が解決しようとする課題】
【0005】
通信装置が、使用可能帯域の計測が行われているネットワークを使用して、継続的に他の所望データの通信を行ないたい場合がある。また、該ネットワークを使用して、他のアプリケーションに起因する他の所望データの通信を行いたい場合がある。また、他の通信装置が、該ネットワークを使用して、他の所望データの通信を行ないたい場合がある。しかしながら上述の方法では、ネットワークにおける使用可能帯域の大部分は、計測パケットの通信によって占有されてしまう。このため、ネットワークにおける利用可能な帯域が残っていないので、通信装置や他の通信装置は、安定的に他の所望データの通信を行うことができないという問題点がある。
【0006】
本発明の目的は、他の所望データの通信を安定的に行うことができる通信装置、通信方法、及び通信プログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の第一態様に係る通信装置は、ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置であって、所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替え手段と、前記切り替え手段によって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信手段と、前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定手段と、前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定手段によって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信手段とを備えている。
【0008】
第一態様によれは、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば通信装置は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。又例えば通信装置は、他のアプリケーションに起因するデータパケットの通信を行うことができる。又例えば他の通信装置は、使用可能帯域の計測が実行されているネットワークを使用して、データパケットの通信を行うことができる。
【0009】
なお、使用帯域は使用可能帯域よりも小さいので、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【0010】
また、第一態様において、前記切り替え手段は、前記計測状態が第一時間以上継続した場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えてもよい。計測状態の時間が確実に確保されるので、通信装置は、計測パケットによる使用可能帯域の計測に必要な帯域を確実に確保できる。通信装置は、確実且つ正確に使用可能帯域の計測を行うことができる。通信装置は、計測状態である時間が第一時間以上となった場合に、動作状態を非計測状態に切り替える。従って通信装置は、使用可能帯域の計測を確実かつ正確に実行しつつ、データパケット通信用の帯域を確保できる。
【0011】
また、第一態様において、前記切り替え手段は、前記計測状態が継続した時間に対して、前記非計測状態が継続した時間の割合が第一割合以上となった場合に、前記動作状態を前記非計測状態から前記計測状態に切り替えてもよい。計測状態と非計測状態の時間比率が特定されるので、通信装置は、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とを確実に確保できる。また通信装置は、第一割合を変えることで、非計測状態の時間比率を調整できる。これによって通信装置は、時間比率を最適化することで、データパケットによる通信に必要な帯域を適切に分配することができる。
【0012】
また、第一態様において、前記第一送信手段によって送信される前記計測パケットのデータ量と、前記第二送信手段によって送信される前記データパケットのデータ量とに基づいて、前記所定周期内で使用された帯域の平均である平均帯域を算出する算出手段を備え、前記切り替え手段は、前記算出手段によって算出された前記平均帯域と前記使用可能帯域とが所定の関係を満たす場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えてもよい。使用可能帯域と平均帯域との差は、確保される帯域に相当する。従って、使用可能帯域と平均帯域とが所定の関係を満たす場合に、動作状態を非計測状態に切り替えることで、所定の帯域を確実に確保できる。これによって、計測パケット及びデータパケットの通信を確実に実行しつつ、所望の帯域を確実に確保できる。
【0013】
また、第一態様において、前記第一送信手段は、前記所定周期内で送信される前記計測パケットの総数である第一数よりも少ない第二数毎に前記計測パケットを区分して送信し、前記第二数毎に区分された前記計測パケットである計測パケット群の送信が終了したか判断する判断手段を備え、前記切り替え手段はさらに、前記判断手段において、前記計測パケット群の送信が終了したと判断された場合に、前記動作状態を切り替えてもよい。計測パケット群を構成する計測パケットの数を小さくすることで、非計測状態に切り替えられる頻度を多くできる。データパケットは頻繁に相手装置に対して送信される。これによって、データパケットに格納されるデータの通信遅延を小さくできる。
【0014】
また、第一態様において、前記決定手段は前記使用可能帯域に対して前記使用帯域が第二割合以下となるように、前記使用帯域を決定してもよい。これによって通信装置は、使用可能帯域に対する使用帯域の割合を規定できる。これによって通信装置は、非計測状態時に使用可能な帯域内で、データパケットの通信を確実に実行できる。
【0015】
また、第一態様において、前記計測パケット又は前記データパケットに格納するデータの優先度を特定する特定手段を備え、前記第二送信手段は、前記特定手段によって前記優先度が高いと特定された前記データを優先的に前記データパケットに格納し、前記相手装置に対して送信してもよい。データパケットには、優先度の高いデータが優先的に格納される。例えば通信装置は、リアルタイム性の要求されるデータの優先度を高めることで、このデータを非計測状態において相手装置に送信できる。これによって通信装置は、リアルタイム性の要求されるデータを遅滞なく通信装置に送信できる。
【0016】
また、第一態様において、前記第二送信手段は、前記データパケットに格納されるデータが作成されてからの経過時間が第二時間以上であるデータを優先的に前記データパケットに格納し、前記相手装置に対して送信してもよい。これによって通信装置は、作成されてからの経過時間が長いデータを優先的にデータパケットに格納し、相手装置に対して送信できる。これによって、作成されたデータが相手装置に対して長時間到達しないことを防止できる。
【0017】
本発明の第二態様に係る通信方法は、ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置において実行される通信方法であって、所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップとを備えている。
【0018】
第二態様によれは、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば通信装置は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。又例えば通信装置は、他のアプリケーションに起因するデータパケットの通信を行うことができる。又例えば他の通信装置は、使用可能帯域の計測が実行されているネットワークを使用して、データパケットの通信を行うことができる。
【0019】
なお、使用帯域は使用可能帯域よりも小さいので、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【0020】
本発明の第三態様に係る通信プログラムは、ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測するための通信プログラムであって、所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップとをコンピュータに実行させる。
【0021】
第三態様によれば、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば通信装置は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。又例えば通信装置は、他のアプリケーションに起因するデータパケットの通信を行うことができる。又例えば他の通信装置は、使用可能帯域の計測が実行されているネットワークを使用して、データパケットの通信を行うことができる。
【0022】
なお、使用帯域は使用可能帯域よりも小さいので、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【図面の簡単な説明】
【0023】
【図1】通信システム100の構成、及び通信装置1の電気的構成を示す図である。
【図2】計測通信において計測パケットが送信される様子の第一例を示す図である。
【図3】計測通信において計測パケットが送信される様子の第二例を示す図である。
【図4】メイン処理を示すフローチャートである。
【図5】格納処理を示すフローチャートである。
【図6】送信処理を示すフローチャートである。
【図7】終了判定処理を示すフローチャートである。
【図8】状態判定処理を示すフローチャートである。
【図9】第一送信処理を示すフローチャートである。
【図10】第二送信処理を示すフローチャートである。
【図11】受信処理を示すフローチャートである。
【図12】変形例における状態判定処理を示すフローチャートである。
【発明を実施するための形態】
【0024】
以下、本発明の通信装置を具現化した一実施の形態である通信装置1、および複数の通信装置1を備えた通信システム100について、図面を参照して説明する。なお、参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0025】
通信システム100について説明する。図1に示すように、通信システム100は、少なくとも2つの通信装置1を備える。通信装置1は、ネットワーク8を介して他の通信装置1と接続する。通信装置1は、他の通信装置1との間で各種データの通信を行う。
【0026】
通信システム100は、複数の拠点のユーザがテレビ会議を行うためのテレビ会議システムである。各通信装置1は、映像データ、画像データ、及び音声データを互いに送受信することで、複数の拠点の映像、資料、及び音声を共有する。通信装置1は、ネットワーク8を介したデータ通信を実行できるものであればよい。具体的には、テレビ会議を実行するために各拠点に配置される専用のテレビ会議端末であってもよいし、種々の情報処理を行うパーソナルコンピュータであってもよい。
【0027】
通信システム100では、通信相手の通信装置1との間で帯域が計測され、使用可能帯域が特定される。使用可能帯域とは、送信側の通信装置1が送信するデータの伝送速度とほぼ等しい伝送速度で受信側の通信装置1がデータを受信できる最大の伝送速度をいう。使用可能帯域を越える伝送速度でパケットが送信されると、パケットロス、通信遅延等が生じる。一方、伝送速度を低くしすぎると、使用可能帯域を十分に活用することができず、効率が悪い。従って、各通信装置1は、特定された使用可能帯域に合わせて、使用する伝送速度(帯域)を制御する。なお、帯域と、各通信装置1間の伝送速度とを比較するため、帯域の単位として「bps」を用いる。
【0028】
通信装置1の電気的構成について説明する。図1に示すように、通信装置1は、通信装置1の制御を司るCPU10を備えている。CPU10には、映像データ、画像データ、及び音声データを生成するエンコーダが内蔵されている。CPU10には、ROM11、RAM12、ハードディスクドライブ(以下、「HDD」という。)13、および入出力インターフェース19が、バス18を介して接続されている。
【0029】
ROM11は、通信装置1を動作させるためのプログラムおよび初期値等を記憶している。RAM12は、制御プログラムで使用される各種の情報を一時的に記憶する。HDD13は、制御プログラム等の各種の情報を記憶する不揮発性の記憶装置である。HDD13の代わりに、EEPROMまたはメモリカード等の記憶装置を用いてもよい。
【0030】
入出力インターフェース19には、音声入力処理部21、音声出力処理部22、映像入力処理部23、映像出力処理部24、操作部25、外部通信I/F26、及びドライブ装置27が接続されている。音声入力処理部21は、マイク31からのデータの入力を処理する。音声出力処理部22は、スピーカ32の動作を処理する。映像入力処理部23は、カメラ33からのデータの入力を処理する。映像出力処理部24は、映像を表示する表示装置34の動作を処理する。操作部25は、ユーザが通信装置1に各種指示を入力するために用いられる。操作部25は、通信装置1の外部から、入出力インターフェース19へ接続されるものであってもよい。外部通信I/F26は、通信装置1をネットワーク8に接続する。ドライブ装置27は、記憶媒体271に記憶された情報を読み出すことができる。例えば、通信装置1のセットアップ時、記憶媒体271に記憶された制御プログラムはドライブ装置27によって読み出され、HDD13に記憶される。
【0031】
本実施形態の通信システム100で用いられる帯域計測方式について、概略的に説明する。通信システム100で用いられる帯域計測方式は、「CaoLe Thanh Man、長谷川剛、村田正幸、「サービスオーバーレイネットワークのためのインラインネットワーク計測に関する一検討」電子情報通信学会技術研究報告、社団法人電子情報通信学会、2003年1月17日、Vol.102,No.565,p.53−58」に記載されている公知の方式である。なお、本発明を適用できる帯域計測方式は、上記文献に記載されている方式に限られない。パケットの送信間隔および受信間隔を利用した計測方式であれば、本発明の適用は可能である。
【0032】
計測原理について説明する。通信装置1は、ネットワーク8を介して他の通信装置1に対して複数の計測パケットを送信する。他の通信装置1は、計測パケットを受信する。以下、計測パケットを送信する通信装置1を「送信装置」といい、計測パケットを受信する通信装置1を「受信装置」という。送信装置が計測パケットを送信する場合に使用される帯域(単位:bps)が使用可能帯域(単位:bps)以下であれば、計測パケットはネットワーク8内で渋滞しない。この場合、送信装置によって送信された計測パケットを受信装置が受信する間隔(受信間隔)は、理想的には送信間隔と同一となる。一方、計測パケットを送信する場合に使用される帯域が使用可能帯域よりも大きければ、計測パケットはネットワーク8内で渋滞し、受信間隔は送信間隔よりも長くなる。
【0033】
送信装置は、送信間隔を徐々に変化させることで、計測パケットの送信時に使用される帯域を変化させる。使用される帯域が使用可能帯域よりも大きい間は、受信間隔が送信間隔よりも長い。しかし、計測パケットの送信時に使用される帯域が使用可能帯域以下となれば、受信間隔と送信間隔とは同一となる。通信装置1は、受信間隔と送信間隔との関係が変化する時点の帯域を、使用可能帯域として特定できる。
【0034】
計測手順について説明する。通信システム100では、大まかに、以下の手順で帯域が計測され、使用可能帯域が特定される。
【0035】
1.計測パケット送受信
送信装置において、所定の帯域範囲が特定される。帯域範囲とは、異なる二つの帯域によって定義される所定の帯域の範囲である。特定された所定の帯域範囲内の帯域のうち、計測パケットを送信する場合に使用される帯域が複数選択される。以下、計測パケットを送信する場合に使用される帯域を「計測帯域」という。其々の計測帯域を使用して送信される計測パケットのデータサイズ及び送信間隔が決定される。決定された送信間隔で、計測パケットが順番に送信装置から送信される。計測パケットには、送信間隔及びデータサイズが格納される。受信装置は、計測パケットを受信する。
【0036】
2.使用可能帯域特定
受信装置は、一連の計測パケットを受信した後、計測パケットを実際に受信した時刻から、受信間隔を算出する。計測パケットに含まれている送信間隔と計測パケットのサイズとから、計測パケットが送信装置において送信された際の伝送速度が算出される。受信間隔と計測パケットのサイズとから、計測パケットが受信装置において受信された際の受信レートか算出される。計測パケットが送信された際の伝送速度(bps)と、計測パケットが受信された際の受信レート(bps)との関係から、「送信間隔/受信間隔」が算出される。「送信間隔/受信間隔」の値が変化する時点が特定される。特定された時点の伝送速度が、使用可能帯域として特定される。結果パケットに、使用可能帯域が格納される。受信装置から送信装置に対して、結果パケットが送信される。送信装置では、結果パケットが受信される。
【0037】
3.帯域範囲を更新し、上記1.へ戻る。
送信装置では、受信した結果パケットに含まれている使用可能帯域に基づいて、新たな帯域範囲が特定される。具体的には、新たな帯域範囲の平均と使用可能帯域とが一致するように、新たな帯域範囲が特定される。特定された新たな帯域範囲に基づいて、繰り返し帯域が計測される。これによって、使用可能帯域の特定が繰り返し試みられる。以下、使用可能帯域を特定するために実行される上述の通信を「計測通信」という。
【0038】
なお計測パケットには、テレビ会議を実行するための映像データ、画像データ、及び音声データが格納される。送信装置は、計測通信と同時に、映像データ、画像データ、及び音声データを受信装置に対して送信できる。これによって通信装置1は、計測通信によって使用可能帯域の計測を実行しながら、テレビ会議を実行できる。
【0039】
図2を参照し、計測通信において計測パケットが送信される様子の第一例について説明する。図2のうち長方形の棒41は、送信装置から送信される計測パケットを示している。棒の長さは、その計測パケットが送信された場合の計測帯域を示している。BlからBhの範囲は、帯域範囲を示している。Blは、帯域範囲のうち最も狭帯域側の帯域を示している。Bhは、帯域範囲のうち最も広帯域側の帯域を示している。送信装置は、計測パケットの送信間隔を徐々に長くすることで、計測帯域を広帯域側から狭帯域側に順次移動させている。Ta1間及びTa2間では、其々、帯域範囲に応じた一連の計測パケットが送信されている。一連の計測パケットが送信される周期(Tに相当)を、以下「計測周期」という。Ta1間での計測通信によって、使用可能帯域Beが特定されている。Ta2間での計測通信における帯域範囲は、Beが帯域範囲の平均となるように調整されている。なお図2では、計測パケット間の送信間隔に相当する、棒と棒との間の隙間は省略されている。
【0040】
図2に示すように、第一例では、Ta1間での計測通信が終了してから、Ta2間での計測通信が開始されるまでに、Tb1が設けられている。Ta1間での計測通信と、Ta2間での計測通信とは連続して実行されない。Tb1間では、例えば、計測パケットに格納される各種データのうち、リアルタイム性の要求されるデータのみがパケットに格納され、通信が実行される。又、例えば、使用可能帯域の計測が行われるアプリケーションとは異なる他のアプリケーションに基づいたデータがパケットに格納され、通信が実行される。図2のうち長方形の棒42は、Tb1間で通信されるパケットを示している。以下、計測通信が実行されている動作状態(Ta1間等の状態に相当、)を、「計測状態」という。計測通信が実行されていない動作状態(Tb1間等の状態に相当)を、「非計測状態」という。非計測状態で通信が行われるパケットを、「データパケット」という。このように通信装置1は、計測通信と次の計測通信との間に非計測状態を設けることで、データパケットの通信を行うために必要な帯域を確保している。通信装置1は、非計測状態を設けたことによって確保された帯域を有効的に活用し、計測パケット以外のパケットの通信を行っている。
【0041】
本実施形態では、以下の(1)(2)のうちいずれかの条件が充足された場合に、通信装置1の動作状態が計測状態から非計測状態に切り替えられる。
(1)帯域範囲に応じた一連の計測パケットが全て送信された場合
(2)計測状態が所定の第一時間(例えば100ms)以上継続した場合
(2)の条件で動作状態が計測状態から非計測状態に切り替えられるので、計測状態の時間は確実に確保される。これによって、計測パケットによる使用可能帯域の計測に必要な帯域は確実に確保される。
【0042】
また、以下の(3)の条件が充足された場合に、通信装置1の動作状態が非計測状態から計測状態に切り替えられる。
(3)計測状態が継続した時間に対して、非計測状態が継続した時間の割合が、所定の第一割合(例えば70%)以上となった場合
(3)の条件で動作状態が非計測状態から計測状態に切り替えられるので、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とが確実に確保される。計測状態と非計測状態との時間比率が最適化されるので、データパケットによる通信に必要な帯域が適切に分配される。
【0043】
また、以下の(4)の条件が充足された場合に、計測周期は終了し、次の計測周期に切り替えられる。
(4)受信装置から結果パケットを受信した場合であり、且つ、計測状態である時間の計測周期内での累積時間に対して、非計測状態である時間の計測周期内での累積時間の割合が、所定の割合以上となった場合
【0044】
図2では、帯域範囲Bl〜Bhに応じた一連の計測パケットが全て送信されたことによって、通信装置1の動作状態が計測状態から非計測状態に切り替えられている(Ta1→Tb1)。また、非計測状態が継続した時間(Tb1)が、計測状態が継続した時間(Ta1)の第一割合以上になったことによって、通信装置1の動作状態が計測状態から非計測状態に切り替えられている(Tb1→Ta2)。また、受信装置から結果パケットを受信し、且つ、非計測状態である時間の計測周期(T)内での累積時間(Tb1)が、計測状態である時間の計測周期(T)内での累積時間(Ta1)に対して所定の割合以上となったことによって、計測周期(T)は次の計測周期(T)に切り替えられている。
【0045】
非計測状態においてデータパケット(棒42に相当)が送信される場合に使用される帯域は、計測状態時に使用された計測帯域よりも小さくなるように決定される。図2では、Ta1間の帯域範囲の中央値Bcよりも小さい帯域が、Tb1間でパケットが送信される場合に使用される帯域として決定される。なお、Ta1間の帯域範囲の中央値Bcは、Ta1間よりも前に計測された使用可能帯域に相当するので、Tb1間でパケットが送信される場合に使用される帯域は、過去に計測された使用可能帯域よりも小さくなることになる。このように帯域が決定されることによって、データパケットの通信は安定的に実行される。
【0046】
なお、非計測状態においてデータパケットが送信される場合に使用される帯域は、他の方法によって決定されてもよい。例えば帯域は、計測通信時に特定された使用可能帯域に対して第二割合(例えば80%)以下となるように決定されてもよい。例えば図2では、Ta1間での計測通信によって使用可能帯域Beが特定されているので、以後パケットが送信される場合に使用される帯域は、使用可能帯域Beに対して第二割合以下となるように決定されてもよい。これによって通信装置1は、非計測状態時におけるデータパケットの通信の確実性をさらに高めることができる。なお、非計測帯域では必ずしもデータパケットが送信される必要はなく、受信装置に対して送信するデータがなければ、データパケットは送信されなくてもよい。
【0047】
図3を参照し、計測通信において計測パケットが送信される様子の第二例について説明する。第二例では、通信装置1は、帯域範囲に応じて送信される一連の計測パケットの総数である第一数よりも小さい第二数毎に、計測パケットは区分される。以下、区分された計測パケットの集合を「計測パケット群」という。通信装置1は、計測パケット群を構成する計測パケットの送信が全て終了するタイミングで、上述した動作状態の切り替え条件(1)〜(3)を判断する。
【0048】
図3では、Ta1間での計測通信によって、計測パケット群51、52を構成する計測パケットが送信されている。Ta2間での計測通信によって、計測パケット群53、54を構成する計測パケットが送信されている。Ta1間での計測通信が終了してから、Ta2間での計測通信が開始されるまでに、Tb1が設けられている。同様に、Ta2とTa3との間にTb2が設けられ、Ta3とTa4との間にTb3が設けられている。Tb1、Tb2、Tb3間では、データパケット(棒42に相当)の通信が実行される。このように通信装置1は、計測パケット群単位で計測パケットを送信することで、非計測状態に切り替わる頻度を多くし、データパケットを頻繁に送信できるようにしている。これによって通信装置1は、データパケットを頻繁に送信することで、データの通信遅延を小さくしている。
【0049】
図3では、計測パケット群52を構成する計測パケットが全て送信された後、計測状態が継続した時間(Ta1)が第一時間以上になったと判断され、動作状態が計測状態から非計測状態に切り替えられている(Ta1→Tb1)。また、非計測状態が継続した時間(Tb1)の割合が、計測状態が継続した時間(Ta1)の第一割合以上になったと判断され、動作状態が非計測状態から計測状態に切り替えられている(Tb1→Ta2)。同様の処理が、Ta2、Ta3、Ta4、Tb2、及びTb3に対して実行されている。計測パケット群55を構成する計測パケットが全て送信された場合、帯域範囲Bl〜Bhに応じた計測パケットが全て送信されたと判断され、通信装置1の動作状態が計測状態から非計測状態に切り替えられている(Ta4→Tb4)。また、受信装置から結果パケットを受信し、且つ、非計測状態である時間の計測周期(T)内での累積時間(Tb1+Tb2+Tb3+Tb4)が、計測状態である時間の計測周期(T)内での累積時間(Ta1+Ta2+Ta3+Ta4)に対して所定の割合以上となったことによって、計測周期(T)は次の計測周期(T)に切り替えられている。
【0050】
以上のように、通信装置1は、計測状態に加えて非計測状態を設けることで、データパケットの通信を行うために必要な帯域を確保している。通信装置1は、計測状態の時間を確実に一定量確保することで、計測パケットによる使用可能帯域の計測に必要な帯域を確実に確保している。計測状態である時間が第一時間以上となった場合に、動作状態を非計測状態に切り替えることで、データパケットの通信を行うために必要な帯域を定期的に確保している。通信装置1は、計測状態と非計測状態の時間比率を特定することで、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とを調整している。
【0051】
図4から図11を参照し、通信装置1のうち送信装置のCPU10において実行されるメイン処理、送信処理、及び受信処理について説明する。メイン処理は、使用可能帯域の計測を行うアプリケーションの起動操作がユーザによって操作部25を介してなされた場合において、CPU10において起動され実行される。送信処理は、RAM12に記憶された送信フラグがOFFからONとなった場合に起動される。受信処理は、RAM12に記憶された受信フラグがOFFからONとなった場合に起動される。送信フラグ及び受信フラグのON/OFFは、メイン処理中で切り替えられる。送信フラグ及び受信フラグは、メイン処理の起動時にはOFFされている。CPU10によって実行される処理は、OSによってスイッチングされる。これによって其々の処理は並列して実行される。なお以下では、上述した第二例(図3参照)に基づき、計測パケットが計測パケット群単位で送信される場合を想定している。また、計測パケット及びデータパケットには、映像データ、画像データ、及び音声データのうちいずれかのデータが格納されるものとする。
【0052】
CPU10では、第一パラメータ及び第二パラメータが管理されている。第一パラメータは、計測パケットを所定の送信間隔で計測周期毎に送信するために使用されるパラメータである。第一パラメータとして、シーケンス番号、帯域範囲、送信間隔、計測パケット総数、計測パケット群総数、及び、データ生成速度がある。シーケンス番号は、計測パケットを送信する場合において計測パケットに付されるシーケンス番号である。送信間隔は、計測パケットと次の計測パケットとの間の送信間隔であって、計測パケット毎に特定されている。計測パケット総数は、帯域範囲を計測する一連の計測パケットの総数であって、計測周期内で送信される計測パケットの総数である。計測パケット群総数は、計測パケット群を構成する計測パケットの総数である。計測パケット群総数は、計測パケット総数と比較して小さい。データ生成速度は、映像データ、画像データ、及び音声データが、CPU10に内蔵されたエンコーダによって生成される場合の生成速度である。
【0053】
なお第一パラメータのうち、計測パケット群総数の代わりに、其々の計測パケット群によって計測される帯域範囲が決定されてもよい。計測パケット群総数は、帯域範囲に基づいて決定されてもよい。各計測パケット群の計測パケット群総数の総和が計測パケット総数と同等ならば、計測パケット群総数は計測パケット群毎に異なっていてもよい。
【0054】
第二パラメータとして、計測時間、非計測時間、連続計測時間、連続非計測時間、第一データ総量、及び、第二データ総量がある。計測時間は、計測状態である時間の計測周期内での累積時間である。非計測時間は、非計測状態である時間の計測周期内での累積時間である。連続計測時間は、計測状態が継続した場合の継続時間である。連続非計測時間は、非計測状態が継続した場合の継続時間である。例えば図3の矢印46で示される範囲で処理が実行され、47の時点に到達した場合、計測時間はTa1+Ta2+Ta3に相当する。非計測時間はTb1+Tb2+Tb3に相当する。連続計測時間はTa3に相当する。連続非計測時間はTb3に相当する。第一データ総量は、計測周期内で、計測パケットに格納されたデータの総量である。第二データ総量は、計測周期内で、データパケットに格納されたデータの総量である。
【0055】
図4を参照し、メイン処理について説明する。メイン処理では、はじめに、第一パラメータが初期化される(S11)。シーケンス番号に0が設定される。帯域範囲、送信間隔、計測パケット総数、計測パケット群総数、及びデータ生成速度に、ROM11に記憶された初期値が設定される。
【0056】
送信処理(図6参照)の起動を許可するために、送信フラグがONされる(S13)。これによって、送信処理が起動する。受信処理(図11参照)の起動を許可するために、受信フラグがONされる(S15)。これによって、受信処理が起動する。使用可能帯域の計測を行うアプリケーションの終了操作が、ユーザによって操作部25を介してなされたかが判断される(S17)。アプリケーションの終了操作がされた場合(S17:YES)、S13でONされた送信フラグはOFFされる(S29)。S15でONされた受信フラグはOFFされる(S31)。メイン処理は終了する。
【0057】
アプリケーションの終了操作がされていない場合(S17:NO)、受信処理(図11参照)において特定され、HDD13に記憶された使用可能帯域が取得される(S19)。前回取得された使用可能帯域と、今回取得された使用可能帯域とが同じであるかが判断される(S21)。前回取得された使用可能帯域と、今回取得された使用可能帯域とが同じである場合(S21:YES)、処理はS25に進む。
【0058】
前回取得された使用可能帯域と、今回取得された使用可能帯域とが異なる場合(S21:NO)、S19で取得された使用可能帯域に基づいて、データ生成速度が更新される(S23)。データ生成速度は、S19で取得された使用可能帯域よりも小さい値になるように決定される。例えばデータ生成速度は、使用可能帯域の80%となるように決定される。これによって、エンコーダによって生成されたデータが送信されず、通信装置1内に貯まってしまうことを防止している。処理はS25に進む。
【0059】
更新されたデータ生成速度に基づいて、映像データ、画像データ、及び音声データのうちいずれかがエンコーダによって生成される(S25)。生成されたデータを送信バッファに格納する格納処理が実行される(S27)。図5を参照し、格納処理について説明する。エンコーダによって生成されたデータの種別(映像データ、画像データ、及び音声データのうちいずれか)が取得される(S171)。取得された種別に基づいて、生成されたデータの優先度が特定される(S173)。具体的には、音声データの優先度が、映像データ及び画像データの優先度よりも高くなるように、優先度が特定される。映像データや画像データと比較して、音声データの方が、より高いリアルタイム性が要求され、より通信遅延の小さい環境で通信を行う必要があるためである。特定された優先度は、生成されたデータに対応付けられる。
【0060】
最大待ち時間が特定される(S175)。最大待ち時間とは、エンコーダによってデータが生成されてから、生成されたデータが計測パケット又はデータパケットに格納されて受信装置に対して送信されるまでの時間として許容される最大の時間である。最大待ち時間は、生成データの種別や、エンコードされる場合の仕様(圧縮方式など)等によって特定される。例えば、生成データが映像データである場合、最大待ち時間として66msが特定される。生成データが画像データである場合、最大待ち時間として200msが特定される。生成データが音声データである場合、最大待ち時間として40msが特定される。現時点での時刻が取得される(S177)。取得された時刻に、S175で特定された最大待ち時間を加算することで、取り出し時刻が算出される(S179)。生成されたデータに、算出された取り出し時刻が対応付けられる。
【0061】
優先度毎に送信バッファが設けられている。送信バッファは、送信処理(図6参照)において計測パケット又はデータパケットが受信装置に対して送信される場合に使用される。生成されたデータは、対応付けられている優先度に相当する送信バッファに格納される(S181)。格納処理は終了し、処理はメイン処理(図4参照)に戻る。メイン処理では、格納処理(S27)の終了後、処理はS17に戻る。
【0062】
送信処理について、図6から図10を参照して説明する。送信フラグがONからOFFに切り替えられたかが判断される(S41)。メイン処理において、送信フラグがOFFされた場合(S41:NO)、送信処理は終了する。送信フラグがONされている場合(S41:YES)、計測周期が終了したかを判定する終了判定処理が実行される(S43)。
【0063】
図7を参照し、終了判定処理について説明する。帯域範囲を計測する一連の計測パケットが全て送信され、受信装置から結果パケットを受信したかが判断される(S91)。結果パケットを受信していない場合(S91:NO)、計測周期は終了していないと判断される(S97)。終了判定処理は終了し、処理は送信処理(図6参照)に戻る。受信装置から結果パケットを受信した場合(S91:YES)、計測時間に対する非計測時間の割合が、所定の割合(例えば30%)以上となったかが判断される(S93)。計測時間に対する非計測時間の割合が所定の割合未満である場合(S93:NO)、計測周期は終了していないと判断される(S97)。終了判定処理は終了し、処理は送信処理(図6参照)に戻る。計測時間に対する非計測時間の割合が所定の割合以上となった場合(S93:YES)、計測周期は終了したと判断される(S95)。終了判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0064】
図6に示すように、終了判定処理(S43)において計測周期が終了したと判断された場合(S45:YES)、次の計測周期で計測通信を開始するために、第二パラメータが初期化される(S47)。処理はS49に進む。一方、終了判定処理において計測周期が終了していないと判断された場合(S45:NO)。処理はS49に進む。
【0065】
S49では、動作状態を判定する状態判定処理が実行される。動作状態は、第二パラメータに基づいて判定される。図8を参照し、状態判定処理について説明する。はじめに、帯域範囲を計測する一連の計測パケットが全て送信されたかが判断される(S101)。一連の計測パケットが全て送信されているか否かは、最後に送信した計測パケットに付したシーケンス番号と、計測パケット総数とを比較することによって判断される。一連の計測パケットが全て送信されている場合(S101:YES)、動作状態は非計測状態とされる(S109)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0066】
一連の計測パケットが未だ全て送信されていない場合(S101:NO)、連続計測時間が第一時間以上であるかが判断される(S103)。連続計測時間が第一時間以上である場合(S103:YES)、計測状態である時間が十分確保されたことになる。動作状態は非計測状態とされる(S109)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。このように、計測状態の時間が確実に確保されるので、通信装置1は、計測パケットによる使用可能帯域の計測に必要な帯域を確実に確保できる。通信装置1は、確実且つ正確に使用可能帯域の計測を行うことができる。
【0067】
一方、連続計測時間が第一時間未満である場合(S103:NO)、連続計測時間に対する連続非計測時間の割合が第一割合以上となったかが判断される(S105)。連続計測時間に対する連続非計測時間の割合が第一割合未満である場合(S105:NO)、非計測状態である時間は未だ十分確保されていないので、動作状態は非計測状態とされる(S109)。状態判定処理は終了し、処理はメイン処理(図6参照)に戻る。連続非計測時間の割合が第一割合以上となった場合(S105:YES)、非計測状態である時間は十分確保されたことになるので、動作状態は計測状態とされる(S107)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。このように、計測状態と非計測状態の時間比率が特定されるので、使用可能帯域を計測するために必要な帯域と、データパケットの通信を行うために必要な帯域とが確実に確保される。
【0068】
図6に示すように、状態判定処理(S49)の結果、動作状態が計測状態となっている場合(S51:YES)、動作状態が非計測状態から計測状態に切り替わった直後の状態であるかが判断される(S53)。動作状態が非計測状態から計測状態に切り替わった直後の状態である場合(S53:YES)、計測パケット群を構成する計測パケットの送信を開始するために、連続計測時間はクリアされ初期化される(S55)。処理はS57に進む。動作状態が継続して計測状態である場合(S53:NO)、処理はS57に進む。
【0069】
現時点での時刻(t1)が、送信開始時刻として取得される(S57)。第一送信処理が実行される(S59)。第一送信処理では、計測パケットが計測パケット群毎に送信される。図9を参照し、第一送信処理について説明する。計測パケット群を構成する計測パケットのうち最後の計測パケットを送信したかが判断される(S121)。判断は、最後に送信した計測パケットに付したシーケンス番号と、計測パケット群総数とを比較することによって行われる。計測パケット群を構成する計測パケットのうち最後の計測パケットを送信していない場合(S121:NO)、計測パケット群を構成する計測パケットの全てを未だ送信していないことになる。計測パケット群を構成する計測パケットのうち最初の計測パケットを既に送信しているかが判断される(S123)。計測パケット群を構成する計測パケットのうち最初の計測パケットを未だ送信していない場合(S123:NO)、処理はS131に進む。
【0070】
計測パケット群を構成する計測パケットのうち最初の計測パケットが既に送信済みである場合(S123:YES)、前回の計測パケットの送信が完了した時点の時刻(t2、S137参照、後述)から現時点までの経過時間が特定される(S125)。特定された経過時間に基づいて送信間隔が補正されることで、現時点から計測パケットを送信するまでに待機するべき待機時間が算出される(S127)。算出された待機時間分、待機される(S129)。
【0071】
S129での待機後、未だ受信装置に対して送信されていないデータが送信バッファに残っているかが判断される(S131)。送信バッファに未送信のデータが残っている場合(S131:YES)、優先度が高い順に送信バッファが選択される。選択された送信バッファからデータが取得される(S133)。処理はS135に進む。一方、送信バッファに未送信のデータが残っていない場合(S131:NO)、ダミーデータが取得される(S134)。ダミーデータとは、計測パケットのサイズを満たす目的で計測パケットに形式的に格納される、内容のないデータである。処理はS135に進む。S135では、S133又はS134で取得されたデータに基づいて、計測パケットが作成される。計測パケットには、シーケンス番号が付される。作成された計測パケットは、受信装置に対して送信される(S135)。シーケンス番号に1が加算され更新される。現時点での時刻(t2)が、送信が完了した時点の時刻として取得される(S137)。計測パケットに格納されたデータの総量が第一データ総量に加算されることで、第一データ総量は更新される(S139)。処理はS121に戻る。
【0072】
上述の処理が繰り返され、計測パケット群を構成する計測パケットのうち最後の計測パケットが受信装置に対して送信された場合(S121:YES)、計測パケット群を構成する計測パケットの全てが送信されたことになる。第一送信処理は終了し、処理は送信処理(図6参照)に戻る。
【0073】
このように通信装置1は、計測パケット群毎に計測パケットを送信することで、非計測状態への切り替えの判断の頻度を多くしている。これによって通信装置1は、非計測状態に切り替えられる頻度を多くできる。データパケットは頻繁に受信装置に対して送信される。従って、データパケットに格納されるデータの通信遅延を小さくできる。
【0074】
送信処理では、第一送信処理(S59)の終了後、現時点の時刻(t3)が送信終了時刻として取得される(S61)。S57で取得された送信開始時刻(t1)と、S61で取得された送信終了時刻(t3)との差分が算出される。算出された差分が連続計測時間に加算されることで、連続計測時間は更新される(S63)。算出された差分が計測時間に加算されることで、計測時間は更新される(S65)。処理はS41に戻る。
【0075】
一方、状態判定処理(S49)の結果、動作状態が非計測状態となっている場合(S51:NO)、動作状態が計測状態から非計測状態に切り替わった直後の状態であるかが判断される(S67)。動作状態が計測状態から非計測状態に切り替わった直後の状態である場合(S67:YES)、データパケットの送信を開始するために、連続非計測時間はクリアされ初期化される(S69)。処理はS71に進む。動作状態が継続して非計測状態である場合(S67:NO)、処理はS71に進む。
【0076】
現時点での時刻(t1)が、送信開始時刻として取得される(S71)。第二送信処理が実行される(S73)。第二送信処理では、優先度の高い送信バッファに格納されたデータが優先的に取得され、データパケットに格納されて送信される。図10を参照し、第二送信処理について説明する。最も優先度の高い送信バッファにデータが格納されているかが判断される(S141)。最も優先度の高い送信バッファにデータが格納されている場合(S141:YES)、この送信バッファに格納されたデータが取得される(S153)。処理はS148に進む。
【0077】
一方、最も優先度の高い送信バッファにデータが格納されていない場合(S141:NO)、現時点での時刻が取得される(S143)。送信バッファに格納されているデータに対応付けられた取り出し時刻が抽出される。抽出された取り出し時刻と、S143で取得された現時点での時刻とが比較される。現時点での時刻が取り出し時刻を超過しているかが判断される(S145)。現時点での時刻が取り出し時刻を超過していない場合(S145:NO)、データパケットに格納するデータは送信バッファにないと判断される。第二送信処理は終了し、処理は送信処理(図6参照)に戻る。一方、現時点での時刻が取り出し時刻を超過している場合(S145:YES)、該当する取り出し時刻が対応付けられたデータが、送信バッファから取得される(S147)。処理はS148に進む。
【0078】
S148では、データパケットを送信する場合に使用される帯域が決定される(S148)。過去に計測された使用可能帯域よりも小さい帯域が、使用される帯域として決定される。S147又はS153で取得されたデータに基づいて、データパケットが作成される。計測パケットには、シーケンス番号が付される。作成されたデータパケットは、受信装置に対して送信される(S149)。シーケンス番号に1が加算され、更新される。データパケットに格納されたデータの総量が第二データ総量に格納されることで、第二データ総量は更新される(S151)。第二送信処理は終了し、処理は送信処理(図6参照)に戻る。
【0079】
このように、データパケットには、優先度の高いデータが優先的に格納される。本実施形態では、優先度の高い送信バッファには、リアルタイム性の要求される音声データが格納されている。従って通信装置1は、音声データを遅滞なく受信装置に対して送信できる。また、データが生成されてからの経過時間が許容時間を超えた場合に、該当するデータをデータパケットに格納し、送信できる。従って、作成されたデータが受信装置に長時間到達しないことを防止できる。
【0080】
なお上述では、データパケットを送信する場合に使用される帯域は、過去に計測された使用可能帯域よりも小さい帯域とされたが、帯域は他の方法で決定されてもよい。例えば、過去に特定された使用可能帯域に対して第二割合以下となるように決定されてもよい。これによって通信装置1は、データパケットの通信の確実性をさらに高めることができる。
【0081】
図6の送信処理では、第二送信処理(S73)の終了後、現時点の時刻(t3)が送信終了時刻として取得される(S75)。S71で取得された送信開始時刻(t1)と、S75で取得された送信終了時刻(t3)との差分が算出される。算出された差分が連続非計測時間に加算されることで、連続非計測時間は更新される(S77)。算出された差分が非計測時間に加算されることで、非計測時間は更新される(S79)。処理はS41に戻る。
【0082】
図11を参照し、受信処理について説明する。受信フラグがONからOFFに切り替えられたかが判断される(S191)。メイン処理において、受信フラグがOFFされた場合(S191:NO)、受信処理は終了する。受信フラグがONされている場合(S191:YES)、受信装置から送信された結果パケットを受信したかが判断される(S193)。結果パケットを受信していない場合(S193:NO)、処理はS191に戻る。結果パケットを受信した場合(S193:YES)、結果パケットに格納されている使用可能帯域が取得される。取得された使用可能帯域は、HDD13に記憶される(S195)。取得された使用可能帯域に基づいて帯域範囲及び送信間隔を新たに定め、次の計測周期で計測通信を実行するために、第一パラメータが更新される(S197)。処理はS191に戻る。
【0083】
以上説明したように、通信装置1は、非計測状態を設けることによって、計測パケット以外の他のパケット(データパケット)の通信を行うために必要な帯域を確保できる。これによって通信装置1は、確保した帯域を使用することで、ネットワークにおける使用可能帯域の計測と同時に他の通信を確実に行うことができる。例えば上述したように、通信装置1は、リアルタイム性の要求されるデータの継続的な通信を行うことができる。
【0084】
なお、データパケットによる通信時に使用される帯域は、過去に計測された使用可能帯域よりも小さい。従って通信装置1は、非計測状態を設けたことによって確保された帯域を有効的に活用し、データパケットの通信を行うことができる。データパケットの通信がネットワークの帯域を占有してしまうことがないので、通信装置は安定的にデータパケットの通信を行うことができる。
【0085】
データパケットを送信する場合に使用される帯域が、本発明の「使用帯域」に相当する。計測パケット総数が本発明の「第一数」に相当する。計測パケット群総数が本発明の「第二数」に相当する。図6のS49の処理を行うCPU10が本発明の「切り替え手段」に相当する。図9のS135の処理を行うCPU10が本発明の「第一送信手段」に相当する。図10のS148の処理を行うCPU10が本発明の「決定手段」に相当し、S149の処理を行うCPU10が本発明の「第二送信手段」に相当する。図9のS121の処理を行うCPU10が本発明の「判断手段」に相当し、図5のS173の処理を行うCPU10が本発明の「特定手段」に相当する。図6のS49の処理が本発明の「切り替えステップ」に相当する。図9のS135の処理が本発明の「第一送信ステップ」に相当する。図10のS148の処理が本発明の「決定ステップ」に相当し、S149の処理が本発明の「第二送信ステップ」に相当する。
【0086】
本発明は、上述の実施形態に限定されるものではなく、種々の変更が可能である。
上述の実施形態では、送信装置のエンコーダによって生成された各種データ(映像データ、画像データ、及び音声データ)のうち、優先度の高い音声データが優先的にデータパケットに格納されていた。本発明はこれに限定されない。データパケットに格納されるデータは、例えば、帯域計測を行うアプリケーションとは異なる他のアプリケーションで使用されるデータであってもよい。又例えば、非計測状態を設けることで確保された帯域を他の通信装置1が使用することで、他のデータの通信が行われてもよい。
【0087】
上述の実施形態のうち条件(2)では、連続計測時間が第一時間以上となった場合に、通信装置1の動作状態が計測状態から非計測状態に切り替えられていた。本発明はこれに限定されない。連続計測時間が計測周期に対して所定の割合以上となった場合に、通信装置1の動作状態が計測状態から非計測状態に切り替えられてもよい。又は、一の計測パケット群が送信される場合の送信時間が定められてもよい。連続計測時間が、該送信時間に対して所定の割合以上となった場合に、通信装置1の状態が計測状態から非計測状態に切り替えられてもよい。
【0088】
上述の実施形態のうち条件(3)では、連続計測時間と連続非計測時間との時間比率に応じて、通信装置1の動作状態が非計測状態から計測状態に切り替えられていた。本発明はこれに限定されない。連続非計測時間が所定の時間以上となった場合に、通信装置1の動作状態が非計測状態から計測状態に切り替えられてもよい。
【0089】
上述では、計測パケット群は、所定数の計測パケットを含んでいたが、本発明はこれに限定されない。計測パケット群は、所定の帯域範囲内で使用可能帯域を計測するために必要な計測パケットを含む構成であってもよい。
【0090】
上述の実施形態では、上述した(1)〜(3)の条件に基づいて動作状態を切り替えていた。本発明はこれに限定されない。以下、本発明の変形例について説明する。
【0091】
本発明の変形例について説明する。変形例では、計測周期内でパケット(計測パケット及びデータパケット)が送信された場合に占有される帯域の平均(以下「平均帯域」という。)と、特定された使用可能帯域とが所定の関係を満たす場合に、動作状態は計測状態から非計測状態に切り替えられる。例えば、平均帯域に所定の帯域を加算した値が使用可能帯域よりも大きくなった場合に、動作状態は非計測状態に切り替えられる。ここで、所定の帯域は、非計測状態を設けたことによって確保される帯域に相当する。従って通信装置1は、所望の空き帯域を確保できるので、確保された空き帯域を使用して所望量のデータを確実に受信装置に対して送信できる。
【0092】
図12を参照し、変形例における状態判定処理について説明する。メイン処理、状態判定処理を除く送信処理、及び受信処理は、上述の実施形態と同一である。変形例における状態判定処理は、送信処理(図6参照)から呼び出される。
【0093】
状態判定処理が呼び出されると、はじめに、帯域範囲を計測する一連の計測パケットが全て送信されたかが判断される(S201)。一連の計測パケットが全て送信されている場合(S201:YES)、動作状態は非計測状態とされる(S213)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0094】
一連の計測パケットが未だ全て送信されていない場合(S201:NO)、第一データ総量が取得され(S203)、次いで、第二データ総量が取得される(S205)。第一データ総量と第二データ総量とを加算した値が、計測周期で除算されることで、平均帯域が算出される(S207)。
平均帯域=(第一データ総量+第二データ総量)(bit)/計測周期(s)
【0095】
受信処理(図11参照)において特定され、HDD13に記憶された使用可能帯域が取得される。S207で算出された平均帯域に所定の帯域を加算した値が、使用可能帯域よりも大きいかが判断される(S209)。平均帯域に所定の帯域を加算した値が、使用可能帯域よりも大きい場合(S209:YES)、非計測状態に切り替えることでデータパケット用の帯域を確保しなければならないので、動作状態は非計測状態とされる(S213)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。一方、平均帯域に所定の帯域を加算した値が、使用可能帯域以下である場合(S209:NO)、計測パケットの送信を継続できるので、動作状態は計測状態とされる(S211)。状態判定処理は終了し、処理は送信処理(図6参照)に戻る。
【0096】
以上説明したように、通信装置1は、使用可能帯域と平均帯域とが所定の関係を満たす場合に、動作状態を非計測状態に切り替えることで、所定の帯域を確実に確保できる。これによって通信装置1は、計測パケット及びデータパケットの通信を確実に実行しつつ、所望の帯域を確実に確保できる。なお、図12のS207が本発明の「算出手段」に相当する。
【符号の説明】
【0097】
1 通信装置
10 CPU
13 HDD
100 通信システム
【特許請求の範囲】
【請求項1】
ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置であって、
所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替え手段と、
前記切り替え手段によって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信手段と、
前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定手段と、
前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定手段によって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信手段と
を備えたことを特徴とする通信装置。
【請求項2】
前記切り替え手段は、
前記計測状態が第一時間以上継続した場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えることを特徴とする請求項1に記載の通信装置。
【請求項3】
前記切り替え手段は、
前記計測状態が継続した時間に対して、前記非計測状態が継続した時間の割合が第一割合以上となった場合に、前記動作状態を前記非計測状態から前記計測状態に切り替えることを特徴とする請求項1又は2に記載の通信装置。
【請求項4】
前記第一送信手段によって送信される前記計測パケットのデータ量と、前記第二送信手段によって送信される前記データパケットのデータ量とに基づいて、前記所定周期内で使用された帯域の平均である平均帯域を算出する算出手段を備え、
前記切り替え手段は、
前記算出手段によって算出された前記平均帯域と前記使用可能帯域とが所定の関係を満たす場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えることを特徴とする請求項1に記載の通信装置。
【請求項5】
前記第一送信手段は、
前記所定周期内で送信される前記計測パケットの総数である第一数よりも少ない第二数毎に前記計測パケットを区分して送信し、
前記第二数毎に区分された前記計測パケットである計測パケット群の送信が終了したか判断する判断手段を備え、
前記切り替え手段はさらに、
前記判断手段において、前記計測パケット群の送信が終了したと判断された場合に、前記動作状態を切り替えることを特徴とする請求項1から4のいずれかに記載の通信装置。
【請求項6】
前記決定手段は
前記使用可能帯域に対して前記使用帯域が第二割合以下となるように、前記使用帯域を決定することを特徴とする請求項1から5のいずれかに記載の通信装置。
【請求項7】
前記計測パケット又は前記データパケットに格納するデータの優先度を特定する特定手段を備え、
前記第二送信手段は、
前記特定手段によって前記優先度が高いと特定された前記データを優先的に前記データパケットに格納し、前記相手装置に対して送信することを特徴とする請求項1から6のいずれかに記載の通信装置。
【請求項8】
前記第二送信手段は、
前記データパケットに格納されるデータが作成されてからの経過時間が第二時間以上であるデータを優先的に前記データパケットに格納し、前記相手装置に対して送信することを特徴とする請求項1から6のいずれかに記載の通信装置。
【請求項9】
ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置において実行される通信方法であって、
所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、
前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップと
を備えたことを特徴とする通信方法。
【請求項10】
ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測するための通信プログラムであって、
所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、
前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップと
をコンピュータに実行させるための通信プログラム。
【請求項1】
ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置であって、
所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替え手段と、
前記切り替え手段によって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信手段と、
前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定手段と、
前記切り替え手段によって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定手段によって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信手段と
を備えたことを特徴とする通信装置。
【請求項2】
前記切り替え手段は、
前記計測状態が第一時間以上継続した場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えることを特徴とする請求項1に記載の通信装置。
【請求項3】
前記切り替え手段は、
前記計測状態が継続した時間に対して、前記非計測状態が継続した時間の割合が第一割合以上となった場合に、前記動作状態を前記非計測状態から前記計測状態に切り替えることを特徴とする請求項1又は2に記載の通信装置。
【請求項4】
前記第一送信手段によって送信される前記計測パケットのデータ量と、前記第二送信手段によって送信される前記データパケットのデータ量とに基づいて、前記所定周期内で使用された帯域の平均である平均帯域を算出する算出手段を備え、
前記切り替え手段は、
前記算出手段によって算出された前記平均帯域と前記使用可能帯域とが所定の関係を満たす場合に、前記動作状態を前記計測状態から前記非計測状態に切り替えることを特徴とする請求項1に記載の通信装置。
【請求項5】
前記第一送信手段は、
前記所定周期内で送信される前記計測パケットの総数である第一数よりも少ない第二数毎に前記計測パケットを区分して送信し、
前記第二数毎に区分された前記計測パケットである計測パケット群の送信が終了したか判断する判断手段を備え、
前記切り替え手段はさらに、
前記判断手段において、前記計測パケット群の送信が終了したと判断された場合に、前記動作状態を切り替えることを特徴とする請求項1から4のいずれかに記載の通信装置。
【請求項6】
前記決定手段は
前記使用可能帯域に対して前記使用帯域が第二割合以下となるように、前記使用帯域を決定することを特徴とする請求項1から5のいずれかに記載の通信装置。
【請求項7】
前記計測パケット又は前記データパケットに格納するデータの優先度を特定する特定手段を備え、
前記第二送信手段は、
前記特定手段によって前記優先度が高いと特定された前記データを優先的に前記データパケットに格納し、前記相手装置に対して送信することを特徴とする請求項1から6のいずれかに記載の通信装置。
【請求項8】
前記第二送信手段は、
前記データパケットに格納されるデータが作成されてからの経過時間が第二時間以上であるデータを優先的に前記データパケットに格納し、前記相手装置に対して送信することを特徴とする請求項1から6のいずれかに記載の通信装置。
【請求項9】
ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測する通信装置において実行される通信方法であって、
所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、
前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップと
を備えたことを特徴とする通信方法。
【請求項10】
ネットワークに接続する他の通信装置である相手装置に対して、送信間隔を順次変化させながら複数の計測パケットを送信することで、前記ネットワークにおける使用可能な帯域である使用可能帯域を計測するための通信プログラムであって、
所定周期内で、前記通信装置の動作状態を、前記使用可能帯域を計測する計測状態、及び、前記使用可能帯域を計測しない非計測状態のいずれかに切り替える切り替えステップと、
前記切り替えステップによって前記動作状態が前記計測状態に切り替えられた状態で、前記計測パケットを前記相手装置に対して送信する第一送信ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、データパケットを前記相手装置に対して送信する場合に使用される帯域であって、前記使用可能帯域よりも小さい使用帯域を決定する決定ステップと、
前記切り替えステップによって前記動作状態が前記非計測状態に切り替えられた状態で、前記決定ステップによって決定された前記使用帯域を使用して、前記データパケットを送信する第二送信ステップと
をコンピュータに実行させるための通信プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−54656(P2012−54656A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−193606(P2010−193606)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]