(57)【特許請求の範囲】
【請求項１】
通信機能を動作状態で維持するアクティブモードと通信機能を間欠的に動作状態とするスリープモードで動作可能な無線通信装置を含む無線通信システムであって、
前記無線通信装置のアンテナの半値角と指向角を制御するアンテナ制御手段と、
前記アクティブモードまたは前記スリープモードへの変更を制御するモード制御手段と、
前記アクティブモードにおけるアンテナの指向角を記憶する記憶手段と、を備え、
前記アンテナ制御手段は、
前記無線通信装置が前記スリープモードに遷移する際には、前記アンテナの半値角を前記アクティブモードにおける半値角よりも広い半値角に設定し、前記アンテナの指向角を予め定められた角度に設定し、
前記スリープモードから前記アクティブモードに遷移する際には、前記記憶手段に記憶された指向角に前記アンテナを設定し、
前記アクティブモードに遷移する際に前記記憶手段に記憶された指向角で通信を行ない、その通信速度が予め定められた通信速度を下回る場合には、前記予め定められた通信速度での通信を可能にするための前記アンテナの指向角を探索することを特徴とする無線通信システム。
【請求項２】
通信機能を動作状態で維持するアクティブモードと通信機能を間欠的に動作状態とするスリープモードで動作可能な無線通信装置であって、
前記無線通信装置の通信用のアンテナの半値角と指向角を制御するアンテナ制御手段と、
前記アクティブモードまたは前記スリープモードへの変更を制御するモード制御手段と、
前記アクティブモードにおけるアンテナの指向角を記憶する第１記憶手段と、を備え、
前記アンテナ制御手段は、
前記無線通信装置が前記スリープモードに遷移する際には、前記アンテナの半値角を前記アクティブモードにおける半値角よりも広い半値角に設定し、前記アンテナの指向角を予め定められた角度に設定し、
前記スリープモードから前記アクティブモードに遷移する際には、前記第１記憶手段に記憶された指向角に前記アンテナを設定し、
前記アクティブモードに遷移する際に前記第１記憶手段に記憶された指向角で通信を行ない、その通信速度が予め定められた通信速度を下回る場合には、前記予め定められた通信速度での通信を可能にするための前記アンテナの指向角を探索することを特徴とする無線通信装置。
【請求項３】
前記アクティブモードにおける通信のタイミングを記憶する第２記憶手段を更に備え、
前記モード制御手段は、前記スリープモードから前記アクティブモードに遷移する際に、前記第２記憶手段に記憶されているタイミングで通信を行うよう前記無線通信装置を設定することを特徴とする請求項２に記載の無線通信装置。
【請求項４】
前記モード制御手段は、前記スリープモードにおける通信速度を、前記アクティブモードにおける通信速度よりも遅い速度に設定することを特徴とする請求項２に記載の無線通信装置。
【請求項５】
通信機能を動作状態で維持するアクティブモードと通信機能を間欠的に動作状態とするスリープモードで動作可能であり、通信用のアンテナの半値角と指向角が制御可能な無線通信装置の制御方法であって、
モード制御手段が、前記アクティブモードまたは前記スリープモードへの変更を制御するモード制御工程と、
第１記憶手段が、前記アクティブモードにおけるアンテナの指向角をメモリに記憶する第１記憶工程と、
アンテナ制御手段が、前記無線通信装置のアンテナの半値角と指向角を制御するアンテナ制御工程と、を備え、
前記アンテナ制御工程では、
前記無線通信装置が前記スリープモードに遷移する際には、前記アンテナの半値角を前記アクティブモードにおける半値角よりも広い半値角に設定し、前記アンテナの指向角を予め定められた角度に設定し、
前記スリープモードから前記アクティブモードに遷移する際には、前記第１記憶工程で前記メモリに記憶された指向角に前記アンテナを設定し、
前記アクティブモードに遷移する際に前記メモリに記憶された指向角で通信を行ない、その通信速度が予め定められた通信速度を下回る場合には、前記予め定められた通信速度での通信を可能にするための前記アンテナの指向角を探索することを特徴とする無線通信装置の制御方法。
【請求項６】
第２記憶手段が、前記アクティブモードにおける通信のタイミングをメモリに記憶する第２記憶工程と、
設定手段が、前記スリープモードから前記アクティブモードに遷移する際に、前記第２記憶工程で記憶されたタイミングで通信を行うように前記無線通信装置を設定する工程と、をさらに備えることを特徴とする請求項５に記載の無線通信装置の制御方法。
【請求項７】
前記モード制御工程では、前記スリープモードにおける通信速度を、前記アクティブモードにおける通信速度よりも遅い速度に設定することを特徴とする請求項５に記載の無線通信装置の制御方法。
【請求項８】
請求項５乃至７のいずれか１項に記載の制御方法の各工程をコンピュータに実行させるためのコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線ネットワークを構成する無線通信システム、無線通信装置及びその制御方法に関し、特に、無線通信装置の接続障害回避に関する。
【背景技術】
【０００２】
アンテナの半値角、及び指向角を制御する通信装置は種々提案されている（特許文献１、特許文献２参照）。
【０００３】
このような通信装置を用いる通信システムを、図４を参照しながら説明する。１０１は送信元通信装置である、イニシエータノードである。１０２は宛先通信装置である、レスポンダノードである。イニシエータノード１０１は送信アンテナの半値角をφＩ、指向角をΘＩに設定されている。イニシエータノード１０１の送信アンテナのカバー領域は４０１で示されている。レスポンダノード１０２は受信アンテナの半値角をφＲ、指向角をΘＲに設定されている。レスポンダノード１０２の受信アンテナのカバー領域は４０２で示される。図４に示すように、イニシエータノード１０１はレスポンダノード１０２と比較して、広い半値角（φＩ＞＞φＲ）を持っていて、それ故、指向角はほぼ一意に決定される。一方、レスポンダノード１０２は、半値角を狭くすることによって指向角ΘＲの自由度を高くしており、他の通信装置からの干渉を受けにくくなるというメリットを得ている。
【特許文献１】特開２００２−１５１９３６号公報
【特許文献２】特許第３５６２４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、図５に示すように、レスポンダノード１０２の半値角と指向角が狭いままでイニシエータノード１０１に対する方向が変わってしまうと、通信を継続するためにはイニシエータノード１０１を再検出しなければならない。レスポンダノード１０２がアクティブモードとスリープモードを持つ場合、レスポンダノード１０２がスリープモードにある間に上述のような方向の変化が生じると、イニシエータノード１０１の送信信号を受信できなくなってしまう。
【０００５】
すなわち、レスポンダノード１０２が半値角と指向角が狭いままでスリープモードにある時に、その方向が変化してしまうとイニシエータノード１０１からのウェイクアップコマンドを受信することが出来なくなる。そのため、レスポンダノード１０２はデータ受信を再開することが出来ない、という課題があった。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、スリープモードに移行した後にウェイクアップコマンドをより確実に受信可能とし、アクティブモードへ移行を確実に行える無線通信システム、装置、方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための本発明の一態様による無線通信システムは以下の構成を備える。すなわち、
通信機能を動作状態で維持するアクティブモードと通信機能を間欠的に動作状態とするスリープモードで動作可能な無線通信装置を含む無線通信システムであって、
前記無線通信装置のアンテナの半値角と指向角を制御するアンテナ制御手段と、
前記アクティブモードまたは前記スリープモードへの変更を制御するモード制御手段と、
前記アクティブモードにおけるアンテナの指向角を記憶する記憶手段と、を備え、
前記アンテナ制御手段は、
前記無線通信装置が前記スリープモードに遷移する際には、前記アンテナの半値角を前記アクティブモードにおける半値角よりも広い半値角に設定し、前記アンテナの指向角を予め定められた角度に設定し、
前記スリープモードから前記アクティブモードに遷移する際には、前記第１記憶手段に記憶された指向角に前記アンテナを設定し、
前記アクティブモードに遷移する際に前記第１記憶手段に記憶された指向角で通信を行ない、その通信速度が予め定められた通信速度を下回る場合には、前記予め定められた通信速度での通信を可能にするための前記アンテナの指向角を探索する。
【０００８】
また、上記の目的を達成するための本発明の他の態様による無線通信装置は以下の構成を備える。すなわち、
通信機能を動作状態で維持するアクティブモードと通信機能を間欠的に動作状態とするスリープモードで動作可能な無線通信装置であって、
前記無線通信装置の通信用のアンテナの半値角と指向角を制御するアンテナ制御手段と、
前記アクティブモードまたは前記スリープモードへの変更を制御するモード制御手段と、
前記アクティブモードにおけるアンテナの指向角を記憶する第１記憶手段と、を備え、
前記アンテナ制御手段は、
前記無線通信装置が前記スリープモードに遷移する際には、前記アンテナの半値角を前記アクティブモードにおける半値角よりも広い半値角に設定し、前記アンテナの指向角を予め定められた角度に設定し、
前記スリープモードから前記アクティブモードに遷移する際には、前記第１記憶手段に記憶された指向角に前記アンテナを設定し、
前記アクティブモードに遷移する際に前記第１記憶手段に記憶された指向角で通信を行ない、その通信速度が予め定められた通信速度を下回る場合には、前記予め定められた通信速度での通信を可能にするための前記アンテナの指向角を探索する。
【０００９】
また、上記の目的を達成するための本発明の他の態様による無線通信装置の制御方法は、
通信機能を動作状態で維持するアクティブモードと通信機能を間欠的に動作状態とするスリープモードで動作可能であり、通信用のアンテナの半値角と指向角が制御可能な無線通信装置の制御方法であって、
モード制御手段が、前記アクティブモードまたは前記スリープモードへの変更を制御するモード制御工程と、
第１記憶手段が、前記アクティブモードにおけるアンテナの指向角をメモリに記憶する第１記憶工程と、
アンテナ制御手段が、前記無線通信装置のアンテナの半値角と指向角を制御するアンテナ制御工程と、を備え、
前記アンテナ制御工程では、
前記無線通信装置が前記スリープモードに遷移する際には、前記アンテナの半値角を前記アクティブモードにおける半値角よりも広い半値角に設定し、前記アンテナの指向角を予め定められた角度に設定し、
前記スリープモードから前記アクティブモードに遷移する際には、前記第１記憶工程で前記メモリに記憶された指向角に前記アンテナを設定し、
前記アクティブモードに遷移する際に前記メモリに記憶された指向角で通信を行ない、その通信速度が予め定められた通信速度を下回る場合には、前記予め定められた通信速度での通信を可能にするための前記アンテナの指向角を探索する。
【発明の効果】
【００１０】
本発明によれば、スリープモードに移行した後にウェイクアップコマンドをより確実に受信可能とし、アクティブモードへ移行を確実に行える。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して、本発明の好適な実施形態を説明する。
【００１２】
＜第１実施形態＞
第１実施形態の通信装置の構成を、図１を参照しながら説明する。無線通信機能を有する通信装置１００は、後述のイニシエータノード１０１、レスポンダノード１０２として動作可能である。１１０は通信装置１００の全体を制御する中央処理装置（Central Processing Unit（ＣＰＵ））である。ＣＰＵ１１０は、通信装置１００におけるアクティブモードとスリープモードの切り替え、各モードにおける動作の実行制御するモード制御手段として機能する。ここで、スリープモードとは、通信電力消費を低減するために、通信機能を停止し、間欠的に（一定時間毎）通信機能を動作状態に戻し、通信機能の停止状態と動作状態の遷移を繰り返すモードである。一方、アクティブモードとは、通信機能を動作状態に維持するモードである。１２０はプログラムやデータを一時記憶するランダムアクセスメモリ（Random Access Memory（ＲＡＭ））である。１３０は変更を必要としないプログラムやパラメータを格納する読出専用メモリ（Read Only Memory（ＲＯＭ））である。１４０は無線通信機能を実現する無線通信インターフェイスである。なお、通信装置１００は上記の構成で実現しても良いし、必要に応じて記憶装置、表示装置などの機能を追加した形態で実現しても良い。
【００１３】
無線通信インターフェイス１４０の構成を、図２を参照しながら説明する。２１０はメディアアクセス層を管理するメディアアクセスコントローラ（Medium Access Controller（ＭＡＣ））である。２２０は誤り訂正符号化、復号化、変復調などの通信信号処理機能を持つベースバンドプロセッサ（BaseBandProcessor（ＢＢＰ））である。２３０はベースバンド帯の信号を搬送波周波数帯で処理するための無線周波数処理ブロック（Radio Frequency（ＲＦ）ブロック）である。２４０は、搬送波周波数帯の信号を無線区間で送受信するためのフェイズドアレイアンテナである。２５０は、フェイズドアレイアンテナ２４０の半値角と指向角を制御する、アンテナ制御手段としての位相コントローラ（フェイズコントローラ）である。
【００１４】
通信用のアンテナであるフェイズドアレイアンテナ２４０の構成を、図３を参照しながら説明する。複数のアンテナ３１１、３１２、３１３がアレイ状に並べられて配置されており、アンテナ毎に位相シフタ（フェイズシフタ３０１、３０２、３０３）が接続されて指向角及び半値角を制御可能となっている。位相コントローラ２５０から半値角と指向角を制御するための位相情報がフェイズシフタ３０１、３０２、３０３の各々に入力される。この位相情報に基づいたアンテナの半値角と指向角を用いて送受信が行われる。
【００１５】
図２２を参照して、第１実施形態の通信装置が用いるパケットフレームフォーマットについて説明する。ＰＨＹ（物理層）ヘッダはＢＢＰ２２０で処理される部分であり、ＭＡＣヘッダはＭＡＣ２１０で処理される部分である。このパケットは左から右の順で時間順である。ＰＨＹヘッダは少なくとも、パケットの検出及び同期のためのプリアンブル２２０１、パケット送信で使用される物理層速度を記述するＰＨＹ  Ｒａｔｅ２２０２から構成される。ＭＡＣヘッダは、少なくとも、
・パケットタイプを記述するＦｒａｍｅ  Ｃｏｎｔｒｏｌ２２０３、
・ペイロード２２０７の長さを記述するＬｅｎｇｔｈ２２０４、
・送信元アドレスを記述するＳｏｕｒｃｅ  Ａｄｄｒｅｓｓ２２０５、
・送信先アドレスを記述するＤｅｓｉｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ２２０６から構成される。Ｆｒａｍｅ  Ｃｏｎｔｒｏｌ２２０３のタイプでビーコン、ＲＴＳ（Request To Send）、ＣＴＳ（Clear To Send）、Ａｃｋ（Acknowledge）等が識別される。ＭＡＣヘッダの後にはペイロード（２２０５）が続く。
【００１６】
次に、第１実施形態によるイニシエータノード１０１の動作を、図７のフローチャートを用いながら説明する。本動作フローを実現するプログラムは、ＲＯＭ１３０に格納され、電源がＯＮされるとＣＰＵ１１０によって読み出され、実行される。
【００１７】
イニシエータノード１０１の電源スイッチがＯＮされると（ステップＳ７０１）、周囲に配置されたレスポンダノードを検出する（ステップＳ７０２）。そして、検出したレスポンダノードにタイムスロット（スロット＃）を割り当てる（ステップＳ７０３）。
【００１８】
イニシエータノード１０１はレスポンダノードと協調して、最大通信速度を確認する（ステップＳ７０４）。そして、イニシエータノード１０１は、ステップＳ７０３で割り当てたタイムスロットと通信速度を用いてレスポンダノード１０２へデータを送信する（ステップＳ７０５）。ユーザの判断、またはタイマなどによって、イニシエータノード１０１はスリープモードに遷移するかを判定する（ステップＳ７０６）。イニシエータノード１０１がスリープモードに遷移しない場合には、処理はＳ７０５に戻り、データ送信が継続される。
【００１９】
一方、ステップＳ７０６において、イニシエータノード１０１がスリープモードへ遷移すると判定された場合には、イニシエータノード１０１はスリープモード動作を実行する（ステップＳ７０７）。ユーザの操作入力、またはタイマなどによって、イニシエータノード１０１はアクティブモードに遷移するかを判定する（ステップＳ７０８）。イニシエータノード１０１はアクティブモードに遷移しないと判定された場合には、処理はステップＳ７０７に戻り、イニシエータノード１０１は、スリープモード動作を継続する。一方、アクティブモードへ遷移すると判定された場合には、イニシエータノード１０１はウェイクアップ動作を行う（ステップＳ７０９）。そして、イニシエータノード１０１は、以前使用していたスロット番号を回復し（ステップＳ７１０）、レスポンダノードとの通信速度の確認を再び行う（ステップＳ７０４）。
【００２０】
図７で説明した通り、イニシエータノード１０１のスリープモードはステップＳ７０７で定義され、アクティブモードはそれ以外の一連のフローとして定義される。
【００２１】
次に、図８を参照して、ステップＳ７０２における、イニシエータノード１０１によるレスポンダノードの検出の動作フローをより詳細に説明する。イニシエータノード１０１は、自身のＣＰＵ１１０内でレスポンダノード検出用に割り当てられたカウントダウン（ＣＤ）タイマをリセットして、カウントを開始させ（ステップＳ８０１）、ビーコンフレームの送信を開始する（ステップＳ８０２）。ここで送信されるビーコンフレームのビーコンフレームフォーマットは図２３に示すとおりである。また、ビーコンフレームの送信タイミングは図２４に示すとおりであり、イニシエータノード１０１は、スーパーフレーム毎にビーコンフレームを送信する。
【００２２】
ステップＳ８０３において、イニシエータノード１０１はＲＴＳフレームを受信したかを判定し、判定結果が真であれば、ステップＳ８０４においてＣＴＳフレームを送信する。一方、判定結果が偽であれば、処理はステップＳ８０６へ進む。ステップＳ８０５において、イニシエータノード１０１は所望の接続台数全てのレスポンダノードからＡｃｋフレームを受信したかを判定する。Ａｃｋフレームには、少なくともレスポンダノードのアドレスが記述されている。したがって、イニシエータノード１０１は受信したＡｃｋに記述されているアドレスを順次にＲＡＭ１２０に登録することで、全てのレスポンダノードからＡｃｋフレームを受信したか否かを判定できる。ステップＳ８０５の判定結果が真であれば、次の処理に進む。一方、ステップＳ８０５の判定結果が偽であれば、処理はステップＳ８０６へ進む。ステップＳ８０６において、イニシエータノード１０１は、レスポンダノード検出用のカウントダウンタイマがタイムアウトかを判定する。判定結果が偽であれば処理をステップＳ８０２に戻し、上記の処理を繰り返す。一方、ステップＳ８０６の判定結果が真であれば、当該プログラムの実行を終了する。
【００２３】
次に、図９を参照して、ステップＳ７０３における、イニシエータノード１０１がスーパーフレーム中のレスポンダノードスロット番号を決定する処理をより詳細に説明する。
【００２４】
イニシエータノード１０１は自身のＣＰＵ１１０内でレスポンダノードスロット番号決定用に割り当てられたカウントダウンタイマをリセットしてカウントを開始させ（ステップＳ９０１）、ビーコンフレームの送信を開始する（ステップＳ９０２）。図２３に示すように、このときのビーコンフレームのペイロードにはレスポンダノードのアドレスが順に記述されており（デスティネーションアドレス２３０５、２３０６）、この順にイニシエータノードスロット後のスロット番号に対応させる。即ち、イニシエータノードスロット番号を０とすると、デスティネーションアドレス２３０５に対応するレスポンダノードのスロット番号は１番となる。
【００２５】
ステップＳ９０３において、イニシエータノード１０１はＲＴＳフレームを受信したかを判定し、判定結果が偽であれば、処理はステップＳ９０６に進む。ステップＳ９０３において判定結果が真であれば、ステップＳ９０４において、ＣＰＵ１１０はＣＴＳフレームを送信する。
【００２６】
そして、ステップＳ９０５において、イニシエータノード１０１は所望の接続台数全てのレスポンダノードからＡｃｋフレームを受信したかを判定する。Ａｃｋフレームには、少なくともレスポンダノードのアドレスが記述されている。したがって、イニシエータノード１０１は受信したＡｃｋに記述されているアドレスを順次にＲＡＭ１２０に登録することで、全てのレスポンダノードからＡｃｋフレームを受信したか否かを判定できる。ステップＳ９０５の判定結果が真であれば、次の処理に進み、判定結果が偽であればステップＳ９０６の処理を行う。ステップＳ９０６において、イニシエータノード１０１はレスポンダノード検出タイマがタイムアウトかを判定する。その判定結果が偽であれば、ステップＳ９０２に処理を戻し、上記の処理を繰り返す。一方、ステップＳ９０６の判定結果が真であれば、プログラムの実行を終了する。
【００２７】
図２５に、スーパーフレーム中でイニシエータノード１０１と複数のレスポンダノードのタイムスロットが決定された時の例を示す。イニシエータノード１０１には、スーパーフレームの先頭のタイムスロット２５０１割り当てられる。レスポンダノードは以降のタイムスロット２５０２、２５０３、２５０４を使用する。
【００２８】
図２７は、イニシエータノード１０１がスロット番号を決定した後にレスポンダノードとＲＴＳ、ＣＴＳを送受信する時の例を示す図である。スロット番号０はイニシエータノード１０１が使用しており、このスロットを用いてイニシエータノード１０１は通信速度確認フレーム２７０１を送信する。スロット番号１はレスポンダノード１０２に割り当てられており、次のスーパーフレームではレスポンダノード１０２がこのスロットを用いてＲＴＳ２７０２を送信する。次のスーパーフレームでは、イニシエータノード１０１はスロット番号０のスロットを用いてＣＴＳ２７０３を送信する。次のスーパーフレームでは、レスポンダノード１０２はスロット番号１のスロットを用いて通信速度確認Ａｃｋ２７０４を送信する。
【００２９】
次に、図１０を参照して、ステップＳ７０４における、イニシエータノード１０１がレスポンダノードとの通信速度を決定する時の動作フローをより詳細に説明する。イニシエータノード１０１は自身のＣＰＵ１１０内で通信速度確認用のカウントダウンタイマをリセットして起動し（ステップＳ１００１）する。そして、イニシエータノード１０１は、通信速度を変更するためのパラメータをｉ＝０に設定する（ステップＳ１００２）。
【００３０】
ステップＳ１００３において、イニシエータノード１０１はRate(i)を通信速度に設定し、ステップＳ１００４においてその設定した通信速度Rate(i)で通信速度確認フレームを送信する。この時のフレームタイプは、Ｆｒａｍｅ  Ｃｏｎｔｒｏｌ２２０３によって識別される。また、通信速度Rate(i)は、ｉ＝０では最も遅い通信速度であり、ｉが増加するに従って速い通信速度となる。
【００３１】
ステップＳ１００５において、イニシエータノード１０１は自身が設定したのと同じ通信速度のＡｃｋが返信されたかを判定する。ステップＳ１００５の判定結果が真であれば、処理はステップＳ１００６に進み、イニシエータノード１０１はその通信速度Rate(i)をＲＡＭ１２０に保存する。一方、判定結果が偽であればステップＳ１００９へ処理を進める。
【００３２】
ステップＳ１００７において、イニシエータノード１０１は次の通信速度を設定するためにパラメータｉをカウントアップする。ステップＳ１００８において、パラメータｉの値が最大値ｉｍａｘを下回っていればステップＳ１００２からの処理を再実行する。一方、パラメータｉの値が最大値ｉｍａｘであれば処理をステップＳ１０１１に進める。ステップＳ１００９において、イニシエータノード１０１は通信速度用のカウントダウンタイマがタイムアウトかを判定し、判定結果が偽であればステップＳ１００２からの処理を再実行する。一方、ステップＳ１００９の判定結果が真であれば、ステップＳ１０１０へ処理を進める。ステップＳ１０１０において、イニシエータノード１０１はパラメータｉによって指定された通信速度が保存されているか（ステップＳ１００６で保存されたRate(i)が存在するか）を判定する。そして、判定結果が真であれば、処理をステップＳ１０１１へ進め、判定結果が偽であればプログラムの実行を終了する。ステップＳ１０１１において、イニシエータノード１０１は、上記処理によって得られた通信速度が所望の通信速度以上であるか判定する。そして、判定結果が真であれば、次の処理を行い、判定結果が偽であれば、図７のステップＳ７０２から処理を再開することによって、レスポンダノードの再探索を行う。
【００３３】
次に、図１１を参照して、ステップＳ７０７における、イニシエータノード１０１のスリープモード動作をより詳細に説明する。ステップＳ１１０１において、イニシエータノード１０１は自身がスリープモード中であるかを判定し、判定結果が真であればステップＳ１１０６の処理を行う。ステップＳ１１０１において判定結果が偽であれば、ステップＳ１１０２において、イニシエータノード１０１はスリープカウントダウンタイマをリセットして起動する。ステップＳ１１０３において、イニシエータノード１０１はスリープコマンドを送信することによって、イニシエータノードにスリープモードへの遷移を指示する。このスリープコマンドフレーム中のペイロードには、ポーリング速度が記述される。
【００３４】
ステップＳ１１０４において、イニシエータノード１０１は全てのレスポンダノードからのスリープＡｃｋを受信したかを判定する。この判定結果が偽であれば処理はステップＳ１１０５へ進む。ステップＳ１１０５において、イニシエータノード１０１は、スリープカウントダウンタイマがタイムアウトかを判定する。この判定結果が偽であればステップＳ１１０２からの処理を再実行する。また、ステップＳ１１０５の判定結果が真であればプログラムの実行を終了する。一方、ステップＳ１１０４での判定結果が真であれば処理はステップＳ１１０６に進む。ステップＳ１１０６において、イニシエータノード１０１は全てのレスポンダノードのスロット番号をＲＡＭ１２０に記憶する。ステップＳ１１０７において、イニシエータノード１０１は、ステップＳ１１０３で通知したポーリング速度でＫｅｅｐＡｌｉｖｅフレームを送信する。
【００３５】
図２６にＫｅｅｐＡｌｉｖｅフレームのポーリング速度の例を示す。本図においては、イニシエータノード１０１は、３スーパーフレーム毎にＫｅｅｐＡｌｉｖｅフレームを送信している。このフレームはレスポンダノード１０２での受信信号の信頼性を向上するために、ＰＨＹ  Ｒａｔｅ２２０２で定義される低ビットレートを使用して、送信アンテナは広い半値角で送信される。
【００３６】
次に、図１２を参照してステップＳ７０９における、イニシエータノード１０１がスリープモードから復帰する動作をより詳細に説明する。ステップＳ１２０１において、イニシエータノード１０１はウェイクアップカウントダウンタイマをリセットした後に起動する。ステップＳ１２０２において、イニシエータノード１０１はウェイクアップコマンドを送信することによって、レスポンダノードにアクティブモードへの遷移を指示する。ステップＳ１２０３において、イニシエータノード１０１は全てのレスポンダノードからのウェイクアップＡｃｋを受信したかを判定する。ステップＳ１２０３の判定結果が真であれば次の処理（ステップＳ７１０）を行い、偽であればステップＳ１２０４へ処理を進める。ステップＳ１２０４において、イニシエータノード１０１はウェイクアップカウントダウンタイマがタイムアウトかを判定する。ステップＳ１２０４の判定結果が偽であればステップＳ１２０２からの処理を再実行し、判定結果が真であればプログラムの実行を終了する。
【００３７】
次に、図１３を参照して、ステップＳ７１０における、イニシエータノード１０１がスリープモードから復帰する際のレスポンダノードのスロットタイミングを回復する動作を詳細に説明する。ステップＳ１３０１において、イニシエータノード１０１はステップＳ１１０６においてＲＡＭ１２０保存したスロット番号とレスポンダノードの関係を示すデータをロードする。そして、ステップＳ１３０１において、イニシエータノード１０１はロードしたデータを基にスロット番号と送信先を設定する。
【００３８】
以上、第１実施形態のイニシエータノードにおける動作を詳述した。次に、第１実施形態のレスポンダノード１０２の動作を図１４のフローチャートを用いて説明する。なお、本動作フローを実現するプログラムは、レスポンダノード１０２のＲＯＭ１３０に格納され、電源がＯＮされるとＣＰＵ１１０によって読み出され、実行される。
【００３９】
レスポンダノード１０２の電源スイッチがＯＮされると（ステップＳ１４０１）、周囲に配置されたイニシエータノードを検出する（ステップＳ１４０２）。そして、レスポンダノード１０２は、自身のタイムスロットを、検出したイニシエータノードによって割り当てられたタイムスロットに決定する（ステップＳ１４０３）。その後、レスポンダノード１０２はイニシエータノード１０１と協調して、最大通信速度を確認する（ステップＳ１４０４）。
【００４０】
レスポンダノード１０２はイニシエータノード１０１が割り当てたタイムスロットと通信速度でデータを受信する（ステップＳ１４０５）。レスポンダノード１０２はイニシエータノードからのスリープコマンドを受信したかを判定することでスリープモードに遷移するかを決定する（ステップＳ１４０６）。レスポンダノード１０２は、スリープモードに遷移しない場合には、処理をステップＳ１４０５に戻し、ステップＳ１４０５のデータ通信を継続する。一方、スリープモードに遷移すると決定された場合には、レスポンダノード１０２はスリープモード動作を行う（ステップＳ１４０７）。
【００４１】
レスポンダノード１０２はイニシエータノードからのウェイクアップコマンドを受信したかを判定することでアクティブモードに遷移するかを決定する（ステップＳ１４０８）。レスポンダノード１０２はアクティブモードに遷移しない場合には、処理をステップＳ１４０７に戻し、スリープモード動作を継続する。一方、アクティブモードに遷移する場合には、レスポンダノード１０２は、ウェイクアップ動作を行う（ステップＳ１４０９）。そして、レスポンダノード１０２は以前使用していたスロット番号を回復し（ステップＳ１４１０）、イニシエータノードとの間で上記通信速度の確認を再び行う（ステップＳ１４０４）。図１４の説明の通り、レスポンダノード１０２のスリープモードはステップＳ１４０７で定義され、アクティブモードはそれ以外の一連のフローとして定義される。
【００４２】
次に、図１５を参照して、ステップＳ１４０２における、レスポンダノード１０２がイニシエータノード１０１を検出する動作をより詳細に説明する。ステップＳ１５０１において、レスポンダノード１０２は受信アンテナの半値角をＲＯＭ１３０からロードし、狭指向性であるφＲに設定する。ステップＳ１５０２において、レスポンダノード１０２は、受信アンテナの指向角を変化させるためのパラメータｉを０に初期化する。
【００４３】
ステップＳ１５０３において、レスポンダノード１０２は受信アンテナの指向角を分解能φＲとして設定するために、指向角＝ｉ×φＲに設定する。ステップＳ１５０４において、レスポンダノード１０２はスーパーフレーム毎に送信されているビーコンを受信しているかを判定する。ステップＳ１５０４の判定結果が真ならば、ステップＳ１５０８においてレスポンダノード１０２はそのときの指向角ｉ×φＲをΘＲとしてＲＡＭ１２０に保存する。一方、ステップＳ１５０４において判定結果が偽ならば、ステップＳ１５０５においてレスポンダノード１０２は受信アンテナの指向角が最大値を下回るかを判定する。ステップＳ１５０５において、判定結果が真の場合、ステップＳ１５０６においてパラメータｉをカウントアップした後、処理をステップＳ１５０３に戻す。ステップＳ１５０５において、判定結果が偽の場合は、ビーコンが受信できなかったことを意味するので、ステップＳ１５０７において、ユーザに受信アンテナ指向角を設定させる。そして、ステップＳ１５０８において、レスポンダノード１０２は、その設定された指向角をΘＲとしてＲＡＭ１２０に保存する。
【００４４】
ステップＳ１５０９において、レスポンダノード１０２はイニシエータ検出用のカウントダウンタイマをリセットして、起動する。ステップＳ１５１０において、レスポンダノード１０２はＲＴＳをイニシエータノード１０１に送信する。そして、ステップＳ１５１１において、レスポンダノード１０２はイニシエータノード１０１からＣＴＳを受信したかを判定する。ステップＳ１５１１の判定結果が真ならば、ステップＳ１５１２においてレスポンダノード１０２はＡｃｋを返信する。一方、ステップＳ１５１１の判定結果が偽ならば、処理はステップＳ１５１３へ進む。ステップＳ１５１３において、レスポンダノード１０２はイニシエータ検出用のカウントダウンタイマがタイムアウトしているか否かを判定する。ステップＳ１５１３の判定結果が偽ならば、処理はステップＳ１５１０に戻り、上記の処理を再実行する。一方、ステップＳ１５１３の判定結果が真ならば、プログラムの実行を終了する。
【００４５】
図１６を参照して、ステップＳ１４０３における、レスポンダノード１０２がイニシエータノード１０１からスロット番号を取得する動作をより詳細に説明する。ステップＳ１６０１において、レスポンダノード１０２はスロット番号検出用のカウントダウンタイマをリセットし、起動する。ステップＳ１６０２において、レスポンダノード１０２はペイロード中にノードスロットアドレスが記述されたビーコンを受信したかを判定する。ステップＳ１６０２において判定結果が真ならば、ステップＳ１６０３において、レスポンダノード１０２はイニシエータノード１０１にＲＴＳを送信する。そして、Ｓ１６０４において、レスポンダノード１０２はイニシエータノード１０１からＣＴＳを受信したかを判定する。ステップＳ１６０４の判定結果が真ならば、ステップＳ１６０６においてレスポンダノード１０２はＡｃｋを返信する。ステップＳ１６０７において、レスポンダノード１０２は検出した自身が使用できるスロット番号をＲＡＭ１２０に保存する。
【００４６】
ステップＳ１６０２或いはステップＳ１６０４において判定結果が偽の場合は、処理はステップＳ１６０５へ進む。ステップＳ１６０５において、レスポンダノード１０２はスロット番号検出用のカウントダウンタイマがタイムアウトか否かを判定する。そして、判定結果が偽ならばステップＳ１６０２からの処理を再実行し、判定結果が真ならば、プログラムの実行を終了する。
【００４７】
次に、図１７を参照して、ステップＳ１４０４における、レスポンダノード１０２がイニシエータノードとの通信速度を決定する動作をより詳細に説明する。レスポンダノード１０２は自身のＣＰＵ１１０内で通信速度確認用のカウントダウンタイマをリセットし、起動する（ステップＳ１７０１）。ステップＳ１７０２において、レスポンダノード１０２は通信速度を変化させるためのパラメータｉを０に初期化する。ステップＳ１７０３において、レスポンダノード１０２はイニシエータノード１０１から通信速度確認フレームを受信したかを判定する。
【００４８】
ステップＳ１７０３の判定結果が真ならば、ステップＳ１７０４において、レスポンダノード１０２は通信速度確認ＡｃｋをステップＳ１７０３で通信速度確認フレームを受信したのと同じ通信速度で送信する。そして、ステップＳ１７０５において、レスポンダノード１０２は通信速度Rate(i)をＲＡＭ１２０に保存する。ステップＳ１７０６において、レスポンダノード１０２はパラメータｉをカウントアップする。ステップＳ１７０７において、レスポンダノード１０２はＰＨＹヘッダのＰＨＹ  Ｒａｔｅ２２０２で定義される全ての通信速度で通信速度確認フレームを受信たかを判定する。ステップＳ１７０７において、判定結果が偽ならばＳ１７０３からの処理を再実行し、判定結果が真ならばステップＳ１７０９の処理を実行する。ステップＳ１７０９において、レスポンダノード１０２は以上のステップで得られた通信速度が所望の通信速度以上であるかを判定する。ステップＳ１７０９の判定結果が真であれば、次の処理を行う。ステップＳ１７０９の判定結果が偽であれば、イニシエータノードの再探索を行って位相角の調整を行うべく、処理を図１４のステップＳ１４０２に戻す。なお、ステップＳ１７０７における全てのRate(i)で受信したかどうかの判定は次のように行われる。レスポンダは図２２に示したPHYヘッダを解析することによって受信フレームのRate(i)を判定する。より具体的には、無線通信インターフェイス１４０からフレームを受取ったＣＰＵ１１０は、そのヘッダ中のPHYRate２２０２を解析することによってレスポンダが対応できるRate(i)であるかを検出する。レスポンダにはレスポンダが対応できるRate(i)が予め設定されていて、その数に一致するかを判定する。具体的には、ＲＯＭ１３０上で記憶されているRate(i)の数とＣＰＵ１１０で得られたRate(i)とを比較して、その結果をＲＡＭ１２０上に一時記憶しながら全てのRate(i)を受信したかを判定する。
【００４９】
一方、ステップＳ１７０３の判定結果が偽ならば、処理はステップＳ１７０８へ進む。ステップＳ１７０８において、レスポンダノード１０２は通信速度用のカウントダウンタイマがタイムアウトしているか否かを判定する。そして、判定結果が偽であればステップＳ１７０３からの処理を再実行する。また、ステップＳ１７０８の判定結果が真であればプログラムの実行を終了する。
【００５０】
次に、図１８を参照して、ステップＳ１４０７における、レスポンダノード１０２のスリープモード中の動作をより詳細に説明する。ステップＳ１８０１において、レスポンダノード１０２は自身がスリープモード中であるかを判定する。ステップＳ１８０１の判定結果が真であればステップＳ１８０９の処理（後述）を行う。ステップＳ１８０１において判定結果が偽の場合、すなわちスリープモード中でない場合、レスポンダノード１０２はスリープ用のカウントダウンタイマをリセットして起動する（ステップＳ１８０２）。ステップＳ１８０３において、レスポンダノード１０２はイニシエータノード１０１からペイロード中にポーリング速度が記述されたスリープコマンドを受信したかを判定する。ステップＳ１８０３の判定結果が偽ならばステップＳ１８０４の処理を行う。ステップＳ１８０４において、レスポンダノード１０２はスリープ用のカウントダウンタイマがタイムアウトしたか否かを判定する。ステップＳ１８０４の判定結果が偽ならばステップＳ１８０３の処理を再実行し、ステップＳ１８０４の判定結果が真ならばプログラムの実行を終了する。
【００５１】
一方、ステップＳ１８０３の判定結果が真の場合、ステップＳ１８０５において、レスポンダノード１０２はスリープＡｃｋを送信する。ステップＳ１８０６において、レスポンダノード１０２は自身の受信スロット番号をＲＡＭ１２０に保存する。すなわち、レスポンダノード１０２は、ステップＳ１８０６において、自身のアクティブモードにおける受信のタイミングをＲＡＭ１２０に記憶する。ステップＳ１８０７において、レスポンダノード１０２はＲＯＭ１３０から広指向性に設定するための受信アンテナの半値角φＷをロードする。そして、ステップＳ１８０８において、レスポンダノード１０２はロードしたφＷをフェイズドアレイアンテナ２４０に設定する。なお、このとき、指向角は、予め定められた値が設定される。すなわち、位相コントローラ２５０は、レスポンダノード１０２がスリープモードである場合には、アンテナの半値角をアクティブモードにおける半値角よりも広い半値角に設定し、アンテナの指向角を予め定められた角度に設定する。ステップＳ１８０９において、レスポンダノード１０２はイニシエータノード１０１から、スリープコマンドで設定されたポーリング速度でＫｅｅｐＡｌｉｖｅフレームを受信したかを判定する。ステップＳ１８０９の判定結果が真ならば次の処理を行い、判定結果が偽ならばプログラムの実行を終了する。
【００５２】
次に、図１９を参照して、ステップＳ１４０９における、レスポンダノード１０２のスリープモードからの復帰動作をより詳細に説明する。ステップＳ１９０１において、レスポンダノード１０２はウェイクアップＡｃｋを送信することによって、イニシエータノードにアクティブモードへの遷移を通知する。ステップＳ１９０２において、レスポンダノード１０２はＲＯＭ１３０から狭指向性に設定するための受信アンテナの半値角φＲをロードする。ステップＳ１９０３において、レスポンダノード１０２は受信アンテナの半値角φＲをフェイズドアレイアンテナ２４０に設定する。この半値角角φＲはステップＳ１５０１で用いられた半値角である。ステップＳ１９０４において、レスポンダノード１０２はＲＡＭ１２０から、ステップＳ１５０８で保存された受信アンテナの指向角ΘＲをロードする。ステップＳ１９０５において、レスポンダノード１０２は、ステップＳ１９０４でロードした受信アンテナの指向角ΘＲをフェイズドアレイアンテナ２４０に設定する。
【００５３】
以上の様に、本実施形態のレスポンダノード１０２は、アクティブモードにおけるアンテナの指向角を記憶しておく（Ｓ１５０８）。そして、スリープモードからアクティブモードに遷移する場合にその記憶されたアンテナの指向角を用いて通信を行う（Ｓ１９０５）。
【００５４】
次に、図２０を参照して、ステップＳ１４１０における、レスポンダノード１０２がスリープモードから復帰する際のレスポンダノードのスロットタイミングの回復動作をより詳細に説明する。ステップＳ２００１において、レスポンダノード１０２はＲＡＭ１２０に保存してあるスロット番号をロードする。ステップＳ２００２において、レスポンダノード１０２はロードしたデータを基にスロット番号を設定する。こうして、レスポンダノード１０２は、スリープモードからアクティブモードに遷移した場合に、ステップＳ１８０６でＲＡＭ１２０に記憶したタイミングで通信を再開する。
【００５５】
以上のように、レスポンダノード１０２は、スリープモードに移行する場合には、フェイズドアレイアンテナ２４０の半値角を大きくしてウェイクアップコマンドの受信を確実に行う。そして、ウェイクアップコマンドの受信に応じアクティブモードへ移行する際には、スリープモードへの移行前に使用していた半値角、指向角にアンテナを制御するとともに、スロットタイミングをスリープモードへの移行前のタイミングに復帰させる。なお、アンテナの半値角および指向角や、スロットタイミングを復帰した後は、処理はステップＳ１４０４に戻り、最大通信速度の確認が行われる。したがって、復帰した半値角および指向角で所望の通信速度を得られない、あるいは通信できないと判定された場合は、ステップＳ１４０２が再度実行され、アンテナの指向角が探索される（Ｓ１７０９）。
【００５６】
図２１に第１実施形態の通信装置を用いた無線通信システムが動作する時のメッセージシーケンスチャートを示す。
【００５７】
イニシエータノード１０１はＮ台のレスポンダノードと通信を行う。以下、Ｎ台のレスポンダノードのうちのレスポンダノード１０２，１０３について動作を説明するが、他のレスポンダノードの動作も同様である。Ｓ２１０１において、イニシエータノード１０１とレスポンダノード１０２，１０３は協調動作を行い、互いのノードを検出し、レスポンダノード１０２，１０３は受信アンテナの指向角を決定する（ステップＳ７０２，Ｓ１４０２）。Ｓ２１０２において、イニシエータノード１０１とレスポンダノード１０２，１０３は協調動作を行い、スーパーフレーム中のスロット番号を検出する（ステップＳ７０３、Ｓ１４０３）。Ｓ２１０３において、イニシエータノード１０１とレスポンダノード１０２，１０３は協調動作を行い、伝搬路上での通信速度を確認する（ステップＳ７０４、Ｓ１４０４）。Ｓ２１０４において、イニシエータノード１０１は以上のステップで得られたパラメータを用いてデータを送信する（ステップＳ７０５、Ｓ１４０５）。
【００５８】
Ｓ２１０５において、イニシエータノード１０１に対し、ユーザの指示またはタイマ動作などによって、スリープモードへの遷移指示が行われる（ステップＳ７０６）。Ｓ２１０６において、イニシエータノード１０１とレスポンダノード１０２，１０３は協調動作を行い、スリープモード遷移動作を行う（ステップＳ７０６、Ｓ７０７，Ｓ１４０６，Ｓ１４０７）。Ｓ２１０７及びＳ２１０８において、レスポンダノード１０２，１０３はスリープモード時の待ち受け受信アンテナの指向角を設定する（ステップＳ１８０７，Ｓ１８０８）。Ｓ２１０９、Ｓ２１１０及びＳ２１１１において、各々イニシエータノード１０１とレスポンダノード１０２，１０３はスリープモード中の動作を実行する。
【００５９】
Ｓ２１１２において、イニシエータノード１０１に対し、ユーザの指示またはタイマ動作などによって、アクティブモードへの遷移指示が行われる（ステップＳ７０８）。Ｓ２１１３において、イニシエータノード１０１とレスポンダノードは協調動作を行い、ウェイクアップ動作を行う（ステップＳ７０８，Ｓ７０９，Ｓ１４０８，Ｓ１４０９）。Ｓ２１１４、Ｓ２１１５及びＳ２１１６において、イニシエータノード１０１とレスポンダノード０１２，１０３はスロットタイミング回復動作を実行する（Ｓ７１０，Ｓ１４１０）。Ｓ２１１７において、Ｓ２１０３同様、イニシエータノード１０１とレスポンダノードは協調動作を行い、伝搬路上での通信速度を確認した後、Ｓ２１１８において、イニシエータノード１０１はデータを送信する。
【００６０】
図６において、本実施形態の無線通信システムがスリープモードで動作する時の送受信アンテナの指向性を示す。図６は、たとえば、図４に示すようにイニシエータノード１０１とレスポンダノード１０２が通信を確立している無線通信システムにおいて、スリープモードへの移行が実行されたときの半値角（指向性）を示している。すなわち、イニシエータノード１０１は送信アンテナを広指向性にしたままスリープモードに入り、レスポンダノード１０２も受信アンテナを広指向性にしてスリープモードに入る。イニシエータノード１０１の送信カバーエリアは６０１で示される。レスポンダノード１０２の受信カバーエリアは６０２で示される。レスポンダノード１０２がスリープ中に図４から図６に示すように方向が変化してしまった場合でも、イニシエータノード１０１からデータを受信することが出来る。それ故、イニシエータノード１０１がスリープモードからアクティブモードに復帰しようとする時、レスポンダノード１０２は送信されるウェイクアップコマンドを受信することができる。
【００６１】
＜第２実施形態＞
第２実施形態における通信装置、通信システムの構成は第１実施形態と同様であり、第２実施形態はプログラムに変更を加えたものである。
【００６２】
図２８は、第２実施形態の通信システムがスリープモードで動作する時の送受信アンテナの指向性と通信エリアについて示す図である。イニシエータノード１０１は送信アンテナを広指向性にしたままスリープモードに入り、レスポンダノード１０２も受信アンテナを広指向性にしてスリープモードに入る。イニシエータノード１０１の送信カバーエリアは２８０１で示される。レスポンダノード１０２の受信カバーエリアは２８０２で示されている。レスポンダノード１０２がスリープ中に図示されるように方向が変化してしまった場合でも、イニシエータノード１０１からデータを受信することが出来る。それ故、イニシエータノード１０１がスリープモードからアクティブモードに復帰しようとする時、レスポンダノード１０２は送信されるウェイクアップコマンドを受信することができる。第２実施形態における通信システムでは、第１実施形態に示したようなスリープモード中におけるレスポンダノード１０２の指向角の変更（図６）に加え、アクティブモード中におけるよりも通信速度を遅くする。これによって、通信カバーエリアを広げ、より安定した通信を実現することができる。通信速度は、図２２におけるフレームフォーマットのＰＨＹ  Ｒａｔｅ２２０２を用いて変更することができる。図２８において、イニシエータノード１０１の通信速度が遅い時の送信カバーエリアは２８０３で示されている。レスポンダノード１０２の通信速度が遅い時の受信カバーエリアは２８０４で示されている。通信速度を遅くすると送信カバーエリアが大きく理由は以下のとおりである。信号帯雑音比が確保されれば通信距離を延ばしても通信を継続することが出来る。送信信号強度は一定という条件であるとすると、１情報あたりの信号は距離によって減衰するが、送信時間を長くすると減衰した信号強度分を補うことが出来る。しかしながら送信時間を長くするということは１情報あたりの送信時間がかかることになり、その逆数の関係になる通信速度は遅くなる。
【００６３】
図２９を用いて、図１１に示されるイニシエータノード１０１のスリープモード動作に加えて、イニシエータノード１０１がスリープモード中に遅い通信速度で動作する時のフローを説明する。この動作フローは、ステップＳ１１０１とステップＳ１１０２の間に挿入される。
【００６４】
ステップＳ２９０１において、イニシエータノード１０１はステップＳ１００８で保存された通信速度をＲＡＭ１２０からロードする。そして、ステップＳ２９０２においてイニシエータノード１０１は、それらの中から最も遅い通信速度を選択する。ステップＳ２９０３において、イニシエータノード１０１は選択した通信速度を送信に使用する。
【００６５】
図３０を用いて、図１８に示されるレスポンダノード１０２のスリープモード動作に加えて、レスポンダノード１０２がスリープモード中に遅い通信速度で動作する時のフローを説明する。この動作フローは、Ｓ１８０１とＳ１８０２の間に挿入される。
【００６６】
ステップＳ３００１において、レスポンダノード１０２はステップＳ１７０５で保存した通信速度をＲＡＭ１２０からロードする。そして、ステップＳ３００２において、レスポンダノード１０２は、それらの中から最も遅い通信速度を選択する。ステップＳ３００３において、レスポンダノード１０２は選択した通信速度を受信に使用する。
【００６７】
なお、上記の例ではスリープモード中にはもっとも遅い通信速度が設定されることになるが、これに限られるものではなく、スリープモードにおける通信速度が、アクティブモードにおける通信速度よりも遅い速度に設定されればよい。
【００６８】
なお、ウェイクアップ時には、ステップＳ７０４，Ｓ１４０４において、イニシエータノード１０１及びレスポンダノード１０２の通信速度が再度設定され、通信速度が復帰することになる。
【００６９】
＜第３実施形態＞
第３実施形態における通信装置、通信システムの構成は第１実施形態と同じであり、プログラムに変更を加えたものである。
【００７０】
第３実施形態のイニシエータノード１０１の動作を、図３１のフローチャートを用いて説明する。ステップＳ７０１〜Ｓ７１０の各々は図７に示した各ステップと同様であるが、ステップＳ７１０の後はステップＳ７０２を実行する。すなわち、第３実施形態では、スロットタイミングを回復した後には必ずレスポンダノードの探索が実行される。
【００７１】
また、第３実施形態のレスポンダノード１０２の動作を、図３２を用いて説明する。ステップＳ１４０１〜Ｓ１４１０の各々は図１４とに示した各ステップと同様であるが、ステップＳ１４１０の後はステップＳ１４０２を実行する。すなわち、第４実施形態では、スロットタイミングを回復した後には必ずイニシエータノードを探索することで、指向角が調整される。
【００７２】
＜第４実施形態＞
第４実施形態における通信装置、通信システムの構成は第１実施形態と同じであり、プログラムに変更を加えたものである。
【００７３】
第４実施形態の通信装置はスリープモードにおいてポーリング方式を用いずイニシエータノード１０１はレスポンダノード１０２を任意の時間に起動する。
【００７４】
スリープモードにおけるイニシエータノード１０１の動作を、図３３を用いて説明する。図３３に示される処理は、図１１に示される処理とほとんど同じであるが、レスポンダノード１０２に対してポーリングレートに基づいたポーリングを行わないことから、ステップＳ１１０７の手順を持たない。
【００７５】
また、スリープモードにおけるレスポンダノード１０２の動作を、図３４を用いて説明する。図３４に示される処理は、図１８に示される処理とほとんど同じであるが、イニシエータノード１０１からポーリングレートに基づいたポーリングを受信しないことから、ステップＳ１８０９の手順を持たない。
【００７６】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７７】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００７８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００８０】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００８１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００８３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００８４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【００８５】
【図１】第１実施形態による無線通信装置の構成例を示すブロック図である。
【図２】第１実施形態による無線通信インターフェイスの構成例を示すブロック図である。
【図３】フェイズドアレイアンテナの構成例を示すブロック図である。
【図４】送信ノードが広指向性のアンテナを、受信ノードが狭指向性のアンテナを使用する場合の通信システムの構成を示す図である。
【図５】送信ノードが広指向性のアンテナを、受信ノードが狭指向性のアンテナを使用する通信システムの構成において、受信ノードの方向が変化した場合を説明する図である。
【図６】送信ノードと受信ノードが広指向性のアンテナを使用する通信システムにおいて、受信ノードの方向が変化した場合を説明する図である。
【図７】第１実施形態における、イニシエータノードの動作を示すフローチャートである。
【図８】イニシエータノードがレスポンダノードを検出する動作を示すフローチャートである。
【図９】イニシエータノードがレスポンダノードのスロット番号を決定する動作を示すフローチャートである。
【図１０】イニシエータノードがレスポンダノードとの通信速度を確認する動作を示すフローチャートである。
【図１１】イニシエータノードのスリープモード中の動作を示すフローチャートである。
【図１２】イニシエータノードのウェイクアップ時の動作を示すフローチャートである。
【図１３】イニシエータノードがレスポンダノードのスロット番号を回復する動作を示すフローチャートである。
【図１４】第１実施形態における、レスポンダノードの動作を示すフローチャートである。
【図１５】レスポンダノードがイニシエータノードを検出する動作を示すフローチャートである。
【図１６】レスポンダノードがイニシエータノードからスロット番号を取得する動作を示すフローチャートである。
【図１７】イニシエータノードがレスポンダノードとの通信速度を確認する動作を示すフローチャートである。
【図１８】レスポンダノードのスリープモード中の動作を示すフローチャートである。
【図１９】レスポンダノードのウェイクアップ時の動作を示すフローチャートである。
【図２０】レスポンダノードがレスポンダノードのスロット番号を回復する動作を示すフローチャートである。
【図２１】イニシエータノードとレスポンダノードのメッセージシーケンスチャートである。
【図２２】パケットの構成を示す図である。
【図２３】ビーコンフレームの構成を示す図である。
【図２４】ビーコン送信のタイミングを示す図である。
【図２５】スロット番号の送信タイミングを示す図である。
【図２６】イニシエータノードがスリープモード時の送信フレームタイミングを示す図である。
【図２７】通信速度確認時のフレーム送信タイミングを示す図である。
【図２８】第２実施形態による、送信ノードの送信カバーエリアと受信ノードの受信カバーエリアを示す図である。
【図２９】第２実施形態によるイニシエータノードの、スリープモード時における通信速度設定動作を説明するフローチャートである。
【図３０】第２実施形態によるレスポンダノードの、スリープモード時における通信速度設定動作を説明するフローチャートである。
【図３１】第３実施形態におけるイニシエータノードの動作を示すフローチャートである。
【図３２】第３実施形態におけるレスポンダノードの動作を示すフローチャートである。
【図３３】第４実施形態におけるイニシエータノードのスリープモードにおける動作を示すフローチャートである。
【図３４】第４実施形態におけるレスポンダノードのスリープモードにおける動作を示すフローチャートである。
【図１】
0004940054.tif 000002
【図２】
0004940054.tif 000003
【図３】
0004940054.tif 000004
【図４】
0004940054.tif 000005
【図５】
0004940054.tif 000006
【図６】
0004940054.tif 000007
【図７】
0004940054.tif 000008
【図８】
0004940054.tif 000009
【図９】
0004940054.tif 000010
【図１０】
0004940054.tif 000011
【図１１】
0004940054.tif 000012
【図１２】
0004940054.tif 000013
【図１３】
0004940054.tif 000014
【図１４】
0004940054.tif 000015
【図１５】
0004940054.tif 000016
【図１６】
0004940054.tif 000017
【図１７】
0004940054.tif 000018
【図１８】
0004940054.tif 000019
【図１９】
0004940054.tif 000020
【図２０】
0004940054.tif 000021
【図２１】
0004940054.tif 000022
【図２２】
0004940054.tif 000023
【図２３】
0004940054.tif 000024
【図２４】
0004940054.tif 000025
【図２５】
0004940054.tif 000026
【図２６】
0004940054.tif 000027
【図２７】
0004940054.tif 000028
【図２８】
0004940054.tif 000029
【図２９】
0004940054.tif 000030
【図３０】
0004940054.tif 000031
【図３１】
0004940054.tif 000032
【図３２】
0004940054.tif 000033
【図３３】
0004940054.tif 000034
【図３４】
0004940054.tif 000035