(57)【特許請求の範囲】
【請求項１】
通信装置であって、
前記通信装置の動作モードを第１の動作モードから、前記第１の動作モードよりも消費電力が高い第２の動作モードへ切り替えるために前記通信装置により用いられる所定信号の送信を他の通信装置に対して要求する要求手段と、
前記要求手段による要求から所定時間内に前記他の通信装置から前記所定信号を受信した場合、前記通信装置の動作モードを前記第２の動作モードから前記第１の動作モードに切り替える状態制御手段と、を有し、
前記要求手段による要求から前記所定時間内に前記他の通信装置から前記所定信号を受信しなかった場合、前記要求手段は、前記所定信号とは異なる第２所定信号であって、前記通信装置の動作モードを第１の動作モードから前記第２の動作モードへ切り替えるために前記通信装置により用いられる第２所定信号を前記他の通信装置に対して要求することを特徴とする通信装置。
【請求項２】
前記要求手段による要求から前記所定時間内に前記他の通信装置から前記所定信号を受信しなかった場合、前記状態制御手段は、前記通信装置を前記第１の動作モードから前記第２の動作モードへ切り替えないことを特徴とする請求項１に記載の通信装置。
【請求項３】
通信装置であって、
前記通信装置の動作モードを第１の動作モードから、前記第１の動作モードよりも消費電力が高い第２の動作モードへ切り替えることが可能か判定するためのテストの開始を他の通信装置に対して通知する通知手段と、
前記通信装置の動作モードを前記第１の動作モードから前記第２の動作モードへ切り替えるために用いられる所定信号を前記通知手段による通知から所定時間内に前記他の通信装置から受信した場合、前記通信装置の動作モードを前記第２の動作モードから前記第１の動作モードに切り替える切替処理を実行する状態制御手段と、を有し、
前記所定信号を前記通知手段による通知から前記所定時間内に前記他の通信装置から受信しなかった場合、前記通知手段は、前記テストとは別のテストであって、前記第１の動作モードから前記第２の動作モードへ切り替えることが可能かを判定するためのテストの開始を前記他の通信装置に対して通知することを特徴とする通信装置。
【請求項４】
前記通知手段は、前記所定時間中に前記所定信号を受信した場合、前記他の通信装置に前記テストの終了を通知し、該終了の通知の後に、前記状態制御手段は、前記通信装置を前記第２の動作モードから前記第１の動作モードに切り替えることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記他の通信装置から前記所定信号を受信しなかった場合、ユーザに対してエラーの通知を行うエラー通知手段を更に有することを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記他の通信装置は、前記通信装置に対してプッシュ通知を送信可能なサーバ装置であることを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記他の通信装置は、前記通信装置に対してプッシュ通知を送信可能なサーバ装置と接続するプロキシ装置であることを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項８】
通信装置が行う制御方法であって、
前記通信装置の動作モードを第１の動作モードから、前記第１の動作モードよりも消費電力が高い第２の動作モードへ切り替えるために前記通信装置により用いられる所定信号の送信を他の通信装置に対して要求する第１の要求工程と、
前記第１の要求工程における要求から所定時間内に前記他の通信装置から前記所定信号を受信した場合、前記通信装置の動作モードを前記第２の動作モードから前記第１の動作モードに切り替える状態制御工程と、
前記第１の要求工程における要求から前記所定時間内に前記他の通信装置から前記所定信号を受信しなかった場合、前記所定信号とは異なる第２所定信号であって、前記通信装置の動作モードを第１の動作モードから前記第２の動作モードへ切り替えるために前記通信装置により用いられる第２所定信号を前記他の通信装置に対して要求する第２の要求工程と、を有することを特徴とする制御方法。
【請求項９】
通信装置が行う制御方法であって、
前記通信装置の動作モードを第１の動作モードから、前記第１の動作モードよりも消費電力が高い第２の動作モードへ切り替えることが可能か判定するためのテストの開始を他の通信装置に対して通知する第１の通知工程と、
前記通信装置の動作モードを前記第１の動作モードから前記第２の動作モードへ切り替えるために用いられる所定信号を前記第１の通知工程による通知から所定時間内に前記他の通信装置から受信した場合、前記通信装置の動作モードを前記第２の動作モードから前記第１の動作モードに切り替える切替処理を実行する状態制御工程と、
前記所定信号を前記第１の通知工程による通知から前記所定時間内に前記他の通信装置から受信しなかった場合、前記テストとは別のテストであって、前記第１の動作モードから前記第２の動作モードへ切り替えることが可能かを判定するためのテストの開始を前記他の通信装置に対して通知する第２の通知工程と、を有することを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１から７のいずれか１項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、通信装置は、即時性の高い通信を行うために、通信相手との間で常にコネクションを張ると、電力消費量が増加し、機器の稼働時間が短くなってしまう場合があった。そのため、即時性の高い通信を行う場合の通信処理の省電力化が必要であった。
【０００３】
即時性の高い通信を行う場合の通信処理の省電力化が図れる技術として、特許文献１には、通信装置がサーバからトリガを受信した場合にコネクションを張る技術が提案されている。この技術によれば、通信装置はコネクションを常時張る必要がなく、省電力化が達成できる。また、省電力化の技術としてＢＬＥ(Ｂｌｕｅｔｏｏｔｈ（登録商標） Ｌｏｗ  Ｅｎｅｒｇｙ)や、スリープ状態から通信装置を起動する技術として、ＷｏＬ（Ｗａｋｅ  ｏｎ  ＬＡＮ）等の技術がある。なお、スリープ状態とは、通信装置の一部の機能がオフになり、電力消費を抑えた状態である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１４６８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
スリープ状態の通信装置を遠隔から起動させてメッセージ（例えばプッシュ通知）を受信させようとした場合、遠隔からの起動が出来ないことがあった。例えば、ＢＬＥでは距離制限によって接続が切れてしまうため、スリープ状態に移行した通信装置がスリープ状態から復帰できない場合があった。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、低消費電力状態の通信装置を遠隔から復帰させられる可能性を高めることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の通信装置は例えば以下の構成を有する。すなわち、通信装置であって、前記通信装置の動作モードを第１の動作モードから、前記第１の動作モードよりも消費電力が高い第２の動作モードへ切り替えるために前記通信装置により用いられる所定信号の送信を他の通信装置に対して要求する要求手段と、前記要求手段による要求の後に前記他の通信装置から前記所定信号を受信した場合、前記通信装置の動作モードを前記第２の動作モードから前記第１の動作モードに切り替える状態制御手段と、を有し、前記要求手段による要求から所定時間内に前記他の通信装置から前記所定信号を受信しなかった場合、前記要求手段は、前記所定信号とは異なる第２所定信号であって、前記通信装置の動作モードを第１の動作モードから前記第２の動作モードへ切り替えるために前記通信装置により用いられる第２所定信号を前記他の通信装置に対して要求することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、低消費電力状態の通信装置を遠隔から復帰させられる可能性を高めることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１におけるシステム構成の概略図。
【図２】通信装置１０１のハードウェア構成の一例を示す図。
【図３】通信装置１０１の機能構成の一例を示す図。
【図４】通信装置１０１のフローチャートの一例を示す図。
【図５】実施形態１における起動テストに成功する場合のシーケンスの一例を示す図。
【図６】実施形態１における起動テストに失敗する場合のシーケンスの一例を示す図。
【図７】実施形態２におけるシステム構成を示す概略図。
【図８】通信装置７０１のハードウェア構成の一例を示す図。
【図９】通信装置７０１の機能構成の一例を示す図。
【図１０】通信装置７０１のフローチャートの一例を示す図。
【図１１】実施形態２における起動テストに成功する場合のシーケンスの一例を示す図。
【図１２】実施形態２における起動テストに失敗する場合のシーケンスの一例を示す図。
【図１３】表示部２０７における画面例。
【図１４】表示部２０７における画面例。
【図１５】実施形態３におけるシステム構成の概略図。
【図１６】プロキシ装置１５０１のハードウェア構成の一例を示す図。
【図１７】プロキシ装置１５０１の機能構成の一例を示す図。
【図１８】プロキシ装置１５０１のフローチャートの一例を示す図。
【図１９】実施形態３における起動テストに成功する場合のシーケンスの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明をその実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［実施形態１］
（システム構成）
図１は、実施形態１におけるシステム構成の概略図である。通信装置１０１は、プッシュ通知（メッセージ）を受信可能な通信装置である。なお、本実施形態におけるプッシュ通知とは、特定のデータのリクエストを受け付けることなく送信される通知である。通信装置１０１は、デジタルカメラ、プロジェクタ、監視カメラ、デジタルビデオカメラ、ＭＦＰ、プリンタ等の機器であり、ネットワーク１０３を通じてサーバ１０２と通信を行う。なお、ＭＦＰは、Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒの略である。通信装置１０１は、スマートフォン、タブレット、ＰＣなどの装置であってもよいし、これらの装置上で動作するアプリケーションやＷｅｂブラウザであってもよい。通信装置１０１は、複数の装置およびサーバやサービス等の組み合わせによって実現されてもよい。通信装置１０１は、温度、湿度、位置情報、照度、人感検知などの機能を有してもよい。
【００１２】
サーバ１０２は、プッシュ通知（メッセージ）を送信可能なサーバ装置である。本実施形態は、サーバを１台のＰＣで実現しているが、クラウド上で分散して配置されてもよい。サーバ１０２は、デジタルカメラ、プロジェクタ、監視カメラ、デジタルビデオカメラ、ＭＦＰ、プリンタ等の機器であり、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、有線ＬＡＮ、または、その他無線、有線方式により、ネットワーク１０３を通じて通信装置１０１と通信を行う。サーバ１０２は、スマートフォン、タブレット、ＰＣなどの装置であってもよいし、これらの装置上で動作するアプリケーションやＷｅｂブラウザであってもよい。サーバ１０２は複数の装置およびサーバやサービス等の組み合わせによって実現してもよい。サーバ１０２は、温度、湿度、位置情報、照度、人感検知などの機能を有していてもよい。
【００１３】
外部通信装置１０４は、サーバ１０２に、プッシュ通知の送信を要求する通信装置である。外部通信装置１０４は、Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ（ＳＮＳ）やクラウドサービス等を提供するアプリケーションサーバであってもよい。外部通信装置１０４は、デジタルカメラ、プロジェクタ、監視カメラ、デジタルビデオカメラ、ＭＦＰ、プリンタ等の機器であり、ネットワーク１０５を通じてサーバ１０２と通信を行う。外部通信装置１０４は、スマートフォン、タブレット、ＰＣなどの装置であってもよいし、これらの装置上で動作するアプリケーションやＷｅｂブラウザであってもよい。外部通信装置１０４は複数の装置およびサーバやサービス等の組み合わせによって実現されてもよい。外部通信装置１０４は、温度、湿度、位置情報、照度、人感検知などの機能を有してもよい。また、本実施形態では、サーバ１０２と外部通信装置１０４は別々の装置としているが、両者は一つの装置に一体となっていてもよい。
【００１４】
ネットワーク１０３は、通信装置１０１とサーバ１０２を接続するネットワークである。本実施形態におけるネットワーク１０３は、インターネット、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ、等のネットワークや、これらの複合であっても実現できる。ネットワーク１０３は、無線ＬＡＮ、無線アドホックネットワーク、有線ＬＡＮ、ＢＬＥ、Ｚｉｇｂｅｅ（登録商標）、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）、Ｗｉ−Ｆｉ  Ａｗａｒｅ（登録商標）、３ＧＰＰ、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、公衆無線、ＵＳＢ（Ｕｎｉｖｅｒｘａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、光通信、および、その他の有線及び無線方式等の複合であっても実現できる。ネットワーク１０５は、ネットワーク１０３と同様に様々な形態で実現可能である。
【００１５】
（ハードウェア構成）
図２は、通信装置１０１のハードウェア構成の一例を示す図である。通信装置１０１は、制御部２０１、有線ＬＡＮ制御部２０２、記憶部２０３、操作部２０４、電源供給部２０６、表示部２０７、システムバス２０８、及び有線ＬＡＮインターフェース２０９を含む。
【００１６】
制御部２０１は、通信装置１０１における動作を統括的に制御する。具体的には、制御部２０１は、制御部２０１、有線ＬＡＮ制御部２０２、記憶部２０３、操作部２０４、電源供給部２０６、及び表示部２０７を制御する。有線ＬＡＮ制御部２０２は、有線ＬＡＮインターフェース２０９を介して行う通信を制御する。有線ＬＡＮ制御部２０２は、ＵＳＢ等で装着される外部デバイスであってもよい。記憶部２０３は、ネットワーク情報、サーバ情報等の各種データを記憶し管理する。操作部２０４は、ユーザからの操作を受け付ける部分である。操作部２０４は、例えば、キーボード、ボタン、タッチディスプレイや音声検知デバイスであり、ユーザはこれらを通じて操作を行うことができる。
【００１７】
電源供給部２０６は、制御部２０１、有線ＬＡＮ制御部２０２、記憶部２０３、操作部２０４、及び表示部２０７に電源を供給する。電源供給部２０６は、特定の構成のみに電源を供給することが可能である。例えば、電源供給部２０６は、有線ＬＡＮ制御部２０２のみに電源を供給し、他の構成部には電源を供給しないという処理を行ってもよい。本実施形態では、電源供給部２０６は、電源供給のオンオフだけを行うものとするが、これに限らず、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のクロックの調節や、無線チップのオフなどモジュールやハードウェアの実行状態の制御をしてもよい。
【００１８】
表示部２０７は、液晶パネルやＬＥＤ等を用いて、各種表示を行う。例えば、表示部２０７は、ユーザが通信装置１０１を操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示する。また、例えば、表示部２０７は、サーバ１０２から受信したプッシュ通知や、エラーメッセージ、通信装置１０１の起動方法の選択肢、その他各種のメッセージを表示する。本実施形態では、表示部２０７はＧＵＩを表示するが、ＬＥＤの点滅、画像、音、振動、メッセージなどの方式を用いた出力を行うこともできる。
【００１９】
本実施形態では、通信装置１０１は有線ＬＡＮ制御部２０２を有し、サーバ１０２と有線ＬＡＮによって通信を行うが、通信方式はこれに限定されない。例えば、通信装置１０１は、無線ＬＡＮ、ＮＦＣ、公衆無線など、その他の有線及び無線方式により通信する場合は、通信に必要な制御部及びインターフェースを備えていてもよい。
【００２０】
（機能構成）
図３は、通信装置１０１の機能構成の一例を示す図である。なお、本実施形態においては、以下に示す各機能ブロックは、ソフトウェアプログラムとして機能が実施されているものとするが、本機能ブロックに含まれる一部、または、全部がハードウェア化されていてもよい。
【００２１】
接続部３０１は、サーバ１０２との接続を行う。本実施形態において、通信装置１０１とサーバ１０２とは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｔｏｒｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を使用するプロトコルで接続される。なお、接続方法はこれらに限定されず、その他のプロトコルによって接続されてもよい。
【００２２】
プッシュ登録部３０２は、サーバ１０２からプッシュ通知を受け付けるための登録処理を行う。プッシュ登録部３０２は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＨＴＴＰ／２、ＱＵＩＣ（Ｑｕｉｃｋ  ＵＤＰ  Ｉｎｔｅｒｎｅｔ  Ｃｏｎｎｅｃｔｉｏｎｓ）、ＸＭＰＰ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｐｒｏｔｏｃｏｌ）などプロトコルを使用して登録を行う。なお、プッシュ登録部３０２が使用するプロトコルはこれらに限定されない。
【００２３】
プッシュ登録部３０２は、ＨＴＴＰ／２でサーバ１０２に接続し、通信装置１０１を一意に識別できる識別子を登録する。ここで使用する識別子は、通信装置１０１を一意に特定できればよい。ここで登録する情報のフォーマットは、ＸＭＬ、ＪＳＯＮであってもよい。なお、ＸＭＬは、Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅの略であり、ＪＳＯＮ（ＨａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）の略である。また、識別子は、通信装置１０１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、機器固有のＵＵＩＤ、ＢＬＥの物理アドレス、Ｃｏｏｋｉｅ、ＭＡＣアドレスや、それらの一部を利用して生成された値（例えば、ハッシュ値）であってもよい。なお、ＵＵＩＤは、Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒの略である。また、識別子はこれらの複数を組み合わせたものであってもよい。
【００２４】
起動方法決定部３０３は、通信装置１０１を起動させることが可能かを判定するための起動テストに使用する起動方法を決定する。本実施形態では、起動方法決定部３０３はＷｏＬ（Ｗａｋｅ  ｏｎ  ＬＡＮ）を起動方法として決定するが、他の方法に決定することもできる。また、起動方法決定部３０３は、起動テストに使用する起動方法を、ユーザからの入力によって決定してもよい。
【００２５】
確認部３０４は、起動方法決定部３０３が起動テストに使用すると決定した起動方法が、サーバ１０２が対応しているかを確認する。確認部３０４は、サーバ１０２が対応している起動方法を、サーバ１０２に問い合わせて確認してもよいし、他の通信装置に問い合わせて確認してもよい。確認部３０４は、ＨＴＴＰ、ＨＴＴＰ／２、ＱＵＩＣ、ＸＭＰＰ、などのプロトコルを使用して確認を行うが、これらに限定されず、他のプロトコルで確認を行ってもよい。確認部３０４は、ＮＦＣやＢＬＥなどの方法で、サーバ１０２と接続し、確認を行ってもよい。確認部３０４は、確認した結果を記憶部２０３に記憶してもよい。確認部３０４は、サーバ１０２が起動方法に対応しているかを過去に一度確認している場合、記憶部２０３を参照して過去の結果を利用して確認してもよい。確認部３０４は、サーバ１０２が対応している起動方法を、事前に記憶部２０３に保存しておいてもよい。
【００２６】
起動テスト部３１６は、サーバ１０２に対して起動テストの開始を通知する。起動テスト部３１６は、サーバ１０２に起動テストに使用する起動方法、起動テストに関するパラメータ、及び、起動テストに使用する起動方法に紐づいたパラメータを通知する。例えば、起動方法としてＷｏＬを使用する場合、起動方法に紐づいたパラメータは、通信装置１０１のＭＡＣアドレス等が考えられる。起動テストに関するパラメータとは、起動テストの開始時刻、終了時刻、起動テストに失敗したかを判断するためのタイムアウト時間、起動パケットの送信回数、及び、起動パケットの送信タイミング等が考えられる。ただし、必ずしも上記のすべてのパラメータを通知する必要はない。また、詳しくは後述するが、本実施形態における起動パケットとは、スリープ状態（機能の一部を停止させた動作モード）から非スリープ状態に復帰させるためのパケットである。
【００２７】
タイムアウト時間は、通信装置１０１が設定してもよいし、通信装置１０１が、サーバ１０２またはその他の通信装置からタイムアウト時間を取得してもよい。また、通信装置１０１はＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）やパケットロス率等のネットワーク情報を所得し、それらの単一または組み合わせによってタイムアウト時間を計算して求めてもよい。タイムアウト時間は、通信装置１０１が非スリープ状態からスリープ状態に遷移するまでの時間としてもよい。この場合、スリープ状態に遷移するまでの時間（すなわち、タイムアウト時間）が経過するまでに起動テストに成功しなかった場合、通信装置１０１は、スリープ状態に遷移しない。
【００２８】
起動パケットの送信回数は、サーバ１０２が起動パケットを送信する回数である。サーバ１０２は、通知された送信回数だけ起動パケットを通信装置１０１に送信する。通信装置１０１は、起動パケットの送信回数をサーバ１０２に通知することで、起動パケットがパケットロスなどの偶発的要因で通信装置１０１に届かないのか、ネットワークにあるルータ等の中間装置によってパケットが落とされていて届かないのかを判断することが可能となる。
【００２９】
また、起動テスト部３１６は、サーバ１０２に対して、起動テストの終了を通知する。起動テスト部３１６は、起動テスト部３１６による起動が成功したかどうかを通知してもよいし、起動テストに成功するまでにかかった時間を当該通知に含めてもよい。また、これらの情報に限定されず、その他の情報を通知してもよい。また、起動テスト部３１６は、サーバ１０２に起動テストの開始、終了を通知する時に、ＨＴＴＰ、ＨＴＴＰ／２、ＱＵＩＣ、ＸＭＰＰなどのプロトコルを使用するが、これらに限定されず、他のプロトコルを使用してもよい。
【００３０】
受信制御部３０５は、サーバ１０２からの信号の受信を制御する。起動テスト部３１６がＷｏＬで起動テストを行っている場合、受信制御部３０５は、有線ＬＡＮ通信制御部３１２を通じて受信の制御を行う。
【００３１】
判断部３０６は、受信制御部３０５がサーバ１０２から受信した信号が、起動パケットであるかどうかを確認する。判断部３０６は、受信制御部３０５がサーバ１０２から受信した信号が起動パケットである場合、起動テストに成功したと判断する。判断部３０６は、受信制御部３０５がサーバ１０２から起動パケットを受信出来なかった場合、起動テストに失敗したと判断する。例えば、判断部３０６は、起動テスト部３１６により設定された所定のタイムアウト時間の間に受信制御部３０５がサーバ１０２から起動パケットを受信出来なかった場合に、起動テストに失敗したと判断する。また、判断部３０６は、通信装置１０１がスリープ状態の場合に、受信制御部３０５が受信した信号が、起動信号であるかどうかを判断する。
【００３２】
状態制御部３１０は、電源供給部２０６を通じて、通信装置１０１をスリープ状態と非スリープ状態を切り替えるための制御を行う。スリープ状態とは、通信装置１０１の機能の少なくとも一部を停止させた省電力状態をいう。例えば、電源供給部２０６が、有線ＬＡＮ制御部２０２に対しては電力の供給を続け、他の構成部に対する電源供給を停止する状態を表す。なお、本実施形態では、状態制御部３１０は一部の機能を停止させることでスリープ状態を実現する場合の例を中心に説明するが、これに限らない。例えば、通信装置１０１に含まれるＣＰＵのクロックの調節や、無線チップのオフなどモジュールやハードウェアの実行状態の制御によってスリープ状態を実現してもよい。状態制御部３１０は、複数あるＣＰＵのうち一部を利用しないように制御してもよいし、特定のデータ以外の情報を捨てるように制御してもよい。すなわち、本実施形態の通信装置１０１は、第１の動作モードと、第１の動作モードよりも消費電力が低い第２の動作モード（スリープ状態）とを含む複数の動作モードで動作することが可能である。また、スリープ状態は、消費電力の高さに応じて複数段階設けるようにしてもよい。なお、本実施形態では、状態制御部３１０は、ハードウェアの電源供給の制御を行うが、これに限らず、ソフトウエアの一部の機能を使用しないように制御することで省電力化を図ってもよい。また、状態制御部３１０は、起動テストを実施する場合に、通信装置１０１をスリープ状態に切り替えてもよい。このとき、起動テストに失敗したと判断された場合に、状態制御部３１０は、通信装置１０１を非スリープ状態に切り替えてもよい。
【００３３】
プッシュ通知受信部３１１は、プッシュ通知を受信する。プッシュ通知受信部３１１は、ＨＴＴＰ／２、ＷｅｂＳｏｃｋｅｔ、ＱＵＩＣ、ＸＭＰＰなどのプロトコルを使用してプッシュ通知を受信するが、これらに限定されず、他のプロトコルを使用してもよい。プッシュ通知受信部３１１は、ＨＴＴＰ／２を使用する場合、サーバ１０２との間にＨＴＴＰ／２のコネクションを確立する。プッシュ登録部３０２は、コネクション上にプッシュ通知を受信するためのストリームの予約要求（ＰＵＳＨ＿ＰＲＯＭＩＳＥフレーム）を送信する。サーバ１０２は、プッシュ通知を送信する時に、予約要求によって予約されたストリームを利用して、プッシュ通知を送信する。なお、ストリームの予約要求はサーバ１０２から受信してもよい。
【００３４】
有線ＬＡＮ通信制御部３１２は、有線ＬＡＮ制御部２０２を介した有線ＬＡＮ通信を制御する。表示処理部３１４は、表示部２０７を制御し、受信したプッシュ通知や、エラーメッセージなどの各種表示処理を行う。なお、本実施形態では、ユーザやアプリケーションにプッシュ通知やエラーメッセージを通知するために、表示手段を利用したが、これに限らず、ＬＥＤ点滅、画像、音、振動等の方式を利用してもよい。操作処理部３１５は、操作部２０４に対してユーザが行った操作に基づく処理を行う。
【００３５】
（フローチャート）
次に、図４を参照して、通信装置１０１の動作を詳細に説明する。図４は、本実施形態における通信装置１０１のフローチャートの一例を示す図である。なお、該フローチャートの説明には、図１３も参照される。図１３は、表示処理部３１４により行われる表示部２０７における画面例である。プッシュ登録部３０２は、接続部３０１を介してサーバ１０２に接続する（Ｓ４０１）。プッシュ登録部３０２は、プッシュ通知をサーバ１０２から受けるために必要な情報を登録する。一例として、プッシュ登録部３０２は、通信装置１０１のＩＰアドレス、通信装置１０１のＵＵＩＤ等の情報を登録する。
【００３６】
Ｓ４０１の処理にあたり、通信装置１０１は、ＳＳＤＰ、ｍＤＮＳ、ＷＳ−Ｄｉｓｃｏｖｅｒｙ、などのサーチプロトコルを用いて、サーバ１０２を検索してもよいし、ダイナミックＤＮＳ等を用いて動的にサーバ１０２との接続に必要な情報を取得してもよい。また、通信装置１０１は外部通信装置１０４、または、その他の通信装置からサーバ１０２のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、ＩＰアドレス、または、その他のサーバ１０２との接続に必要な情報を取得してもよい。
【００３７】
また、通信装置１０１が、Ｗｅｂブラウザの場合、サーバ１０２、外部通信装置１０４、または、その他通信装置から、ウェブページを取得し、ウェブページの記述をもとに、サーバ１０２を特定してもよい。ウェブページを構成する要素として、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル、Ｊａｖａｓｃｒｉｐｔファイル、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）ファイルなどがあるがこれらに限定されない。通信装置１０１は、記憶部２０３に保持されているＵＲＬ、ＩＰアドレス、または、その他のサーバ１０２との接続に必要な情報を取得してもよい。通信装置１０１は、ユーザからの入力に基づいて、サーバ１０２を決定してもよい。例えば、サーバ１０２のＵＲＬ、ＩＰアドレス、などがあるが、これらに限定されない。また、通信装置１０１は表示部２０７に、サーバ１０２として接続する先の候補を表示し、ユーザからの入力によってサーバ１０２を決定してもよい。
【００３８】
起動方法決定部３０３は、遠隔起動のテストを行うために使用する起動方法を決定する。本実施形態では、起動方法としてＷｏＬ（Ｗａｋｅ  ｏｎ  ＬＡＮ）を使用する。ＷｏＬでは、サーバ１０２はマジックパケットという起動パケットを送信する。ここでいうマジックパケットとは、ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦに続けて起動したい装置のＭＡＣアドレスを１６回繰り返したデータパターンが、ペイロードのどこかに含まれているようなパケットである。通信装置１０１は、サーバ１０２からマジックパケットを受信した場合に、サーバ１０２から遠隔起動されたと判断する。
【００３９】
ＷｏＬで使用するマジックパケットは、通信装置１０１とサーバ１０２の間にある、ルータ、ファイアウォール、またはその他の中間装置によって破棄されてしまうことがある。この場合、通信装置１０１に対する遠隔起動が行えなくなる可能性がある。本実施形態では、通信装置１０１は、起動テストによって、マジックパケットの受信が可能である事を確認することで、遠隔起動の成功の可能性を高めることが出来る。
【００４０】
なお、本実施形態では、ＷｏＬを例として説明するが、これに限らず、ＴＣＰ、ＵＤＰ、または、その他のプロトコルであっても、サーバ１０２が通信装置１０１に対して特殊なデータを送信することで、通信装置１０１を遠隔から起動することが出来る。その場合、通信装置１０１における受信部に、特殊なデータだけを受信するフィルタを設けることで、ホストＣＰＵの起動の介入頻度を低減させることができ、さらなる省電力化が図れる。
【００４１】
ＴＣＰを使用する場合、通信装置１０１は、ＴＣＰの接続を待ち受けるために通信装置１０１のＩＰアドレスと待ち受けを行うポート番号をサーバ１０２に登録しておく。サーバ１０２は、通信装置１０１が登録したＩＰアドレスとポート番号に対してＴＣＰで接続を行う。通信装置１０１は、サーバ１０２からのＴＣＰ接続を示すＳＹＮフラグが立っているパケットを受信した場合に、遠隔起動されたと判断することが出来る。通信装置１０１は、ＴＣＰ接続を示すＳＹＮフラグが立っているパケットを受信出来なかった場合、起動テストに失敗したと判断する。有線ＬＡＮ制御部２０２は、サーバ１０２から送信された特定のポート宛てのＳＹＮフラグが立っているパケットのみを処理する。その結果、ホストＣＰＵの起動の介入頻度を低減させることができ、さらなる省電力化が図れる。
【００４２】
Ｓ４０１の処理の後、確認部３０４は、サーバ１０２が、ＷｏＬに対応可能か否かを確認する。すなわち、確認部３０４は、サーバ１０２が、ＷｏＬのマジックパケットを送信可能か確認する（Ｓ４０２）。確認部３０４が、サーバ１０２がマジックパケットを送信不可能であることを確認した場合（Ｓ４０２でＮｏ）、表示処理部３１４は、表示部２０７に、エラー表示を行う（Ｓ４１３）。図１３（ａ）は、Ｓ４１３で行われるエラー表示の画面例である。ここで、ユーザがＹｅｓを選択した場合、状態制御部３１０は通信装置１０１を省電力状態に移行させず、すなわち、非スリープ状態において、プッシュ通知受信部３１１は、プッシュ通知受信のための待ち受けを行う。ユーザがＮｏを選択した場合、プッシュ通知受信部３１１はプッシュ通知受信のための待ち受けを終了する。なお、本実施形態では、通信装置１０１は、ユーザやアプリケーションにエラーを通知するために表示手段を利用したが、これに限らず、ＬＥＤ点滅、画像、音、振動、メッセージ等を利用してエラーを通知してもよい。
【００４３】
確認部３０４が、サーバがマジックパケットを送信可能であることを確認した場合（Ｓ４０２でＹｅｓ）、起動テスト部３１６は、サーバ１０２に、通信装置１０１のＭＡＣアドレスを登録する（Ｓ４０３）。起動テスト部３１６は、サーバ１０２にテストの開始を通知する（Ｓ４０４）。受信制御部３０５は、有線ＬＡＮ通信制御部３１２を通じてマジックパケットの待ち受けを開始する。ここで、状態制御部３１０が通信装置１０１をスリープ状態にさせてから、受信制御部３０５がマジックパケットの待ち受けを開始してもよい。
【００４４】
判断部３０６は、受信制御部３０５は受信したパケットが、通信装置１０１に対するマジックパケットかどうかを判断する（Ｓ４０５）。判断部３０６は、受信したパケットが、通信装置１０１に対するマジックパケットであると判断した場合（Ｓ４０５でＹｅｓ）、起動テストに成功したと判断する（Ｓ４０６）。続いて、起動テスト部３１６は、サーバ１０２に起動テストの終了を通知する（Ｓ４０７）。状態制御部３１０は、通信装置１０１をスリープ状態に移行させる（Ｓ４０８）。
【００４５】
判断部３０６は、受信したパケットがマジックパケットでないと判断した場合や、パケットを受信出来なかった場合（Ｓ４０５でＮｏ）、起動テストに失敗したと判断する（Ｓ４０９）。状態制御部３１０は、通信装置１０１をスリープ状態にして起動テストを行っていた場合、通信装置１０１を非スリープ状態になるように制御する。起動テスト部３１６は、サーバ１０２に起動テストの終了を通知する（Ｓ４１０）。また、表示処理部３１４は、表示部２０７に、エラー表示を行う。図１３（ｂ）は、Ｓ４１１で行われるエラー表示の画面例である。ここで、ユーザはＯＫを選択した場合、通信装置１０１とサーバ１０２間にあるルータの設定を行うこととなる。例えば、ユーザは、ルータに対し、マジックパケットを破棄せず送信するように設定を行う。
【００４６】
続いて、起動テスト部３１６は、起動テストを再度行うか判断する（Ｓ４１２）。起動テスト部３１６は、ユーザからの入力に基づいて、起動テストを再度行うかを判断してもよい。このとき、表示処理部３１４は、表示部２０７に、ユーザに起動テストを再度行うかを確認するための表示を行ってもよい。図１３（ｃ）は、Ｓ４１２で行われる表示の画面例である。ここで、ユーザがＹｅｓを選択した場合、再度起動テストが行われる（Ｓ４１２でＹｅｓ）。ユーザがＮｏを選択した場合、起動テストは行われない（Ｓ４１２でＮｏ）。起動テストが行われない場合、表示処理部３１４は、表示部２０７にエラー表示を行う（Ｓ４１４）。図１３（ａ）は、Ｓ４１４で行われるエラー表示の画面例である。ユーザがＹｅｓを選択した場合、状態制御部３１０は通信装置１０１を省電力状態に移行させず、すなわち、非スリープ状態において、プッシュ通知受信部３１１は、プッシュ通知受信のための待ち受けを行う。
【００４７】
（通信装置１０１とサーバ１０２間のシーケンス）
次に、図５と図６を参照して、起動テストに成功する場合と失敗する場合の通信装置１０１とサーバ１０２間のシーケンスについて説明する。図５は、起動テストに成功する場合のシーケンスの一例を示す図である。Ｍ５０１からＭ５０２はＳ４０１からＳ４０２の処理に対応する。Ｍ５０３は、Ｓ４０２でＹｅｓと判断した場合の処理である。Ｍ５０４は、Ｓ４０３の処理に対応する。Ｍ５０９は、Ｓ４０４の処理に対応する。Ｍ５０５は、Ｓ４０５でマジックパケットを受信した場合の処理である。Ｍ５０６は、Ｓ４０６の処理に対応する。Ｍ５０７は、Ｓ４０７の処理に対応する。Ｍ５０８は、Ｓ４０８の処理に対応する。
【００４８】
図５は、起動テストに失敗する場合のシーケンスの一例を示す図である。Ｍ６０１からＭ６０４は、Ｍ５０１からＭ５０４の処理と同じである。Ｍ６１５は、Ｍ５０９の処理と同じである。Ｍ６０５でサーバ１０２が送信したマジックパケットは、通信装置１０１とサーバ１０２の間にあるルータによって破棄される。Ｍ６０６で、判断部３０６は、マジックパケットが受信出来なかったことから、起動テストに失敗したと判断する（Ｓ４０９）。Ｍ６０７は、Ｍ５０７の処理と同じである。Ｍ６０８で、表示処理部３１４は、表示部２０７に、図１３（ｂ）で示すようなエラーを表示する。Ｍ６０９で、ユーザは、ルータに対し、マジックパケットを破棄せず送信するように設定を行う。
【００４９】
Ｍ６１０で、表示処理部３１４は、表示部２０７に、図１３（ｃ）で示すような表示を行う。ここで、ユーザがＹｅｓを選択したとして、再度起動テストが行われる。Ｍ６１６は、Ｍ６１５の処理と同じである。Ｍ６１２は、Ｍ５０６の処理と同じである。Ｍ６１３は、Ｍ５０７の処理と同じである。Ｍ６１４は、Ｍ５０８の処理と同じである。
【００５０】
以上説明したように、本実施形態では、ルータなどの中間装置によりサーバ１０２から送信された起動パケットが通信装置１０１に到達できない場合に、ユーザに対して適切な対応を促したり、通信装置１０１を非スリープ状態とする。これにより、遠隔起動できなくなるという課題を解決することが出来る。
【００５１】
なお、本実施形態では有線ＬＡＮを用いて説明したが、これに限らず、無線ＬＡＮ、無線アドホックネットワーク、ＢＬＥ、Ｚｉｇｂｅｅ（登録商標）、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）、Ｗｉ−Ｆｉ  Ａｗａｒｅ（登録商標）、３ＧＰＰ、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、公衆無線、ＵＳＢ、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、光通信、および、その他の有線及び無線方式等の複合であっても実現できる。
【００５２】
［実施形態２］
（システム構成）
図７は、実施形態２におけるシステム構成の概略図である。以下、実施形態１において説明した図１との差分を説明する。通信装置７０１は、プッシュ通知を受信する通信装置である。通信装置７０１は、デジタルカメラ、プロジェクタ、監視カメラ、デジタルビデオカメラ、ＭＦＰ、プリンタ等の機器であり、無線ＬＡＮアクセスポイント７０６を通じて、サーバ１０２と通信を行う。本実施形態では、無線ＬＡＮアクセスポイント７０６を介して通信を行っているが、サーバ１０２とダイレクトで接続してもよい。通信装置７０１は、スマートフォン、タブレット、ＰＣなどの装置であってもよいし、これらの装置上で動作するアプリケーションやＷｅｂブラウザであってもよい。通信装置７０１は、複数の装置およびサーバやサービス等の組み合わせによって実現されてもよい。通信装置７０１は、温度、湿度、位置情報、照度、人感検知などの機能を有していてもよい。
【００５３】
通信装置７０１は、ＢＬＥ接続７０３を利用し、ＢＬＥ通信でサーバ１０２と通信する。本実施形態では、通信装置７０１とサーバ１０２がＢＬＥを介して通信を行うことが可能であるが、これに限らず、ＺｉｇＢｅｅ（登録商標）、ＮＦＣ、Ｗｉ−Ｆｉ  Ａｗａｒｅ（登録商標）などで通信を行ってもよい。
【００５４】
（ハードウェア構成）
図８は、通信装置７０１のハードウェア構成の一例を示す図である。以下、実施形態１において説明した図２との差分を説明する。無線ＬＡＮ制御部８０２は、無線ＬＡＮアンテナ８０９を介して行う無線通信を制御する。無線ＬＡＮ制御部８０２は、ＵＳＢ等で装着される外部デバイスであってもよい。ＢＬＥ制御部８０５は、ＢＬＥアンテナ８１０を介して行うＢＬＥ通信を制御する。ＢＬＥ制御部８０５は、ＵＳＢ等で装着される外部デバイスであってもよい。本実施形態では、通信装置７０１は無線ＬＡＮとＢＬＥによって通信を行うことができるが、通信装置７０１は、有線ＬＡＮ、ＮＦＣ、公衆無線など、その他の有線及び無線方式により通信するための制御部、および、インターフェースを備えていてもよい。
【００５５】
（機能構成）
図９は、通信装置７０１の機能構成を示す図である。以下、実施形態１において説明した図３との差分を説明する。ＢＬＥ通信制御部９１２は、ＢＬＥ制御部８０５を制御して、ＢＬＥ通信を行う。無線ＬＡＮ通信制御部９１３は、無線ＬＡＮ制御部８０２を制御して、無線ＬＡＮ通信を行う。
【００５６】
（フローチャート）
次に、図１０を参照して、通信装置７０１の動作を詳細に説明する。図１０は、本実施形態における通信装置７０１のフローチャートの一例を示す図である。なお、該フローチャートの説明には、図１３と図１４も参照される。図１３と図１４は、表示処理部３１４により行われる表示部２０７における画面例である。
【００５７】
通信装置７０１は、サーバ１０２とＷｉ−Ｆｉで接続する（Ｓ１００１）。Ｓ１００２は、Ｓ４０１の処理と同じである。Ｓ１００３で、判断部３０６は、通信装置７０１をスリープ状態に移行させ、プッシュ通知を受信する状態とするかを判断する。すなわち、判断部３０６は、省電力モード（スリープ状態）に移行するかを判断する。ここで、省電力モード（スリープ状態）とは、通常の動作モードよりも消費電力が低い動作モードである。すなわち、通信装置７０１は、第１の動作モードと、第１の動作モードよりも消費電力が低い第２の動作モード（スリープ状態）とを切り替えることができる。また、スリープ状態は、消費電力の高さに応じて複数段階設けるようにしてもよい。また、判断部３０６は、表示処理部３１４を通じて表示部２０７にユーザからの入力を促すための画面を表示してもよい。図１４（ａ）は、Ｓ１００３で行われる表示の画面例である。判断部３０６が省電力モード（スリープ状態）に移行しないと判断した場合（Ｓ１００３でＮｏ）、表示処理部３１４は、表示部２０７にてエラー表示を行い、処理を終了する（Ｓ１０１８）。図１４（ｂ）は、Ｓ１０１８で行われるエラー表示の画面例である。ここで、ユーザがＯＫを選択した場合、状態制御部３１０は通信装置７０１を省電力状態に移行させず、すなわち、非スリープ状態において、プッシュ通知受信部３１１は、プッシュ通知受信のための待ち受けを行う。なお、Ｓ１０１８において、表示処理部３１４は、表示部２０７に他のメッセージを表示してもよい。例えば、表示部２０７は、「省電力状態に移行しないと、電池が切れるまでの時間が短くなります」というメッセージを表示してもよい。
【００５８】
判断部３０６が省電力モードに移行すると判断した場合（Ｓ１００３でＹｅｓ）、判断部３０６は、ＢＬＥを使用して省電力状態に移行するかを判断する（Ｓ１００４）。判断部３０６は、表示処理部３１４を通じて表示部２０７にユーザからの入力を促すための画面を表示してもよい。図１４（ｃ）は、Ｓ１００４で行われる表示の画面例である。ここでユーザがＹｅｓを選択した場合（Ｓ１００４でＹｅｓ）、判断部３０６は、ＢＬＥを使用して起動が出来るか確認を行う。確認後、起動テスト部３１６は、サーバ１０２に対し、ＢＬＥを使用した起動テストを開始することを通知する（Ｓ１００５）。ＢＬＥ通信制御部９１２は、ＢＬＥ制御部８０５を制御し、ＢＬＥインターフェースを起動する（Ｓ１００６）。ＢＬＥ通信制御部９１２は、ＢＬＥの仕様で定められている報知信号の送信を開始する（Ｓ１００７）。ＢＬＥ通信制御部９１２は、サーバ１０２からの接続要求を待ち受ける（Ｓ１００８）。判断部３０６は、ＢＬＥ通信制御部９１２がサーバ１０２から接続要求を受信出来るかどうかを判断する。
【００５９】
判断部３０６は、ＢＬＥ通信制御部９１２がサーバ１０２からの接続要求を受信した場合（Ｓ１００８でＹｅｓ）、テストに成功したと判断する（Ｓ１００９）。起動テスト部３１６は、サーバ１０２に対してテスト終了を通知する（Ｓ１０１１）。状態制御部３１０は、通信装置７０１をスリープ状態に移行させる（Ｓ１０１２）。なお、本実施形態では、少なくともＢＬＥ制御部８０５に電源が供給されている状態をスリープ状態という。スリープ状態の場合、ＢＬＥ通信制御部９１２は、サーバ１０２とＢＬＥで接続した状態を維持してもよい、報知信号を定期的に送信していてもよい。
【００６０】
判断部３０６は、ＢＬＥ通信制御部９１２が接続要求を受信できなかった場合（Ｓ１００８でＮｏ）、起動テストに失敗したと判断する（Ｓ１０１３）。また、判断部３０６は、通信装置７０１とサーバ１０２の距離がＢＬＥで接続可能な距離よりも離れている場合や、接続可能な範囲内であっても電波強度が弱くて途中でパケットが落ちていると判断した場合に、起動テストに失敗したと判断してもよい。判断部３０６は、ＢＬＥ通信制御部９１２が接続要求を受信できた場合であっても、接続要求のＲＳＳＩ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ）を測定し、所定の値より小さい場合は、ＢＬＥの接続が切れる可能性があるので、起動テストに失敗したと判断してもよい。
【００６１】
起動テスト部３１６は、サーバ１０２にテストの終了を通知する（Ｓ１０１４）。起動テスト部３１６が行う通知には、遠隔起動に成功したかどうかを示す情報が含まれていてもよい。ＢＬＥ通信制御部９１２は、ＢＬＥインターフェースを停止する（Ｓ１０１５）。表示処理部３１４は、表示部２０７に、エラー表示を行う（Ｓ１０１６）。図１３（ｄ）は、Ｓ１０１６で行われるエラー表示の画面例である。
【００６２】
起動テスト部３１６は、起動テストを再度行うか判断する（Ｓ１０１７）。ここで、起動テスト部３１６は、表示処理部３１４を通じて、表示部２０７にユーザからの入力を促すための画面を表示し、これに応じたユーザからの入力に基づいて、起動テストを再度行うかを判断してもよい。図１３（ｅ）は、Ｓ１０１７で行われる表示の画面例である。ここで、ユーザがＹｅｓを選択した場合、起動テスト部３１６は、再度起動テストを行う（Ｓ１０１７でＹｅｓ）。ユーザがＮｏを選択した場合、起動テスト部３１６は、起動テストは行わない（Ｓ１０１７でＮｏ）。
【００６３】
Ｓ１００４でＮｏ、Ｓ１０１７でＮｏ、または、Ｓ１０２２でＮｏの場合、起動テスト部３１６は、他の無線方式で、すなわち、前回とは異なる起動方法を用いてテストを行うかを判断する（Ｓ１０１９）。起動テスト部３１６は、表示処理部３１４を通じて、表示部２０７にユーザからの入力を促すための画面を表示し、これに応じたユーザからの入力に基づいて、他の無線方式で起動テストを行うかを判断してもよい。図１３（ｆ）は、Ｓ１０１９で行われる表示の画面例である。ここで、ユーザがＺｉｇＢｅｅで起動テストを行うという選択をした場合、起動テスト部３１６は、ＺｉｇＢｅｅでテストを行う。図１３（ｆ）の画面例では、ＺＩｇＢｅｅで起動テストを行うかどうかが表示されているが、表示部２０７は、Ｗｉ−Ｆｉ、ＮＦＣ、Ｗｉ−Ｆｉ  Ａｗａｒｅ(登録商標)、ＷｏＷＬＡＮ、その他の無線方式を表示してもよい。なお、これらの無線方式による起動テストの方法は公知であるためここでは説明を省略する。さらに、通信装置７０１は、それぞれの無線方式を利用したアプリケーションで起動を実施してもよい。また、本実施形態では無線の通信方式による例を記載したが、これに限らず、光通信や優先など他の通信方式であっても実現できる。また、通信装置７０１は、複数の無線方式をユーザに提示し、ユーザに選択するように促してもよい。
【００６４】
起動テスト部３１６が他の無線方式でテストを行わないと判断した場合（Ｓ１０１９でＮｏ）、表示処理部３１４を通じて表示部２０７にエラー表示を行う（Ｓ１０２０）。図１３（ａ）は、Ｓ１０２０で行われるエラー表示の画面例である。ユーザがＹｅｓを選択した場合、状態制御部３１０は通信装置１０１を省電力状態に移行させず、すなわち、非スリープ状態において、プッシュ通知受信部３１１は、プッシュ通知受信のための待ち受けを行う。ユーザがＮｏを選択した場合、プッシュ通知受信部３１１は、プッシュ通知受信のための待ち受けを終了する。
【００６５】
起動テスト部３１６が他の無線方式でテストを行うと判断した場合（Ｓ１０１９でＹｅｓ）、他の無線方式で起動テストを行い、起動テストが成功したかを判断する（Ｓ１０２１）。起動テスト部３１６が起動テストに成功したと判断した場合（Ｓ１０２１でＹｅｓ）、処理はＳ１０１２に遷移する。起動テスト部３１６は、他の無線方式での起動テストに失敗したと判断した場合（Ｓ１０２１でＮｏ）、再度起動テストを行うかを判断する（Ｓ１０２２）。起動テスト部３１６は、ユーザからの入力に基づいて、再度起動テストを行うかを決定してもよい。
【００６６】
起動テスト部３１６が再度起動テストを行わないと判断した場合（Ｓ１０２２でＮｏ）、処理はＳ１０１９に遷移する。Ｓ１０１９の処理は、上述の通りである。起動テスト部３１６が再度起動テストを行うと判断した場合（Ｓ１０２２でＹｅｓ）、処理はＳ１０２４に遷移する。起動テスト部３１６が、テストに失敗した原因が、サーバ１０２との距離が離れているため接続できなかったと判断した場合（Ｓ１０２４でＹｅｓ）、処理はＳ１０２３に遷移し、表示処理部３１４を通じて表示部２０７にエラー表示を行う。図１４（ｄ）は、Ｓ１０２３で行われるエラー表示の画面例である。
【００６７】
表示処理部３１４は、サーバとの距離が離れていないがテストに失敗したと判断した場合（Ｓ１０２４でＮｏ）、処理はＳ１０２５に遷移し、表示処理部３１４を通じて表示部２０７にエラー表示を行う。図１４（ｅ）は、Ｓ１０２５で行われるエラー表示の画面例である。なお、本実施形態では、通信装置７０１は、距離が足りていない場合や、パケットが落ちている場合をエラーと扱うが、これらのエラーに限定されない。通信装置７０１は、既存の無線方式で遠隔起動を行った場合に起きうるその他のエラーを、エラーと扱ってもよい。
【００６８】
（通信装置７０１とサーバ１０２間のシーケンス）
次に、図１１と図１２を参照して、起動テストに成功する場合と失敗する場合の通信装置７０１とサーバ１０２間のシーケンスについて説明する。図１１は、起動テストに成功する場合のシーケンスの一例を示す図である。Ｍ１１０１からＭ１１０２は、Ｓ１００１からＳ１００２の処理に対応する。Ｍ１１０３は、Ｓ１００３でＹｅｓと判断する場合の処理に対応する。Ｍ１１０４は、Ｓ１００４でＹｅｓと判断する場合の処理に対応する。Ｍ１１０５からＭ１１０７は、Ｓ１００５からＳ１００７の処理に対応する。Ｍ１１０８で、通信装置７０１とサーバ１０２の距離が離れているため、通信装置７０１は、ＢＬＥの仕様で定められている接続要求を受信することが出来ない。Ｍ１１０９は、判断部３０６によって、Ｓ１００８でＮｏと判断されてＳ１０１３に遷移した場合の処理である。Ｍ１１１０からＭ１１１２は、Ｓ１０１４からＳ１０１５の処理に対応する。
【００６９】
Ｍ１１１２は、Ｓ１０１６の処理に対応する。ここで、エラー表示として、図１３（ｄ）で示すように、距離が離れていて接続できないことを表示する。ユーザは、Ｍ１１１２のエラー表示をもとに、通信装置７０１とサーバ１０２の距離を近づける。Ｍ１１１４で、ユーザは、例えば図１３（ｅ）に示す画面上で操作を行い、ＢＬＥで再度起動テストを行う。Ｍ１１１５からＭ１１１７は、Ｍ１１０５からＭ１１０７の処理と同じである。Ｍ１１１８で、受信制御部３０５は、ＢＬＥの接続要求を受信する。Ｍ１１１９は、Ｓ１００９の処理に対応する。Ｍ１１２０からＭ１１２１は、Ｓ１０１１からＳ１０１２の処理に対応する。
【００７０】
図１２は、起動テストに失敗後に再度起動テストを行わないことを選択した場合（Ｓ１０１７でＮｏ）のシーケンスである。Ｍ１３０１は、Ｓ１０１７でＮｏと判断した場合の処理に対応する。Ｍ１３０２は、Ｓ１０１９でＹｅｓと判断した場合の処理に対応する。Ｍ１３０４で、通信装置７０１は、サーバ１０２と、他の無線方式での起動テストを行う。他の無線方式による起動テストの方法のシーケンスは、公知であるためここでは説明を省略する。Ｍ１３０４は、Ｓ１０２１でＮｏと判断された場合の処理に対応する。Ｍ１３０５は、Ｓ１０２２でＹｅｓと判断された場合の処理に対応する。Ｍ１３０６で、ユーザはエラー表示に基づく対処を行う。例えば、Ｓ１０２４でＹｅｓと判断された場合は、ユーザは、通信装置７０１とサーバ１０２を近づける。Ｓ１０２５でＮｏと判断された場合は、ユーザは、通信装置７０１とサーバ１０２の間にあるルータの設定を変更したり、別のルータに取り換えたりする。Ｍ１３０７で、通信装置７０１は、他の無線方式でのテストを再度行う。Ｍ１３０８は、Ｓ１０１２の処理に対応する。
【００７１】
なお、本実施形態では、ＢＬＥを例として説明しているが、これに限らず、ＺＩｇＢｅｅ、Ｗｉ−Ｆｉ、ＮＦＣ、Ｗｉ−Ｆｉ  Ａｗａｒｅ(登録商標)、ＷｏＷＬＡＮ、その他の無線方式を使用してもよい。また、本実施形態では、通信装置７０１は、ＢＬＥでの起動に成功した場合に、スリープ状態に移行しているが、これに限らず、複数の起動方法で起動テストを行ってもよい。例えば、通信装置７０１がＷｉ−ＦｉとＢＬＥといった複数のインターフェースを持つ場合、省電力効果の高い待ち受け方法を選択できる。その結果、さらなる消費電力の低減を図ることが出来る。
【００７２】
また、通信装置７０１は、複数のインターフェースを持つ場合、接続距離が長い待ち受け方法を選択することが出来る。その結果、通信装置７０１、または、サーバ１０２の移動や、その他の要因により、接続が切れる可能性を低減できる。その結果、通信装置７０１を遠隔起動できる可能性を高めることが出来る。また、通信装置７０１は、複数インターフェースのうち、起動できないインターフェースがあった場合にも、他のインターフェースを使用することで、遠隔起動できる可能性を高めることが出来る。
【００７３】
また、通信装置７０１は、通信装置７０１とサーバ１０２の距離が遠い可能性があるというエラー表示を行ってもよい。その結果、接続出来ない可能性を低減し、遠隔起動できる可能性を高めることが出来る。また、通信装置７０１とサーバ１０２の間でパケットが落ちている可能性があるというエラー表示を行ってもよい。その結果、ユーザは、通信装置７０１とサーバ１０２の間のルータなどの取りはずしや、ルータなどの設定を変更することが可能となり、パケットが落ちる可能性を低減し、遠隔起動できる可能性を高めることが出来る。このように、本実施形態では省電力と利便性を両立することが出来る。
【００７４】
［実施形態３］
図１５は、実施形態３におけるシステム構成の概略図である。以下、実施形態２において説明した図７との差分を説明する。本実施形態において、プロキシ装置１５０１は、通信装置７０１とサーバ１０２と通信可能である。プロキシ装置１５０１は、通信装置７０１の代わりにサーバ１０２に接続し、通信装置７０１宛てのプッシュ通知（メッセージ）を受信する。プロキシ装置１５０１は、サーバ１０２からのプッシュ通知の受信を契機に、通信装置７０１を遠隔起動し、受信したプッシュ通知を送信する。
【００７５】
本実施形態において、通信装置７０１は、プロキシ装置１５０１との間で、起動テストを行う。そのため、プロキシ装置１５０１は、サーバ１０２が有する起動テストを行う機能、および、遠隔起動を行う機能を有する。本実施形態において、プロキシ装置１５０１は、通信装置７０１がプッシュ通知を受信するためのプロトコルのセッションのプロキシ処理は行わなくてもよい。
【００７６】
プロキシ装置１５０１は、デジタルカメラ、プロジェクタ、監視カメラ、デジタルビデオカメラ、ＭＦＰ、プリンタ等の機器であり、無線ＬＡＮアクセスポイント７０６を通じて、通信装置７０１と通信を行う。本実施形態では、プロキシ装置１５０１は、無線ＬＡＮアクセスポイント７０６を介して通信装置１０１と通信を行っているが、通信装置７０１と直接接続してもよい。プロキシ装置１５０１は、スマートフォン、タブレット、ＰＣなどの装置であってもよいし、これらの装置上で動作するアプリケーションやＷｅｂブラウザであってもよい。プロキシ装置１５０１は、複数の装置およびサーバやサービス等の組み合わせによって実現されてもよい。
【００７７】
本実施形態では、プロキシ装置１５０１は、有線ＬＡＮにより、ネットワーク１５０２を介してサーバ１０２と接続する。なお、ネットワーク１５０２は、インターネット、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、等のネットワークや、これらの複合であっても実現できる。ネットワーク１０３は、無線ＬＡＮ、無線アドホックネットワーク、有線ＬＡＮ、ＢＬＥ、Ｚｉｇｂｅｅ（登録商標）、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）、Ｗｉ−Ｆｉ  Ａｗａｒｅ（登録商標）、３ＧＰＰ、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、公衆無線、ＵＳＢ、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、その他の有線及び無線方式等の複合であっても実現できる。
【００７８】
プロキシ装置１５０１は、ＢＬＥ接続７０３を利用し、ＢＬＥ通信で通信装置７０１と通信する。本実施形態では、プロキシ装置１５０１と通信装置７０１がＢＬＥを介して通信を行うが、これに限らず、ＺｉｇＢｅｅ（登録商標）、ＮＦＣ、Ｗｉ−Ｆｉ  Ａｗａｒｅ（登録商標）などで通信を行ってもよい。
【００７９】
（ハードウェア構成）
図１６は、プロキシ装置１５０１のハードウェア構成の一例を示す図である。図１６に含まれる各構成部は、図２と図８に示した構成部と同様であるため、説明を省略する。
【００８０】
（機能ブロック）
図１７は、プロキシ装置１５０１の機能構成の一例を示す図である。以下、実施形態２において説明した図９との差分を説明する。接続部１７０１は、無線ＬＡＮ通信制御部９１３を介して、通信装置７０１と接続する。起動方法決定部１７０３は、通信装置７０１を遠隔起動させる起動方法を決定する。判断部１７０５は、通信装置７０１の遠隔起動テストに成功したかどうかを判断する。また、判断部１７０５は、通信装置７０１の遠隔起動に成功したかどうかを判断する。起動テスト部１７１６は、通信装置７０１の遠隔起動テストを行う。プッシュ通知送信部１７１９は、プッシュ通知受信部３１１はサーバ１０２から受信したプッシュ通知を通信装置７０１に送信する。遠隔起動部１７１８は、プッシュ通知受信部３１１がサーバ１０２からプッシュ通知を受信した場合に、通信装置７０１を遠隔起動する。
【００８１】
（フローチャート）
次に、図１８を参照して、プロキシ装置１５０１の動作を詳細に説明する。図１８は、プロキシ装置１５０１のフローチャートの一例を示す図である。接続部１７０１は、無線ＬＡＮ通信制御部９１３を介して、通信装置７０１と通信を行う（Ｓ１８０１）。起動テスト部１７１６が、通信装置７０１から、起動テスト開始の通知を受信した場合（Ｓ１８０２でＹｅｓ）、通信装置７０１を遠隔起動出来るかを判定するためのテストを開始する（Ｓ１８０３）。遠隔起動に使用する通信方式としては、ＢＬＥ、ＺｉｇＢｅｅ、Ｗｉ−Ｆｉ、ＮＦＣ、Ｗｉ−Ｆｉ  Ａｗａｒｅ(登録商標)、ＷｏＷＬＡＮ、その他の無線方式があるが、これらに限定されない。これらの無線方式による起動テストの方法は公知であるため、ここでは説明を省略する。Ｓ１８０２でＮｏの場合、Ｓ１８１２において、プロキシ装置１５０１の表示処理部３１４が表示部２０７にエラー表示を行い、本フローチャート上の処理は終了する。図１４（ｆ）は、Ｓ１８１２で行われるエラー表示の画面例である。
【００８２】
起動テスト部１７１６は、通信装置７０１から、テスト終了の通知を受信する（Ｓ１８０４）。起動テスト部１７１６が受信するテスト終了の通知は、遠隔起動に成功したかどうかを示す情報を含むことができる。判断部１７０５は、テスト終了の通知に基づいて、テストに成功したか、すなわち、遠隔起動に成功したかどうかを判断する（Ｓ１８０５）。なお、判断部１７０５は、Ｓ１８０４で受け取った通知から遠隔起動に成功したかを判断してもよいし、Ｓ１８０３で遠隔起動に使用する方法で通信装置７０１と接続できたかどうかで判断してもよい。また、遠隔起動に成功したかどうかを判断する方法は、これらに限定されない。
【００８３】
判断部１７０５が遠隔起動に失敗したと判断した場合（Ｓ１８０５でＮｏ）、処理はＳ１８０２に遷移する。判断部１７０５が遠隔起動に成功したと判断した場合（Ｓ１８０５でＹｅｓ）、プッシュ通知受信部３１１は、サーバ１０２に接続し、プッシュ通知の待ち受けを開始する（Ｓ１８０６）。起動方法決定部１７０３は、テストに成功した方法を、通信装置７０１を起動する起動方法として決定する。
【００８４】
プッシュ通知受信部３１１は、ＨＴＴＰ／２を使用する場合、サーバ１０２との間にＨＴＴＰ／２のコネクションを確立する。プッシュ登録部３０２は、コネクション上にプッシュ通知を受信するためのストリームの予約要求（ＰＵＳＨ＿ＰＲＯＭＩＳＥフレーム）を送信する。サーバ１０２は、プッシュ通知を送信する時に、予約要求によって予約されたストリームを利用して、プッシュ通知を送信する。プッシュ通知受信部は、Ｓ１８０７でプッシュ通知を受信する。プッシュ通知の受信にＨＴＴＰ／２を使用している場合、プッシュ通知受信部３１１は、予約要求によって予約されたストリームを使用して、サーバ１０２からプッシュ通知を受信する。
【００８５】
遠隔起動部１７１８は、通信装置７０１を遠隔起動する（Ｓ１８０８）。通信装置７０１の遠隔起動に成功した場合（Ｓ１８０８でＹｅｓ）、プッシュ通知送信部１７１９は、Ｓ１８０７で受信したプッシュ通知を通信装置７０１に送信する。遠隔起動部１７１８が、通信装置７０１の遠隔起動に失敗した場合（Ｓ１８０８でＮｏ）、プッシュ通知受信部３１１は、受信したプッシュ通知を記憶部２０３に保存する（Ｓ１８１０）。遠隔起動部１７１８は、遠隔起動に失敗したと判断した場合、表示処理部３１４を通じて表示部２０７にエラー表示を行う。図１４（ｇ）は、Ｓ１８１０で行われるエラー表示の画面例である。本実施形態では、ＧＵＩでの表示方式としたがこれに限らず、ＬＥＤの点滅、画像、音、振動、メッセージなどの方式を用いてもよい。また、遠隔起動部１７１８は、表示処理部３１４を通じて表示部２０７に、ユーザからの入力を促すための画面を表示してもよい。図１４（ｈ）では、ユーザからの入力を促すための画面例である。ここで、ユーザがＹｅｓを選択した場合、表示処理部３１４は、プッシュ通知の内容を表示部２０７に表示してもよい。
【００８６】
遠隔起動部１７１８が遠隔起動に失敗したと判断する条件として、遠隔起動を行う無線の接続が切れている、一定回数パケットを送信したが通信装置７０１が反応しない、などがあるが、これらに限定されない。また、複数の遠隔起動方法がある場合、遠隔起動部１７１８は、複数の方法で起こすことに失敗した場合に、遠隔起動に失敗したと判断してもよい。
【００８７】
（通信装置７０１、プロキシ装置１５０１、およびサーバ１０２間のシーケンス）
次に、図１９を参照して、遠隔起動に成功する場合の参照しながら、遠隔起動に成功する場合の通信装置７０１、プロキシ装置１５０１、およびサーバ１０２間のシーケンスにつちえ説明する。図１９は。遠隔起動に成功する場合のシーケンスの一例を示す図である。本実施形態では、実施形態２において説明した図１３でサーバ１０２が行っていた起動テストを行う機能を、プロキシ装置１５０１が有している。
【００８８】
Ｍ１１０３からＭ１１２１は、図１３におけるサーバ１０２をプロキシ装置１５０１に置き換えたものである。プロキシ装置１５０１は、通信装置７０１との間で起動テストを行う。Ｍ１９０１で、プロキシ装置１５０１は、通信装置７０１を遠隔起動可能であると判断する（Ｓ１８０５でＹｅｓ）。Ｍ１９０２で、プロキシ装置１５０１は、サーバ１０２と接続し、通信装置７０１宛てのプッシュ通知の待ち受けを開始する。Ｓ１９０３でサーバ１０２は、通信装置７０１宛てのプッシュ通知をプロキシ装置１５０１に送信する。Ｍ１９０４で、プロキシ装置１５０１は、通信装置７０１を遠隔起動する。Ｍ１９０５で、プロキシ装置１５０１は、通信装置７０１の遠隔起動に成功したと判断する。Ｍ１９０６で、プロキシ装置１５０１は、プッシュ通知を通信装置７０１に送信する。Ｍ１９０４で、通信装置７０１の遠隔起動に失敗した場合、Ｍ１９０５が遠隔起動失敗となる。その後、プッシュ通知受信部３１１は、受信したプッシュ通知を記憶部２０３に保存する。
【００８９】
なお、本実施形態では、遠隔起動に成功したら、プッシュ通知の待ち受けを開始しているが、これに限らず、複数の方法で、遠隔起動のテストを行ってもよい。複数の起動方法で遠隔起動のテストを行った場合、通信装置７０１を起こす方法を複数使用することが可能となり、通信装置７０１を遠隔起動出来る確率を高めることが出来る。
【００９０】
また、複数の遠隔起動方法を登録する場合、優先順位をつけてもよい。例えば、消費電力が少ない方法の優先度を高くすると、より消費電力が少ない遠隔起動方法が優先されるので、さらなる消費電力の軽減を図れる。あるいは、無線の接続可能である範囲が長い方法の優先度を高くすると、通信装置７０１またはプロキシ装置１５０１の移動により接続が切れる可能性が低減する。その結果、通信装置７０１の遠隔起動に成功する確率を高めることが出来る。
【００９１】
このように、以上に述べた実施形態によれば、通信装置は、プッシュ通知を受信する前に、通信相手の装置との間で起動テストを行う。この起動テストに成功した場合に、通信装置はスリープ状態となる。一方、失敗した場合に、ユーザが環境を整備して再度起動テストを行なったり、通信装置は非スリープ状態となる。すなわち、通信装置は、事前に遠隔起動が可能かが判断され、該判断に応じた状態に移行したり、ユーザにより遠隔起動が可能なように環境が整備される。これにより、通信装置が遠隔から起動された場合に、スリープ状態から復帰できる可能性を高めることが可能となる。
【００９２】
なお、以上述べてきた実施形態は、通信装置をスリープ状態に遷移させる条件が成立したときに起動テストを行い、スリープ状態に復帰できる場合にスリープ状態に遷移させるものである。しかしながら、それに限らない。例えば、スリープ状態に遷移させる条件が成立した場合、所定時間内、または通信装置の位置などの状態が変化していない場合にスリープ状態から復帰できることが可能と判定されている場合には、特別な起動テストを行う必要はない。
【００９３】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９４】
１０１  通信装置、２０１  制御部、２０２  有線ＬＡＮ制御部、３０３  起動手段決定部、３０４  確認部、３０５  受信制御部、３０６  判断部、３１０  状態制御部、３１２  有線ＬＡＮ制御部、３１６  起動テスト部
【図１】
0006559038.tif 000002
【図２】
0006559038.tif 000003
【図３】
0006559038.tif 000004
【図４】
0006559038.tif 000005
【図５】
0006559038.tif 000006
【図６】
0006559038.tif 000007
【図７】
0006559038.tif 000008
【図８】
0006559038.tif 000009
【図９】
0006559038.tif 000010
【図１０】
0006559038.tif 000011
【図１１】
0006559038.tif 000012
【図１２】
0006559038.tif 000013
【図１３】
0006559038.tif 000014
【図１４】
0006559038.tif 000015
【図１５】
0006559038.tif 000016
【図１６】
0006559038.tif 000017
【図１７】
0006559038.tif 000018
【図１８】
0006559038.tif 000019
【図１９】
0006559038.tif 000020