(57)【特許請求の範囲】
【請求項１】
アプリケーションレイヤから通知される送信要求に応じて、通信部がパケットを送信する無線通信装置であって、
前記送信要求が通知される度に、その通知された時刻を取得して、前記送信要求が通知される要求間隔を計算すると共に、過去ｎ個（ｎは２以上の整数）の前記要求間隔を保持する履歴保持部と、
前記過去ｎ個の要求間隔に基づき、次のパケット送信までの送信間隔を決定するタイミング制御部と、
送信データのヘッダ部に前記送信間隔を示す時間情報を付加したパケットを生成して相手の無線通信装置に送信し、前記相手の無線通信装置からのパケットを受信する送受信部と、
前記パケットを送信してから前記送信間隔の時間が経過するまでの間、少なくとも前記送受信部を停止させる通信制御部と
を備え、
前記タイミング制御部は、前記履歴保持部に保持した前記過去ｎ個の要求間隔のうち、小さい方からｍ番目（ｍはｎ以下の正の整数）の値を、前記送信間隔と決定し、
前記送信要求が通知されてから前記パケット送信開始までの時間を短くする要求が通知された場合に前記ｍを小さく設定し、消費電力を小さくする要求が通知された場合に前記ｍを大きく設定する
ことを特徴とする無線通信装置。
【請求項２】
前記アプリケーションレイヤを更に備え、
前記送信データは前記アプリケーションレイヤから転送されることを特徴とする請求項１記載の無線通信装置。
【請求項３】
前記アプリケーションレイヤは、生成される前記送信データを格納するメモリを備えたことを特徴とする請求項２記載の無線通信装置。
【請求項４】
前記通信制御部は、前記パケットの送信後に前記パケットに対する肯定応答を受信した場合に、前記パケットの送信した時点から前記送信間隔の時間が経過するまでの間、少なくとも前記送受信部を停止させることを特徴とする請求項１に記載の無線通信装置。
【請求項５】
前記通信制御部は、前記送信間隔を示す時間情報を含むパケットを受信し、かつ、前記上位アプリケーションレイヤから送信要求がない場合に、前記受信パケットの前記送信間隔の時間が経過するまでの間、少なくとも前記送受信部を停止させる
ことを特徴とする前記請求項１に記載の無線通信装置。
【請求項６】
アプリケーションレイヤから通知される送信要求に応じて、通信部がパケットを送信する無線通信装置の通信プログラムであって、
前記送信要求が通知される度に、その通知された時刻を取得して、前記送信要求が通知される要求間隔を計算すると共に、過去ｎ個（ｎは２以上の整数）の前記要求間隔を保持する機能と、
前記過去ｎ個の要求間隔に基づき、次のパケット送信までの送信間隔を決定する機能と、
送信データのヘッダ部に前記送信間隔を示す時間情報を付加したパケットを生成して相手の無線通信装置に送信する機能と、
前記パケットを送信してから前記送信間隔の時間が経過するまでの間、少なくとも送受信部を停止させる機能と
を有し、
さらに、前記送信間隔を決定する機能は、前記要求間隔を保持する機能に保持した前記過去ｎ個の要求間隔のうち、小さい方からｍ番目（ｍはｎ以下の正の整数）の値を、前記送信間隔と決定し、
前記送信要求が通知されてから前記パケット送信開始までの時間を短くする要求が通知された場合に前記ｍを小さく設定し、消費電力を小さくする要求が通知された場合に前記ｍを大きく設定する
ことを特徴とする通信プログラム。
【請求項７】
アプリケーションレイヤから通知される送信要求に応じて、通信部がパケットを送信する無線通信方法であって、
前記送信要求が通知される度に、その通知された時刻を取得して、前記送信要求が通知される要求間隔を計算すると共に、過去ｎ個（ｎは２以上の整数）の前記要求間隔を保持し、
前記過去ｎ個の要求間隔に基づき、次のパケット送信までの送信間隔を決定し、
送信データのヘッダ部に前記送信間隔を示す時間情報を付加したパケットを生成して相手の無線通信装置に送信し、
前記パケットを送信してから前記送信間隔の時間が経過するまでの間、少なくとも送受信部を停止させ、
さらに、前記送信間隔を決定するステップは、保持した前記過去ｎ個の要求間隔のうち、小さい方からｍ番目（ｍはｎ以下の正の整数）の値を、前記送信間隔と決定し、
前記送信要求が通知されてから前記パケット送信開始までの時間を短くする要求が通知された場合に前記ｍを小さく設定し、消費電力を小さくする要求が通知された場合に前記ｍを大きく設定する
ことを特徴とする無線通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置および通信プログラムに関する。
【背景技術】
【０００２】
従来、無線通信装置における低消費を図る電力制御技術の一つとして、無線通信装置内の通信モデムにおいてパケットの送信間隔を決定し、次のパケット送信までの間は、自無線通信装置、またはネットワーク内の他の無線通信装置をスリープモードとして動作させる無線通信装置が発明されている。（例えば、特許文献１参照。）
特許文献１では、無線通信装置内の通信モデムが、次のパケットの送信までの間隔を、上位のアプリケーションが要求する伝送レートに基づき、一定間隔・増加関数・減少関数・周期関数の何れかを用いて決定している。そして、決定した送信間隔を通信相手の無線通信装置に通知し、通信相手の無線通信装置をスリープモードにさせることで低消費電力化を図っている。【０００３】
一方で、アプリケーションで必要とされるレイテンシやスループットを満たすためにはアプリケーションの情報を考慮する必要がある。例えば、パケットの送信間隔を決定する際に、アプリケーションが要求する送信レートや、送信データの発生が周期的であることを満たす必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３２０１５３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載される無線通信装置では、アプリケーションが求めているレイテンシやスループットを満たすために、アプリケーションレイヤから通信モデムにアプリケーションの情報を通知する必要がある。その結果、アプリケーションレイヤと無線通信モデム間の独立性が損なわれる虞がある。【０００６】
本発明の目的は、通信モデムがアプリケーションレイヤからアプリケーションの情報をもらわなくてもパケット送信間隔を決定することができ、低消費電力化が可能な無線通信装置および通信プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の無線通信装置は、アプリケーションレイヤから通知される送信要求に応じて、通信部がパケットを送信する無線通信装置であって、前記送信要求が通知される度に、その通知された時刻を取得して、前記送信要求が通知される要求間隔を計算すると共に、過去ｎ個（ｎは２以上の整数）の前記要求間隔を保持する履歴保持部と、前記過去ｎ個の要求間隔に基づき、次のパケット送信までの送信間隔を決定するタイミング制御部と、送信データのヘッダ部に前記送信間隔を示す時間情報を付加したパケットを生成して相手の無線通信装置に送信し、前記相手の無線通信装置からのパケットを受信する送受信部と、前記パケットを送信してから前記送信間隔の時間が経過するまでの間、少なくとも前記送受信部を停止させる通信制御部とを備え、前記タイミング制御部は、前記履歴保持部に保持した前記過去ｎ個の要求間隔のうち、小さい方からｍ番目（ｍはｎ以下の正の整数）の値を、前記送信間隔と決定し、前記送信要求が通知されてから前記パケット送信開始までの時間を短くする要求が通知された場合に前記ｍを小さく設定し、消費電力を小さくする要求が通知された場合に前記ｍを大きく設定することを特徴とする。
【０００８】
上記目的を達成するために、本発明の通信プログラムは、アプリケーションレイヤから通知される送信要求に応じて、通信部がパケットを送信する無線通信装置の通信プログラムであって、前記送信要求が通知される度に、その通知された時刻を取得して、前記送信要求が通知される要求間隔を計算すると共に、過去ｎ個（ｎは２以上の整数）の前記要求間隔を保持する機能と、前記過去ｎ個の要求間隔に基づき、次のパケット送信までの送信間隔を決定する機能と、送信データのヘッダ部に前記送信間隔を示す時間情報を付加したパケットを生成して相手の無線通信装置に送信する機能と、前記パケットを送信してから前記送信間隔の時間が経過するまでの間、少なくとも送受信部を停止させる機能とを有し、さらに、前記送信間隔を決定する機能は、前記要求間隔を保持する機能に保持した前記過去ｎ個の要求間隔のうち、小さい方からｍ番目（ｍはｎ以下の正の整数）の値を、前記送信間隔と決定し、前記送信要求が通知されてから前記パケット送信開始までの時間を短くする要求が通知された場合に前記ｍを小さく設定し、消費電力を小さくする要求が通知された場合に前記ｍを大きく設定することを特徴とする。
【発明の効果】
【０００９】
本発明の無線通信装置によれば、通信モデムがアプリケーションレイヤからアプリケーションの情報をもらうことなくパケット送信間隔を決定し、低消費電力化を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る無線通信装置の構成を示すブロック図。
【図２】同実施形態に係るパケットフォーマット。
【図３】同実施形態に係る無線通信装置間のシーケンスチャート。
【図４】同実施形態に係る無線通信装置の動作を示すフローチャート。
【図５】本発明の無線通信装置の第１の特性例を示すシミュレーション結果のグラフ。
【図６】本発明の無線通信装置の第２の特性例を示すシミュレーション結果のグラフ。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【００１２】
図１に、本発明の実施形態に係る無線通信装置１０１の構成を示す。無線通信装置１０１は、他の無線通信装置１０２を通信相手としてパケットの送受信を行う。無線通信装置１０１と無線通信装置１０２は、同様の構成を有するものとする。
【００１３】
無線通信装置１０１は、アプリケーションレイヤ１０３、通信部（以下、通信モデムという）１０４、およびこれらのモジュールを接続するバス１０５を有する。
【００１４】
アプリケーションレイヤ１０３は、無線通信装置全体の制御を行うＣＰＵ１０６とデータバッファ等に利用するメモリ１０７を有する。
【００１５】
通信モデム１０４は、アプリケーションレイヤ１０３とのデータの受け渡しを行うデータバッファ１０８、アプリケーションレイヤ１０３との間で命令や情報のやりとりを行う設定レジスタ１１０、通信モデム１０４全体の制御を行う通信制御部（以下、モデム制御部という）１１１、無線通信のための信号処理を行う送受信部（以下、物理レイヤという）１０９、アプリケーションレイヤ１０３から通知された送信要求の間隔を計算して保持する履歴保持部１１３、時刻を計数するための時計１１２、物理レイヤ１０９に対してパケットの送信タイミングを通知するタイミング制御部１１４、アプリケーションレイヤ１０３から受け渡されたデータから送信パケットを生成するパケット生成部１１５を有する。本実施形態では、モデム制御部１１１内にパケット生成部１１５を備えるものとして説明する。また、タイミング制御部１１４はタイマーＡを備え、モデム制御部１１１はタイマーＢを備える。タイマーＡはパケット送信のタイミングを管理するタイマーであり、タイマーＢは無線通信装置１０１の動作モードを管理するタイマーである。無線通信装置１０１における動作モードとして、通常動作モードとスリープモードが存在する。通常動作モードは、無線通信装置１０１が通常動作し、データの送受信機能やキャリアセンス機能が動作している状態である。スリープモードは、無線通信装置１０１がデータの送受信機能やキャリアセンス機能を停止している状態である。具体的には、少なくとも、図示しない電源部から物理レイヤ１０９への電源供給が停止されている。動作モード切替手順の詳細は後述する。
【００１６】
無線通信装置１０１は、パケット送信時に以下のように動作する。ここでは、アプリケーションレイヤ１０３で生成された送信データが、メモリ１０７に格納されているものとする。まず、ＣＰＵ１０６は、メモリ１０７から読み出した送信データをバス１０５を介してデータバッファ１０８に転送する。その後、ＣＰＵ１０６は、通信モデム１０４の設定レジスタ１１０に、送信要求を書き込む。
【００１７】
ＣＰＵ１０６から設定レジスタ１１０に送信要求が書き込まれると、履歴保持部１１３は、送信要求が書き込まれた時刻ｔ２を時計１１２から取得する。履歴保持部１１３は、その時刻ｔ２から、その前に送信要求が書き込まれた時刻ｔ１までの時間（＝ｔ２−ｔ１、これを送信要求間隔という）を計算し、保持する。履歴保持部１１３は、過去ｎ回分(ｎ：２以上の整数)の送信要求間隔を保持するものとする。
【００１８】
一方、タイミング制御部１１４は、設定レジスタ１１０に送信要求が書き込まれると、履歴保持部１１３から過去ｎ回分の送信要求間隔を取得する。タイミング制御部１１４は、この過去ｎ回分の送信要求間隔を用いて、次回のパケット送信までの送信間隔D_indを決定する。送信間隔D_indの決定方法の詳細は、後述する。タイミング制御部１１４は、決定した送信間隔D_indをモデム制御部１１１に通知する。
【００１９】
また、タイミング制御部１１４は、決定した送信間隔D_indを、次回のパケット送信の送信タイミングとして用いるため、今回のパケット送信が完了するまで保持している。タイミング制御部１１４は、今回のパケット送信が完了したとき、送信間隔D_indをタイマーＡに設定し、タイマーＡのカウントダウンを開始する。一方、今回のパケット送信の送信間隔D_ind-1は、前回のパケット送信時に決定された送信間隔D_ind-1がタイマーＡに設定されている。よって、前回のパケット送信完了時にはタイマーＡのカウントダウンがすでに開始されている。ＣＰＵ１０６から設定レジスタ１１０に送信要求が書き込まれたときに、タイマーＡのカウントダウンが終了していれば、タイミング制御部１１４は直ちに、送信処理開始信号１を物理レイヤ１０９に通知する。タイマーＡがカウントダウン中であれば、タイミング制御部１１４は、タイマーＡのカウントダウンが完了するまで待つ。タイマーＡのカウントダウンが終了すると、タイミング制御部１１４は送信処理開始信号１を物理レイヤ１０９に通知する。
【００２０】
一方、モデム制御部１１１は、設定レジスタ１１０に送信要求が書き込まれると、パケット生成やメディアアクセス制御などの送信処理を開始する。パケットの生成は、モデム制御部１１１に内蔵するパケット生成部１１５が行う。
【００２１】
図２は、パケットフォーマットの一例を示す。図２のフレームフォーマットは１つのパケットを示しており、Common Header、Sub Header、Frame Body、FCS（フレームチェックシーケンス）を含む。なお、Sub Header、Frame Body、FCSを含むサブパケットは１つのパケット内に複数存在してもよい。Common Headerには、パケットの宛先アドレス（Rx UID）、送信元アドレス（Tx UID）、サブパケットの数（MUX）、ヘッダの誤り検出符号（HCS）に加えて、送信間隔（D_ind）が含まれる。各情報のフィールド長は、図２に示すが、そのバイト数に限らなくて良い。
【００２２】
モデム制御部１１１は、データバッファ１０８から送信データを読み出し、パケット生成部１１５において図２に示すパケットのヘッダ部分を生成しながら、物理レイヤ１０９に転送する。パケット生成時、モデム制御部１１１は、タイミング制御部１１４から通知された送信間隔D_indを、図２に示すパケットのD_indフィールドに格納する。このとき、送信間隔D_indの値は、あらかじめ定められた時間単位（例えば１６進数など)で表してもよいし、マイクロ秒・ミリ秒のように絶対時間を表してもよい。また、各無線通信装置が全体的な統一時刻を知ることができるようなシステムであれば、送信間隔D_indそのものではなく次のパケットを送信する時刻を格納してもよい。無線通信装置１０１は、このパケットを送信することで、通信相手の無線通信装置１０２に自端末のパケット送信間隔D_indを通知する。これらの送信処理完了後、モデム制御部１１１は、送信処理開始信号２を物理レイヤ１０９に通知する。
【００２３】
また、モデム制御部１１１は、無線通信装置１０１の動作モードの管理を行う。動作モード切替手順の詳細は後述するが、モデム制御部１１１は、タイミング制御部１１４から通知された送信間隔D_indを用いてスリープモードの時間長を決定し、決定したスリープモードの時間長をタイマーＢに設定する。モデム制御部１１１は、後述するアルゴリズムに従ってパケット送信後に無線通信装置１０１（ここでは、物理レイヤ１０９）をスリープモードに移行させ、タイマーＢのカウントダウンを開始する。タイマーＢのカウントダウンが終了した時に、モデム制御部１１１は、無線通信装置１０１を通常動作モードに移行させる。
【００２４】
物理レイヤ１０９は、タイミング制御部１１４からの送信処理開始信号１と、モデム制御部１１１からの送信処理開始信号２の両方が通知された段階で、データバッファ１０８からパケットを読み出しながら、図２のＦＣＳを付加した後、無線通信のための信号処理を行う。信号処理として、例えば符号化や変調、Ｄ／Ａ(Ｄｉｇｉｔａｌ／Ａｎａｌｏｇ)変換などをパケットに施す。物理レイヤ１０９によって信号処理されたパケットは、無線通信装置１０１から無線通信装置１０２に電波として送信される。
【００２５】
なお、上記ではモデム制御部１１１がパケット生成部１１５を備える例を説明したが、物理レイヤ１０９がパケット生成部１１５を有してもよい。物理レイヤ１０９がパケット生成部１１５を有する場合には、タイミング制御部１１４は決定した送信間隔D_indを物理レイヤ１０９に通知する。物理レイヤ１０９は、モデム制御部１１１から送信処理開始信号２が通知された後、データバッファ１０８からデータを読み出し、パケット生成部１１５において図２に示すようなパケットを生成する。この際、物理レイヤ１０９は、パケットのヘッダに、タイミング制御部１１４から通知された送信間隔D_indを格納する。
【００２６】
次に、図１および図３を用いて、無線通信装置１０１が他の無線通信装置１０２と通信している場合における、動作モードの遷移について以下に説明する。ここでは、無線通信装置１０１がデータを送信し、無線通信装置１０２がデータを受信する場合としている。
【００２７】
無線通信装置１０１と無線通信装置１０２は、図１に示す同じ装置で構成されている。また、図３における無線通信装置１０１のアプリケーションレイヤ１０３と無線通信装置１０２の上位アプリケーションレイヤ３０３は、図１における上位アプリケーションレイヤ１０３と同じものである。また、無線通信装置１０１の通信モデム１０４と無線通信装置１０２の通信モデム３０４は、図１における通信モデム１０４と同じものである。無線通信装置１０１の通信モデム１０４と無線通信装置１０２の通信モデム３０４の間ではすでに同期・初期化等の処理が終了しているものとする。また、無線通信装置１０１と無線通信装置１０２は、いずれも通常動作モードで動作しているものとする。
【００２８】
まず、無線通信装置１０１のアプリケーションレイヤ１０３のＣＰＵ１０６は、送信データの準備ができた段階で送信要求３０５を通信モデム１０４の設定レジスタ１１０に書き込む。送信要求３０５が書き込まれると、無線通信装置１０１の通信モデム１０４は、タイミング制御部１１４において送信間隔決定処理３０１を実行し、送信間隔D_indを決定する。送信間隔決定処理３０１の詳細については後述する。
【００２９】
同時に無線通信装置１０１の通信モデム１０４は、データバッファ１０８から読み出した送信データに対し無線通信のための信号処理を行い、無線通信装置１０２にパケット３０６を送信する。このとき、パケット３０６には、送信間隔決定処理３０１で決定した送信間隔D_indが含まれている。すなわち、無線通信装置１０１から次のパケット３１６を送信するまでの時間間隔D_indが無線通信装置１０２に通知されることになる。
【００３０】
なお、送信間隔決定処理３０１で決定される送信間隔D_indとは、別の言い方をすると、無線通信装置１０１がパケットを送信しないことを保証する間隔である。この間は、無線通信装置１０１のプリケーションレイヤ１０３から送信要求が通知されたとしても、無線通信装置１０１の通信モデム１０４はパケット送信処理を行わず、パケットはデータバッファ１０８に蓄えらたままとなる。反対に、無線通信装置１０１のアプリケーションレイヤ１０３からのデータ送信要求が発生しなければ、送信間隔D_indの時間が経過した後でもパケット送信は行われない。無線通信装置１０２は、無線通信装置１０１から送信されてきたパケット３０６の受信処理を行い、受信データを取得する。受信データ中に誤りが検出されない場合、無線通信装置１０２は、無線通信装置１０１に対して肯定応答３０７を送信する。
【００３１】
ここから説明する無線通信装置１０２の動作は、図１を用いて説明する。まず、無線通信装置１０２は、通信モデム３０４からアプリケーションレイヤ３０３に対して、受信データ３０８を転送する。この後、無線通信装置１０２の通信モデム３０４は、無線通信装置１０１から送信されたパケット３０６から無線通信装置１０１の送信間隔D_indを取得する。無線通信装置１０２の通信モデム３０４内のモデム制御部１１１は、この送信間隔D_indに基づきスリープモードの時間長を計算し、タイマーＢに設定する。その後、無線通信装置１０２の通信モデム３０４はスリープモード３１３へ移行し、タイマーＢのカウントダウンを開始する。
【００３２】
ここで、無線通信装置１０２がスリープモードの時間長を計算する際、受信パケットのヘッダに格納された送信間隔D_indから次のパケットが送信される予定の時刻を算出する。その次パケットの送信予定時刻には、キャリアセンス３１４、および次のデータ受信３１６が開始できるように、物理レイヤ１０９の電源を起動して通常動作モードに遷移完了するまでの遷移時間を考慮して、スリープモードの時間長を決定する。タイマーＢが満了し、通信モデム３０４がスリープモード３１３から通常動作モードに遷移すると、無線通信装置１０２はキャリアセンス３１４を行い、パケット受信待ち状態になる。
【００３３】
一方、無線通信装置１０１の通信モデム１０４は肯定応答３０７を受信すると、アプリケーションレイヤ１０３に対して、パケットデータ３０６の送信が成功した事を情報３０９により通知する。この後、無線通信装置１０１の通信モデム１０４はキャリアセンス３１０を行い、無線通信装置１０２からパケット送信がないことを確認する。
【００３４】
無線通信装置１０１の通信モデム１０４は、無線通信装置１０２からパケット送信がない場合、送信間隔処理３０１で決定した送信間隔D_indに基づき、スリープモードの時間長をモデム制御部１１１のタイマーＢに設定する。スリープモードの時間長は、各回路の電源を起動して通常動作モードに遷移するまでの遷移時間や干渉確認のためのキャリアセンス３１２の時間を考慮して決定する。その後、通信モデム１０４はスリープモード３１１へ移行し、タイマーＢのカウントダウンを開始する。
【００３５】
タイマーＢのカウントダウンが終了すると、通信モデム１０４はスリープモード３１１から通常動作モードへ遷移し、キャリアセンス３１２を実行する。一方、キャリアセンス３１０において、無線通信装置１０２からのパケット送信が検出された場合には、上述のようにスリープモードには遷移せずにパケットの受信動作を行う。
【００３６】
さらに、図３では、無線通信装置１０１のアプリケーションレイヤ１０３から、通信モデム１０４に新規の送信要求３１５が通知される場合を示している。無線通信装置１０１の通信モデム１０４は送信要求３１５を受けて、送信間隔決定処理３０２を実行し、次のデータ送信までの送信間隔D_ind+1を決定する。前の送信間隔決定処理３０１で決定した送信間隔D_indの時間はすでに経過しているので、無線通信装置１０１の通信モデム１０４はパケット３１６を送信する。その後、無線通信装置１０１と無線通信装置１０２は、上述の説明と同様の動作を繰り返す。
【００３７】
次に、図４のフローチャートを用いて、タイミング制御部１１４における送信間隔D_indの決定方法（図３の送信間隔決定処理３０１、３０２の詳細）と、モデム制御部１０４における動作モード切替手順の詳細を説明する。この例では、無線通信装置１０１と通信相手の無線通信装置１０２との間で、すでに同期・初期化等の処理が終了しているものとする。
【００３８】
まず、無線通信装置１０１は通常動作モードに移行（ステップＳ４０１）した後、キャリアセンスを行う（ステップＳ４０２）。そして、通信相手の無線通信装置１０２からのパケット受信待ち（ステップＳ４０３）およびアプリケーションレイヤ１０３からの送信要求待ち（ステップＳ４０４）の状態になる。
【００３９】
無線通信装置１０２からのパケット受信を検出した場合（ステップＳ４０３のＹｅｓ）、無線通信装置１０１は後述するパケット受信処理（ステップＳ４１４）に分岐する。無線通信装置１０２からのパケット受信が検出されない場合（ステップＳ４０３のＮｏ）、アプリケーションレイヤ１０３からの送信要求の有無をチェックする（ステップＳ４０４）。
【００４０】
アプリケーションレイヤ１０３から送信要求が通知された場合（ステップＳ４０４のＹｅｓ）、履歴保持部１１３は、時計１１２から得られる送信要求が通知された時刻ｔ２から、以前に送信要求が通知された時刻ｔ１を減算（ｔ２−ｔ１）して、送信要求間隔を算出する。履歴保持部１１３は、算出した過去ｎ回の送信要求間隔について履歴を保持する（ステップＳ４０５）。タイミング制御部１１４は、履歴保持部１１３から供給されるこれらｎ回分の送信要求間隔を用いて、次のパケット送信までの送信間隔D_indを決定する（ステップＳ４０６）。
【００４１】
タイミング制御部１１４における送信間隔D_indの決定方法として、過去ｎ回の送信要求間隔の中で、中間の値を送信間隔D_indとする方法が考えられる。または、過去ｎ回の送信要求間隔の中で、最小値を送信間隔D_indとする方法も考えられる。他には、過去ｎ回の送信要求間隔の平均を計算し、その平均値を送信間隔D_indとしてもよい。また、過去ｎ回の送信要求間隔の中で小さい方からｍ番目（ｍはｎ以下の正の整数）の値を送信間隔D_indとしてもよい。この場合、アプリケーションレイヤ１０３からの送信要求から、物理レイヤ１０９におけるパケット送信完了までの間のレイテンシを短くしたい場合（アプリケーション側からのレイテンシ要求が高い場合）は、ｍを小さな値に設定する。逆に、アプリケーション側からの低消費電力の要求が高い場合には、ｍを大きな値に設定するとよい。また、ｍの値は、レイテンシ要求・低消費電力要求の高低にあわせて、動的に変更してもよい。また、アプリケーション側がレイテンシ要求としてレイテンシの最大値をD_maxと定めている場合は、過去ｎ回の送信要求間隔から算出した送信間隔と要求最大レイテンシD_maxとを比較し、小さい方を送信間隔D_indとする方法もある。また、送信要求のキューや送信データを保持しておくためのデータバッファ１０８に空き容量がない場合、過去ｎ回の送信要求間隔を用いずに、送信間隔D_indを最小値（たとえば０）としてもよい。
【００４２】
無線通信装置１０１の通信モデム１０４は、上記いずれかの方法によって送信間隔D_indを決定する。決定した送信間隔D_indはパケットのヘッダに格納され、無線通信のための送信信号処理（ステップＳ４０７）が施され、相手の無線通信装置１０２へ送信される。
【００４３】
パケット送信の後、無線通信装置１０１は、送信したパケットに対する相手の無線通信装置１０２からの肯定応答の受信有無を確認する（ステップＳ４０８）。肯定応答の受信有無は、肯定応答パケット内に含まれる誤り検出符号を用いて、肯定応答パケット内の誤り発生の有無によって、判定してもよい。パケットを送信してから所定の時間内に、肯定応答が受信できない場合（ステップＳ４０８のＮｏ）、再びパケットの送信処理（ステップＳ４０７）を行う。
【００４４】
一方、肯定応答が受信できたら（ステップＳ４０８のＹｅｓ）、無線通信装置１０１は、相手の無線通信装置１０２からパケットが送信されてきているか否かの判断（ステップＳ４０９）を行う。無線通信装置１０１は、肯定応答を受信してから所定の時間内に、相手の無線通信装置１０２からパケットが送信されてきたことを検出すると（ステップＳ４０９のＹｅｓ）、パケット受信処理（ステップＳ４１４）の状態へ移行する。
【００４５】
一方、相手の無線通信装置１０２からパケットが送信されてこない場合（ステップＳ４０９のＮｏ）、無線通信装置１０１のモデム制御部１１１は次のデータの送信要求の有無を確認する（ステップＳ４１０）。送信要求が存在すれば（ステップＳ４１０のＹｅｓ）、送信のための処理（ステップＳ４０５）を開始する。
【００４６】
一方、送信要求が存在しなければ（ステップＳ４１０の“No”）、モデム制御部１１１はタイミング制御部１１４から供給される送信間隔D_indをあらかじめ定めた閾値Ｘと比較する。閾値Ｘは、例えば、アプリケーションレイヤ１０３から送信要求を通知されてからパケット送信を開始するまでのパケット転送時間、送受信切り替え時間、肯定応答受信時間、スリープモードへの遷移時間、通常動作モードへの復帰時間、送信前の干渉検出時間の和であることが望ましい。送信間隔D_indがあらかじめ定めた閾値Ｘより小さければ（ステップＳ４１１の“No”）、無線通信装置１０１はスリープモードに入らず通常動作モードへ移行する（ステップＳ４０１）。しかし、送信間隔D_indが閾値Ｘより大きければ、無線通信装置１０１はスリープモードへ移行する（ステップＳ４１２）。
【００４７】
スリープモードでは、無線通信装置１０１は、データの送受信やキャリアセンスを行わず、少なくとも物理レイヤ１０９のへ電源供給を遮断にする。これにより、無線通信装置１０１の低消費電力化を図る。無線通信装置１０１がスリープモードを保つ時間としては、決定した送信間隔D_indから閾値Ｘを減じた時間を用いる。この値をモデム制御部１１１のタイマーＢに設定することで、タイマーＢのカウントダウンの終了時（ステップＳ４１３のＹｅｓ）に、無線通信装置１０１はスリープモードから通常動作モードへと移行（ステップＳ４０１）する。
【００４８】
次に、無線通信装置１０１のパケット受信動作を説明する。無線通信装置１０１は通常動作モードに移行（ステップＳ４０１）した後、再びキャリアセンス（ステップＳ４０２）を実行し、他の無線通信装置１０２からのパケットを検出したら（ステップＳ４０３のＹｅｓ）、パケットの受信処理（ステップＳ４１４）を行う。このパケットには、図２のパケットフォーマットに従い、相手の無線通信装置１０２における次のパケット送信までの送信間隔D_indが含まれている。
【００４９】
無線通信装置１０１はパケットの受信処理を行った後、パケットの受信が成功したかどうかの判定（ステップＳ４１５）を行う。パケットの受信が成功したかどうかは、パケットのペイロード部分に含まれる誤り検出符号を用いて、パケット内の誤り発生の有無を調べることで、判定することができる。パケットに誤りが発生し、パケットの受信に失敗した場合（ステップＳ４１５のＮｏ）、パケットが再送されてくることに備えて、無線通信装置１０１は通常動作モード（ステップＳ４０１）へ移行する。一方、パケットの受信に成功した場合（ステップＳ４１５のＹｅｓ）、パケットを受信した事を相手の無線通信装置１０２に通知するための肯定応答送信処理（ステップＳ４１６）を行う。肯定応答送信処理では、肯定応答パケットの生成や、肯定応答パケットの送信を行う。
【００５０】
肯定応答パケットの送信後、無線通信装置１０１は、さらに、相手無線通信装置１０２からパケットが送信されてきているか否かの判断（ステップＳ４１７）を行う。肯定応答パケット送信完了後、所定の時間内に、相手無線通信装置１０２からパケットが送信されてきていれば（ステップＳ４１７のＹｅｓ）、データ受信処理（ステップＳ４１４）へ移行する。
【００５１】
一方、相手無線通信装置１０２からのパケット送信が検出されない場合（ステップＳ４１７のＮｏ）、アプリケーションレイヤ１０３からの次の送信要求の有無を確認する（ステップＳ４１８）。アプリケーションレイヤ１０３からの送信要求が存在すれば（ステップＳ４１８のＹｅｓ）、送信のための処理（ステップＳ４０５）を開始する。送信要求が存在しなければ（ステップＳ４１８のＮｏ）、受信データに含まれている無線通信装置１０２における送信間隔D_indとあらかじめ定められた閾値Ｙとを比較する。閾値Ｙは、アプリケーションレイヤが送信要求を通知してからパケットを送信開始するまでのパケット転送時間、送受信切り替え時間、肯定応答受信時間、スリープモードへの移行時間、キャリアセンスモードへの復帰時間の和とすることが望ましい。
【００５２】
送信間隔D_indが閾値Ｙより小さければ（ステップＳ４１９のＮｏ）、無線通信装置１０１はスリープモードに入らず通常動作モードへ移行（ステップＳ４０１）する。送信間隔D_indが閾値Ｙより大きければ（ステップＳ４１９のＹｅｓ）、無線通信装置１０１はスリープモードへ移行する（ステップＳ４１２）。スリープモードの時間長は、無線通信装置１０２から通知された送信間隔D_indから閾値Ｙを減じた時間を用いる。この値をモデム制御部１１１のタイマーＢに設定することで、タイマーＢのカウントダウンを終了時（ステップＳ４１３のＹｅｓ）に、無線通信装置１０１はスリープモードから通常動作モードへと移行（ステップＳ４０１）する。
【００５３】
なお、図４のフローチャートでは肯定応答を用いた場合の例を説明しているが、否定応答を用いたシステムにおいても無線通信装置１０１は同様に動作することが可能である。
【００５４】
次に、図５、図６を用いて、本実施形態の送信間隔D_indの決定方法を用いた場合の効果についてシミュレーションを行った結果を説明する。シミュレーションの条件として、通信モデムの最大転送レート1.9Gbps、通信モデムの送信時消費電力400mW、通信モデムのキャリアセンス時消費電力200mW、通信モデムのスリープモード時の消費電力 0.1mWとしている。また、送信間隔D_indの決定のために過去８回（ｎ＝８）の送信要求間隔の履歴を保持するものとし、パケット誤り率0.16、肯定応答パケット誤り率0.001としている。
【００５５】
図５は、アプリケーションレイヤ１０３の最大スループットと通信モデムの最大スループットの比が１：１の場合を示す。図６は、その比が１：１１の場合を示している。図５、図６の横軸はバス１０５の混み具合を示している。即ち、図５の左側が、バス１０５が混んでいて、アプリケーションレイヤ１０３のスループットが低下し、送信要求間隔の分散値が大きい場合（「密」）を示している。図５の右側が、バス１０５が空いていて、送信要求間隔の分散値が小さい場合（「疎」）を示している。図５（ａ）の縦軸は通信モデムの消費電力である。図５（ｂ）の縦軸は、無線通信装置間のデータのスループットである。図５（ｃ）の縦軸は、送信要求が発生してから送信が完了するまでのレイテンシである。送信間隔D_indの決定方法としてシミュレーションで用いたアルゴリズムは、以下の通りである。
【００５６】
（実施例）
・NO_SLEEP: スリープモードに入らない場合。つまり常にD_ind=0となる。
【００５７】
・SORT_0 :送信要求間隔の履歴の最小値をD_indとするアルゴリズムを用いた場合。
【００５８】
・SORT_3 : 送信要求間隔の履歴の中間の値をD_indとするアルゴリズムを用いた場合。
【００５９】
・FIR_7 : 送信要求間隔の履歴の平均値をD_indとするアルゴリズムを用いた場合。
【００６０】
NO_SLEEPを用いた場合、他のアルゴリズムと比較して、図５、図６ともにスループットは常に最大、レイテンシは常に最小の値となっている。これは、NO_SLEEPでは、上位アプリケーションレイヤ１０３からの送信要求を常に監視し、送信要求発生直後、すぐに通信モデムは相手の無線通信装置１０２にデータを送信できるためである。一方、データ送信を行っていない場合にもスリープモードに移行せず、常にキャリアセンス動作を続けるので、消費電力は他のスリープモードに移行するアルゴリズムと比較して最大となる。  本実施形態のアルゴリズムである、SORT_0、SORT_3、FIR_7を用いる場合、図５、図６のいずれにおいても、本来転送するべきデータのスループット（NO_SLEEPのスループット）を低下させることなく、電力消費を抑えていることがわかる。これらのアルゴリズムを用いる場合の電力消費の大小は、レイテンシの大小とトレードオフの関係となっている。このため、システムの消費電力要求およびレイテンシ要求に合わせて、いずれかのアルゴリズムを選択してもよいし、その要求に合わせて、アルゴリズムを適応的に切り替えてもよい。
【００６１】
（比較例）
・TH_CONT_5: 送信要求間隔が閾値以上の場合に、D_indを増加させるアルゴリズム(特許文献１に記載のアルゴリズム)を用いた場合。閾値は、アプリケーションレイヤ１０３からのスループット情報を用いて設定し、固定である。
【００６２】
TH_CONT_5（特許文献１に記載のアルゴリズム)を用いた場合、図５のようにアプリケーションレイヤの最大スループットと通信モデムの最大スループットの比が１：１の場合では、スループットの低下は見られないものの、消費電力を抑える効果が表れていない。また、図６のようにアプリケーションレイヤ１０３の最大スループットと通信モデムの最大スループットの比が１：１１の場合では、消費電力を抑える効果は表れているものの、アプリケーションレイヤから要求されているデータを送信できずに、他のアルゴリズムと比較してスループットが大きく低下していることがわかる。このような連続的に送信間隔D_indを制御するアルゴリズムを用いる場合、アプリケーションレイヤ１０３からスループット情報等の詳細な情報が必須となり、アプリケーションレイヤと通信モデムとの独立性が損なわれる可能性がある。
【００６３】
このように、本実施形態の無線通信装置によれば、アプリケーションレイヤから要求される伝送レートの情報や送信要求発生のパターン、傾向等の詳細な情報をもらわなくても、アプリケーションレイヤと通信モデム間の独立性を保つことができる。つまり、通信モデム側がアプリケーションレイヤからの送信開始要求信号を観測し送信間隔D_indを決定することで、アプリケーションレイヤで必要とされるレイテンシ要求やスループット要求を満たしつつ、アプリケーションレイヤと通信モデム間の独立性を保つことができる。また、決定した送信間隔D_indの間はスリープモードに移行し、不要な回路の電源を切断することで、低消費電力化を図ることができる。
【００６４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６５】
１０１、１０２・・・無線通信装置
１０３・・・アプリケーションレイヤ
１０４・・・通信モデム
１０５・・・バス
１０６・・・ＣＰＵ
１０７・・・メモリ
１０８・・・データバッファ
１０９・・・物理レイヤ
１１０・・・設定レジスタ
１１１・・・モデム制御部
１１２・・・時計
１１３・・・履歴保持部
１１４・・・タイミング制御部
１１５・・・パケット生成部
【図１】
0005475790.tif 000002
【図２】
0005475790.tif 000003
【図３】
0005475790.tif 000004
【図４】
0005475790.tif 000005
【図５】
0005475790.tif 000006
【図６】
0005475790.tif 000007