(57)【特許請求の範囲】
【請求項１】
第１レイヤーと、前記第１レイヤーより上位の第２レイヤーとを含んだ階層構造の通信プロトコルに従って通信を行う通信装置であって、
前記第１レイヤーの処理を実行する第１通信処理部と、
前記第２レイヤーの処理を実行する第２通信処理部とを備え、
前記第１レイヤーの処理が、
受信側においてパケットの誤りが検出された場合、当該パケットと同一のパケットの再送信を前記受信側から送信側に要求し、当該要求に応じて前記送信側から前記同一のパケットを再送信するパケット再送処理と、
前記第２レイヤーからの第１コマンドに応じて受信信号強度を取得する受信信号強度取得処理と、
前記第２レイヤーからの第２コマンドに応じて対向機との接続を切断する接続切断処理と
を含み、
前記第２通信処理部が、
対向機との接続中に前記第１レイヤーから前記第２レイヤーへ伝えられるべき通知が前記第１通信処理部から継続的に出力されない時間を計測し、
前記計測した時間が第１時間に達した場合、受信信号強度確認処理を第２時間毎に複数回繰り返し、
前記複数回の受信信号強度確認処理の各々において、前記第１通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記第１通信処理部が取得した受信信号強度をしきい値と比較し、
前記複数回の受信信号強度確認処理の各々において前記受信信号強度が前記しきい値に達しておらず、かつ、前記複数回の受信信号強度確認処理が繰り返される期間を含んだ所定時間以上に渡って前記第１通信処理部から前記通知が出力されない場合、前記第２コマンドを前記第１通信処理部に入力する、
通信装置。
【請求項２】
前記第１レイヤーの処理が、前記受信側における受信信号強度が目標範囲に含まれるように、前記受信側から前記対向機に対して送信出力の変更を要求し、当該要求に応じて前記送信側の送信出力を変更する送信出力制御処理を含む、
請求項１に記載の通信装置。
【請求項３】
前記第１レイヤーの処理が、前記第２レイヤーからの第３コマンドに応じて、前記送信側から前記対向機に対して送信出力の増大を要求する送信出力制御処理を含み、
前記第２通信処理部が、前記複数回の受信信号強度確認処理の各々において、前記第１通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記第１通信処理部が取得した受信信号強度をしきい値と比較し、当該比較の結果において前記受信信号強度が前記しきい値に達しない場合、前記第１通信処理部に前記第３コマンドを入力する、
請求項１に記載の通信装置。
【請求項４】
前記第１レイヤーの処理が、通信の頻度に関する動作モードを、前記通信の頻度を制限しない通常モードと、前記通信の頻度を制限する省電力モードとに切り替える動作モード切り替え処理を含んでおり、
前記第２通信処理部が、前記時間の計測を行う場合に、前記第１通信処理部から前記通知が継続的に出力されず、かつ、前記動作モードが前記通常モードである時間を計測する、
請求項１乃至３の何れか一項に記載の通信装置。
【請求項５】
第１レイヤーと、前記第１レイヤーより上位の第２レイヤーとを含んだ階層構造の通信プロトコルに従って通信を行う通信装置において、コンピュータが前記第２レイヤーの処理を実行する通信処理方法であって、
前記通信装置が、前記第１レイヤーの処理を実行する通信処理部を有し、
前記第１レイヤーの処理が、
受信側においてパケットの誤りが検出された場合、当該パケットと同一のパケットの再送信を前記受信側から送信側に要求し、当該要求に応じて前記送信側から前記同一のパケットを再送信するパケット再送処理と、
前記第２レイヤーからの第１コマンドに応じて受信信号強度を取得する受信信号強度取得処理と、
前記第２レイヤーからの第２コマンドに応じて対向機との接続を切断する接続切断処理と
を含み、
対向機との接続中に前記第１レイヤーから前記第２レイヤーへ伝えられるべき通知が前記通信処理部から継続的に出力されない時間を計測することと、
前記計測した時間が第１時間に達した場合、受信信号強度確認処理を第２時間毎に複数回繰り返すことと、
前記複数回の受信信号強度確認処理の各々において、前記通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記通信処理部が取得した受信信号強度をしきい値と比較することと、
前記複数回の受信信号強度確認処理の各々において前記受信信号強度が前記しきい値に達しておらず、かつ、前記複数回の受信信号強度確認処理が繰り返される期間を含んだ所定時間以上に渡って前記通信処理部から前記通知が出力されない場合、前記第２コマンドを前記通信処理部に入力することと
を有する通信処理方法。
【請求項６】
前記第１レイヤーの処理が、前記受信側における受信信号強度が目標範囲に含まれるように、前記受信側から前記対向機に対して送信出力の変更を要求し、当該要求に応じて前記送信側の送信出力を変更する送信出力制御処理を含む、
請求項５に記載の通信処理方法。
【請求項７】
前記第１レイヤーの処理が、前記第２レイヤーからの第３コマンドに応じて、前記送信側から前記対向機に対して送信出力の増大を要求する送信出力制御処理を含み、
前記複数回の受信信号強度確認処理の各々において、前記通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記通信処理部が取得した受信信号強度をしきい値と比較し、当該比較の結果において前記受信信号強度が前記しきい値に達しない場合、前記通信処理部に前記第３コマンドを入力することを更に有する、
請求項５に記載の通信処理方法。
【請求項８】
前記第１レイヤーの処理が、通信の頻度に関する動作モードを、前記通信の頻度を制限しない通常モードと、前記通信の頻度を制限する省電力モードとに切り替える動作モード制御処理を含んでおり、
前記時間を計測することは、前記通信処理部から前記通知が出力されず、かつ、前記動作モードが前記通常モードである時間を計測することを含む、
請求項５乃至７の何れか一項に記載の通信処理方法。
【請求項９】
請求項５乃至８の何れか一項に記載の通信処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層構造の通信プロトコルに従って通信を行う通信装置に関し、特にＢｌｕｅｔｏｏｔｈ（登録商標）による通信を行う通信装置に関するものである。
【背景技術】
【０００２】
従来より、無線通信においては、外来電波の干渉や電波の伝搬状態の悪化などによる通信障害を克服するため、種々の対策が講じられている。例えば下記の特許文献１に記載されるデータ通信装置では、通信路状況判定手段において通信が正常に行われていないと判断された場合に、送信電力を上げる処理が行われる。また、下記の特許文献２に記載される通信端末では、受信確認用の応答パケットが受信されない場合にパケットの再送信が行われるとともに、再送信の回数が上限回数に達した場合に再送信が停止される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１３５３８号公報
【特許文献２】特開２０１５−１９２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、Ｂｌｕｅｔｏｏｔｈ（登録商標：以下、Ｂｌｕｅｔｏｏｔｈを「ＢＴ」と省略して記す場合がある。）におけるパケットの通信形態には、回線交換型のＳＣＯ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｃｏｎｎｅｃｔｉｏｎ  Ｏｒｉｅｎｔｅｄ）と、蓄積交換型のＡＣＬ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｃｏｎｎｅｃｔｉｏｎ  Ｌｅｓｓ）がある。ＳＣＯは即時性が要求されるデータ（通話時の音声データなど）の伝送に使用され、ＡＣＬは情報の欠落が生じないことを要求されるデータ（再生時の音楽データなど）の伝送に使用される。ＡＣＬのパケットは、通信障害などによって対向機からの受信確認の応答が受信されない場合に再送信される。再送信を行っても受信確認の応答が一定時間以上受信されない場合、対向機との接続が自動的に切断される。【０００５】
他方、パケット自体は受信できても、パケット内のデータが部分的に壊れている場合がある。ＢＴにおいて、パケットのエラー検出は、ＨＣＩ（Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃe）よりも下位のレイヤーであるＬｉｎｋＭａｎａｇｅｒにおいて行われる。ＬｉｎｋＭａｎａｇｅｒにおいてパケットのエラーが検出されると、送信側へ返されるパケットのヘッダ部の「ＡＲＱＮ」に、否定応答を示す値「ＮＡＫ」が設定される。「ＡＲＱＮ」の値が「ＮＡＫ」である場合、送信側からは同一のパケットが再送信される。【０００６】
再送信されたパケットに再度エラーが検出された場合、上記と同様に「ＡＲＱＮ」＝「ＮＡＫ」のパケットが送信側へ返され、同一のパケットが更に再送信される。すなわち、受信側でパケットのエラーが検出される限り、送信側から同一のパケットが際限なく再送信される状態（以下、「無限ループの状態」と記す場合がある。）になる。フレーム再送信による誤り訂正機能のあるプロトコルでは、正常に送信できなかった場合、送信キューのポインタが次のアドレスに移動しない。このため、同一のパケットの再送信が繰り返されると、このパケットがキューに留まり続けることになり、後続のパケットの送信ができなくなる。その結果、送信側ではコマンドが受け付けられない状態となり、接続の切断要求を出すことができなくなる。また、ＬｉｎｋＭａｎａｇｅｒにおけるパケット再送信処理の状態は、ＢＴの仕様上、上位のレイヤーに通知されない。そのため、上位のレイヤーでは、上述した無限ループの状態になっているか否かを、ＬｉｎｋＭａｎａｇｅｒからの通知に基づいて判別できない。従って、無限ループの状態に陥った場合、ユーザーが電源を入れ直すなどの強制的な操作を行わない限りパケットの送受信ができなくなり、このような制御不能状態を自律的に解消することができないという問題がある。【０００７】
このような問題を解決するため、無限ループの状態を自動的に検出して接続を切断する処理を下位のレイヤー（ＬｉｎｋＭａｎａｇｅｒ）で行わせることが考えられる。しかしながら、下位のレイヤーの処理は一般に専用のハードウェアで行われるため、ＢＴの基本仕様にない処理を追加的に下位のレイヤーで実行させることは難しいという問題がある。【０００８】
本発明はかかる事情に鑑みてなされたものであり、その目的は、下位のレイヤーにおいてパケットの再送信処理が際限なく繰り返される状態を、上位のレイヤーの処理によって解消できる通信装置、通信処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の通信装置は、第１レイヤーと、前記第１レイヤーより上位の第２レイヤーとを含んだ階層構造の通信プロトコルに従って通信を行う通信装置であって、前記第１レイヤーの処理を実行する第１通信処理部と、前記第２レイヤーの処理を実行する第２通信処理部とを備える。前記第１レイヤーの処理が、受信側においてパケットの誤りが検出された場合、当該パケットと同一のパケットの再送信を前記受信側から送信側に要求し、当該要求に応じて前記送信側から前記同一のパケットを再送信するパケット再送処理と、前記第２レイヤーからの第１コマンドに応じて受信信号強度を取得する受信信号強度取得処理と、前記第２レイヤーからの第２コマンドに応じて対向機との接続を切断する接続切断処理とを含む。前記第２通信処理部が、対向機との接続中に前記第１レイヤーから前記第２レイヤーへ伝えられるべき通知が前記第１通信処理部から継続的に出力されない時間を計測し、前記計測した時間が第１時間に達した場合、受信信号強度確認処理を第２時間毎に複数回繰り返し、前記複数回の受信信号強度確認処理の各々において、前記第１通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記第１通信処理部が取得した受信信号強度をしきい値と比較し、前記複数回の受信信号強度確認処理の各々において前記受信信号強度が前記しきい値に達しておらず、かつ、前記複数回の受信信号強度確認処理が繰り返される期間を含んだ所定時間以上に渡って前記第１通信処理部から前記通知が出力されない場合、前記第２コマンドを前記第１通信処理部に入力する。
【００１０】
この構成によれば、前記パケット再送処理によって前記同一のパケットの再送信が継続的に繰り返された場合、対向機との接続中に前記第１レイヤーから前記第２レイヤーへ伝えられるべき前記通知が前記第１通信処理部から継続的に出力されなくなる。前記通知の非出力状態の継続時間が前記第１時間に達すると、前記受信信号強度確認処理が前記第２時間毎に複数回繰り返される。【００１１】
前記複数回の受信信号強度確認処理の各々では、前記第１通信処理部に前記第１コマンドが入力され、前記第１コマンドに応じて前記第１通信処理部により取得された受信信号強度が前記しきい値と比較される。
【００１２】
前記複数回の受信信号強度確認処理において受信信号強度が前記しきい値に達していると判定された場合、対向機との接続が維持される。
【００１３】
また、前記複数回の受信信号強度確認処理が繰り返される期間を含んだ所定時間内に前記第１通信処理部から前記通知が出力された場合、前記パケット再送処理の繰り返し状態が解消されている蓋然性が高いため、この場合も対向機との接続が維持される。
【００１４】
前記複数回の受信信号強度確認処理の各々において前記受信信号強度が前記しきい値に達しておらず、かつ、前記複数回の受信信号強度確認処理が繰り返される期間を含んだ所定時間以上に渡って前記第１通信処理部から前記通知が出力されない場合は、前記パケット再送処理の繰り返し状態がこれ以上続かないように、前記第２コマンドが前記第１通信処理部に入力されて、対向機との接続が切断される。従って、前記第２レイヤーの処理によって、前記パケット再送処理の繰り返し状態が自律的に解消される。
【００１５】
好適に、前記第１レイヤーの処理が、前記受信側における受信信号強度が目標範囲に含まれるように、前記受信側から前記対向機に対して送信出力の変更を要求し、当該要求に応じて前記送信側の送信出力を変更する送信出力制御処理を含んでよい。【００１６】
この構成によれば、前記複数回の受信信号強度確認処理が行われている間に、前記第１レイヤーでは、前記送信出力制御処理によって、受信信号強度が目標範囲に含まれるように、対向機の送信出力が変更される。前記複数回の受信信号強度確認処理が行われている間に受信信号強度が前記しきい値に達した場合、前記送信出力制御処理が有効に機能していると推定されるため、対向機との接続が維持される。前記送信出力制御処理が機能することで、前記受信側においてパケットが正常に受信され易くなり、前記パケット再送信処理の繰り返し状態が解消され易くなる。
【００１７】
好適に、前記第１レイヤーの処理が、前記第２レイヤーからの第３コマンドに応じて、前記対向機に対して送信出力の増大を要求する送信出力制御処理を含んでよい。また、前記第２通信処理部が、前記複数回の受信信号強度確認処理の各々において、前記第１通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記第１通信処理部が取得した受信信号強度をしきい値と比較し、当該比較の結果において前記受信信号強度が前記しきい値に達しない場合、前記第１通信処理部に前記第３コマンドを入力してよい。
【００１８】
この構成によれば、前記複数回の受信信号強度確認処理の各々において、前記第１通信処理部に前記第１コマンドが入力され、前記第１コマンドに応じて前記第１通信処理部により取得された受信信号強度が前記しきい値と比較される。当該比較の結果において前記受信信号強度が前記しきい値に達しない場合、対向機に対して送信出力の増大を要求する前記第３コマンドが前記第１通信処理部に入力される。前記複数回の受信信号強度確認処理が行われている間に前記受信信号強度が前記しきい値に達した場合、前記第３コマンドによる対向機の送信出力の制御が有効に機能していると推定されるため、この場合は対向機との接続が維持される。前記第３コマンドによる対向機の送信出力の制御が機能することで、前記受信側においてパケットが正常に受信され易くなり、前記パケット再送信処理の繰り返し状態が解消され易くなる。
【００１９】
好適に、前記第１レイヤーの処理が、通信の頻度に関する動作モードを、前記通信の頻度を制限しない通常モードと、前記通信の頻度を制限する省電力モードとに切り替える動作モード切り替え処理を含んでよい。前記第２通信処理部が、前記時間の計測を行う場合に、前記第１通信処理部から前記通知が継続的に出力されず、かつ、前記動作モードが前記通常モードである時間を計測してよい。【００２０】
この構成によれば、前記動作モードが前記省電力モードである場合は、前記第１通信処理部から前記通知が継続的に出力されなくても、対向機との接続が切断されない。【００２１】
本発明の第２の観点は、第１レイヤーと、前記第１レイヤーより上位の第２レイヤーとを含んだ階層構造の通信プロトコルに従って通信を行う通信装置において、コンピュータが前記第２レイヤーの処理を実行する通信処理方法であって、前記通信装置が、前記第１レイヤーの処理を実行する通信処理部を有し、前記第１レイヤーの処理が、受信側においてパケットの誤りが検出された場合、当該パケットと同一のパケットの再送信を前記受信側から送信側に要求し、当該要求に応じて前記送信側から前記同一のパケットを再送信するパケット再送処理と、前記第２レイヤーからの第１コマンドに応じて受信信号強度を取得する受信信号強度取得処理と、前記第２レイヤーからの第２コマンドに応じて対向機との接続を切断する接続切断処理とを含み、対向機との接続中に前記第１レイヤーから前記第２レイヤーへ伝えられるべき通知が前記通信処理部から継続的に出力されない時間を計測することと、前記計測した時間が第１時間に達した場合、受信信号強度確認処理を第２時間毎に複数回繰り返すことと、前記複数回の受信信号強度確認処理の各々において、前記通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記通信処理部が取得した受信信号強度をしきい値と比較することと、前記複数回の受信信号強度確認処理の各々において前記受信信号強度が前記しきい値に達しておらず、かつ、前記複数回の受信信号強度確認処理が繰り返される期間を含んだ所定時間以上に渡って前記通信処理部から前記通知が出力されない場合、前記第２コマンドを前記通信処理部に入力することとを有する。
【００２２】
好適に、前記第１レイヤーの処理が、前記受信側における受信信号強度が目標範囲に含まれるように、前記受信側から前記対向機に対して送信出力の変更を要求し、当該要求に応じて前記送信側の送信出力を変更する送信出力制御処理を含んでよい。【００２３】
好適に、前記第１レイヤーの処理が、前記第２レイヤーからの第３コマンドに応じて、前記送信側から前記対向機に対して送信出力の増大を要求する送信出力制御処理を含んでよい。上記通信処理方法は、前記複数回の受信信号強度確認処理の各々において、前記通信処理部に前記第１コマンドを入力し、前記第１コマンドに応じて前記通信処理部が取得した受信信号強度をしきい値と比較し、当該比較の結果において前記受信信号強度が前記しきい値に達しない場合、前記通信処理部に前記第３コマンドを入力することを更に有してよい。
【００２４】
好適に、前記第２の観点において、前記第１レイヤーの処理が、通信の頻度に関する動作モードを、前記通信の頻度を制限しない通常モードと、前記通信の頻度を制限する省電力モードとに切り替える動作モード制御処理を含んでよい。前記時間を計測することは、前記通信処理部から前記通知が出力されず、かつ、前記動作モードが前記通常モードである時間を計測することを含んでよい。【００２５】
本発明の第３の観点は、前記第２の観点の通信処理方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２６】
本発明によれば、下位のレイヤーにおいてパケットの再送信処理が際限なく繰り返される状態を、上位のレイヤーの処理によって解消できる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係る通信装置の構成の一例を示す図である。
【図２】本実施形態に係る通信装置における通信機能の階層構造を説明するための図である。
【図３】受信側の通信装置の第１通信処理部における送信出力制御処理を説明するためのフローチャートである。
【図４】送信側の通信装置の第１通信処理部における送信出力制御処理を説明するための第１のフローチャートである。
【図５】送信側の通信装置の第１通信処理部における送信出力制御処理を説明するための第２のフローチャートである。
【図６】受信側の通信装置の第２通信処理部における接続切断処理を説明するための第１のフローチャートである。
【図７】受信側の通信装置の第２通信処理部における接続切断処理を説明するための第２のフローチャートである。
【図８】受信側の通信装置の第２通信処理部における接続切断処理の変形例を説明するためのフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態について図面を参照して説明する。図１は、本発明の実施形態に係る通信装置（１Ａ，１Ｂ）の構成の一例を示す図である。本実施形態において、通信装置１Ａ及び通信装置１Ｂは、ＢＴの通信プロトコルに従って無線通信を行う。通信装置１Ａ及び通信装置１Ｂは、図１に示すように、第１通信処理部１０と、第２通信処理部２０と、記憶部３０と、無線送受信部４０と、アンテナＡＮＴをそれぞれ有する。以下の説明では、通信装置１Ａ及び通信装置１Ｂを区別せずに「通信装置１」と記す場合がある。また、一方の通信装置１から見た他方の通信装置１を「対向機」と記す場合がある。
【００２９】
図２は、本実施形態に係る通信装置における通信機能の階層構造を説明するための図であり、ＢＴのプロトコル・スタックを示す。以下の説明では、ＨＣＩ（Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ）より下位のレイヤー（リンクマネージャー、ベースバンドなど）を「第１レイヤー」と記し、ＨＣＩより上位のレイヤー（Ｌ２ＣＡＰ：Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ  ａｎｄ  Ａｄａｐｔａｔｉｏｎ  Ｐｒｏｔｏｃｏｌなど）を「第２レイヤー」と記す。
【００３０】
無線送受信部４０は、ＢＴの通信方式に従って、２．４ＧＨｚ帯の無線通信を行う。具体的には、無線送受信部４０は、１スロット（６２５μ秒）ごとに周波数ホッピングを行う周波数ホッピング・スペクトラム拡散（Ｆｒｅｑｕｅｎｃｙ  Ｈｏｐｐｉｎｇ  Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ）により無線通信を行う。
【００３１】
第１通信処理部１０は、ＢＴの通信プロトコルにおいて第１レイヤーの通信処理を行う。本実施形態において、第１レイヤーの処理には、パケット再送処理、送信出力制御処理、受信信号強度取得処理、接続切断処理、及び、動作モード切り替え処理が含まれる。
【００３２】
パケット再送処理は、受信側の通信装置１においてパケットの誤りが検出された場合に、このパケットと同一のパケットの再送信を受信側の通信装置１から送信側の通信装置１に要求し、この要求に応じて送信側の通信装置１から同一のパケットを再送信する処理である。具体的には、受信側の通信装置１においてパケットの誤りが検出された場合、送信側の通信装置１へ返すパケットの「ＡＲＱＮ」の値に「ＮＡＫ」が設定される。パケットの「ＡＲＱＮ」の値が「ＮＡＫ」である場合、送信側の通信装置１から同一のパケットが再送信される。
【００３３】
送信出力制御処理は、受信側の通信装置１における受信信号強度が所定の目標範囲に含まれるように、受信側の通信装置１から送信側の通信装置１へ（以下、「受信側から対向機に対して」ともいう）送信出力の変更を要求し、この要求に応じて送信側の通信装置１（以下、「対向機」ともいう）の送信出力を変更する処理である。具体的には、送信出力をアップさせる場合、受信側の通信装置１から送信側の通信装置１へ「ＬＭＰ＿ｉｎｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドが送信され、これを受けた送信側の通信装置１において送信出力が所定レベルだけアップされる。また、送信出力をダウンさせる場合、受信側の通信装置１から送信側の通信装置１へ「ＬＭＰ＿ｄｅｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドが送信され、これを受けた送信側の通信装置１において送信出力が所定レベルだけダウンされる。
【００３４】
受信信号強度取得処理は、上位のレイヤーである第２レイヤーからのコマンド（第１コマンド）に応じて現在の受信信号強度を取得し、取得した受信信号強度を上位のレイヤーに通知する処理である。具体的には、上位のレイヤーから第１コマンドとして「ＨＣＩ＿ＲＳＳＩ」が与えられると、受信信号強度の取得が行われる。
【００３５】
接続切断処理は、第２レイヤーからのコマンド（第２コマンド）に応じて、接続中の対向機との接続を切断する処理である。具体的には、上位のレイヤーから第２コマンドとして「ＨＣＩ＿Ｄｉｓｃｏｎｎｅｃｔ」が与えられると、接続中の対向機に対して第１レイヤーから「ＬＭＰ＿ｄｅｔａｃｈ」コマンドが送信され、この通信装置１との接続が切断される。
【００３６】
動作モード切り替え処理は、上位のレイヤーからのコマンドに応じて、通信の頻度に関する動作モードを切り替える処理である。この動作モード切り替え処理によって切り替えられる動作モードには、通信の頻度を特に制限しない通常モードと、通信の頻度を制限して消費電力を抑える省電力モードとがある。動作モードの管理は、上位のレイヤーで行われる。
【００３７】
第１通信処理部１０は、図１に示すように、送信待ちのパケットを保持する送信キュー１１と、受信待ちのパケットを保持する受信キュー１２を有する。これらのキューに保持されたパケットは、キューに入力された順番で処理される。
【００３８】
第２通信処理部２０は、第１レイヤーより上位のレイヤーである第２レイヤーの通信処理を行う。第２通信処理部２０は、記憶部３０に格納されるプログラム３１に基づいて命令を実行するコンピュータ（マイクロプロセッサ等）を含む。処理部６３は、全ての処理をコンピュータによって行ってもよいし、少なくとも一部の処理を専用のロジック回路によって行ってもよい。
【００３９】
第２通信処理部２０は、対向機との接続中に第１レイヤーから第２レイヤーへ伝えられるべき通知を監視し、この通知（以下、「監視対象通知」と記す場合がある。）が通常モードにおいて第１通信処理部１０から継続的に出力されない時間を計測する。そして、計測した時間が第１時間Ｔ１（例えば５秒）に達した場合、第２通信処理部２０は、受信信号強度確認処理を第２時間Ｔ２毎に（例えば５秒間隔で）Ｎ回（例えば５回）繰り返する。第２通信処理部２０は、Ｎ回の受信信号強度確認処理の各々において、受信信号強度取得用の第１コマンド（ＨＣＩ＿ＲＳＳＩ）を第１通信処理部１０に入力し、第１コマンドに応じて第１通信処理部１０が取得した受信信号強度をしきい値Ｓｔｈと比較する。Ｎ回の受信信号強度確認処理の各々において受信信号強度がしきい値Ｓｔｈに達しておらず、かつ、Ｎ回の受信信号強度確認処理が繰り返される期間を含んだ所定期間以上（例えばＴ２×Ｎ以上）に渡って第１通信処理部１０から監視対象通知が出力されない場合、第２通信処理部２０は、送信側の通信装置１との接続を切断するための第２コマンドを第１通信処理部１０に入力する。第１通信処理部１０が第２コマンドを受け取ると、送信キュー１１に「ＬＭＰ＿ｄｅｔａｃｈ」が入力され、送信側の通信装置１の受信キュー１２へ「ＬＭＰ＿ｄｅｔａｃｈ」が送られる。
【００４０】
ここで、上述した構成を有する本実施形態の通信装置１の動作について、図３〜図７のフローチャートを参照して説明する。
【００４１】
図３は、受信側の通信装置１の第１通信処理部１０における送信出力制御処理を説明するためのフローチャートである。第１通信処理部１０は、所定のタイミングで（例えば一定時間毎に）図３の処理を行う。
【００４２】
第１通信処理部１０は、接続中の対向機から受信した最新のパケットの受信信号強度を取得し（ＳＴ１００）、取得した受信信号強度を所定の最小値Ｓｍｉｎ及び所定の最大値Ｓｍａｘとそれぞれ比較する（ＳＴ１０５，ＳＴ１１０）。受信信号強度が最小値Ｓｍｉｎより小さい場合（ＳＴ１０５のＹｅｓ）、第１通信処理部１０は、接続中の対向機に対して送信出力のアップ（増大）を要求する「ＬＭＰ＿ｉｎｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドを送信する（ＳＴ１１５）。他方、受信信号強度が最大値Ｓｍａｘより大きい場合（ＳＴ１１０のＹｅｓ）、第１通信処理部１０は、接続中の対向機に対して送信出力のダウン（減少）を要求する「ＬＭＰ＿ｄｅｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドを送信する（ＳＴ１２０）。
【００４３】
図４及び図５は、送信側の通信装置１の第１通信処理部１０における送信出力制御処理を説明するためのフローチャートである。第１通信処理部１０は、所定のタイミングで（例えば一定時間毎に）図４及び図５の処理を行う。
【００４４】
第１通信処理部１０は、接続中の対向機からパケットを受信すると（ＳＴ２００のＹｅｓ）、このパケットに送信出力のアップを要求する「ＬＭＰ＿ｉｎｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドが含まれているか否かを判定する（ＳＴ２０５）。受信したパケットに「ＬＭＰ＿ｉｎｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドが含まれている場合（ＳＴ２０５のＹｅｓ）、第１通信処理部１０は、現在の送信出力のレベルが所定の最大値に達しているか否かを更に判定する（ＳＴ２１０）。現在の送信出力のレベルが最大値より小さい場合（ＳＴ２１０のＮｏ）、第１通信処理部１０は、送信出力のレベルを所定のレベルだけアップさせ（ＳＴ２１５）、送信出力アップの要求に対する肯定応答を接続中の対向機へ送信する（ＳＴ２２０）。現在の送信出力のレベルが最大値に達している場合（ＳＴ２１０のＹｅｓ）、第１通信処理部１０は、送信出力アップの要求に対する否定応答を接続中の対向機へ送信する（ＳＴ２２５）。
【００４５】
また、第１通信処理部１０は、接続中の対向機からパケットを受信すると（ＳＴ２００のＹｅｓ）、このパケットに送信出力のダウンを要求する「ＬＭＰ＿ｄｅｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドが含まれているか否かを判定する（ＳＴ２３０）。受信したパケットに「ＬＭＰ＿ｄｅｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドが含まれている場合（ＳＴ２３０のＹｅｓ）、第１通信処理部１０は、現在の送信出力のレベルが所定の最小値に達しているか否かを更に判定する（ＳＴ２３５）。現在の送信出力のレベルが最小値より大きい場合（ＳＴ２３５のＮｏ）、第１通信処理部１０は、送信出力のレベルを所定のレベルだけダウンさせ（ＳＴ２４０）、送信出力ダウンの要求に対する肯定応答を接続中の対向機へ送信する（ＳＴ２４５）。現在の送信出力のレベルが最小値に達している場合（ＳＴ２３５のＹｅｓ）、第１通信処理部１０は、送信出力ダウンの要求に対する否定応答を接続中の対向機へ送信する（ＳＴ２５０）。
【００４６】
図６及び図７は、受信側の通信装置１の第２通信処理部２０における接続切断処理を説明するためのフローチャートである。第２通信処理部２０は、接続中の対向機がある場合に図６及び図７の処理を行う。
【００４７】
第２通信処理部２０は、現在の動作モードが省電力モードの場合（ＳＴ３００のＹｅｓ）、時間の測定を開始し（ＳＴ３０５）、ステップＳＴ３０５からの経過時間が第１時間Ｔ１に達するまでの間、第１通信処理部１０の出力を監視する（ＳＴ３１０，ＳＴ３１５）。第１通信処理部１０から監視対象通知が出力されると（ＳＴ３１０のＹｅｓ）、第２通信処理部２０はステップＳＴ３００に戻り、上述の処理を繰り返す。
【００４８】
監視対象通知が出力されないままステップＳＴ３０５からの経過時間が第１時間Ｔ１に達した場合（ＳＴ３１５のＹｅｓ）、第２通信処理部２０は、受信信号強度の取得回数を示す変数ｉの値を「０」にリセットする（ＳＴ３２０）。そして、第２通信処理部２０は、受信信号強度の取得を要求する第１コマンド（ＨＣＩ＿ＲＳＳＩ）を第１通信処理部１０に入力し、第１通信処理部１０から受信信号強度を取得する（ＳＴ３２５）。第２通信処理部２０は、第１通信処理部１０から取得した受信信号強度を、しきい値Ｓｔｈと比較する（ＳＴ３３０）。受信信号強度がしきい値Ｓｔｈに達している場合（ＳＴ３３０のＮｏ）、第２通信処理部２０はステップＳＴ３００に戻り、上述の処理を繰り返す。
【００４９】
受信信号強度がしきい値Ｓｔｈより小さい場合（ＳＴ３３０のＹｅｓ）、第２通信処理部２０は、新たに時間の測定を開始する（ＳＴ３４０）。第２通信処理部２０は、ステップＳＴ３４０からの経過時間が第２時間Ｔ２に達するまでの間、第１通信処理部１０の出力を監視する（ＳＴ３４５，ＳＴ３５０）。第１通信処理部１０から監視対象通知が出力された場合（ＳＴ３４５のＹｅｓ）、第２通信処理部２０はステップＳＴ３２０に戻って変数ｉの値を「０」にリセットした上で、ステップＳＴ３２５以降の処理を再び行う。
【００５０】
監視対象通知が出力されないままステップＳＴ３４０からの経過時間が第２時間Ｔ２に達した場合（ＳＴ３５０のＹｅｓ）、第２通信処理部２０は、変数ｉに「１」を加算する（ＳＴ３５５）。「１」の加算後の変数ｉがＮに達していない場合（ＳＴ３６０のＮｏ）、第２通信処理部２０はステップＳＴ３２５に戻り、ステップＳＴ３２５以降の処理を再び行う。
【００５１】
受信信号強度がしきい値Ｓｔｈより小さい状態が継続し（ＳＴ３３０のＹｅｓ）、かつ、第１通信処理部１０から監視対象通知が継続的に出力されない場合（ＳＴ３４５のＮｏ）、第２通信処理部２０は、ステップＳＴ３２５からステップＳＴ３５５までの処理をＮ回繰り返す。この処理の繰り返しによって変数ｉがＮに達すると（ＳＴ３６０のＹｅｓ）、第２通信処理部２０は、対向機との接続を切断する第２コマンドを第１通信処理部１０に入力する（ＳＴ３６５）。
【００５２】
以上説明したように、本実施形態によれば、第１レイヤーのパケット再送処理によって同一のパケットの再送信が継続的に繰り返された場合、対向機との接続中に第１レイヤーから第２レイヤーへ伝えられるべき監視対象通知が、第１通信処理部１０から継続的に出力されなくなる。監視対象通知の非出力状態の継続時間が第１時間Ｔ１に達すると、第２通信処理部２０において受信信号強度確認処理（ＳＴ３２０及びＳＴ３２５）が第２時間Ｔ２毎にＮ回繰り返される。
【００５３】
Ｎ回の受信信号強度確認処理の各々では、第１通信処理部１０に第１コマンドが入力され、第１コマンドに応じて第１通信処理部１０により取得された受信信号強度がしきい値Ｓｔｈと比較される。
【００５４】
Ｎ回の受信信号強度確認処理が行われている間、第１レイヤーでは、送信出力制御処理によって、受信信号強度が目標範囲に含まれるように、対向機の送信出力が変更される（図３〜図５）。受信信号強度確認処理によって受信信号強度がしきい値Ｓｔｈに達したことが確認された場合、送信出力制御処理が有効に機能していると推定されるため、この場合は対向機との接続が維持される。
【００５５】
また、Ｎ回の受信信号強度確認処理が繰り返される期間を含んだ所定期間内に第１通信処理部１０から監視対象通知が出力された場合、送信出力制御処理（図３〜図５）によるパケット再送処理の繰り返し状態が解消されている蓋然性が高いため、この場合も対向機との接続が維持される。
【００５６】
これに対し、Ｎ回の受信信号強度確認処理の各々において受信信号強度がしきい値Ｓｔｈに達しておらず、かつ、Ｎ回の受信信号強度確認処理が繰り返される期間を含んだ所定時間以上に渡って第１通信処理部１０から監視対象通知が出力されない場合は、無限ループの状態になっている蓋然性が高い。この場合、パケット再送処理の繰り返し状態がこれ以上続かないように、第２コマンドが第１通信処理部１０に入力されて、対向機との接続が切断される。従って、第１レイヤーより上位のレイヤーである第２レイヤーの処理によって、パケット再送処理の繰り返し状態を自律的に解消させること可能であり、電源を入れ直さなければならないような制御不能な状態を回避できる。
【００５７】
また、本実施形態によれば、動作モードが省電力モードである場合は、第１通信処理部１０から監視対象通知が継続的に出力されなくても、対向機との接続が切断されない。そのため、通常モードにおいてパケット再送処理の繰り返し状態を回避できるとともに、監視対象通知の頻度が小さくなる省電力モードを安定的に維持できる。
【００５８】
以上、本発明の一実施形態について説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、種々のバリエーションを含んでいる。
【００５９】
上述した実施形態では、第１レイヤーの送信出力制御処理を利用して、第２レイヤーの接続切断処理を行っているが、本発明の他の実施形態では、第１レイヤーの送信出力制御処理を利用せずに第２レイヤーの接続切断処理を行ってもよい。図８は、その変形例を説明するためのフローチャートであり、図７のフローチャートにおいてステップＳＴ３３０とステップＳＴ３４０の間にステップＳＴ３３５を追加したものである。
【００６０】
ステップＳＴ３３０における受信信号強度としきい値Ｓｔｈとの比較において受信信号強度がしきい値Ｓｔｈより小さい場合、第２通信処理部２０は、ステップＳＴ３３５において、接続中の対向機に送信出力をアップすることを要求する所定のコマンドを第１通信処理部１０に入力する。第１通信処理部１０は、第２通信処理部２０からこのコマンドが入力されると、接続中の対向機へ「ＬＭＰ＿ｉｎｃｒ＿ｐｏｗｅｒ＿ｒｅｑ」コマンドを送信する。この変形例においても、受信信号強度がしきい値Ｓｔｈより小さい場合に、対向機の送信出力がアップされる。そのため、受信信号強度確認処理によって受信信号強度がしきい値Ｓｔｈに達したことが確認された場合（図６：ＳＴ３３０のＹｅｓ）、接続中の対向機における送信出力の制御が有効に機能していると推定されるため、対向機との接続が維持される。
【００６１】
なお、上述の実施形態では、本発明をＢＴ通信に適用した例が挙げられているが、本発明は他の種々の通信方式にも適用可能である。
【００６２】
本特許出願は２０１６年１１月１５日に出願した日本国特許出願第２０１６−２２２４７４号に基づきその優先権を主張するものであり、日本国特許出願第２０１６−２２２４７４号の全内容を本願に援用する。
【符号の説明】
【００６３】
１，１Ａ，１Ｂ…通信装置、１０…第１通信処理部、１１…送信キュー、１２…受信キュー、２０…第２通信処理部、３０…記憶部、３１…プログラム、４０…無線送受信部、ＡＮＴ…アンテナ、Ｔ１…第１時間、Ｔ２…第２時間、Ｓｔｈ…しきい値
【図１】
0006669889.tif 000002
【図２】
0006669889.tif 000003
【図３】
0006669889.tif 000004
【図４】
0006669889.tif 000005
【図５】
0006669889.tif 000006
【図６】
0006669889.tif 000007
【図７】
0006669889.tif 000008
【図８】
0006669889.tif 000009