(57)【要約】【課題】  ＩＥＥＥ８０２．１１規格だけでは、アドホックモードにおいてパワーセーブを実現することができないという問題があった。その原因は、アドホックモードでは通信相手が相互にパワーセーブモードを利用するため、通信相手の状態を常に管理する必要が生じることに起因する。さらに、アドホックモードでは、通信相手は一台とは限らず、そのネットワーク上に参加したステーションの全てが候補となり、実装負荷が増大する。【解決手段】  パワーセーブモードの変更をＡＴＩＭパケット、ヌルパケットにより送信する。ＡＴＩＭパケットを送信する場合は、相手がパワーセーブモードか否かを考慮せずにモード変更を通知でき、ヌルパケットを送信する場合は、ビーコンを待たずに速やかに通知することができる。【選択図】  図１
2006093787.tif 000002
【特許請求の範囲】
【請求項１】
通信装置において、
電力モードを変更する変更手段と、
省電力モードの他の機器が通信可能状態になる期間を判別する判別手段と、
前記変更手段により電力モードを変更する際に、前記判別手段により判別した期間に電力モードの変更を通知する通知手段を有することを特徴とする通信装置。
【請求項２】
請求項１において、
前記通知手段は、ネットワークを構成する全ての機器に対して前記通知を行うことを特徴とする通信装置。
【請求項３】
請求項１において、
前記通知手段は、特定の機器に対して前記通知を行うことを特徴とする通信装置。
【請求項４】
請求項１において、
前記判別手段は、ＩＥＥＥ８０２．１１規格に準ずるＡＴＩＭ  Ｗｉｎｄｏｗを判別することを特徴とする通信装置。
【請求項５】
請求項４において、
前記通知手段は、ＡＴＩＭ（ａｎｎｏｕｎｃｅｍｅｎｔ  ｔｒａｆｆｉｃ  ｉｎｄｉｃａｔｉｏｎ  ｍｅｓｓａｇｅ）パケットを用いて電力モードの変更を通知することを特徴とする通信装置。
【請求項６】
請求項４において、
前記通知手段は、ＲＴＳ（ｒｅｑｕｅｓｔ  ｔｏ  ｓｅｎｄ）パケットを用いて電力モードの変更を通知することを特徴とする通信装置。
【請求項７】
請求項１において、
前記通知手段は、中継装置を介さずに他の通信装置と直接通信する状態の場合に、前記判別手段により判別した期間に電力モードの変更を通知することを特徴とする通信装置。
【請求項８】
通信装置において、
電力モードを変更する変更手段と、
電力モードの変更を通知する相手の受信可能状態を判別する判別手段と、
前記判別手段による判別に応じて、前記変更手段による電力モードの変更を通知する通知手段と、を有することを特徴とする通信装置。
【請求項９】
請求項８において、
前記判別手段は、前記相手が省電力モードか否かを判別することを特徴とする通信装置。
【請求項１０】
請求項８において、
前記判別手段は、前記相手からの報知信号を受信したか否かに基づいて、前記相手の状態を判別することを特徴とする通信装置。
【請求項１１】
請求項８において、
前記通知手段は、ヌルパケットを用いて電力モードの変更を通知することを特徴とする通信装置。
【請求項１２】
通信装置において、
電力モードを変更する変更手段と、
前記変更手段による電力モードの変更をヌルパケットを用いて他の機器に通知する通知手段と、を有することを特徴とする通信装置。
【請求項１３】
請求項１２において、
前記通知手段による通知に対する応答を検出する検出手段と、
前記検出手段による検出に応じて、電力モードの変更を通知する相手の受信可能状態を判別する判別手段と、
前記判別手段による判別に基づいて、電力モードの変更を再度通知する再通知手段と、を有することを特徴とする通信装置。
【請求項１４】
通信装置において、
ネットワークを構成する機器が省電力モードか否かに係わらずに通信可能状態になる期間を判別する判別手段と、
前記判別手段により判別された期間に受信された情報に基づいて、他の機器の省電力状態を管理する管理手段と、を有することを特徴とする通信装置。
【請求項１５】
請求項１４において、
前記管理手段による管理に基づいて、通信相手にデータを送信する前に、前記通信相手をデータ受信状態にするための信号を送信する送信手段を有することを特徴とする通信装置。
【請求項１６】
請求項１４において、
前記管理手段は、省電力モードの機器のみを管理することを特徴とする通信装置。
【請求項１７】
請求項１４において、
前記管理手段は、有効期限付きで前記管理を行うことを特徴とする通信装置。
【請求項１８】
通信方法において、
電力モードの変更を他の機器に通知する場合は、ＡＴＩＭ  Ｗｉｎｄｏｗ内でＡＴＩＭパケットを送信することにより行うことを特徴とする通信方法。
【請求項１９】
通信方法において、
電力モードの変更を他の機器に通知する場合は、変更するモードを示す情報を含むヌルパケットにより行うことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信方法に関し、例えば、省電力モードの変更通知を行う技術に関する。
【背景技術】
【０００２】
近年、ＩＥＥＥ８０２．１１規格に準拠した無線インターフェースを備える無線機器が数多く製品化され利用されている。このような無線機器は一般に可搬性が高いため、携帯型の機器に多く、また携帯型の機器では多くがバッテリィで駆動されているため、電池の消費量を如何に少なくし、全体としてバッテリィの寿命を延ばすかが大きな課題となっている。
【０００３】
ＩＥＥＥ８０２．１１規格において、無線インターフェースが有効になっているときでも、実際に通信を行っている時間はまばらであることを利用して、間欠的に送受信を行うパワーセーブモード仕様が決められている。ＩＥＥＥ８０２．１１規格においては、基地局であるアクセスポイントを介して他の通信機器（ステーション）と通信を行うインフラストラクチャーモードと、各ステーションがそれぞれ相互に他のステーションと通信を行うアドホックモードが存在する。前述のパワーセーブモード仕様において、インフラストラクチャーモードはＩＥＥＥ８０２．１１規格で詳細まで規定されており既に多くの製品群で採用され使われている。一方で、アドホックモードにおけるパワーセーブモード仕様は不明確な点が多く、まだ製品となっているものは存在しない。
【０００４】
インフラストラクチャーモードとアドホックモードの大きな違いは、インフラストラクチャーモードではアクセスポイントが常に通信の相手であり、アクセスポイントはパワーセーブモードを利用できない仕組み（常にアクティブモード）になっている。これに対してアドホックモードでは、通信相手となるステーションもパワーセーブモードを利用している可能性があり、相手の状態を常に意識してデータを送信する必要が生じる。
【０００５】
ＩＥＥＥ８０２．１１のパワーセーブモードを利用すると、ステーションはＡｗａｋｅ状態とＳｌｅｅｐ状態の二つの状態を取りうる。Ａｗａｋｅ状態はデータの送受信を行うことが可能だが、Ｓｌｅｅｐ状態ではデータの送受信を行うことができない。アドホックモードにおいて、もし電力モードを変更したいと思っても、通信相手がそのパケットを受け取れない状態、つまり、通信相手がＳｌｅｅｐ状態のときに、電力モードの変更通知を行っても、通信相手は電力モードの変更を認識できないので、電力モードの通知は相手の状態を見てから行う必要がある。このようにアドホックモードでは、通信相手の状態管理を必要とし、そのメカニズムが複雑であるため実用に至っていない。
【非特許文献１】ＩＥＥＥ  Ｓｔｄ  ８０２．１１，１９９９  Ｅｄｉｔｉｏｎ
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述のように、アドホックモードにおいてパワーセーブを実現することができないという問題があった。その原因は、アドホックモードにおいては通信相手が相互にパワーセーブモードを利用することが可能であり、各ステーションは通信相手の状態を常に管理する必要が生じることに起因する。
【０００７】
さらに、アドホックモードでは、通信相手は一台とは限らず、そのネットワーク上に参加したステーションの全てが候補となる。これら全てのステーションとの通信を考慮しつつ、実装負荷に応じて簡略的な実装も許してパワーセーブを実現するための提案はなされていない。
【課題を解決するための手段】
【０００８】
本発明は、通信装置において、電力モードを変更する変更手段と、省電力モードの他の機器が通信可能状態になる期間を判別する判別手段と、前記変更手段により電力モードを変更する際に、前記判別手段により判別した期間に電力モードの変更を通知する通知手段を有することを特徴とする。
【０００９】
また、通信装置において、電力モードを変更する変更手段と、電力モードの変更を通知する相手の受信可能状態を判別する判別手段と、前記判別手段による判別に応じて、前記変更手段による電力モードの変更を通知する通知手段と、を有することを特徴とする。
【００１０】
また、通信装置において、電力モードを変更する変更手段と、前記変更手段による電力モードの変更をヌルパケットを用いて他の機器に通知する通知手段と、を有することを特徴とする。
【００１１】
また、通信装置において、ネットワークを構成する機器が省電力モードか否かに係わらずに通信可能状態になる期間を判別する判別手段と、前記判別手段により判別された期間に受信された情報に基づいて、他の機器の省電力状態を管理する管理手段と、を有することを特徴とする。
【００１２】
また、通信方法において、電力モードの変更を他の機器に通知する場合は、ＡＴＩＭ  Ｗｉｎｄｏｗ内でＡＴＩＭパケットを送信することにより行うことを特徴とする。
【００１３】
また、通信方法において、電力モードの変更を他の機器に通知する場合は、変更するモードを示す情報を含むヌルパケットにより行うことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、電力モードを管理できるようになる。よって、例えば、アドホック通信を行う通信装置においても省電力モードに移行することができ、アドホックネットワークを構成する機器が省電力モードになっても相手の受信ミスを防止することができる。
【発明を実施するための最良の形態】
【００１５】
（第一の実施形態）
第一の実施例では、３つのステーション（ＳＴＡ）がアドホックネットワークを形成する際の例として、プリンタ１０３が形成したアドホックネットワークに対してデジタルカメラ１０１とデジタルカメラ１０２が参加する例を説明する。図１に本実施形態の機器間接続形態を示す。デジタルカメラ同士は無線インターフェースを介して画像を転送することが可能であり、またプリンタはデジタルカメラから印刷要求された画像を無線インターフェースで転送し印刷することが可能である。
【００１６】
図２に、本実施形態におけるデジタルカメラの機能ブロック図を示す。ここではデジタルカメラ１０１とデジタルカメラ１０２は同じ機能ブロックをもつとしている。デジタルカメラの操作部２１０は、システムコントローラ２１１を介してＣＰＵ２１５に接続されており、操作部にはデジタルカメラのシャッタースイッチや各種キーが含まれる。撮像部２０２は、シャッターが押下されたときに画像を撮影するブロックで、撮像処理部２０３によって処理される。表示部２０６は、ＬＣＤ表示、ＬＥＤ表示、音声表示等、ユーザに対する情報を表示するブロックであり、表示処理部２０７によってその表示内容の制御処理が行われる。また表示部２０６に表示された情報から選択するなどの操作は操作部２１０と連動して行われることになる。すなわち、表示部２０６と操作部２１０とがユーザインタフェースを構成することになる。
【００１７】
メモリカードＩ／Ｆ２０８は、メモリカード２０９を接続する為のインタフェースであり、ＵＳＢＩ／Ｆ２１２は、外部機器とＵＳＢを用いて接続する為のインタフェース、オーディオＩ／Ｆ２１４は、音信号を外部機器と接続する為のインタフェースである。これらのブロック図に示される機能部分は、ＣＰＵ２１５からの制御によって処理され、ＣＰＵによって制御されるプログラムは、ＲＯＭ２１６、もしくは、フラッシュＲＯＭ２１３に格納されることになる。また、ＣＰＵ２１５によって処理されるデータは、ＲＡＭ２１７、もしくは、フラッシュＲＯＭ２１３に対して、書き込み、読み込みが行われる。フラッシュＲＯＭ２１３は不揮発性の記憶領域である。なお、撮像した画像データは公知の圧縮処理を経てメモリカードＩ／Ｆ２０８を介し、メモリカード２０９に書き込まれる（保存される）。
【００１８】
無線通信ＲＦ部２０５と無線通信コントローラ部２０４を合わせて無線インターフェースが構成される。無線通信ＲＦ部２０５では、アンテナから受信したアナログ信号をデジタル化し、逆にデジタル情報をアナログ化してアンテナより送信するためのハードウェアブロックが存在する。無線通信コントローラ部２０４は、通信を制御するＭＡＣ層とそれらを駆動させるファームウェアを処理するハードウェアより構成される。無線通信コントローラ部２０４にはフラッシュＲＯＭが内蔵されており、ＭＡＣアドレスなどを記憶することが可能である。
【００１９】
これらのブロック図に示される機能部分は、ＣＰＵ２１５からの制御によって処理され、ＣＰＵ２１５によって制御されるプログラム（ドライバ）は、ＲＯＭ２１６、もしくは、フラッシュＲＯＭ２１３に格納されることになる。ファームウェアは、無線通信コントローラ部２０４内に存在するフラッシュＲＯＭなどに格納されているか、もしくはデジタルカメラ２０１側が保持するフラッシュＲＯＭ２１３もしくはＲＯＭ２１６に格納されており、無線インターフェースを利用する際に無線通信コントローラ２０４にロードされる仕組みであってもよい。またフラッシュＲＯＭ２１３には、無線通信に必要なネットワーク識別子のＥＳＳＩＤや暗号鍵などのパラメータが格納されており、無線インターフェースを利用する際に、ドライバが無線通信コントローラにこれらの値を引き渡すことで無線通信が可能となる。
【００２０】
図３に示すのが、本実施形態におけるプリンタの機能ブロック図である。プリンタ３０１の操作部３１０は、システムコントローラ３１１を介してＣＰＵ３１５に接続されている。プリントエンジン３０２は、実際に用紙に画像をプリントする機能ブロックであり、プリント処理部３０３によって処理される。プリントエンジンは如何なるものでも良いが、本実施形態では図１で使われているプリンタ１０３は主に家庭で使われている熱エネルギーによってインク液滴を記録紙等の記録媒体上に吐出するインクジェットプリンタとした。
【００２１】
表示部３０６は、ＬＣＤ表示、ＬＥＤ表示、音声表示等、ユーザに対する情報を表示するブロックであり、表示処理部３０７の制御によりその表示内容が制御される。また表示部３０６に表示された情報から選択するなどの操作は操作部３１０を介して行われる。つまり、表示部３０６及び操作部３１０が実施形態におけるプリンタ３０１のユーザＩ／Ｆとなる。
【００２２】
メモリカードＩ／Ｆ３０８は、脱着可能なメモリカード３０９を接続する為のインタフェースであり、デジタルカメラに搭載されたメモリカードを差し込むことで、撮像画像を印刷することも可能にしている。
【００２３】
ＵＳＢＩ／Ｆ３１２は、外部機器とＵＳＢを用いて接続する為のインタフェース、ＥＴＨＥＲＩ／Ｆ３１４は、外部機器とＥＴＨＥＲ通信を用いて接続する為のインタフェースである。これらのブロック図に示される機能部分は、ＣＰＵ３１５からの制御によって処理され、ＣＰＵ３１５によって制御されるプログラムは、ＲＯＭ３１６、もしくは、フラッシュＲＯＭ３１３に格納され、ＣＰＵ３１５によって処理されるデータは、ＲＡＭ３１７、もしくは、フラッシュＲＯＭ３１３に対して、書き込み、読み込みが行われる。フラッシュＲＯＭ３１３は不揮発性の記憶領域である。
【００２４】
無線通信ＲＦ部３０５と無線通信コントローラ部３０４を合わせて無線インターフェースが構成される。無線通信ＲＦ部３０５では、アンテナから受信したアナログ信号をデジタル化し、逆にデジタル情報をアナログ化してアンテナより送信するためのハードウェアブロックが存在する。無線通信コントローラ部３０４は、通信を制御するＭＡＣ層やそれらを駆動させるファームウェアを処理するハードウェアより構成される。無線通信コントローラ部３０４にはフラッシュＲＯＭが内蔵されており、ＭＡＣアドレスなどを記憶することが可能である。
【００２５】
これらのブロック図に示される機能部分は、ＣＰＵ３１５からの制御によって処理され、ＣＰＵ３１５によって制御されるプログラム（ドライバ）は、ＲＯＭ３１６、もしくは、フラッシュＲＯＭ３１３に格納されることになる。ファームウェアは、無線通信コントローラ部３０４内に存在するフラッシュＲＯＭなどに格納されているか、もしくはプリンタ３０１側が保持するフラッシュＲＯＭ３１３もしくはＲＯＭ３１６に格納されており無線インターフェースを利用する際に無線通信コントローラ３０４にロードされる仕組みであってもよい。またフラッシュＲＯＭ３１３には、無線通信に必要なネットワーク識別子であるＥＳＳＩＤや暗号鍵などのパラメータが格納されており、無線インターフェースを利用する際に、ドライバが無線通信コントローラにこれらの値を引き渡すことで無線通信が可能となる。
【００２６】
以上、実施形態におけるデジタルカメラ１０１、１０２とプリンタ１０３のそれぞれの構成について説明した。なお、無線通信ＲＦ部２０５、３０５にはアンテナが設けられるが、外部に突出する形態で有するものとは限らない。特に、デジタルカメラの場合、携帯性が重要なファクタであるから、アンテナは外部に突出するのではなく、内蔵もしくは表面上に実装されることが望ましい。
【００２７】
第一の実施形態では、プリンタ１０３がアドホックネットワークを形成し、デジタルカメラ１０１およびデジタルカメラ１０２の順でネットワークに参加する。そして、デジタルカメラ１０２およびプリンタ１０３の順でパワーセーブモードに移行する。まずプリンタ１０３の動作手順について図４を用いて説明する。
【００２８】
図４は、プリンタ１０３のデバイスドライバと無線通信コントローラ３０４の間のコマンドシーケンスと、またそれらコマンドを無線通信コントローラ３０４と無線通信ＲＦ部３０５で処理した結果、エアー上にだされるフレームシーケンスを時間軸とともに図示したものである。
【００２９】
プリンタ１０３のＣＰＵ３１５により動作するアプリケーションプログラムからデバイスドライバに対し、ＥＳＳＩＤを指定してアドホックネットワークに参加する要求が発行される（Ｓ４０１）。ここではＥＳＳＩＤをＳａｖｅＮｅｔとした。ドライバは、ＥＳＳＩＤにＳａｖｅＮｅｔをもつアドホックネットワークが存在するかどうか確認するためにスキャンを行う。スキャンは、無線通信コントローラ３０４に対して一連のコマンドを発行することで行われる（Ｓ４０２）。
【００３０】
その後、それらのコマンドは無線通信コントローラ３０４と無線通信ＲＦ部３０５で処理されＰｒｏｂｅ  Ｒｅｑｕｅｓｔがエアー上に送信される（Ｓ４０３）。しかし、ネットワーク上にはＳａｖｅＮｅｔのＥＳＳＩＤで運用されているステーション（ＳＴＡ）がないため何も応答が返ってこない。無線通信コントローラ３０４は、ある一定期間何も応答がないとタイムアウトをして、その旨をドライバに通知する（Ｓ４０４）。次に、ドライバはＥＳＳＩＤがＳａｖｅＮｅｔのアドホックネットワークを生成する一連のコマンドを無線通信コントローラ３０４に対して発行する（Ｓ４０５）。この際に、プリンタ１０３のＣＰＵ３１５はパワーセーブモードを利用可能にするための変数であるＡＴＩＭ  Ｗｉｎｄｏｗを正の値（かつビーコン間隔よりもかなり小さい値）に指定する。Ｓ４０５の設定が終了すると、周期的にビーコンが転送されるようになる。
【００３１】
ＩＥＥＥ８０２．１１規格では、ビーコンが送信もしくは受信された直後、このＡＴＩＭ  Ｗｉｎｄｏｗ期間だけはそのネットワークに参加しているＳＴＡは常に起きている（Ａｗａｋｅ状態）必要がある。また、このＡＴＩＭ  Ｗｉｎｄｏｗ期間中に送信してよいパケットの種類には限定があり、コントロールフレーム（ＲＴＳ（Ｒｅｑｕｅｓｔ  Ｔｏ  Ｓｅｎｄ）、ＣＴＳ、ＡＣＫなど）とマネージメントフレーム（Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ、ＡＴＩＭ（Ａｎｎｏｕｎｃｅｍｅｎｔ  Ｔｒａｆｆｉｃ  Ｉｎｄｉｃａｔｉｏｎ  Ｍｅｓｓａｇｅ）など）のみが許されている。
【００３２】
図５に、ビーコン（Ｓ４０６〜４０８）期間中にプリンタ１０３の無線インターフェースで消費される電流値と時間の関係を示す。この図よりビーコンを送信した後にＡＴＩＭ  Ｗｉｎｄｏｗ期間があることも分かる。プリンタ１０３はアクティブモードであるため、通常でも待機中の電力値がある程度必要である。またパケット送受信には大きな電流を必要とするため、ビーコン送信に大きな電流値が必要となる。
【００３３】
次に、デジタルカメラ１０１がプリンタ１０３の生成したアドホックネットワークに参加する手順について図６をもとに説明する。デジタルカメラ１０１のＣＰＵ２１５により動作するアプリケーションプログラムからデバイスドライバに、ＥＳＳＩＤにＳａｖｅＮｅｔをもつアドホックネットワークに参加する要求が発行される（Ｓ６０１）。ドライバは、ＳａｖｅＮｅｔが存在するかどうか確認するためにスキャンを行う。スキャンは、無線通信コントローラ２０４に対して一連のコマンドを発行することで行われる（Ｓ６０２）。その後、それらのコマンドは無線通信コントローラ２０４と無線通信ＲＦ部２０５で処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔがエアー上に送信される（Ｓ６０３）。
【００３４】
既に、プリンタ１０３がＥＳＳＩＤにＳａｖｅＮｅｔを指定してアドホックネットワークを形成しているので、プリンタ１０３よりＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが返される（Ｓ６０４）。無線通信コントローラ２０４はＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅで得られた情報をドライバに渡す（Ｓ６０５）。この結果より、ドライバは既にＥＳＳＩＤがＳａｖｅＮｅｔのアドホックネットワークが存在することを認識し、このアドホックネットワークに参加する一連のコマンドを無線通信コントローラ２０４に対して発行する（Ｓ６０６）。Ｓ６０６の設定が終了すると、ある一定周期でプリンタ１０３とデジタルカメラ１０１のどちらかがビーコンを転送するようになる（Ｓ６０７）。
【００３５】
デジタルカメラ１０１は、プリンタ１０３が指定したＡＴＩＭ  Ｗｉｎｄｏｗに従った動作を行うため、ビーコンを送信もしくは受信すると、その直後のＡＴＩＭ  Ｗｉｎｄｏｗ期間中は、たとえパワーセーブモードに移行していたとしてもＡｗａｋｅ状態を維持する。デジタルカメラ１０１から、プリンタ１０３に対してプリントデータを送信する場合は、このＡＴＩＭ  Ｗｉｎｄｏｗ期間の後である必要があり、Ｓ６０８〜Ｓ６１３はデータ送信とそれに対するＡＣＫの様子の示している。
【００３６】
次に、デジタルカメラ１０２がプリンタ１０３のＳａｖｅＮｅｔに参加し、その後パワーセーブモードに以降する手順について図７を用いて説明する。プリンタ１０３が生成したアドホックネットワークに参加するまでの手順は、Ｓ６０１〜Ｓ６０６までと全く同様であるため図７では省略している。ＳａｖｅＮｅｔへ参加したのち、デジタルカメラ１０２のアプリケーションプログラムより、パワーセーブモードへ移行したいという要求がドライバに伝えられる（Ｓ７０１）。ドライバは、無線通信コントローラ２０４に対してパワーセーブモードに移行するための一連のコマンドを発行する（Ｓ７０２）。無線通信コントローラ２０４では、これらのコマンドを受理すると、次のビーコンタイミングまで処理をブロックする。そして、次のビーコンを受信したのち（Ｓ７０３）、ＡＴＩＭ  Ｗｉｎｄｏｗ期間内でパワーセーブモードに移行する旨を伝えるＡＴＩＭパケットをブロードキャストで送信する（Ｓ７０４）。
【００３７】
この時のＡＴＩＭパケットのフレームフォーマットを図８の８０１に示す。このＡＴＩＭパケットの送信先アドレス（ＤＡ）はブロードキャストアドレス（もしくは全てのＳＴＡが受信可能なマルチキャストアドレス）とする。送信元アドレス（ＳＡ）は、デジタルカメラ１０２の無線インターフェースが持っているＭＡＣアドレスを用いる。ＢＳＳＩＤには、プリンタ１０３がアドホックネットワーク形成時に決定したＢＳＳＩＤを入れる。このＢＳＳＩＤの値は、このネットワーク上で転送される全てのビーコンで同一の値が用いられるので、ビーコン１（Ｓ７０３）などから獲得することが可能である。Ｆｒａｍｅ  Ｃｏｎｔｒｏｌの更に詳細なフォーマットを８０２に示す。ＡＴＩＭパケットでは、ｃｏｎｔｒｏｌビットは００でｓｕｂｔｙｐｅフィールドは１００１となることが決まっている。また、ここではＰｗｒＭｇｔ（ＰＭ）ビットを１にすることで、パワーセーブモードをオンにしたことを伝達する。
【００３８】
これにより、デジタルカメラ１０２はアドホックネットワーク上に存在する全てのＳＴＡ（プリンタ１０３とデジタルカメラ１０１）に対して、パワーセーブモードに遷移したことを伝達することが可能になり、無線通信コントローラ２０４からＯＫという結果が上位のアプリケーションまで伝達される（Ｓ７０５、Ｓ７０６）。
【００３９】
次に、プリンタ１０３がデジタルカメラ１０２に対してパワーセーブモードに移行することを伝達する際の処理について説明する。プリンタ１０３は、パワーセーブモードに移行する場合には、上述したデジタルカメラ１０２と同様に、ＰＭビットを１に設定したＡＴＩＭ  パケットをＡＴＩＭ  Ｗｉｎｄｏｗ期間内にブロードキャストする。無線通信コントローラ２０４が、ＡＴＩＭ  Ｗｉｎｄｏｗ期間中にブロードキャストのＡＴＩＭパケットを受け取ると（Ｓ７０９）、割り込みでイベントを発行させドライバに対してあるＳＴＡが電力モードを変更した旨を伝える（Ｓ７１０）。
【００４０】
ドライバでは、図１０に示すような現在パワーセーブモードにあるＳＴＡのＭＡＣアドレスを示すパワーセーブリスト１００１が保存されることになっている。デジタルカメラ１０２において、Ｓ７１０で  ＳＴＡの電力モード変更を受け取る以前は登録されているＭＡＣアドレスは一つもなく、ＳＴＡの電力モード変更の受信によりプリンタ１０３のＭＡＣアドレスが登録される。
【００４１】
またＭＡＣアドレスに付随する情報として期限切れ時間も合わせて記憶する。期限切れ時間は、ある一定周期でデクリメントされ０になると対応するＭＡＣアドレスがパワーセーブリスト１００１から削除される仕組みになっている。期限切れ時間は、もしプリンタ１０３が突然の異常で停止してしまって無線通信ができなくなった場合や、電波が届かない場所に移動してしまった場合などに不要な情報をいつまでも保持する必要がないようにつけられている。
【００４２】
ドライバはＳ７１０でＳＴＡの電力モード変更を受信して、パワーセーブリスト１００１への登録を終えたのち、プリンタ１０３がパワーセーブモードになったことを無線通信コントローラ２０４に通知するコマンド（Ｓ７１１）を発行する。このコマンドはプリンタ１０３のＭＡＣアドレスを必要とし、これ以後無線通信コントローラ２０４では、ドライバよりプリンタ１０３のＭＡＣアドレス向けに送信されるデータを渡されたとき、そのデータ送信に先立ちＡＴＩＭパケットをプリンタ１０３向けにユニキャストで送信するようになる。
【００４３】
Ｓ７１２でデジタルカメラ１０２のＣＰＵ２１５からデータ送信要求がドライバに渡され、Ｓ７１３で無線通信コントローラ２０４に対するコマンドに変換され発行される。無線通信コントローラ２０４はこれらを受理し、そのパケットの宛先アドレスがＳ７１１で登録されたＭＡＣアドレスであることを確認すると、ビーコン（Ｓ７１４）の受信または送信時間を待つ。ビーコンの受信または送信が終了すると、ＡＴＩＭ  Ｗｉｎｄｏｗ期間内でプリンタ１０３に対してユニキャストのＡＴＩＭパケットを送信する（Ｓ７１５）。プリンタ１０３は、このＡＴＩＭパケットを受信すると、ＡＣＫを返し（Ｓ７１６）、そのビーコン期間中はＡｗａｋｅモードに遷移するため、Ｓ７１７のデータパケットを受信でき、ＡＣＫを返戻する（Ｓ７１８）。Ｓ７１９とＳ７２０を経由してデータが正しく送信される。
【００４４】
次にプリンタ１０３がパワーセーブからアクティブモードに遷移する要求をだすときの手順について述べる。プリンタ１０３は、ブロードキャスト（もしくは全てのＳＴＡが受信可能なマルチキャスト）のＡＴＩＭパケットを使い、ＰｗｒＭｇｔビットを０にして送信する（Ｓ７２３）。このパケットは、ネットワーク中の全てのＳＴＡが受信でき同じ処理を行うが、代表してデジタルカメラ１０２の動作として説明する。
【００４５】
Ｓ７２３でこのＡＴＩＭパケットを受信すると、デジタルカメラ１０２の無線通信コントローラ２０４は割り込みでイベントを発行させ、ドライバに対してプリンタ１０３のＭＡＣアドレスとＰＭビットの値を通知する（Ｓ７２４）。ドライバでは、ＰＭビットが０になっていることを確認し、パワーセーブリスト１００１からプリンタ１０３のＭＡＣに対応する項目を削除する。また、もしパワーセーブリスト１００１に登録されていないＭＡＣアドレスが送信されてきた場合は無視をする。
【００４６】
その後、プリンタ１０３のＭＡＣアドレスがアクティブモードになったことを通知するコマンドが無線通信コントローラ２０４に発行される（Ｓ７２５）。これにより、無線通信コントローラ２０４では、このＭＡＣアドレス宛てに送信するデータについて、ＡＴＩＭパケットを送信する必要をなくし、すぐに転送するようになる。
【００４７】
パワーセーブリスト１００１への登録および削除のアルゴリズムを図１１に示す。ＡＴＩＭ  Ｗｉｎｄｏｗ期間中にブロードキャストのＡＴＩＭパケットを受信する（Ｓ１１０１）と、ＡＴＩＭパケット中のＭＡＣアドレスとＰＭビットの情報をドライバへ通知する（Ｓ１１０２）。もしＰＭビットが１であるときは、送信元がパワーセーブモードへ移行することを意味する。Ｓ１１０３でＰＭビットが１であるかを確認し、もし１であればパワーセーブリスト１００１に存在するかどうかを確認する。もし、パワーセーブリスト１００１に存在すれば、期限切れ時間を初期値に設定する（Ｓ１１１２）。もし存在しない場合は、ＭＡＣアドレスと期限切れ時間をパワーセーブリスト１００１に登録する（Ｓ１１０５）。その後、無線通信コントローラにＭＡＣアドレスを通知し、そのＭＡＣアドレスを無線通信コントローラに登録する（Ｓ１１１０）。
【００４８】
Ｓ１１０３でＰＭビットが１でない、つまり、０の場合は、送信元がアクティブモードへ移行することを意味する。Ｓ１１０６で通信されたＭＡＣアドレスがパワーセーブリスト１００１に存在するかを確認し、もし存在すればＳ１１０７で対応するＭＡＣアドレスの項目を削除する。そして、無線通信コントローラからＭＡＣアドレスを削除する（Ｓ１１１１）。存在しない場合は、何もせずに終了する（Ｓ１１０９）。
【００４９】
期限切れ時間をどのように利用するかは、いくつかの方法がある。最も単純には、パワーセーブを継続する最大時間を規定し、各ＳＴＡはその最大時間内に一度はそのときの電力モードの状態を通知するブロードキャストのＡＴＩＭパケットを送信する方法である。図１１のアルゴリズムにより、ＰＭビットがセットされたブロードキャストＡＴＩＭパケットが受信されるたびに期限切れ時間が初期値に設定される。
【００５０】
また、ブロードキャストＡＴＩＭを検知する以外に、パワーセーブリスト１００１に存在するＭＡＣアドレスから何かデータを受信したかを検知して期限切れ時間を初期値に戻してもよい。この場合は電力モードを通知するブロードキャストＡＴＩＭを送信する無駄が省ける。
【００５１】
以上の実施形態では、ブロードキャストのＡＴＩＭパケットを受信してから、受信した旨をドライバに通知して（Ｓ７１０及びＳ７２４）、パワーセーブリストへの登録と削除を行っていた。他の実施形態としては、これら手続きを無線通信コントローラ２０４内部で実行しても構わない。
【００５２】
ここでパワーセーブモードと、ブロードキャストＡＴＩＭを送受信した場合の消費電力の効果を見るために、図９に、図７のビーコン１〜５の期間中にデジタルカメラ１０２の無線インターフェースで消費される電流値と時間の関係を示す。電力の消費レベルには、待機中と受信中と送信中、さらに、パワーセーブ中にＡＴＩＭ  Ｗｉｎｄｏｗ期間終了後に遷移するＳｌｅｅｐ状態中（ｄｏｚｅ状態）の４つレベルがある。ここでは送信のほうが受信よりも大きな電力が必要であり、またＳｌｅｅｐ状態ではほとんど電流は必要ないとして図示している。また、ＩＥＥＥ８０２．１１の規格では、ＡＴＩＭパケットを送信もしくは受信したときは、そのビーコン期間が終了するまではＡｗａｋｅ状態を維持する必要がある。
【００５３】
図９において、ビーコン１を受信したのちに、ブロードキャストＡＴＩＭ（Ｓ７０３）を送信して、パワーセーブモードに移行する。ただし、このビーコン１の周期が終わるまではＡｗａｋｅ状態を維持する必要がある。ビーコン２を受信し、更にＡＴＩＭ  Ｗｉｎｄｏｗ期間が経過した後に、Ｓｌｅｅｐ状態に移行する。ＡＴＩＭ  Ｗｉｎｄｏｗ期間はＡｗａｋｅ状態に遷移しなければならないため、ビーコン３のあとにＡｗａｋｅ状態に遷移し、プリンタ１０３からのブロードキャストＡＴＩＭ（Ｓ７０９）を受信する。ビーコン４のあとでは、プリンタ１０３にデータを送信するためにＡＴＩＭパケットをプリンタ１０３に送信し（Ｓ７１５）、ＡＴＩＭ  Ｗｉｎｄｏｗが終了したあとにデータを送信し（Ｓ７１６）、ＡＣＫを受信する（Ｓ７１７）。ビーコン６のあとでは、プリンタからアクティブモードへ遷移するためのブロードキャストＡＴＩＭパケットを受け取る（Ｓ７２３）ので、このビーコン期間が終了するまではＡｗａｋｅ状態を維持する。
【００５４】
以上示したように、電力モードの変更をする際はＡＴＩＭパケットをブロードキャストで送信し、また相手の電力モードを管理するためにはブロードキャストＡＴＩＭパケットのＰＭビットをチェックすることで行った。
【００５５】
これにより、相手の電力モードが分からずに、通信相手がＳｌｅｅｐ状態にあるときにデータを送信してしまうことを防ぐことができる。もし相手がＳｌｅｅｐ状態にある場合に、送信をしてしまうと全てパケットロスとなるためこの効果は大きい。
【００５６】
また、ブロードキャストＡＴＩＭで電力モードの切り換え通知が行われることより、ネットワークの全てのＳＴＡが、どのＳＴＡがパワーセーブモードになっているかを容易に把握することが可能となり、また、全てＳＴＡに電力モードの切り替えを通知することもできる。
【００５７】
さらにアドホックネットワークでは、接続の際に特別なパケットを送信しないので、誰がネットワーク上に参加したかを判断するのは非常に難しい（アドホックモードでは、接続時はアクティブモードで接続する必要がある）という問題がある。本実施形態では、パワーセーブモードになったＳＴＡのみを各ＳＴＡがパワーセーブリストとして管理し、アクティブなＳＴＡの情報は保持していない。この管理方法により、何台のＳＴＡがネットワーク上に存在するのかを厳格に管理する必要がないという利点もある。
【００５８】
また、不意の障害や電波環境の変化、移動に伴う電波切断などによる状態の不一致を避けるために、パワーセーブリストには期限切れ時間を付加したことでロバスト性を高めることができるという利点もある。
【００５９】
（第二の実施形態）
第一の実施形態では、ＡＴＩＭ  Ｗｉｎｄｏｗ期間中はアドホックネットワーク内の全てのＳＴＡがＡｗａｋｅ状態であることを利用して、ＡＴＩＭパケットをブロードキャストすることにより電力モード変更の通知を行った。しかしこの方法では、全てのＳＴＡがＡＴＩＭパケットを受信することになり、パワーセーブモードのＳＴＡもそのビーコン期間中でＡｗａｋｅ状態になる必要があるため消費電力が無駄になっている。
【００６０】
アドホックネットワーク中に存在するＳＴＡの中でも、ＳＴＡの電力モードを知る必要があるのは、パケットを送信するＳＴＡのみであり、もしその送信相手以外のＳＴＡに対して何も通信をしないのであれば特に相手以外の電力モードを気にする必要はない。
【００６１】
一般にアプリケーションプロトコルでは、通信相手とコネクションを確立し、その相手と専属的に通信を行ってからコネクションを終了する。つまり、通信相手が確定するとその後ある期間はその二者間で通信を行うが、コネクションを確立していない他のＳＴＡとはほとんど通信がない。第二の実施形態では、どのＳＴＡ間で通信が行われるかを明示的にドライバや無線通信コントローラに指示することで、その二者間でのみ電力モードの遷移通知を行うことを可能にする。
【００６２】
第二の実施形態も第一の実施形態と同様に、プリンタ１０３がアドホックネットワークを形成し、デジタルカメラ１０１およびデジタルカメラ１０２の順でネットワークに参加する。そして、デジタルカメラ１０２、プリンタ１０３の順でパワーセーブモードになる。
【００６３】
プリンタ１０３がＥＳＳＩＤをＳａｖｅＮｅｔとしてアドホックネットワークする手順は図４と同様であり、デジタルカメラ１０１がＳａｖｅＮｅｔに参加する手順も図６と同様なため割愛する。
【００６４】
デジタルカメラ１０２がＳａｖｅＮｅｔに参加する手順は図６のＳ６０１からＳ６０６と同様であり、その後の処理について図１２を用いながら説明する。デジタルカメラ１０２のＣＰＵ２１５により動作するアプリケーションプログラムは、ＴＣＰなどのコネクション確立を行うことで通信を開始するため、コネクション確立前に相手のＭＡＣアドレスをドライバに対して通知する（Ｓ１２０１）。このタイミングは使用する通信プロトコルに依存し、ＴＣＰのコネクションを二つ利用するＦＴＰなどではセッションの確立の前（はじめのＴＣＰコネクションが開始される時）に行えばよい。
【００６５】
Ｓ１２０１により、ドライバが通信相手となるＭＡＣアドレスを獲得したら、第一の実施形態で利用したパワーセーブリスト１００１の代わりにコミュニケーションリスト１３０１を用いる（図１３）。パワーセーブリスト１００１と異なるのは、このリストは通信相手の一覧を示すものであり、パワーセーブモードにあるＳＴＡのみだけでなくアクティブモードのＳＴＡも管理することにある。Ｓ１２０１でプリンタ１０３のＭＡＣアドレスが通知されると、その電力モードの値としてアクティブモードと、期限切れ時間の初期値が登録される。期限切れ時間は、第一の実施形態と同様に、もしプリンタが突然の異常で停止してしまって無線通信ができなくなった場合や、電波が届かない場所に移動してしまった場合などに不要な情報をいつまでも保持する必要がないように利用される。
【００６６】
コミュニケーションリスト１３０１への登録が完了すると、デジタルカメラ１０２のアプリケーションプログラムより、パワーセーブモードへ移行したいという要求がドライバに伝えられる（Ｓ１２０２）。ドライバは、無線通信コントローラ２０４に対してパワーセーブモードに移行するための一連のコマンドを発行する（Ｓ１２０３）。無線通信コントローラ２０４では、これらのコマンドを受理すると次のビーコンタイミングまで処理をブロックする。そして、次のビーコンを受信したのち（Ｓ１２０４）、コミュニケーションリストに存在する全てのＭＡＣアドレスに対して、ＡＴＩＭ  Ｗｉｎｄｏｗ期間内にパワーセーブモードに移行する旨を伝えるＡＴＩＭパケットをユニキャストで送信する。第二の実施形態においてはプリンタ１０３のみにＡＴＩＭパケットが送信される（Ｓ１２０５）。そして、ＡＴＩＭパケットはユニキャストなので、ＡＣＫが返戻される（Ｓ１２０６）。
【００６７】
このときのＡＴＩＭパケットのフレームフォーマットを図８の８０１で説明する。このＡＴＩＭパケットの送信先アドレス（ＤＡ）はプリンタ１０３のＭＡＣアドレスとする。送信元アドレス（ＳＡ）は、デジタルカメラ１０２の無線インターフェースが持っているＭＡＣアドレスを用いる。ＢＳＳＩＤには、プリンタ１０３がアドホックネットワーク形成時に決定したＢＳＳＩＤを入れる。このＢＳＳＩＤの値は、このネットワーク上で転送される全てのビーコンで同一の値が用いられるので、ビーコン（Ｓ１２０４）などから獲得することが可能である。Ｆｒａｍｅ  Ｃｏｎｔｒｏｌの更に詳細なフォーマットを８０２に示す。ＡＴＩＭパケットでは、ｃｏｎｔｒｏｌビットは００でｓｕｂｔｙｐｅフィールドは１００１となることが決まっている。また、ここではＰｗｒＭｇｔ（ＰＭ）ビットを１にすることで、パワーセーブモードをオンにしたことを伝達する。
【００６８】
これにより、デジタルカメラ１０２はプリンタ１０３に対して、パワーセーブモードに遷移したことを伝達することが可能になり、無線通信コントローラ２０４からＯＫという結果が上位のアプリケーションまで伝達される（Ｓ１２０７、Ｓ１２０８）。
【００６９】
次に、プリンタ１０３がデジタルカメラ１０２に対してパワーセーブモードに移行することを伝達する際の処理について説明する。プリンタ１０３は、パワーセーブモードに移行する際に、プリンタ１０３が管理するコミュニケーションリストに存在するデジタルカメラ１０２のＭＡＣアドレスに対してＰＭビットが１に設定されたＡＴＩＭパケットを送信する。無線通信コントローラ２０４が、ＡＴＩＭ  Ｗｉｎｄｏｗ期間中にユニキャストのＡＴＩＭパケットを受け取ると（Ｓ１２０９）、割り込みでイベントを発行させドライバに対してあるＳＴＡが電力モードを変更した旨を伝える（Ｓ１２１１）。
【００７０】
ドライバでは、Ｓ１２１１に付随して通知されるＭＡＣアドレスとＰＭビットの情報より、コミュニケーションリスト１３０１を更新する。まずコミュニケーションリスト１３０１に対応するＭＡＣアドレスが存在するか確認する。もし存在しない場合は、通知されたＰＭビットから電力モードを判定し、判定した電力モード、期限切れ時間を通知されたＭＡＣアドレスに対応付けてコミュニケーションリスト１３０１に登録する。次に、コミュニケーションリスト１３０１に、対応するＭＡＣアドレスが存在し、通知されたＰＭビットが１である場合は、コミュニケーションリスト１３０１のＭＡＣアドレスに対応する電力モードの値をパワーセーブモードにする。またＰＭビットが０である場合はアクティブモードにする。どちらの場合においても、期限切れ時間は初期値に戻す。期限切れ時間をどのように利用するかは、いくつかの方法があり第一の実施形態と同じような方法で利用できる。
【００７１】
コミュニケーションリスト１３０１の電力モードの値がアクティブモードからパワーセーブモードに移行する場合は、プリンタ１０３がパワーセーブモードになったことを無線通信コントローラ２０４に通知するコマンド（Ｓ１２１２）を発行する。このコマンドはプリンタ１０３のＭＡＣアドレスを必要とし、これ以後無線通信コントローラ２０４では、ドライバよりプリンタ１０３のＭＡＣアドレス向けに送信されるデータを渡されたとき、そのデータ送信に先立ちＡＴＩＭパケットをプリンタ１０３向けにユニキャストで送信するようになる。
【００７２】
つまり、Ｓ１２１３でデジタルカメラ１０２からデータ送信要求がドライバに渡され、Ｓ１２１４で無線通信コントローラ２０４に対するコマンドに変換され発行されると、無線通信コントローラ２０４はこれらを受理し、データの送信宛先が登録されたＭＡＣアドレスである場合はビーコン（Ｓ１２１５）の受信または送信時間を待つ。ここでは、デジタルカメラ１０２は、ビーコンを送信する番なので、ビーコンを送信すると（Ｓ１２１５）、ＡＴＩＭ  Ｗｉｎｄｏｗ期間内でプリンタ１０３に対してユニキャストのＡＴＩＭパケットを送信する（Ｓ１２１６）。この時もＰＭビットを１にしてＡＴＩＭパケットを送信することに注意する。その後ＡＣＫを返戻する（Ｓ１２１７）。プリンタ１０３はＡＴＩＭパケットを受信すると、そのビーコン期間中はＡｗａｋｅモードに遷移するため、Ｓ１２１８のデータパケットを受信でき、ＡＣＫを返戻する（Ｓ１２１９）。Ｓ１２２０とＳ１２２１を経由してデータが正しく送信される。
【００７３】
次にプリンタ１０３がパワーセーブモードからアクティブモードに遷移する要求をだすときの手順について述べる。プリンタ１０３は、ユニキャストのＡＴＩＭパケットを使い、ＰＭビットを０にして送信する。
【００７４】
Ｓ１２２３でこのＡＴＩＭパケットを受信すると、無線通信コントローラ２０４は割り込みでイベントを発行させ、ドライバに対してプリンタ１０３のＭＡＣアドレスとＰＭビットの値を通知する（Ｓ１２２５）。ドライバは、コミュニケーションリスト１３０１に、対応するＭＡＣアドレスが存在するか確認する。もし存在しない場合は、通知されたＰＭビットから電力モードを判定し、判定した電力モードと、期限切れ時間を無線通信コントローラ２０４から通知されたＭＡＣアドレスに対応付けてコミュニケーションリスト１３０１に登録する。ＭＡＣアドレスが存在し、通知されたＰＭビットが０の場合は、コミュニケーションリスト１３０１のプリンタ１０３のＭＡＣアドレスに対応する電力モードがパワーセーブかを確認し、もしパワーセーブであればアクティブに変更し、無線通信コントローラ２０４に対して登録してあるＭＡＣアドレスを解除するように要求をだす（Ｓ１２２６）。もし既にアクティブである場合は無視をする。これにより、無線通信コントローラ２０４では、このＭＡＣアドレス宛てに送信するデータについて、ＡＴＩＭパケットを送信する必要をなくし、すぐに転送するようになる。
【００７５】
アプリケーションのデータ転送が終了し、コミュニケーションリスト１３０１から対応するＭＡＣアドレスの項目を削除したい場合は、ＣＰＵ２１５は、その要求をドライバに対して要求する（Ｓ１２２７）。この際に、もしそのＭＡＣアドレスの電力モードの値がパワーセーブモードである場合は、無線通信コントローラ２０４に対して無線通信コントローラ２０４に登録されている対応ＭＡＣアドレスを削除するように要求する。この例の場合は、プリンタ１０３は既にアクティブモードになっているのでその必要はない。
【００７６】
図１４から図１６にかけて、コミュニケーションリスト１３０１に対する登録と削除に関するアルゴリズムを示す。図１４は、アプリケーションからコミュニケーションリスト１３０１に登録を行う場合のフローチャートである。Ｓ１４０１において、ＣＰＵ２１５により動作するアプリケーションから、通信相手のＭＡＣアドレスを指定してコミュニケーションリスト１３０１への登録要求が発行される。Ｓ１４０２で、そのＭＡＣアドレスがコミュニケーションリスト１３０１に存在するかを確認する。もし既に存在する場合は何もしない（Ｓ１４０４）。存在しない場合は、ＭＡＣアドレスおよび電力モードの値をアクティブモードにし、期限切れ時間を初期値に設定する（Ｓ１４０３）。
【００７７】
次に、アプリケーションからコミュニケーションリスト１３０１に登録されているリスト内容の削除要求が発行されたときのアルゴリズムを図１６で説明する。Ｓ１６０１で、ＭＡＣアドレスを指定してコミュニケーションリスト１３０１からの削除要求が発行される。Ｓ１６０２で、指定されたＭＡＣアドレスがコミュニケーションリスト１３０１に存在するかを確認する。もし存在しない場合は何もしない（Ｓ１６０４）。存在する場合は、電力モードの値がパワーセーブモードかを調べる（Ｓ１６０３）。パワーセーブモードである場合は、対応するＭＡＣアドレスを無線通信コントローラ２０４が管理しているデータ通信前にＡＴＩＭパケットを送信するＭＡＣアドレスリストから削除する要求を、無線通信コントローラ２０４に発行する（Ｓ１６０５）。そしてコミュニケーションリスト１３０１からそのＭＡＣアドレスを削除する（Ｓ１６０６）。Ｓ１６０３でパワーセーブモードでない場合は、コミュニケーションリスト１３０１から対応するＭＡＣアドレスを削除する（Ｓ１６０６）。
【００７８】
また、アドホックネットワーク中のＳＴＡからユニキャストＡＴＩＭを受信した場合の処理について図１５を用いて説明する。Ｓ１５０１で無線インターフェースがユニキャストＡＴＩＭを受信すると、無線通信コントローラは、送信元のＭＡＣアドレスとフレーム中のＰＭビットをドライバに通知する（Ｓ１５０２）。ドライバでは、通知されたＭＡＣアドレスがコミュニケーションリスト１３０１に存在するかを確認する（Ｓ１５０３）。もし存在する場合は、そのＭＡＣアドレスに対応する期限切れ時間の値を初期値に戻す（Ｓ１５０９）。次に伝達されたＰＭビットから、パワーセーブモードへ移行すると判断された場合（ＰＭビットが１で、かつ以前の電力モードの値がアクティブモード）、無線通信コントローラに対してそのＭＡＣアドレスを登録する（Ｓ１５１１）。もし、アクティブモードへの遷移もしくは、既にパワーセーブモードに移行していた場合に関してはないも行わない（Ｓ１５１２）。
【００７９】
Ｓ１５０３において、指定されたＭＡＣアドレスがコミュニケーションリスト１３０１に登録されてない場合は、ＭＡＣアドレスに対応させて、ＰＭビットの値に対応する電力モードと、期限切れ時間を登録する（Ｓ１５０４）。もしこのとき、ＰＭビットが１である場合は、無線通信コントローラ２０４に対してこのＭＡＣアドレスを登録するようにコマンドを発行する（Ｓ１５０６）。ＰＭビットが０の場合は何もおこなわない（Ｓ１５０８）。
【００８０】
以上の実施形態では、コミュニケーションリストへの登録手段（Ｓ１２０１）と、パワーセーブを有効にする手段（Ｓ１２０２）を分離して書いてが、パワーセーブを有効にする時点（Ｓ１２０２）で、どのＳＴＡ宛て（複数可）にその通知を出すかを指定しても同様の効果を得ることができる。また、コミュニケーションリストからそれらの機器情報を削除するのは、パワーセーブモードからアクティブモードへの変更要求があるときか、もしくは各機器に付帯された期限付き時間が過ぎた時に行ってもよい。
【００８１】
さらには、データを送信する手段（Ｓ１２１３）に、コミュニケーションリストへの登録手段（Ｓ１２０１）とパワーセーブモードを有効にする手段（Ｓ１２０２）を兼ね合わせてもよい。データ送信があるたびにコミュニケーションリストに送信先が登録されていなければ、ＡＴＩＭパケットをデータ送信に先立って送信し、その後にデータを送信してもよい。これにより、データ通信を行う相手に必ずパワーセーブモードを伝達することが可能になる。
【００８２】
また以上の実施形態では、ＡＴＩＭパケットを受信してから、受信した旨をドライバに通知して（Ｓ１２１１及びＳ１２２５）、コミュニケーションリストの電力モードを変更し、さらに無線通信コントローラに対してＭＡＣアドレスの登録（Ｓ１２１２）や削除（Ｓ１２２６）を行っていた。他の実施形態としては、これら手続きを無線通信コントローラ２０４内部で実行しても構わない。
【００８３】
また以上の実施形態では、ＡＴＩＭパケットを利用した例を述べたが、同様のことをＲＴＳパケットでおこなうことも可能である。
【００８４】
以上述べたように、第二の実施形態では第一の実施形態と比べて、通信する相手を明示的にアプリケーションから指定することによりブロードキャストＡＴＩＭを受信することで生じていた、全てのＳＴＡがＡｗａｋｅ状態に遷移することを防ぎ、関係のある二者間でのみ電力モードの変更を伝えることができるようになった。
【００８５】
（第三の実施形態）
第一および第二の実施形態では、ＡＴＩＭ  Ｗｉｎｄｏｗ中はアドホックネットワーク内の全てのＳＴＡがＡｗａｋｅ状態であることを利用して、ＡＴＩＭパケットをブロードキャストもしくはユニキャストで送信することにより電力モードの通知を行った。この方法では、電力モードを通知する前に次のビーコンが通信されるまで待つ必要がある。ビーコン間隔は通常１００ｍｓ程度に設定されているため、最悪の場合、１００ｍｓは電力モードの変更を伝えることができずに制御がブロックしてしまう。
【００８６】
第三の実施形態では、この点を改善したもので、相手の状態を検知し、もし相手がアクティブモードである場合は、次のビーコン時間を待つ必要がなく、すぐに電力モードを通知できるようにする。
【００８７】
図１７に第三の実施形態のシーケンス図を示す。第二の実施形態と同様に、第一の実施形態とデジタルカメラ１０２がプリンタ１０３の生成したアドホックネットワークＳａｖｅＮｅｔに参加し、その後コミュニケーションリストへの登録（Ｓ１７０１）、パワーセーブモードへの移行要求を発行するところ（Ｓ１７０２、Ｓ１７０３）までは同様である。
【００８８】
次に、電力モードを通知する相手がアクティブモードであるかを判断する方法について述べる。図１７において、Ｓ１７１８でプリンタ１０３はビーコン送信しているため、ＩＥＥＥ８０２．１１の規格にのっとり、プリンタ１０３はこのビーコン期間中はアクティブモードである必要がある。これらのことを無線通信コントローラ２０４は記憶しておき、コミュニケーションリストへの追加があった宛先がビーコンを送信した宛先と一致した場合は、すぐに電力モード通知要求をだす。
【００８９】
この通知要求には、第一および第二の実施例で利用したＡＴＩＭパケットとは異なりヌルデータパケットを用いる（Ｓ１７０４）。ヌルデータパケットの指定は、図８の８０２において、ｃｏｎｔｒｏｌビットが１０であり、Ｓｕｂｔｙｐｅが０１００とする。また、パワーセーブモードをオンにする場合は、ＰｗｒＭｇｔ（ＰＭ）ビットを１にし、オフにする場合は０にする。その後ＡＣＫが返戻される（Ｓ１７０５）と、無線通信コントローラ２０４からＯＫという結果が上位のアプリケーションまで伝達される（Ｓ１７０６、Ｓ１７０７）。
【００９０】
もし、Ｓ１７１８でプリンタ１０３がビーコンを送信していない場合でも、Ｓ１７０４でヌルパケットの送信を試みて、ＡＣＫ（Ｓ１７０５）が返戻されることを期待してもよい。ただし、ＡＣＫの応答がない場合は、次のビーコンが受信もしくは送信されるまで待ち、プリンタ１０３がビーコンを送信したことを確認後にヌルパケットを送信するか、もしくはプリンタ１０３からのビーコンが確認できない場合は第二の実施形態で行ったようにＡＴＩＭパケットをプリンタ１０３に送信することで、次のビーコン期間までには必ずパワーセーブ移行への要求がプリンタ１０３で受信可能なになるような手段を用いる。
【００９１】
また、コミュニケーションリストでアクティブ状態であると管理されている相手に電力モードの変更を通知する場合は、その相手がビーコンの送信元か否かに係わらず、ビーコンを受信する前に、その相手にヌルパケットで電力モードの変更を通知してもよい。
【００９２】
以上述べたように、第三の実施形態では第一及び第二の実施形態と比べて、もし通信相手がアクティブモードである場合は、電力モードを通知できるタイミングを早くすることが可能である。また、アクティブモードでなくても、第二の実施形態との併用で次のビーコン期間までには電力モードの通知ができる。
【００９３】
（その他の実施形態）
第１実施形態から第三の実施形態３で、ＩＥＥＥ８０２．１１技術規格にそった形で説明を行ったが、同様の効果をもつ技術規格であればＩＥＥＥ８０２．１１に限らず広く適用可能である。
【００９４】
また、第一の実施形態から第３の実施形態では、アドホックネットワークに参加する全てのＳＴＡが参加したのちに、ＳＴＡ（実施例ではデジタルカメラ１０２）は順にパワーセーブモードに遷移していく例を示した。
【００９５】
これと異なり例えば、プリンタ１０３が形成したアドホックネットワークに対してデジタルカメラ１０１が参加したのち、すぐにパワーセーブモードになるための通知（ブロードキャストＡＴＩＭ、ユニキャストＡＴＩＭ、もしくはｎｕｌｌパケット）を送信し、その後にデジタルカメラ１０２がネットワークに参加した場合は、プリンタ１０３はデジタルカメラ１０１がパワーセーブモードになっていることを知っているが、デジタルカメラ１０２はその情報が送信されたあとにネットワークに加わっているため、デジタルカメラ１０１がパワーセーブモードであることは分からない。
【００９６】
このような問題を回避するために、各ＳＴＡは周期的に自身の電力モードを通知しても構わない。例えば、第一の実施形態ではブロードキャストのＡＴＩＭパケットを１０ビーコンインターバルに一度送信するなどしてもよい。このようにすることで、あとからネットワークに参加したＳＴＡも、相手の電力モードを獲得することが可能になる。
【００９７】
また、アドホックモードでパワーセーブを行うための運用方法として、参加すべき全てのＳＴＡが加わった後に、各ＳＴＡはパワーセーブへの移行をするようにユーザインターフェースで操作することでこれを防ぐことも可能である。
【図面の簡単な説明】
【００９８】
【図１】実施形態の無線機器のアドホックネットワーク構成図
【図２】実施形態のデジタルカメラ１０１、１０２の構成図
【図３】実施形態のプリンタ１０３の構成図
【図４】実施形態のプリンタ１０３がアドホックネットワークを生成するシーケンス図
【図５】図４のシーケンスにおける電流値を示す図
【図６】実施形態のデジタルカメラ１０１がネットワークに参加するシーケンス図
【図７】第一実施形態のデジタルカメラ１０２のシーケンス図
【図８】ＡＴＩＭパケットのフレームフォーマット
【図９】図７のシーケンスにおける電流値を示す図
【図１０】第一実施形態のパワーセーブリスト構成図
【図１１】第一実施形態のパワーセーブリスト更新アルゴリズム
【図１２】第二実施形態のデジタルカメラ１０２のシーケンス図
【図１３】第二実施形態のコミュニケーションリスト構成図
【図１４】第二実施形態のコミュニケーションリスト更新アルゴリズム
【図１５】第二実施形態のコミュニケーションリスト更新アルゴリズム
【図１６】第二実施形態のコミュニケーションリスト更新アルゴリズム
【図１７】第二実施形態のデジタルカメラ１０２のシーケンス図
【図１】
2006093787.tif 000003
【図２】
2006093787.tif 000004
【図３】
2006093787.tif 000005
【図４】
2006093787.tif 000006
【図５】
2006093787.tif 000007
【図６】
2006093787.tif 000008
【図７】
2006093787.tif 000009
【図８】
2006093787.tif 000010
【図９】
2006093787.tif 000011
【図１０】
2006093787.tif 000012
【図１１】
2006093787.tif 000013
【図１２】
2006093787.tif 000014
【図１３】
2006093787.tif 000015
【図１４】
2006093787.tif 000016
【図１５】
2006093787.tif 000017
【図１６】
2006093787.tif 000018
【図１７】
2006093787.tif 000019