(57)【要約】      （修正有）【課題】コンカレント動作を実行可能な通信装置における、パケットドロップの発生を抑制する。【解決手段】通信装置１は、対向ＡＰ２からデータを受信し、対向ＳＴＡ３にデータを送信する送受信部１１と、対向ＡＰ２から受信した受信データを保存する受信バッファ１２と、受信バッファ１２に保存された受信データを送信データに変換する信号処理部１３と、信号処理部１３により変換された送信データを保存する送信バッファ１４と、送信バッファ１４に保存された送信データのデータ量に基づいて、対向ＡＰ２からのデータの受信速度を制御する制御部１５と、を備える。【選択図】図２
2020205460.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置からデータを受信する受信部と、
前記受信部が受信した前記データを受信データとして保存する受信バッファと、
前記受信バッファに保存された前記受信データを送信データに変換する信号処理部と、
前記信号処理部により変換された前記送信データを保存する送信バッファと、
前記送信バッファに保存された前記送信データを第２の通信装置に送信する送信部と、
前記送信バッファに保存された前記送信データのデータ量に基づいて、前記受信部による前記データの受信速度を制御する制御部と、
を備える通信装置。
【請求項２】
無線ＬＡＮ（Local Area Network）における子機としての動作と親機としての動作とを交互に切り替えながら実行する
請求項１に記載の通信装置。
【請求項３】
前記制御部は、前記送信バッファに保存されたデータ量が第１閾値以上になった場合、前記受信速度を低下させる
請求項１又は請求項２に記載の通信装置。
【請求項４】
前記制御部は、前記受信速度を低下させた後、前記送信バッファに保存された前記送信データのデータ量が前記第１閾値よりも小さい第２閾値未満になった場合、前記受信速度を上昇させる
請求項３に記載の通信装置。
【請求項５】
前記制御部は、前記受信部が受信する前記データのデータレートを低下させることにより、前記受信速度を低下させ、前記受信部が受信する前記データのデータレートを上昇させることにより、前記受信速度を上昇させる
請求項１から請求項４までのいずれか１項に記載の通信装置。
【請求項６】
前記制御部は、
前記受信部が前記第１の通信装置から前記データを受信する受信動作と、前記送信部が前記送信データを前記第２の通信装置に送信する送信動作と、を時分割で交互に切り替える切り替え制御が可能であり、
前記送信動作の時間に対する前記受信動作の時間の割合を小さくすることにより、前記受信速度を低下させ、前記送信動作の時間に対する前記受信動作の時間の割合を大きくすることにより、前記受信速度を上昇させる
請求項１から請求項５までのいずれか１項に記載の通信装置。
【請求項７】
前記制御部は、前記受信バッファに保存された前記受信データのデータ量に基づいて、前記送信部による前記データの送信速度を制御する
請求項１から請求項６までのいずれか１項に記載の通信装置。
【請求項８】
前記制御部は、前記受信バッファに保存されたデータ量が第３閾値未満になった場合、前記送信速度を低下させる
請求項７に記載の通信装置。
【請求項９】
前記制御部は、前記送信速度を低下させた後、前記受信バッファに保存された前記受信データのデータ量が前記第３閾値よりも大きい第４閾値以上になった場合、前記送信速度を上昇させる
請求項８に記載の通信装置。
【請求項１０】
前記制御部は、前記送信部が送信する前記送信データのデータレートを低下させることにより、前記送信速度を低下させ、前記送信部が送信する前記送信データのデータレートを上昇させることにより、前記送信速度を上昇させる
請求項７から請求項９までのいずれか１項に記載の通信装置。
【請求項１１】
前記制御部は、
前記受信部が前記第１の通信装置から前記データを受信する受信動作と、前記送信部が前記送信データを前記第２の通信装置に送信する送信動作と、を時分割で交互に切り替える切り替え制御が可能であり、
前記受信動作の時間に対する前記送信動作の時間の割合を小さくすることにより、前記送信速度を低下させ、前記受信動作の時間に対する前記受送信動作の時間の割合を大きくすることにより、前記送信速度を上昇させる
請求項７から請求項１０までのいずれか１項に記載の通信装置。
【請求項１２】
前記受信データ及び前記送信データを保存可能な予備バッファを更に備え、
前記制御部は、前記受信バッファに保存された前記受信データのデータ量と、前記送信バッファに保存された前記送信データのデータ量と、の少なくとも一方に基づいて、前記受信データと前記送信データとのうちのどちらを前記予備バッファに保存するかを決定する
請求項１から請求項１１までのいずれか１項に記載の通信装置。
【請求項１３】
第１の通信装置からデータを受信部により受信する工程と、
前記受信部が受信した前記データを受信データとして受信バッファに保存する工程と、
前記受信バッファに保存された前記受信データを信号処理部により送信データに変換する工程と、
前記信号処理部により変換された前記送信データを送信バッファに保存する工程と、
前記送信バッファに保存された前記送信データを送信部により第２の通信装置に送信する工程と、
前記送信バッファに保存された前記送信データのデータ量に基づいて、前記受信部による前記データの受信速度を制御する工程と、
を含む通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信方法に関する。
【背景技術】
【０００２】
無線ＬＡＮ（Local Area Network）用の通信装置として、コンカレント動作を実行可能なものが実用化されている。コンカレント動作とは、子機（端末）（以下「ＳＴＡ」という。）としての動作（以下「ＳＴＡ動作」という。）と、親機（基地局）（以下「ＡＰ」という。）としての動作（以下「ＡＰ動作」という。）と、を交互に切り替えながら実行する動作である。
【０００３】
コンカレント動作を実行可能な通信装置は、対向ＡＰからデータを受信して受信バッファに保存し、受信バッファに保存されたデータを送信用のデータに変換して送信バッファに保存し、送信バッファに保存されたデータを対向ＳＴＡに送信することができる。すなわち、当該通信装置は、対向ＡＰから対向ＳＴＡへデータを中継することができる。このため、コンカレント動作を実行可能な通信装置は、音楽や映像をストリーミング配信するための中継装置などとして利用されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１１／１３２７６１号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の通信装置では、通信障害の発生やスリープモードへの移行により、対向ＳＴＡがデータを受信できない状態になった場合、送信バッファに保存されるデータ量が送信バッファのサイズを超えることがあった。送信バッファに保存されるデータ量が送信バッファのサイズを超えると、送信バッファに保存できない分の送信データが失われる（パケットドロップが発生する）ことがあった。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、コンカレント動作を実行可能な通信装置における、パケットドロップの発生を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
一実施形態に係る通信装置は、第１の通信装置からデータを受信する受信部と、前記受信部が受信した前記データを受信データとして保存する受信バッファと、前記受信バッファに保存された前記受信データを送信データに変換する信号処理部と、前記信号処理部により変換された前記送信データを保存する送信バッファと、前記送信バッファに保存された前記送信データを第２の通信装置に送信する送信部と、前記送信バッファに保存された前記送信データのデータ量に基づいて、前記受信部による前記データの受信速度を制御する制御部と、を備える。
【発明の効果】
【０００８】
本発明の各実施形態によれば、コンカレント動作を実行可能な通信装置における、パケットドロップの発生を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】通信装置を含む通信システムの一例を示す図。
【図２】通信装置のハードウェア構成の一例を示す図。
【図３】コンカレント動作を模式的に示す図。
【図４】通信装置の動作の概要を示すフローチャート。
【図５】信号処理部の動作の一例を示すフローチャート。
【図６】受信速度の第１の制御方法の一例を示すフローチャート。
【図７】時間の割合の制御方法の一例を示す図。
【図８】時間の割合の制御方法の一例を示す図。
【図９】時間の割合の制御方法の一例を示す図。
【図１０】受信速度の第２の制御方法の一例を示すフローチャート。
【図１１】通信装置の動作の概要を示すフローチャート。
【図１２】送信速度の第１の制御方法の一例を示すフローチャート。
【図１３】送信速度の第２の制御方法の一例を示すフローチャート。
【図１４】通信装置のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施形態について、添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に関して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重畳した説明を省略する。
【００１１】
＜第１実施形態＞
第１実施形態に係る通信装置１について、図１〜図１０を参照して説明する。本実施形態に係る通信装置１は、他の通信装置と無線で通信可能であり、かつ、コンカレント動作を実行可能な通信装置である。
【００１２】
まず、通信装置１を含む通信システムについて説明する。図１は、通信装置１を含む通信システムの一例を示す図である。図１の通信システムは、通信装置１と、対向ＡＰ２（第１の通信装置）と、対向ＳＴＡ３（第２の通信装置）と、サーバ４と、を含む。
【００１３】
通信装置１は、対向ＡＰ２及び対向ＳＴＡ３と無線で接続され、対向ＡＰ２から受信したデータを対向ＳＴＡ３に中継する通信装置である。より詳細には、通信装置１は、ＳＴＡ動作により、対向ＡＰ２から無線でデータを受信し、ＡＰ動作により、当該データを所定の形式に変換したデータを対向ＳＴＡ３に無線で送信する。通信装置１は、無線ＬＡＮルータ又は車載ナビゲーション装置などであるが、これに限られない。
【００１４】
対向ＡＰ２は、通信装置１と無線で接続され、ネットワークＮと有線で接続され、ＡＰとして通信装置１と通信する通信装置である。ネットワークＮは、インターネットやＬＡＮなどを含むネットワークである。より詳細には、対向ＡＰ２は、ネットワークＮを介してサーバ４から受信したデータを、ＳＴＡ動作を実行する通信装置１に無線で送信する。対向ＡＰ２は、例えば、無線ＬＡＮルータであるが、これに限られない。
【００１５】
対向ＳＴＡ３は、通信装置１と無線で接続され、ＳＴＡとして通信装置１と通信する通信装置である。より詳細には、対向ＳＴＡ３は、ＡＰ動作を実行する通信装置が送信したデータを、無線で受信する。対向ＳＴＡ３は、例えば、携帯電話、スマートフォン、ＰＣ（Personal Computer）、又はタブレット端末などであるが、これに限られない。
【００１６】
サーバ４は、ネットワークＮに有線で接続され、ネットワークＮを介して対向ＡＰ２にデータを送信するサーバコンピュータである。サーバ４が送信するデータは、例えば、音楽データ、画像データ、又は映像データなどであるが、これに限られない。サーバ４が送信したデータは、ネットワークＮ、対向ＡＰ２、及び通信装置１を介して、対向ＳＴＡ３に送信される。サーバ４は、例えば、音楽や映像のストリーミング配信を行うストリーミングサーバであるが、これに限られない。
【００１７】
なお、通信システムにおける接続関係は、図１の例に限られない。例えば、対向ＡＰ２は、ネットワークＮと無線で接続されていてもよいし、対向ＳＴＡ３と有線又は無線で接続されていてもよい。また、対向ＳＴＡ３は、ネットワークＮと有線又は無線で接続されていてもよい。
【００１８】
次に、通信装置１のハードウェア構成について説明する。図２は、通信装置１のハードウェア構成の一例を示す図である。図２の通信装置１は、送受信部１１（受信部及び送信部）と、受信バッファ１２と、信号処理部１３と、送信バッファ１４と、制御部１５と、を備える。
【００１９】
送受信部１１は、対向ＡＰ２からデータを受信する受信回路（受信部）と、対向ＳＴＡ３にデータを送信する送信回路（送信部）と、無線信号を送受信するアンテナと、を含む無線通信用の回路である。送受信部１１は、データの送信及び受信のために共用される。なお、通信装置１は、送受信部１１の代わりに、送信部及び受信部をそれぞれ備えてもよい。
【００２０】
受信バッファ１２は、送受信部１１が対向ＡＰ２から受信したデータを受信データとして一時的に保存するためのメモリである。受信バッファ１２のサイズＶＲ（保存可能なデータ量）は、予め設定される。
【００２１】
信号処理部１３は、受信バッファ１２に保存された受信データを送信データに変換する信号処理回路である。具体的には、信号処理部１３は、受信バッファ１２から受信データを読み出し、読み出した受信データに所定の信号処理を施し、得られたデータを送信データとして送信バッファに保存する。信号処理部１３が実行する信号処理には、受信データからのヘッダの削除や、受信データのデータ部分への送信用ヘッダの追加などが含まれる。信号処理部１３は、ＣＰＵ（Central Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、又はＦＰＧＡ（Field Programmable Gate Array）であるが、これに限られない。
【００２２】
送信バッファ１４は、送受信部１１が対向ＳＴＡ３に送信するデータを送信データとして一時的に保存するためのメモリである。送信バッファ１４のサイズＶＳ（保存可能なデータ量）は、予め設定される。
【００２３】
制御部１５は、通信装置１の全体の動作を制御し、コンカレント動作を実現する制御回路である。制御部１５は、ＣＰＵ、ＡＳＩＣ、又はＦＰＧＡであるが、これに限られない。具体的には、制御部１５は、通信装置１の動作モードを、通信装置１がＳＴＡ動作を実行するＳＴＡモードと、通信装置１がＡＰ動作を実行するＡＰモードと、を時分割で交互に切り替える切り替え制御により、コンカレント動作を実現する。
【００２４】
図３は、コンカレント動作を模式的に示す図である。図３に示すように、通信装置１は、所定の時間Ｔ１だけＳＴＡ動作を実行した後、所定の時間Ｔ２だけＡＰ動作を実行する。Ｔ１＋Ｔ２が、コンカレント動作の１周期Ｔに相当する。通信装置１は、上記の動作を繰り返すことにより、コンカレント動作を実現する。
【００２５】
また、本実施形態において、制御部１５は、送信バッファ１４に保存された送信データのデータ量ｖｓに基づいて、ＳＴＡ動作における対向ＡＰ２からのデータの受信速度を制御する。ここでいう受信速度は、対向ＡＰ２からデータを受信する速度の平均値に相当する。受信速度の制御方法については後述する。
【００２６】
なお、送受信部１１、受信バッファ１２、信号処理部１３、送信バッファ１４、及び制御部１５は、それぞれ独立したＩＣであってもよいし、任意の２つ以上が１つのＩＣとして構成されてもよい。
【００２７】
次に、通信装置１の動作について説明する。図４は、通信装置１の動作の概要を示すフローチャートである。図４の動作の開始時点で、通信装置１と、対向ＡＰ２及び対向ＳＴＡ３と、の間の接続は確立されているものとする。
【００２８】
ＳＴＡ動作の開始時刻が到来すると、制御部１５は、通信装置１の動作モードをＳＴＡモードに設定する（ステップＳ１０１）。これにより、通信装置１は、ＳＴＡ動作を開始する。
【００２９】
通信装置１がＳＴＡ動作を開始すると、まず、制御部１５が、送信バッファ１４に保存されたデータ量ｖｓに基づいて、対向ＡＰ２からのデータの受信速度を制御する（ステップＳ１０２）。受信速度の制御方法については後述する。
【００３０】
次に、送受信部１１が、対向ＡＰ２からデータを受信し（ステップＳ１０３）、受信したデータを受信データとして受信バッファ１２に保存する（ステップＳ１０４）。送受信部１１及び制御部１５は、ＳＴＡ動作の開始から時間Ｔ１が経過するまで（ステップＳ１０５のＮＯ）、ステップＳ１０２〜Ｓ１０４の動作を繰り返す。
【００３１】
ＳＴＡ動作の開始から時間Ｔ１が経過し（ステップＳ１０５のＹＥＳ）、ＡＰ動作の開始時刻が到来すると、制御部１５は、通信装置１の動作モードをＡＰモードに設定する。これにより、通信装置１は、ＳＴＡ動作を終了し、ＡＰ動作を開始する。
【００３２】
通信装置１がＡＰ動作を開始すると、送受信部１１が、送信バッファ１４に保存された送信データを読み出し、読み出した送信データを対向ＳＴＡ３に送信し（ステップＳ１０７）、送信した送信データを送信バッファ１４から削除する（ステップＳ１０８）。送受信部１１は、送信バッファ１４に保存された送信データを、保存時刻が古い順に送信してもよいし、送信データに含まれる、送信データの順番を示す情報（シーケンス番号など）に従って送信してもよい。送受信部１１は、ＡＰ動作の開始から時間Ｔ２が経過するまで（ステップＳ１０９のＮＯ）、ステップＳ１０７，Ｓ１０８の動作を繰り返す。
【００３３】
ＡＰ動作の開始から時間Ｔ２が経過（ステップＳ１０９のＹＥＳ）すると、１周期Ｔに対応した一連の動作が終了する。なお、通常のコンカレント動作では、ＡＰ動作の終了後（ステップＳ１０９のＹＥＳの後）、再びステップＳ１０１に戻りＳＴＡ動作を開始する。これにより、通信装置１は、ＳＴＡ動作による対向ＡＰ２からのデータの受信（受信動作）と、ＡＰ動作による送信データの対向ＳＴＡ３への送信（送信動作）と、を時分割で交互に繰り返すことになる。そして、前述した時間Ｔ１がＳＴＡ動作による受信動作の時間となり、時間Ｔ２がＡＰ動作による送信動作の時間となる。
【００３４】
また、図４の例では、ＳＴＡ動作の実行中、受信速度の制御は繰り返し実行されるが、受信速度の制御は、ＳＴＡ動作の開始時点に１度だけ実行されてもよい。
【００３５】
図５は、信号処理部１３の動作の一例を示すフローチャートである。コンカレント動作の実行中、信号処理部１３は、図５の動作を所定時間毎に実行する。
【００３６】
信号処理部１３は、動作時刻が到来すると、まず、受信データが有るか、すなわち、受信バッファ１２に受信データが保存されているか確認する（ステップＳ２０１）。受信バッファ１２に受信データが保存されていない場合（ステップＳ２０１のＮＯ）、信号処理部１３は、動作を終了し、次の動作時刻まで待機する。
【００３７】
一方、受信バッファ１２に受信データが保存されている場合（ステップＳ２０２）、信号処理部１３は、受信バッファ１２から受信データを読み出し、読み出した受信データを送信データに変換する（ステップＳ２０２）。また、信号処理部１３は、変換した送信データを送信バッファ１４に保存し（ステップＳ２０３）、送信データに変換した受信データを受信バッファ１２から削除する（ステップＳ２０４）。その後、信号処理部１３は、次の動作時刻まで待機する。
【００３８】
信号処理部１３は、受信バッファ１２に保存された受信データを、受信時刻又は保存時刻が古い順に送信データに変換してもよいし、受信データに含まれる、受信データの順番を示す情報（シーケンス番号など）に従って送信データに変換してもよい。
【００３９】
なお、信号処理部１３は、ＳＴＡ動作の実行中にのみ図５の動作を実行してもよいし、ＡＰ動作の実行中にのみ図５の動作を実行してもよいし、ＳＴＡ動作を開始してからＡＰ動作を終了するまでの間に図５の動作を実行してもよい。
【００４０】
次に、受信速度の制御方法について説明する。本実施形態において、制御部１５は、データ量ｖｓが大きいほど受信速度が遅くなるように、受信速度を制御する。これは、データ量ｖｓが大きいほど、対向ＳＴＡ３が送信データを受信できなくなった場合に、データ量ｖｓが送信バッファ１４のサイズＶＳを超え、パケットドロップが発生する可能性が高まるためである。受信速度を低下させることにより、送信バッファ１４に送信データが追加される速度が低下するため、パケットドロップの発生を抑制することができる。
【００４１】
具体的には、制御部１５は、送信バッファ１４のデータ量ｖｓが閾値ｖｓ１（第１閾値）以上になると、受信速度を低下させる。閾値ｖｓ１は、予め設定されたデータ量ｖｓの閾値である。これにより、上記の通り、パケットドロップの発生を抑制することができる。
【００４２】
また、制御部１５は、受信速度を低下させた後、データ量ｖｓが閾値ｖｓ２（第２閾値）未満になると、受信速度を上昇させ、元に戻す。閾値ｖｓ２は、予め設定されたデータ量ｖｓの閾値である。これにより、受信速度の低下後にデータ量ｖｓが減少した場合（パケットドロップが発生する可能性が低下した場合）に、受信速度を上昇させ、受信速度の余計な低下を抑制することができる。結果として、パケットドロップの発生を抑制しつつ、受信速度を上昇させることができる。
【００４３】
なお、閾値ｖｓ２は、閾値ｖｓ１と同一であってもよいが、閾値ｖｓ１より小さいのが好ましい。これにより、受信速度の頻繁な変更を抑制し、通信装置１と対向ＡＰ２との間の円滑な通信を実現できる。
【００４４】
以下、受信速度の制御方法の具体例として、第１の制御方法及び第２の制御方法について、それぞれ説明する。
【００４５】
まず、第１の制御方法について説明する。第１の制御方法は、送受信部１１が受信するデータのデータレート（ｂｐｓ）を制御することにより、受信速度を制御する方法である。第１の制御方法によれば、データレートを上昇させることにより、受信速度を上昇させ、データレートを低下させることにより、受信速度を低下させることができる。第１の制御方法を利用する場合、通信装置１と対向ＡＰ２との間で、複数のデータレートで通信可能なことが前提となる。以下、通信装置１と対向ＡＰ２との間のデータレートとして、データレートＤＲｒ１と、データレートＤＲｒ１より低いデータレートＤＲｒ２と、が利用可能であるものとする。
【００４６】
図６は、受信速度の第１の制御方法の一例を示すフローチャートである。図６のフローチャートは、図４のステップＳ１０２の内部処理に相当する。
【００４７】
まず、制御部１５は、現在のデータレートがデータレートＤＲｒ１であるか確認する（ステップＳ３０１）。データレートがデータレートＤＲｒ１である場合（ステップＳ３０１のＹＥＳ）、制御部１５は、送信バッファ１４のデータ量ｖｓが閾値ｖｓ１以上になったか確認する（ステップＳ３０２）。
【００４８】
データ量ｖｓが閾値ｖｓ１以上になった場合（ステップＳ３０２のＹＥＳ）、制御部１５は、送受信部１１を介して、対向ＡＰ２に、データレートをデータレートＤＲｒ２へ変更することを要求する変更要求を送信する（ステップＳ３０３）。
【００４９】
対向ＡＰ２は、当該変更要求を受信すると、通信装置１へ送信するデータのデータレートを、データレートＤＲｒ１からデータレートＤＲｒ２に変更する。これにより、送受信部１１が受信するデータのデータレートが低下し、受信速度が低下する。
【００５０】
一方、データ量ｖｓが閾値ｖｓ１未満である場合（ステップＳ３０２のＮＯ）、制御部１５は、受信速度の制御を終了する。この場合、データレートはデータレートＤＲｒ１のままであるため、受信速度は変更されない。
【００５１】
これに対して、データレートがデータレートＤＲｒ１でない場合（ステップＳ３０１のＮＯ）、制御部１５は、送信バッファ１４のデータ量ｖｓが閾値ｖｓ２未満になったか確認する（ステップＳ３０４）。データレートがデータレートＤＲｒ１でない場合とは、データレートがデータレートＤＲｒ２である場合、すなわち、データレートの低下後である場合に相当する。
【００５２】
データ量ｖｓが閾値ｖｓ２未満になった場合（ステップＳ３０４のＹＥＳ）、制御部１５は、送受信部１１を介して、対向ＡＰ２に、データレートをデータレートＤＲｒ１へ変更することを要求する変更要求を送信する（ステップＳ３０５）。
【００５３】
対向ＡＰ２は、当該変更要求を受信すると、通信装置１へ送信するデータのデータレートを、データレートＤＲｒ２からデータレートＤＲｒ１に変更する。これにより、送受信部１１が受信するデータのデータレートが上昇し、受信速度が上昇する。
【００５４】
一方、データ量ｖｓが閾値ｖｓ２より大きい場合（ステップＳ３０４のＮＯ）、制御部１５は、受信速度の制御を終了する。この場合、データレートはデータレートＤＲｒ２のままであるため、受信速度は変更されない。
【００５５】
以上まとめると、制御部１５は、送信バッファ１４のデータ量ｖｓが閾値ｖｓ１以上になった場合、データレートを低下させ、データレートの低下後、データ量ｖｓが閾値ｖｓ２未満になった場合、データレートを上昇させる。これにより、制御部１５は、データ量ｖｓが大きいほど受信速度を低下させ、受信速度の低下後にデータ量ｖｓが減少した場合に、受信速度を上昇させることができる。
【００５６】
次に、第２の制御方法について説明する。第２の制御方法は、コンカレント動作の周期Ｔにおける、ＡＰ動作による送信動作の時間Ｔ２に対するＳＴＡ動作による受信動作の時間Ｔ１の割合（以下「時間Ｔ１の割合」という。）を制御することにより、受信速度を制御する方法である。第２の制御方法によれば、時間Ｔ１の割合を大きくすることにより、受信速度を上昇させ、時間Ｔ１の割合を小さくすることにより、受信速度を低下させることができる。時間Ｔ１の割合を大きく（小さく）することは、コンカレント動作の周期Ｔにおける、ＡＰ動作を実行する時間Ｔ２の割合を小さく（大きく）することに相当する。
【００５７】
ここで、図７〜図９は、時間Ｔ１，Ｔ２の割合の制御方法の一例を示す図である。図７に示すように、制御部１５は、コンカレント動作の周期Ｔを一定としたまま、時間Ｔ１を短縮する（時間Ｔ２を延長する）ことにより、時間Ｔ１の割合を小さくし、時間Ｔ１を延長する（時間Ｔ２を短縮する）ことにより、時間Ｔ１の割合を大きくしてもよい。
【００５８】
また、図８に示すように、制御部１５は、時間Ｔ２を一定としたまま、時間Ｔ１を短縮する（周期Ｔを短縮する）ことにより、時間Ｔ１の割合を小さくし、時間Ｔ１を延長する（周期Ｔを延長する）ことにより、時間Ｔ１の割合を大きくしてもよい。
【００５９】
また、図９に示すように、制御部１５は、時間Ｔ１を一定としたまま、時間Ｔ２を延長する（周期Ｔを延長する）ことにより、時間Ｔ１の割合を小さくし、時間Ｔ２を短縮する（周期Ｔを短縮する）ことにより、時間Ｔ１の割合を大きくしてもよい。
【００６０】
以下、時間Ｔ１の割合として、割合Ｒｒ１と、割合Ｒｒ１より小さい割合Ｒｒ２と、が予め設定されているものとする。
【００６１】
図１０は、受信速度の第２の制御方法の一例を示すフローチャートである。図１０のフローチャートは、図４のステップＳ１０２の内部処理に相当する。
【００６２】
まず、制御部１５は、現在の時間Ｔ１の割合が割合Ｒｒ１であるか確認する（ステップＳ４０１）。時間Ｔ１の割合が割合Ｒｒ１である場合（ステップＳ４０１のＹＥＳ）、制御部１５は、送信バッファ１４のデータ量ｖｓが閾値ｖｓ１以上になったか確認する（ステップＳ４０２）。
【００６３】
データ量ｖｓが閾値ｖｓ１以上になった場合（ステップＳ４０２のＹＥＳ）、制御部１５は、時間Ｔ１の割合を割合Ｒｒ１から割合Ｒｒ２へ変更する（ステップＳ４０３）。これにより、時間Ｔ１の割合が低下し、受信速度が低下する。
【００６４】
一方、データ量ｖｓが閾値ｖｓ１未満である場合（ステップＳ４０２のＮＯ）、制御部１５は、受信速度の制御を終了する。この場合、時間Ｔ１の割合は割合Ｒｒ１のままであるため、受信速度は変更されない。
【００６５】
これに対して、時間Ｔ１の割合が割合Ｒｒ１でない場合（ステップＳ４０１のＮＯ）、制御部１５は、送信バッファ１４のデータ量ｖｓが閾値ｖｓ２未満になったか確認する（ステップＳ４０４）。時間Ｔ１の割合が割合Ｒｒ１でない場合とは、時間Ｔ１の割合が割合Ｒｒ２である場合、すなわち、時間Ｔ１の割合の低下後である場合に相当する。
【００６６】
データ量ｖｓが閾値ｖｓ２未満になった場合（ステップＳ４０４のＹＥＳ）、制御部１５は、時間Ｔ１の割合を割合Ｒｒ２から割合Ｒｒ１に変更する（ステップＳ４０５）。これにより、時間Ｔ１の割合が上昇し、受信速度が上昇する。
【００６７】
一方、データ量ｖｓが閾値ｖｓ２より大きい場合（ステップＳ４０４のＮＯ）、制御部１５は、受信速度の制御を終了する。この場合、時間Ｔ１の割合は割合Ｒｒ２のままであるため、受信速度は変更されない。
【００６８】
以上まとめると、制御部１５は、送信バッファ１４のデータ量ｖｓが閾値ｖｓ１以上になった場合、時間Ｔ１の割合を低下させ、時間Ｔ１の割合の低下後、データ量ｖｓが閾値ｖｓ２未満になった場合、時間Ｔ１の割合を上昇させる。これにより、制御部１５は、データ量ｖｓが大きいほど受信速度を低下させ、受信速度の低下後にデータ量ｖｓが減少した場合に、受信速度を上昇させることができる。
【００６９】
以上説明した通り、本実施形態によれば、通信装置１は、コンカレント動作の実行中に送信バッファ１４のデータ量ｖｓが大きくなると、対向ＡＰ２からの受信速度を低下させる。これにより、コンカレント動作の実行中におけるパケットドロップの発生を抑制することができる。
【００７０】
また、通信装置１は、受信速度の低下させた後、データ量ｖｓが小さくなると、対向ＡＰ２からの受信速度を上昇させる。これにより、受信速度の余計な低下を抑制し、パケットドロップの発生を抑制しつつ、受信速度を上昇させることができる。
【００７１】
なお、以上の説明では、受信速度は２段階に変更可能であったが、３段階以上に変更可能であってもよい。受信速度をＮ段階に変更可能とする場合、Ｎ段階の受信速度と、受信速度を低下させる（Ｎ−１）個の閾値と、受信速度を上昇させる（Ｎ−１）個の閾値と、予め設定しておけばよい。
【００７２】
また、通信装置１は、受信速度の第１の制御方法及び第２の制御方法を併用することも可能である。この場合、データレートが変更される閾値と、時間Ｔ１の割合が変更される閾値と、をそれぞれ設定しておけばよい。
【００７３】
＜第２実施形態＞
第２実施形態に係る通信装置１について、図１１〜図１３を参照して説明する。本実施形態において、制御部１５は、受信バッファ１２に保存された受信データのデータ量ｖｒに基づいて、ＡＰ動作における対向ＳＴＡ３へのデータの送信速度を制御する。ここでいう送信速度は、対向ＳＴＡ３へデータを送信する速度の平均値に相当する。なお、本実施形態に係る通信装置１の構成及び信号処理部１３の動作は、第１実施形態と同様である。すなわち、本実施形態では、通信装置１は、受信速度の制御と共に送信速度の制御を行っている。
【００７４】
まず、通信装置１の動作について説明する。図１１は、通信装置１の動作の概要を示すフローチャートである。図１１のフローチャートは、図４のフローチャートのステップＳ１０６，Ｓ１０７の間に、ステップＳ１１０を追加したものに相当する。以下、ステップＳ１１０を中心に説明する。
【００７５】
制御部１５が通信装置１の動作モードをＡＰモードに設定し（ステップＳ１０６）、通信装置１がＡＰ動作を開始すると、制御部１５が、受信バッファ１２に保存されたデータ量ｖｒに基づいて、対向ＳＴＡ３へのデータの送信速度を制御する（ステップＳ１１０）。送信速度の制御方法については後述する。
【００７６】
その後、送受信部１１が、送信バッファ１４に保存された送信データを読み出し、読み出した送信データを対向ＳＴＡ３に送信し（ステップＳ１０７）、送信した送信データを送信バッファ１４から削除する（ステップＳ１０８）。送受信部１１は、送信バッファ１４に保存された送信データを、保存時刻が古い順に送信してもよいし、送信データに含まれる、送信データの順番を示す情報（シーケンス番号など）に従って送信してもよい。送受信部１１は、ＡＰ動作の開始から時間Ｔ２が経過するまで（ステップＳ１０９のＮＯ）、ステップＳ１１０，Ｓ１０７，Ｓ１０８の動作を繰り返す。
【００７７】
なお、図１１の例では、ＡＰ動作の実行中、送信速度の制御は繰り返し実行されるが、送信速度の制御は、ＡＰ動作の開始時点に１度だけ実行されてもよい。
【００７８】
次に、送信速度の制御方法について説明する。本実施形態において、制御部１５は、データ量ｖｒが小さくなるほど送信速度が遅くなるように、送信速度を制御する。これにより、送信速度をデータ量ｖｒに応じて適切に設定し、通信装置１と対向ＳＴＡ３との間の通信回線を有効に活用できる。
【００７９】
具体的には、制御部１５は、受信バッファ１２のデータ量ｖｒが閾値ｖｒ１（第３閾値）未満になると、送信速度を低下させる。閾値ｖｒ１は、予め設定されたデータ量ｖｒの閾値である。これにより、上記の通り、通信装置１と対向ＳＴＡ３との間の通信回線を有効に活用することができる。
【００８０】
また、制御部１５は、送信速度を低下させた後、データ量ｖｒが閾値ｖｒ２（第４閾値）以上になると、送信速度を上昇させ、元に戻す。閾値ｖｒ２は、予め設定されたデータ量ｖｒの閾値である。これにより、送信速度をデータ量ｖｒに応じて適切に設定し、通信装置１と対向ＳＴＡ３との間の通信回線を有効に活用できる。
【００８１】
なお、閾値ｖｒ２は、閾値ｖｒ１と同一であってもよいが、閾値ｖｒ１より大きいのが好ましい。これにより、送信速度の頻繁な変更を抑制し、通信装置１と対向ＳＴＡ３との間の円滑な通信を実現できる。
【００８２】
以下、送信速度の制御方法の具体例として、第１の制御方法及び第２の制御方法について、それぞれ説明する。
【００８３】
まず、第１の制御方法について説明する。第１の制御方法は、送受信部１１が送信するデータのデータレート（ｂｐｓ）を制御することにより、送信速度を制御する方法である。第１の制御方法によれば、データレートを上昇させることにより、送信速度を上昇させ、データレートを低下させることにより、送信速度を低下させることができる。第１の制御方法を利用する場合、通信装置１と対向ＳＴＡ３との間で、複数のデータレートで通信可能なことが前提となる。以下、通信装置１と対向ＳＴＡ３との間のデータレートとして、データレートＤＲｓ１と、データレートＤＲｓ２より低いデータレートＤＲｓ２と、が利用可能であるものとする。
【００８４】
図１２は、送信速度の第１の制御方法の一例を示すフローチャートである。図１２のフローチャートは、図１１のステップＳ１１０の内部処理に相当する。
【００８５】
まず、制御部１５は、現在のデータレートがデータレートＤＲｓ１であるか確認する（ステップＳ５０１）。データレートがデータレートＤＲｓ１である場合（ステップＳ５０１のＹＥＳ）、制御部１５は、受信バッファ１２のデータ量ｖｒが閾値ｖｒ１未満になったか確認する（ステップＳ５０２）。
【００８６】
データ量ｖｒが閾値ｖｒ１未満になった場合（ステップＳ５０２のＹＥＳ）、制御部１５は、対向ＳＴＡ３へ送信するデータのデータレートを、データレートＤＲｓ１からデータレートＤＲｓ２に変更する（ステップＳ５０３）。これにより、送受信部１１が送信するデータのデータレートが低下し、送信速度が低下する。
【００８７】
一方、データ量ｖｒが閾値ｖｒ１より大きい場合（ステップＳ５０２のＮＯ）、制御部１５は、送信速度の制御を終了する。この場合、データレートはデータレートＤＲｓ１のままであるため、送信速度は変更されない。
【００８８】
これに対して、データレートがデータレートＤＲｓ１でない場合（ステップＳ５０１のＮＯ）、制御部１５は、受信バッファ１２のデータ量ｖｒが閾値ｖｒ２以上になったか確認する（ステップＳ５０４）。データレートがデータレートＤＲｓ１でない場合とは、データレートがデータレートＤＲｓ２である場合、すなわち、データレートの低下後である場合に相当する。
【００８９】
データ量ｖｒが閾値ｖｒ２以上になった場合（ステップＳ５０４のＹＥＳ）、制御部１５は、対向ＳＴＡ３へ送信するデータのデータレートを、データレートＤＲｓ２からデータレートＤＲｓ１に変更する。これにより、送受信部１１が送信するデータのデータレートが上昇し、送信速度が上昇する。
【００９０】
一方、データ量ｖｒが閾値ｖｒ２より小さい場合（ステップＳ５０４のＮＯ）、制御部１５は、送信速度の制御を終了する。この場合、データレートはデータレートＤＲｓ２のままであるため、送信速度は変更されない。
【００９１】
以上まとめると、制御部１５は、受信バッファ１２のデータ量ｖｒが閾値ｖｒ１未満になった場合、データレートを低下させ、データレートの低下後、データ量ｖｒが閾値ｖｒ２以上になった場合、データレートを上昇させる。これにより、制御部１５は、データ量ｖｒが大きいほど送信速度を低下させ、送信速度の低下後にデータ量ｖｒが減少した場合に、送信速度を上昇させることができる。
【００９２】
次に、第２の制御方法について説明する。第２の制御方法は、コンカレント動作の周期Ｔにおける、ＳＴＡ動作による受信動作の時間Ｔ１に対するＡＰ動作による送信動作の時間Ｔ２の割合（以下「時間Ｔ２の割合」という。）を制御することにより、送信速度を制御する方法である。第２の制御方法によれば、時間Ｔ２の割合を大きくすることにより、送信速度を上昇させ、時間Ｔ２の割合を小さくすることにより、送信速度を低下させることができる。時間Ｔ２の割合を大きく（小さく）することは、コンカレント動作の周期Ｔにおける、ＳＴＡ動作による受信動作の時間Ｔ１の割合を小さく（大きく）することに相当する。
【００９３】
図７に示すように、制御部１５は、コンカレント動作の周期Ｔを一定としたまま、時間Ｔ２を短縮する（時間Ｔ１を延長する）ことにより、時間Ｔ２の割合を小さくし、時間Ｔ２を延長する（時間Ｔ１を短縮する）ことにより、時間Ｔ２の割合を大きくしてもよい。
【００９４】
また、図８に示すように、制御部１５は、時間Ｔ２を一定としたまま、時間Ｔ１を短縮する（周期Ｔを短縮する）ことにより、時間Ｔ２の割合を大きくし、時間Ｔ１を延長する（周期Ｔを延長する）ことにより、時間Ｔ２の割合を小さくしてもよい。
【００９５】
また、図９に示すように、制御部１５は、時間Ｔ１を一定としたまま、時間Ｔ２を延長する（周期Ｔを延長する）ことにより、時間Ｔ２の割合を大きくし、時間Ｔ２を短縮する（周期Ｔを短縮する）ことにより、時間Ｔ２の割合を小さくしてもよい。
【００９６】
以下、時間Ｔ２の割合として、割合Ｒｓ１と、割合Ｒｓ１より小さい割合Ｒｓ２と、が予め設定されているものとする。なお、割合Ｒｓ１は割合Ｒｒ２に相当し、割合Ｒｓ２は割合Ｒｒ１に相当する。
【００９７】
図１３は、送信速度の第２の制御方法の一例を示すフローチャートである。図１３のフローチャートは、図１１のステップＳ１１０の内部処理に相当する。
【００９８】
まず、制御部１５は、現在の時間Ｔ２の割合が割合Ｒｓ１であるか確認する（ステップＳ６０１）。時間Ｔ２の割合が割合Ｒｓ１である場合（ステップＳ６０１のＹＥＳ）、制御部１５は、受信バッファ１２のデータ量ｖｒが閾値ｖｒ１未満になったか確認する（ステップＳ６０２）。
【００９９】
データ量ｖｒが閾値ｖｒ１未満になった場合（ステップＳ６０２のＹＥＳ）、制御部１５は、時間Ｔ２の割合を割合Ｒｓ１から割合Ｒｓ２へ変更する（ステップＳ６０３）。これにより、時間Ｔ２の割合が低下し、送信速度が低下する。
【０１００】
一方、データ量ｖｒが閾値ｖｒ１より大きい場合（ステップＳ６０２のＮＯ）、制御部１５は、送信速度の制御を終了する。この場合、時間Ｔ２の割合は割合Ｒｓ１のままであるため、送信速度は変更されない。
【０１０１】
これに対して、時間Ｔ２の割合が割合Ｒｓ１でない場合（ステップＳ６０１のＮＯ）、制御部１５は、受信バッファ１２のデータ量ｖｒが閾値ｖｒ２以上になったか確認する（ステップＳ６０４）。時間Ｔ２の割合が割合Ｒｓ１でない場合とは、時間Ｔ２の割合が割合Ｒｓ２である場合、すなわち、時間Ｔ２の割合の低下後である場合に相当する。
【０１０２】
データ量ｖｒが閾値ｖｒ２以上になった場合（ステップＳ６０４のＹＥＳ）、制御部１５は、時間Ｔ２の割合を割合Ｒｓ２から割合Ｒｓ１に変更する（ステップＳ６０５）。これにより、時間Ｔ２の割合が上昇し、送信速度が上昇する。
【０１０３】
一方、データ量ｖｒが閾値ｖｒ２未満である場合（ステップＳ６０４のＮＯ）、制御部１５は、送信速度の制御を終了する。この場合、時間Ｔ２の割合は割合Ｒｓ２のままであるため、送信速度は変更されない。
【０１０４】
以上まとめると、制御部１５は、受信バッファ１２のデータ量ｖｒが閾値ｖｒ１未満になった場合、時間Ｔ２の割合を低下させ、時間Ｔ２の割合の低下後、データ量ｖｒが閾値ｖｒ２以上になった場合、時間Ｔ２の割合を上昇させる。これにより、制御部１５は、データ量ｖｒが小さいほど送信速度を低下させ、送信速度の低下後にデータ量ｖｒが増加した場合に、送信速度を上昇させることができる。
【０１０５】
以上説明した通り、本実施形態によれば、通信装置１は、コンカレント動作の実行中に受信バッファ１２のデータ量ｖｒが小さくなると、対向ＳＴＡ３への送信速度を低下させる。また、通信装置１は、送信速度の低下させた後、データ量ｖｒが大きくなると、対向ＳＴＡ３への送信速度を上昇させる。これにより、送信速度がデータ量ｖｒに応じて適切に設定し、通信装置１と対向ＳＴＡ３との間の通信回線を有効に活用できる。
【０１０６】
なお、以上の説明では、送信速度は２段階に変更可能であったが、３段階以上に変更可能であってもよい。送信速度をＮ段階に変更可能とする場合、Ｎ段階の送信速度と、送信速度を低下させる（Ｎ−１）個の閾値と、送信速度を上昇させる（Ｎ−１）個の閾値と、予め設定しておけばよい。
【０１０７】
また、通信装置１は、送信速度の第１の制御方法及び第２の制御方法を併用することも可能である。この場合、データレートが変更される閾値と、時間Ｔ２の割合が変更される閾値と、をそれぞれ設定しておけばよい。
【０１０８】
また、本実施形態において、通信装置１と対向ＳＴＡ３との間で通信障害等が発生していない場合には、通信装置１は、受信速度を制御せず、送信速度だけを制御してもよい。この場合、図１１のステップＳ１０２を省略すればよい。
【０１０９】
＜第３実施形態＞
第３実施形態に係る通信装置１について、図１４を参照して説明する。図１４は、通信装置１のハードウェア構成の一例を示す図である。図１４の通信装置１は、予備バッファ１６を備える。他の構成は、第１実施形態と同様である。また、通信装置１の動作の概要及び信号処理部１３の動作は、第１実施形態と同様である。
【０１１０】
予備バッファ１６は、受信データ及び送信データを保存可能なメモリである。予備バッファ１６のサイズ（保存可能なデータ量）は、予め設定される。
【０１１１】
本実施形態において、制御部１５は、受信バッファ１２のデータ量ｖｒ及び送信バッファ１４のデータ量ｖｓの少なくとも一方に基づいて、予備バッファ１６に受信データ又は送信データを保存させる。具体的には、制御部１５は、受信データと送信データとのうちのいずれを予備バッファ１６に保存するかを決定する。
【０１１２】
制御部１５は、例えば、データ量ｖｒが所定値以上である場合に、受信データを予備バッファ１６に保存すると決定する。また、制御部１５は、データ量ｖｒが所定値以上であり、かつ、データ量ｖｓが所定値未満である場合に、受信データを予備バッファ１６に保存すると決定してもよい。また、制御部１５は、データ量ｖｒがデータ量ｖｓより大きい場合に、受信データを予備バッファ１６に保存すると決定してもよい。また、制御部１５は、サイズＶＲに対するデータ量ｖｒの割合がサイズＶＳに対するデータ量ｖｓの割合より大きい場合に、受信データを予備バッファ１６に保存すると決定してもよい。
【０１１３】
同様に、制御部１５は、例えば、データ量ｖｓが所定値以上である場合に、送信データを予備バッファ１６に保存すると決定する。また、制御部１５は、データ量ｖｓが所定値以上であり、かつ、データ量ｖｒが所定値未満である場合に、送信データを予備バッファ１６に保存すると決定してもよい。また、制御部１５は、データ量ｖｓがデータ量ｖｒより大きい場合に、送信データを予備バッファ１６に保存すると決定してもよい。また、制御部１５は、サイズＶＳに対するデータ量ｖｓの割合がサイズＶＲに対するデータ量ｖｒの割合より大きい場合に、送信データを予備バッファ１６に保存すると決定してもよい。
【０１１４】
制御部１５は、予備バッファ１６に受信データを保存すると決定した場合、その旨を送受信部１１及び信号処理部１３に通知する。予備バッファ１６に受信データを保存する旨を通知されると、送受信部１１は、受信データを予備バッファ１６に保存し、信号処理部１３は、予備バッファ１６のデータを受信データとして読み出す。これにより、予備バッファ１６は、受信バッファとして機能する。送受信部１１は、制御部１５からの通知後に受信した受信データを予備バッファ１６に保存してもよいし、制御部１５からの通知後に受信バッファ１２のデータ量ｖｒが所定値以上となった場合に受信データを予備バッファ１６に保存してもよい。
【０１１５】
一方、制御部１５は、予備バッファ１６に送信データを保存すると決定した場合、その旨を送受信部１１及び信号処理部１３に通知する。予備バッファ１６に送信データを保存する旨を通知されると、信号処理部１３は、送信データを予備バッファ１６に保存し、送受信部１１は、予備バッファ１６のデータを送信データとして読み出す。これにより、予備バッファ１６は、送信バッファとして機能する。信号処理部１３は、制御部１５からの通知後に変換した送信データを予備バッファ１６に保存してもよいし、制御部１５からの通知後に送信バッファ１４のデータ量ｖｓが所定値以上となった場合に送信データを予備バッファ１６に保存してもよい。
【０１１６】
制御部１５は、以上の処理を、ＡＰ動作の実行中に行ってもよいし、ＳＴＡ動作の実行中に行ってもよいし、コンカレント動作の実行中に随時行ってもよい。
【０１１７】
以上説明した通り、本実施形態によれば、予備バッファ１６を受信バッファ又は送信バッファとして利用できる。したがって、受信データ又は送信データのパケットドロップの発生を抑制できる。また、受信バッファ１２及び送信バッファ１４のサイズを大きくする場合に比べて、追加するメモリのサイズを小さくできる。
【０１１８】
なお、第２実施形態と同様に、通信装置１は、受信速度の制御と共に送信速度の制御を行ってもよい。
【０１１９】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１２０】
１：通信装置
２：対向ＡＰ
３：対向ＳＴＡ
４：サーバ
１１：送受信部
１２：受信バッファ
１３：信号処理部
１４：送信バッファ
１５：制御部
１６：予備バッファ
【図１】
2020205460.tif 000003
【図２】
2020205460.tif 000004
【図３】
2020205460.tif 000005
【図４】
2020205460.tif 000006
【図５】
2020205460.tif 000007
【図６】
2020205460.tif 000008
【図７】
2020205460.tif 000009
【図８】
2020205460.tif 000010
【図９】
2020205460.tif 000011
【図１０】
2020205460.tif 000012
【図１１】
2020205460.tif 000013
【図１２】
2020205460.tif 000014
【図１３】
2020205460.tif 000015
【図１４】
2020205460.tif 000016