(57)【要約】【課題】省電力状態からの復帰時の通信エラーの発生を低減する。【解決手段】情報処理装置は、第１の動作モードから、該第１の動作モードよりも前記情報処理装置の消費電力が低い第２の動作モードへ移行するための制御を行い、前記第２の動作モードで動作中に前記第１の動作モードへ移行するための要求を他の装置から受信し、該要求を受信したことに応答して、該第２の動作モードから該第１の動作モードへ移行するための制御を行い、該第２の動作モードから該第１の動作モードへ移行時のネットワーク設定情報が、該第１の動作モードから前該第２の動作モードへ移行時と異なるか否かを判定し、該第２の動作モードから該第１の動作モードへ移行時に、該判定の結果に応じて異なる状態でネットワーク通信を行う。【選択図】図７
2017102584.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
第１の動作モードから、該第１の動作モードよりも前記情報処理装置の消費電力が低い第２の動作モードへ移行するための制御を行う第１の制御手段と、
前記第２の動作モードで動作中に前記第１の動作モードへ移行するための要求を他の装置から受信する受信手段と、
前記要求を受信したことに応答して、前記第２の動作モードから前記第１の動作モードへ移行するための制御を行う第２の制御手段と、
前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と異なるか否かを判定する判定手段と、
前記第２の動作モードから前記第１の動作モードへ移行時に、前記判定手段による判定結果に応じて異なる状態でネットワーク通信を行う通信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記判定手段により、前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と異なると判定された場合、前記通信手段は、新たにネットワーク通信の設定を行い、ネットワーク通信を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段により、前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と同じと判定された場合、前記通信手段は、新たなネットワーク通信の設定を行うことなく、ネットワーク通信を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段により、前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と異なると判定された場合、前記第２の制御手段は、前記情報処理装置の起動時の状態となるように前記情報処理装置をリセットすることを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記判定手段により、前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と同じと判定された場合、前記第２の制御手段は、前記第１の動作モードから前記第２の動作モードへ移行する直前の状態となるように前記情報処理装置を復元させることを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置の復元に応じて復元されるアプリケーション機能を更に有し、
前記判定手段により、前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と異なると判定された場合、前記第２の制御手段は、前記第１の動作モードから前記第２の動作モードへ移行する直前の状態となるように前記情報処理装置を復元させた後、該復元に応じて復元されたアプリケーション機能を終了させ、
前記通信手段は、新たにネットワーク通信の設定を行い、ネットワーク通信を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記ネットワーク設定情報は、前記情報処理装置のＩＰアドレスの情報を含むことを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記ネットワーク設定情報は、前記情報処理装置のルーティング情報を含むことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記ネットワーク設定情報は、前記情報処理装置のネットワーク通信の通信リンクの情報を含むことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記第２の動作モードにおいて、前記通信手段は、受信したパケットのうち、所定のパケットを受容し、該所定のパケット以外のパケットを破棄することを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記所定のパケットは、遠隔起動要求に該当するパケット、あるいは、応答すべき問合せに該当するパケットであることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
情報処理装置の制御方法であって、
第１の動作モードから、該第１の動作モードよりも前記情報処理装置の消費電力が低い第２の動作モードへ移行するための制御を行う第１の制御工程と、
前記第２の動作モードで動作中に前記第１の動作モードへ移行するための要求を他の装置から受信する受信工程と、
前記要求を受信したことに応答して、前記第２の動作モードから前記第１の動作モードへ移行するための制御を行う第２の制御工程と、
前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と異なるか否かを判定する判定工程と、
前記第２の動作モードから前記第１の動作モードへ移行時に、前記判定工程における判定結果に応じて異なる状態でネットワーク通信を行う通信工程と、
を有することを特徴とする制御方法。
【請求項１３】
情報処理装置に備えられたコンピュータであって、
第１の動作モードから、該第１の動作モードよりも前記情報処理装置の消費電力が低い第２の動作モードへ移行するための制御を行う第１の制御工程と、
前記第２の動作モードで動作中に前記第１の動作モードへ移行するための要求を他の装置から受信する受信工程と、
前記要求を受信したことに応答して、前記第２の動作モードから前記第１の動作モードへ移行するための制御を行う第２の制御工程と、
前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と異なるか否かを判定する判定工程と、
前記第２の動作モードから前記第１の動作モードへ移行時に、前記判定工程における判定結果に応じて異なる状態でネットワーク通信を行う通信工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の省電力状態からの復帰技術に関する。
【背景技術】
【０００２】
従来、ネットワークに接続し、アプリケーションにより通信を行う情報処理装置は、主要機能が動作していないアイドル状態において、省電力化を図るとともにネットワーク通信による遠隔起動を行うことが可能である。具体的には、情報処理装置は、該装置のシステムを構成する大部分のハードウェアの電源をオフにし、ネットワーク通信処理を実行する一部のハードウェアのみに電力を供給することによって省電力化を実現する。また、情報処理装置は、ネットワークを介した起動要求の受信を待機する。さらに、情報処理装置は、その待機中にネットワークから受信する問合せの応答通信や、該装置のネットワーク通信設定を更新する通信を、装置システム全体を起動させることなく実行することも可能である。本稿では、このように省電力でネットワーク通信による遠隔起動を待機する方法を、ネットワークスタンバイと呼ぶものとする。
【０００３】
一方、情報処理装置の省電力化を実現するハイバネーションと言う方法も広く知られている。ハイバネーションは、メモリ内容やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のハードウェアの設定など、装置システムが動作中の状態情報について、スナップショットと呼ばれるデータを作成する。そして、スナップショットを該装置の不揮発性の記憶媒体に保存した後、装置の電源をシャットダウンする。次回の起動では、保存したスナップショットを使用して、シャットダウン前のシステム状態を復元することで、動作中のシステム中断と、起動および再開の高速化を可能にしている。
【０００４】
ネットワークスタンバイとハイバネーションを組合せることによって、装置を低消費電力でネットワークを介した遠隔起動を待機させ、且つ待機状態からの起動を高速化することが期待できる。
【０００５】
但し、待機前のシステム状態は、待機中に変化してしまう可能性がある。特に、ネットワーク通信の設定は、リンク層、ネットワーク層の自動設定の仕組みで運用されることも多いため、ネットワークスタンバイ処理により、待機前と起動後で設定値が異なってしまうことが起こり得る。このため、待機中にネットワーク通信の設定が変更されると、情報処理装置は、待機前のスナップショットを使用してアイドル状態に復帰した後に、再開したアプリケーションに通信エラーが起こり得る。例えば、アプリケーションが装置のＩＰアドレスを記憶しているような場合、装置の待機中にＩＰアドレスが変更されると、スナップショットからのメモリ内容の復元により、アプリケーションが待機前の古いＩＰアドレス値を保持した状態で復元される。このため、システム起動後にアプリケーションが古いＩＰアドレスを使用してネットワーク通信を行ってエラーが発生してしまう可能性がある。
【０００６】
このような問題を回避する方法として、例えば特許文献１に、情報処理装置の動作停止中に一時的にシステムを起動させ、ハイバネーションによって主記憶から不揮発性記憶媒体へ記憶したデータの一部を書き換える方法が提案されている。この方法は、一時起動時に、ネットワーク設定の更新処理を実行し、スナップショットに保存された設定情報を書き換えて維持する。これにより、ネットワーク設定が古いままシステムを復帰することを防ぐことになる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−１１７９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ネットワークを介した起動要求を、省電力状態で待機する情報処理装置において、ハイバネーションによる待機前のシステム状態に復帰させる起動方法を適用すると、装置の起動時間を短縮することが可能である。しかし、起動時のネットワーク設定と、待機前のネットワーク設定との不一致が起こると、復帰後のアプリケーションで通信エラーが発生するなどの不都合が生じてしまうことがあった。
【０００９】
また、特許文献１に提案されている方法では、任意のアプリケーションへの適用が困難である。例えば、アプリケーションに、システムのネットワーク設定に基づいて計算したり決定したりする固有のデータがある場合、待機中の変更に追随してこれも書き換える必要が生じるため、実装が複雑になる。さらに、装置を待機中に一時的に起動させるため、省電力効果も低減してしまう。
【００１０】
本発明は、上記課題に鑑みて為されたものであり、省電力状態からの復帰時の通信エラーの発生を低減することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するための一手段として、本発明の情報処理装置は以下の構成を有する。すなわち、情報処理装置であって、第１の動作モードから、該第１の動作モードよりも前記情報処理装置の消費電力が低い第２の動作モードへ移行するための制御を行う第１の制御手段と、前記第２の動作モードで動作中に前記第１の動作モードへ移行するための要求を他の装置から受信する受信手段と、前記要求を受信したことに応答して、前記第２の動作モードから前記第１の動作モードへ移行するための制御を行う第２の制御手段と、前記第２の動作モードから前記第１の動作モードへ移行時のネットワーク設定情報が、前記第１の動作モードから前記第２の動作モードへ移行時と異なるか否かを判定する判定手段と、前記第２の動作モードから前記第１の動作モードへ移行時に、前記判定手段による判定結果に応じて異なる状態でネットワーク通信を行う通信手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、省電力状態からの復帰時の通信エラーの発生を低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】情報処理装置１０１のシステム構成例を示すブロック図。
【図２】情報処理装置１０１の消費電力の状態遷移図。
【図３】情報処理装置１０１の電源オン時のシステム起動処理フローを示す図。
【図４】情報処理装置１０１のネットワークスタンバイの開始処理フローを示す図。
【図５】情報処理装置１０１のネットワークスタンバイにおける遠隔起動条件の設定の一例を示す図。
【図６】情報処理装置１０１のネットワークスタンバイにおける応答条件の設定の一例を示す図。
【図７】実施形態１における省電力状態２０２から通常電力状態２０１への遷移時のネットワーク通信部１０２の処理フローを示す図。
【図８】省電力状態２０２から通常電力状態２０１への遷移時のネットワーク設定情報の比較処理フローを示す図。
【図９】実施形態１における省電力状態２０２から通常電力状態２０１への遷移時のアプリケーションシステム部１０３の起動処理フローを示す図。
【図１０】実施形態２における省電力状態２０２から通常電力状態２０１への遷移時のネットワーク通信部１０２の処理フローを示す図。
【図１１】実施形態２における省電力状態２０２から通常電力状態２０１への遷移時のアプリケーションシステム部１０３の起動処理フローを示す図。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して、本発明をその実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
［実施形態１］
図１は、本実施形態における情報処理装置１０１の一例を示すブロック図である。情報処理装置１０１は、後述するように、第１の動作モードと該第１の動作モードよりも消費電力が低い第２の動作モードを有する。情報処理装置１０１は、ハードウェア構成として、主に、ネットワーク通信部１０２と、アプリケーションシステム部１０３で構成される。また、情報処理装置１０１の利用者が、遠隔地からネットワーク１１６を介して、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルを用いたアプリケーション通信を行えるものとする。
【００１６】
ネットワーク通信部１０２のローカルバス１０４には、ネットワークに対する伝送フレームの送受信を行う通信制御部１０５、ネットワーク通信部１０２内の処理における一時記憶装置であるローカルＲＡＭ１０６、ＴＣＰ／ＩＰ通信処理を実行するプロトコル処理部１０７が接続している。
【００１７】
ネットワーク１１６は、情報処理装置１０１が接続するネットワークを示しており、通信制御部１０５によって接続制御が実行される。なお、ネットワーク１１６は、例えば有線ネットワーク、無線ネットワーク、光ファイバーネットワーク等であってもよい。通信制御部１０５は、ネットワーク１１６の伝送メディアのＰＨＹおよびＭＡＣ（伝送メディア制御）ハードウェア回路を含み、それらのハードウェア制御やリンクレイヤの通信プロコル処理を実行する。例えば、ネットワーク１１６がイーサネット（登録商標）である場合、通信制御部１０５は、イーサネットＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）に相当する。
【００１８】
プロトコル処理部１０７は、通信プロトコル処理専用のハードウェア回路装置、あるいは通信プロトコル処理用に設計されたマイクロプロセッサであり、汎用的なＴＣＰ／ＩＰ通信処理を行う。より具体的には、プロトコル処理部１０７は、ＩＰｖ４（ＩＰ  ｖｅｒｓｉｏｎ４）、ＩＰｖ６（ＩＰ  ｖｅｒｓｉｏｎ６）、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）、ＩＣＭＰｖ６（ＩＣＭＰ  ｆｏｒ  ＩＰｖ６）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＴＣＰの各通信プロトコル処理や、送信フロー制御や輻輳制御、通信エラー制御等を行う。また、プロトコル処理部１０７は、例えば、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＤＨＣＰｖ６（ＤＨＣＰ  ｆｏｒ  ＩＰｖ６）プロトコルによる通信を行うことで、情報処理装置１０１のネットワーク設定の処理を実行する。さらに、プロトコル処理部１０７は、電源制御部１１５と制御信号線で接続されており、電源制御部１１５への指示や制御を行う。
【００１９】
ローカルＲＡＭ１０６は、通信制御部１０５やプロトコル処理部１０７の処理におけるデータの一時記憶領域に使用される。また、ネットワーク通信部１０２は、バスブリッジ回路１０８を有し、内部のローカルバス１０４と、アプリケーションシステム部１０３のシステムバス１０９との間のデータ転送を可能とする。即ち、ネットワーク通信部１０２とアプリケーションシステム部１０３は、それぞれのバス回路が相互に接続されており、通信データの入出力においてバス間転送が行われる仕組みになっている。
【００２０】
アプリケーションシステム部１０３のシステムバス１０９には、ＣＰＵ１１０、ＣＰＵ１１０が実行するソフトウェアプログラムが格納される不揮発性記憶装置であるＲＯＭ１１１、一時記憶装置であるＲＡＭ１１２が接続されている。なお、ＲＯＭ１１１からＲＡＭ１１２にプログラムが読み込まれ、ＣＰＵ１１０によって実行される。また、ＣＰＵ１１０は、情報処理装置１０１のプログラムに基づいたアプリケーション機能を実行する。ＲＡＭ１１２は、ＣＰＵ１１０によるプログラム実行のための一時記憶領域や、ネットワーク通信部１０２やアプリケーション機能部１１４への入出力データ領域として使用される。
【００２１】
さらに、システムバス１０９には、情報処理装置１０１のもう１つの不揮発性記憶装置であるフラッシュＲＯＭ１１３が接続されている。また、同じくシステムバス１０９に接続されているアプリケーション機能部１１４は、情報処理装置１０１の特徴的なアプリケーションを実現するハードウェア処理装置を表している。フラッシュＲＯＭ１１３は、情報処理装置１０１のハイバネーション機能において、ＲＡＭ１１２上のデータや、ＣＰＵ１１０、アプリケーション機能部１１４などのハードウェアの設定データのスナップショットのデータ保存用に利用される。
【００２２】
電源制御部１１５は、ネットワーク通信部１０２及びアプリケーションシステム部１０３の電力供給を独立的に制御する。電源制御部１１５は、アプリケーションシステム部１０３に含まれる各ハードウェアに対して、電源投入あるいは停止、リセット、アプリケーションシステム部１０３の起動方法の指定等に関する制御を行う。
【００２３】
情報処理装置１０１のアプリケーションは、アプリケーションシステム部１０３で実行される。アプリケーションは主に、ＣＰＵ１１０が実行するソフトウェアプログラムであるが、アプリケーション機能部１１４を使用するものもある。また、本実施形態では、少なくとも１つのアプリケーションがネットワーク通信を行うこととする。アプリケーションによる通信では、ネットワーク通信部１０２がＴＣＰ／ＩＰプロトコルを含む通信プロトコル処理を実行する。
【００２４】
以上のような実施構成の情報処理装置１０１において、完全に電源がオフの状態からの電源オン時の起動処理を、図３を用いて説明する。図３は、情報処理装置１０１の電源オン時のシステム起動処理フローを示す。起動処理はＳ３０１から開始し、最初にＳ３０２において、電源制御部１１５がアプリケーションシステム部１０３の電源を投入する。次にＳ３０３において、アプリケーションシステム部１０３のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が起動される。Ｓ３０３では、ＣＰＵ１１０が、ＲＯＭ１１１に記憶されたＯＳのプログラムデータをＲＡＭ１１２へ転送し、ＲＡＭ１１２からプログラムを読み出して実行することにより、ＯＳを起動する。
【００２５】
続いてＳ３０４において、ＣＰＵ１１０は、フラッシュＲＯＭ１１３やアプリケーション機能部１１４のハードウェア制御プログラム（ドライバ）処理を実行する。すなわち、アプリケーションシステム部１０３内の各ハードウェアについてリセット処理や初期化処理が実行される。次に、Ｓ３０５において、ネットワーク通信部１０２の起動処理が実行される。すなわち、ＣＰＵ１１０がネットワーク通信部１０２の制御プログラムを実行することにより、ネットワーク通信部１０２内の各機能についてリセットおよび初期化が実行される。そして、次のＳ３０６において、ＣＰＵ１１０は、情報処理装置１０１がＳ３０５までの起動処理を実行した状態におけるスナップショットを作成する。スナップショットには、ＲＡＭ１１２とローカルＲＡＭ１０６上のデータ内容や、アプリケーションシステム部１０３とネットワーク通信部１０２の各ハードウェアの設定内容が含まれる。そして、作成したスナップショットのデータは、フラッシュＲＯＭ１１３に保存される。
【００２６】
次に、処理はＳ３０７に進み、ネットワーク通信部１０２は、ネットワーク設定処理を実行する。ここで、ネットワーク１１６への接続が開始され、ネットワーク１１６との通信リンクの設定や、ＴＣＰ／ＩＰ通信に必要なＩＰアドレスなどのネットワーク設定が実施される。なお、ネットワーク通信部１０２は、ネットワーク設定に関するデータを、ローカルＲＡＭ１０６に格納し、管理する。その後、Ｓ３０８において、情報処理装置１０１の各種アプリケーションが起動し、ネットワークサービスが開始され、ユーザが利用可能な状態になる。最後に、処理はＳ３０９に進んで起動処理が完了する。
【００２７】
なお、本実施形態では、Ｓ３０７のネットワーク設定処理において、情報処理装置１０１のＩＰアドレスやルーティングテーブルの設定情報は、ＤＨＣＰやＤＨＣＰｖ６により動的に設定されるものとする。その他のネットワーク接続やネットワークサービスに関する設定についても、ネットワーク１１６のリンク状態や運用状況に応じて自動的に設定情報が決定されるものとする。
【００２８】
次に、情報処理装置１０１の動作状態と消費電力の関係について説明する。アプリケーション通信を実行している状態では、ネットワーク通信部１０２、アプリケーションシステム部１０３、電源制御部１１５が動作する。このときの消費電力の状態を、通常電力状態と呼ぶものとする。一方、情報処理装置１０１のアプリケーションがアイドル状態になると、アプリケーションシステム部１０３内の１０９から１１４までのハードウェア装置の電源をオフにし、ネットワーク通信部１０２と電源制御部１１５だけが動作する状態に移行する。この状態を省電力状態と呼ぶものとする。通常電力状態では情報処理装置１０１の稼働状況によって消費電力が変動するが、省電力状態での消費電力は、通常電力状態よりも低くなる。
【００２９】
図２に、情報処理装置１０１の消費電力の状態遷移図を示す。情報処理装置１０１は、通常電力状態２０１（第１の動作モード）と省電力状態２０２（第２の動作モード）の状態をとり得る。情報処理装置１０１は、アプリケーション等の主要機能の動作中は、通常電力状態２０１を維持する（２０３）。そして、情報処理装置１０１は、主要機能が動作していないアイドル状態になると、省電力状態２０２へ移行する（２０４）。もしくは、情報処理装置１０１がアイドル状態になってから一定時間の経過後に省電力状態２０２に移行することでもよい。一方、情報処理装置１０１が、省電力状態２０２において起動要求を受信すると（２０５）、通常電力状態２０１へ移行する（２０５）。
【００３０】
省電力状態２０２から通常電力状態２０１への移行を具体的に説明する。本実施形態において、情報処理装置１０１は、省電力状態２０２においてネットワークスタンバイを実行する。本実施形態において、起動要求の受信（２０５）とは、情報処理装置１０１を省電力状態２０２から通常電力状態２０１へ移行させるためのコマンドや、情報処理装置１０１のアプリケーション通信のセッション開始要求などを受信することを意味する。つまり、情報処理装置１０１は、省電力状態２０２において、ネットワーク１１６からのパケットの受信を待機する。そして情報処理装置１０１は、パケットを受信すると該パケットが起動要求として受容するかを判定する。判定の結果、受信したパケットを起動要求として受容された場合、情報処理装置１０１は、アプリケーションシステム部１０３に電源を投入するための制御を行い、これに伴い、情報処理装置１０１は通常電力状態２０１に移行する。
【００３１】
次に、ネットワークスタンバイの開始処理について、図４の処理フローを参照しながら説明する。図４は、情報処理装置１０１のネットワークスタンバイの開始処理フローを示す。この処理は、ＣＰＵ１１０により実行されるＯＳプログラムによって実施される。また、この処理により、情報処理装置１０１は、通常電力状態２０１から省電力状態２０２へ移行することになる。図４の処理フローはＳ４０１から始まるが、この時点で情報処理装置１０１のアプリケーション機能はアイドル状態である。つまり、情報処理装置１０１は、ネットワーク１１６の先にあるユーザ装置とのアプリケーション通信を行っていない。
【００３２】
まず、Ｓ４０２において、ＣＰＵ１１０上で実行するプログラムにより、情報処理装置１０１は、ネットワーク通信部１０２に対してネットワークスタンバイの設定を行う。この設定の具体例については後述する。次に、処理はＳ４０３に進み、情報処理装置１０１は、現在のネットワーク設定を退避させる処理を行う。ネットワーク設定には、情報処理装置１０１のネットワーク１１６上での運用において動的に決定される設定も含まれる。例えば、ネットワーク１１６との通信リンクの設定、情報処理装置１０１のホスト名やドメイン名、ＩＰｖ４アドレスおよびネットマスク、ＩＰｖ４ルーティングテーブル、ＩＰｖ６アドレス、ＩＰｖ６アドレスのプリフィックス、ＩＰｖ６ルーティングテーブルが挙げられる。他にも、情報処理装置１０１が通信するＤＮＳサーバなどの各種サーバのアドレスや、アプリケーションがマルチキャスト通信を行う場合には、ＩＰｖ４やＩＰｖ６のマルチキャストグループアドレスも挙げられる。
【００３３】
Ｓ４０３では、プロトコル処理部１０７が、ローカルＲＡＭ１０６上で管理しているネットワーク設定のデータを、同じローカルＲＡＭ１０６上の別の領域にコピーし、後で参照できるように記憶しておく。なお、例えばＩＰｖ４アドレスが設定されておらず、退避すべきＩＰｖ４アドレスのデータが無い場合、プロトコル処理部１０７は、ＩＰｖ４アドレスが未設定であることを意味するような値を生成して退避データとする。
【００３４】
次にＳ４０４において、ＣＰＵ１１０は、アプリケーションシステム部１０３の現在のスナップショットを作成する。このスナップショットには、ＲＡＭ１１２に格納中のデータや、アプリケーションシステム部１０３の各ハードウェアのレジスタ値等の情報が含まれる。そして、作成したスナップショットのデータは、フラッシュＲＯＭ１１３に保存される。続いてＳ４０５において、ＣＰＵ１１０は、プロトコル処理部１０７に対してネットワークスタンバイ開始を通知し、ネットワーク通信部１０２がネットワークスタンバイ処理の実行を開始する。次にＳ４０６において、アプリケーションシステム部１０３が安全に電源をオフになるための停止準備の処理を実行し、電源制御部１１５がアプリケーションシステム部１０３全体の電源の供給を停止する。そして、Ｓ４０７で本処理フローが終了する。
【００３５】
ここで、前述のＳ４０２におけるネットワークスタンバイの設定の具体例について図５と図６を用いて説明する。この設定は、情報処理装置１０１が省電力状態２０２であるときにネットワーク１１６から受信したパケットについて、起動要求であるかを判定するための遠隔起動条件の設定や、該装置が応答を返すべき問い合わせなのかを判定するための応答条件の設定である。
【００３６】
図５は、本実施形態の情報処理装置１０１における、遠隔起動条件の設定の一例を表形式で示したものである。遠隔起動条件は、図５に示すように、受信パケットのプロトコル（５０１）、送信元ＩＰアドレス（５０２）、上位プロトコル（５０３）、ＴＣＰ／ＵＤＰポート番号（５０４）、のパラメータ値の組合せで設定される。設定エントリ５０５〜５１０はそれぞれ、遠隔起動条件の組み合わせを有する。例えば、エントリ５０６では、プロトコルがＩＰｖ４かＩＰｖ６のいずれかであり、送信元ＩＰアドレスは任意であり（“ＡＮＹ”として表記している）、上位プロトコルがＴＣＰであり、そのポート番号が４４３であることを示している。
【００３７】
情報処理装置１０１は、受信パケットから、受信パケットのプロトコル（５０１）、送信元ＩＰアドレス（５０２）、上位プロトコル（５０３）、ＴＣＰ／ＵＤＰポート番号（５０４）の各パラメータの値を抽出する。そして、情報処理装置１０１は、それらの値の組合せが設定エントリ５０５〜５１０のいずれかに対応する遠隔起動条件に合致したならば、該受信パケットを起動要求であるとみなす。なお、本実施形態では、遠隔起動条件の上位プロトコル（５０３）を“ＴＣＰ”を指定する場合、受信パケットがＴＣＰコネクションの開設を要求するＳＹＮパケットであること（ＴＣＰヘッダのフラグフィールドの“ＳＹＮ”ビットのみがオンであること）が条件として含まれるものとする。
【００３８】
また、図６は、本実施形態の情報処理装置１０１における、応答条件の設定の一例を表形式で示したものである。応答条件は、図６に示すように、受信パケットのプロトコル（６０１）、送信元ＩＰアドレス（６０２）、上位プロトコル（６０３）、ＡＲＰのオペレーションコード（６０４）、ＵＤＰポート番号（６０５）、ＩＣＭＰ／ＩＣＭＰｖ６のタイプ及びコード（６０６）、のパラメータ値の組合せで設定される。設定エントリ６０７〜６１３はそれぞれ、応答条件の組み合わせを有する。例えば、設定エントリ６０８では、プロトコルがＩＰｖ６であり、送信元ＩＰアドレスは任意であり（“ＡＮＹ”として表記している）、上位プロトコルがＩＣＭＰｖ６であり、ＡＲＰのオペレーションコードが任意（“−”として表記している）であり、ＵＤＰポート番号が任意（“−”として表記している）であり、ＩＣＭＰ／ＩＣＭＰｖ６のタイプ及びコードがそれぞれ１３５及び０であることを示している。
【００３９】
情報処理装置１０１は、前述の遠隔起動条件の場合と同様に、受信パケットから、受信パケットのプロトコル（６０１）、送信元ＩＰアドレス（６０２）、上位プロトコル（６０３）、ＡＲＰのオペレーションコード（６０４）、ＵＤＰポート番号（６０５）、ＩＣＭＰ／ＩＣＭＰｖ６のタイプ及びコード（６０６）の各パラメータ値を抽出する。そして、情報処理装置１０１は、それら値の組合せが設定エントリ６０７〜６１３のいずれかに対応する応答条件に合致したならば、該受信パケットを応答すべきパケットであるとみなす。
【００４０】
また、本実施形態の情報処理装置１０１は、図３のＳ３０６と図４のＳ４０４で示したように、完全に電源がオフの状態からの電源オン時のシステム起動処理と、ネットワークスタンバイの実行開始時の処理の両方において、それぞれスナップショットのデータを作成し、フラッシュＲＯＭ１１３に保存する。つまり、情報処理装置１０１は、省電力状態２０２では２つのスナップショットのデータを保持する仕組みになっている。本実施形態の以降の説明において、電源オン時の起動処理において作成するスナップショットを初期状態スナップショット、ネットワークスタンバイ実行開始時の処理において作成するスナップショットをアイドル状態スナップショット、と記載を区別する。初期状態スナップショットは、ネットワーク設定処理の実行（Ｓ３０７）の直前に作成されており、ネットワーク設定やアプリケーションの状態に関するデータが含まれない。一方、アイドル状態スナップショットは、ネットワークスタンバイの開始時点の状態を保存しており、すなわちネットワーク設定や起動中のアプリケーションの状態に関するデータを含んでいる。
【００４１】
次に、情報処理装置１０１の省電力状態２０２における、ネットワークスタンバイ処理について説明する。ネットワーク通信部１０２は、ネットワークスタンバイ処理として、次に挙げるような処理を実行する。
【００４２】
１つ目は、ネットワーク１１６との接続制御処理である。この処理は、通信制御部１０５によって実行される。例えば、ネットワーク１１６がイーサネット（登録商標）の場合、通信制御部１０５は、イーサネットケーブルで接続する相手装置との通信リンク状態について、接続オン・オフの状態や、接続中はさらにリンクスピードやフロー制御などの状態の変化を監視する。また、通信制御部１０５は、接続リンク状態に変化があった場合の制御処理を実行するとともに、プロトコル処理部１０７に更新された接続リンク状態に関する情報を通知する。プロトコル処理部１０７は、ネットワークスタンバイ処理として、通信制御部１０５から通知された情報を受信し、ネットワーク設定の一部として保持する。
【００４３】
２つ目は、ネットワーク１１６に対するフレームの送受信処理である。この処理は、通信制御部１０５によって実行される。受信に関しては、通信制御部１０５は、ネットワーク１１６から受信したフレームをローカルＲＡＭ１０６に転送し、プロトコル処理部１０７での受信処理が可能な処理であるかを検証する。例えば、通信制御部１０５は、受信フレームデータにビット誤りが無いか、フレームのリンク層の宛先アドレスが自局宛てであるかを調べる。また、通信制御部１０５は、該フレームデータを解析し、フレームのペイロードデータが、プロトコル処理部１０７での受信処理が可能なプロトコルを指定しているかを確認する。なお、プロトコルの具体例には、ＡＲＰ、ＩＰｖ４、ＩＰｖ６が挙げられる。このような検証処理の結果、通信制御部１０５は、受信不可と判断すれば受信フレームを破棄し、受信可であればプロトコル処理部１０７に受信を通知する。一方、送信に関しては、プロトコル処理部１０７がローカルＲＡＭ１０６に送信フレームを用意し、通信制御部１０５が該フレームをネットワーク１１６へ送出する。
【００４４】
３つ目は、受信フレームのペイロードデータに関するプロトコル処理である。この処理は、プロトコル処理部１０７によって実行される。通信制御部１０５から通知された受信フレームが運ぶペイロードデータがＩＰｖ４、ＩＰｖ６、ＡＲＰのプロトコルのパケットであった場合に、プロトコル処理部１０７は、各プロトコルのパケット受信処理を実行する。まず、プロトコル処理部１０７は、受信パケットについて、各プロトコル仕様におけるパケットの完全性のチェックや、宛先アドレスの受信可否のチェック等を行う。このようなチェック処理は、一般的なＴＣＰ／ＩＰスタックが実行する処理と同等である。このチェックにより、プロトコル処理部１０７は、パケットを破棄することもある。
【００４５】
４つ目はネットワークスタンバイで受容すべき所定のパケットか否かの判定である。この処理は、プロトコル処理部１０７によって実行される。受容すべきパケットとは、遠隔起動要求に該当するパケット、あるいは応答すべき問い合わせに該当する受信パケットである。プロトコル処理部１０７は、前述した遠隔起動条件の設定（図５）と応答条件の設定（図６）を照会して、受信パケットが、情報処理装置１０１への起動要求あるいは問い合わせであるかを判定する。遠隔起動要求に該当するパケット、あるいは応答すべき問い合わせに該当する受信パケット以外のパケットは、破棄される。
【００４６】
５つ目は、情報処理装置１０１への問い合わせとして受容判定されたパケットについて、該問い合わせに対する応答の処理である。この処理は、通信制御部１０５とプロトコル処理部１０７によって実行される。プロトコル処理部１０７が、問い合わせのプロトコル仕様に応じた処理を実行し、問い合わせ元への応答パケットをローカルＲＡＭ１０６上に作成し、通信制御部１０５に送信を通知する。そして通信制御部１０５がネットワーク１１６へ該応答パケットを送出する。
【００４７】
例えば、図６の設定エントリ６０８が示す応答条件は、ＩＰｖ６のＮＳ（Ｎｅｉｇｈｂｏｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）パケットを識別する条件である。この条件に合致した受信パケットは、ＩＰｖ６アドレスに対するＭＡＣアドレスを問い合わせるものである。プロトコル処理部１０７は、問い合わせの対象ＩＰｖ６アドレスが情報処理装置１０１に設定されているアドレスであれば、該装置のＭＡＣアドレスを伝えるＮＡ（Ｎｅｉｇｈｂｏｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）パケットを、その応答として作成する。
【００４８】
同様に、図６の設定エントリ６０７が示す応答条件は、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）リクエストパケットを識別する条件である。この条件に合致した受信パケットは、ＩＰｖ４アドレスに対するＭＡＣアドレスを問い合わせるものである。問い合わせの対象ＩＰｖ４アドレスが情報処理装置１０１に設定されているアドレスであれば、プロトコル処理部１０７は、該装置のＭＡＣアドレスを伝えるＡＲＰリプライのパケットを作成する。
【００４９】
６つ目は、情報処理装置１０１のネットワーク設定の更新処理である。ネットワーク設定の更新処理は、ＩＰｖ４もしくはＩＰｖ６のＩＰアドレスやルーティングに関する設定が含まれる。例えば、情報処理装置１０１がＤＨＣＰによってＩＰｖ４アドレスを設定している場合には、省電力状態２０２においても、ネットワークスタンバイ処理でＩＰｖ４アドレスの更新処理を実行する。通常、ＤＨＣＰで付与されるＩＰアドレスには有効期限が設定されるため、情報処理装置１０１は、有効期限が切れる前にＩＰｖ４アドレス利用延長のためのＤＨＣＰ通信を行う。もし、情報処理装置１０１が待機中にＤＨＣＰサーバからの応答が受信できずにＩＰｖ４アドレスの有効期限が経過してしまうならば、ＩＰｖ４アドレスの設定を失うことになる。この場合、情報処理装置１０１は、省電力状態２０２を維持しながら所定の時間間隔でＤＨＣＰ通信を実行してＩＰｖ４アドレスの再設定を試みる。
【００５０】
この結果、情報処理装置１０１は、省電力状態２０２の間にＩＰｖ４アドレスが変更されることも有り得る。ＩＰｖ６の場合でも、情報処理装置１０１は、ＩＰｖ６アドレスをＤＨＣＰｖ６で自動設定する場合、ＩＰｖ４の場合と同様にＩＰｖ６アドレスの期限延長や再設定を実行する。さらに、ＩＰｖ６の場合、情報処理装置１０１は、ＩＰｖ６のステートレスアドレス自動設定でＩＰｖ６アドレスを自動設定することがある。具体的には、情報処理装置１０１は、ネットワーク１１６上の近隣のルータからのＲＡ（Ｒｏｕｔｅｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）パケットを受信することにより、ネットワーク１１６のＩＰｖ６アドレスのプリフィクスを取得してＩＰｖ６アドレスを自動設定することがある。
【００５１】
ネットワークスタンバイ処理では、情報処理装置１０１は、ステートレスに自動設定されたＩＰｖ６アドレスについても有効期限更新の処理を行う。例えば、情報処理装置１０１は、ルータからのＲＡを受信したときに、該ＲＡで設定できるＩＰｖ６アドレスが同じになるならば、有効期限を再設定する。また、情報処理装置１０１が省電力状態２０２の間にＲＡを受信せず、ステートレスに設定されたＩＰｖ６アドレスの有効期限が経過した場合は、情報処理装置１０１は該アドレスの設定を削除する。さらに、情報処理装置１０１は、受信したＲＡが新しいＩＰｖ６プリフィックス値を広告している場合には、新しいＩＰｖ６アドレスを設定するようにしてもよい。
【００５２】
さらに、ＤＨＣＰやＤＨＣＰｖ６の通信およびＲＡパケット受信では、情報処理装置１０１は、ＩＰｖ４アドレスのネットマスク、ＩＰｖ６のプリフィックス、デフォルトゲートウェイ等の情報を受信することにより、管理するルーティングテーブルの設定を行う必要があり得る。この場合、情報処理装置１０１は、ネットワークスタンバイ処理ではＩＰｖ４とＩＰｖ６の各ルーティングテーブルの設定情報の更新を実行する。同様に、ＤＨＣＰあるいはＤＨＣＰｖ６では、情報処理装置１０１は、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）のサーバ情報を通知することが可能である。ネットワークスタンバイ処理では、情報処理装置１０１は、通知されたＤＮＳサーバ情報に基づいて、設定情報の更新を実行する。
【００５３】
なお、省電力状態２０２においてネットワーク１１６への接続リンクがオフからオンに変化した場合、ＩＰアドレスの有効期限に達していなくともＩＰｖ４アドレスとＩＰｖ６アドレスの再取得のため、情報処理装置１０１は、ＤＨＣＰやＤＨＣＰｖ６の通信を実行するようにしてもよい。また、情報処理装置１０１は、ＲＳ（Ｒｏｕｔｅｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）パケットを送信して、ネットワーク１１６上の近隣ルータに対してＲＡ送信を要求するようにしてもよい。
【００５４】
次に、省電力状態２０２からの通常電力状態２０１への移行時のネットワーク通信部１０２の処理について、図７のフローチャートを参照しながら説明する。図７は、本実施形態における省電力状態２０２から通常電力状態２０１への移行時のネットワーク通信部１０２の処理フローである。図７の処理フローは、情報処理装置１０１が省電力状態２０２において受信したパケットを遠隔起動要求として受容した場合に実行される。ただし、これに限らず、例えば情報処理装置１０１の電源ボタン押下によっても省電力状態２０２から復帰可能であるなど、他の手段による起動要求イベントを契機にして実行されてもよい。
【００５５】
本処理はＳ７０１から開始し、Ｓ７０２において、ネットワーク通信部１０２は、前述した図４のＳ４０３の処理で退避しておいたネットワーク設定情報と、現時点のネットワーク設定情報とを比較する処理を実行する。Ｓ７０３では、ネットワーク通信部１０２による、Ｓ７０２の比較結果、ネットワーク設定情報に変更があるか否かの判定結果により、異なる処理が行われる。Ｓ７０３において、Ｓ７０２の比較結果、ネットワーク設定情報に変更がなければ（Ｓ７０３のＮｏ）、ネットワーク通信部１０２は、Ｓ７０４においてアイドル状態スナップショットを選択する。ネットワーク設定情報に変更があったならば（Ｓ７０３のＹｅｓ）、ネットワーク通信部１０２は、Ｓ７０５において初期状態スナップショットを選択する。次に、Ｓ７０６において、プロトコル処理部１０７が、電源制御部１１５に、省電力状態２０２からの起動を示す指示を行う。この指示を受けた電源制御部１１５は、アプリケーションシステム部１０３に対し、ハイバネーションによる復帰処理を実行するための制御信号をアサートしながら、電源を投入する。
【００５６】
次に、Ｓ７０７において、プロトコル処理部１０７がＣＰＵ１１０に対し、Ｓ７０４もしくはＳ７０５で選択したスナップショットを指定する通知（指定通知）を行う。そして、Ｓ７０８において、選択したスナップショットが初期状態スナップショットである場合は（Ｓ７０８のＹｅｓ）、処理はＳ７０９に進む。そうでなければ（Ｓ７０８のＮｏ）、処理はＳ７１０に進んで本処理フローが終了する。Ｓ７０９では、ＣＰＵ１１０は、ネットワーク通信部１０２の各ブロック（図１の１０４〜１０８）についてリセットおよび初期化を実行する。その後、処理はＳ７１０へ進んで本処理フローの実行が終了する。尚、Ｓ７０９の処理は、前述した図３のＳ３０４の処理と同等である。
【００５７】
このように、ネットワーク通信部１０２は、アイドル状態スナップショットまたは初期状態スナップショットの何れかを選択する。初期状態スナップショットが選択された場合には、ネットワーク通信部１０２が初期化され、情報処理装置１０１はネットワーク１１６との接続を切断することになる。一方、アイドル状態スナップショットが選択された場合は、情報処理装置１０１は、省電力状態２０２の動作中のネットワーク設定や状態を維持しながら、通常電力状態２０１に移行することになる。
【００５８】
次に、Ｓ７０２におけるネットワーク設定情報の比較処理について、図８のフローチャートを参照しながら一例を説明する。図８は、省電力状態２０２から通常電力状態２０１への移行時のネットワーク設定情報の比較処理フローである。前述したように、情報処理装置１０１は、省電力状態２０２において、ネットワークスタンバイによる待機中にネットワーク設定の更新処理を行う。このため、復帰処理を実行する時点のネットワーク設定は、ネットワークスタンバイの実行開始時点から変更があるかもしれない。Ｓ７０２では、情報処理装置１０１は、現時点のネットワーク設定情報と、Ｓ４０３で退避しておいたネットワーク設定情報との比較処理を実行し、変更の有無を調べる。
【００５９】
図８に示す比較処理は、図８の８０１から開始し、情報処理装置１０１は、Ｓ８０２からＳ８０８の様々なチェック処理を全て実行する。この処理は、最終的に、情報処理装置１０１がＳ８０９でネットワーク設定に変更があるという結果を返すか、Ｓ８１０で変更がないという結果を返すか、どちらかを実行した後にＳ８１１で終了する。また、Ｓ８０２からＳ８０８のチェック処理のいずれかにおいて、ネットワークスタンバイ実行開始時点と設定内容が変化している場合、処理はＳ８１０に進むことになっている。
【００６０】
Ｓ８０２では、ネットワーク通信部１０２は、情報処理装置１０１とネットワーク１１６との接続リンク状態の変化を調べる。例えば、ネットワーク通信部１０２は、接続のオン・オフの状態や、接続する相手装置とのリンクスピード設定、等について待機開始時点と異なっているか否かを調べる。Ｓ８０３では、ネットワーク通信部１０２は、情報処理装置１０１のＩＰｖ４アドレスの設定の有無あるいは増減、ＩＰｖ４アドレスとネットマスク値の変更があるかを調べる。Ｓ８０４では、Ｓ８０３と同様に、ネットワーク通信部１０２は、ＩＰｖ６アドレスの設定の有無あるいは増減、ＩＰｖ６アドレスとプリフィクス値の変更があるかを調べる。Ｓ８０５では、ネットワーク通信部１０２は、ＩＰｖ４ルーティング情報テーブルの内容に変更があるかを調べる。同様にＳ８０６では、ネットワーク通信部１０２は、ＩＰｖ６ルーティング情報テーブルの内容に変更があるか否かを調べる。Ｓ８０７では情報処理装置１０１の付与されたホスト名やドメイン名の設定に変更があるかを調べる。Ｓ８０８では、ネットワーク通信部１０２は、ＤＮＳサーバ設定に変更があるか否かを調べる。
【００６１】
なお、図８のＳ８０２からＳ８０８の各チェック処理は一例であり、変更をチェックする設定パラメータを限定するものではない。これらの各チェック処理では、現在の設定情報が、待機開始時点と変化があるかを調べるために、ネットワーク通信部１０２は、Ｓ４０３で退避しておいたネットワーク設定のデータを参照する。すなわち、ネットワーク通信部１０２は、Ｓ４０３の処理で退避するネットワーク設定について、それぞれネットワークスタンバイ開始時点と比較することになる。
【００６２】
次に、情報処理装置１０１の省電力状態２０２から通常電力状態２０１への移行時におけるアプリケーションシステム部１０３の起動処理について、図９の処理フローを参照しながら説明する。図９は、本実施形態における省電力状態２０２から通常電力状態２０１への移行時におけるアプリケーションシステム部１０３の起動処理フローである。
【００６３】
ネットワーク通信部１０２が、前述の図７のＳ７０６の処理を実行すると、アプリケーションシステム部１０３への電源が投入される。前述したように、電源制御部１１５は、アプリケーションシステム部１０３がハイバネーションによる復帰を実行するための制御信号をアサートしながら電源を投入する。これにより、アプリケーションシステム部１０３は、電源オフからのＯＳの起動処理（Ｓ３０３）を実行せず、Ｓ９０１から始まる起動処理を実行する。起動したＣＰＵ１１０は、ＲＯＭ１１１からスナップショット状態復元プログラムをＲＡＭ１１２へ読み出して実行する。
【００６４】
Ｓ９０２からＳ９０５は、ＣＰＵ１１０が実行するプログラムの処理である。まず、Ｓ９０２において、ＣＰＵ１１０は、ネットワーク通信部１０２からスナップショットの指定通知を待機する。そして、ネットワーク通信部１０２が前述のＳ７０７の処理を実行すると、ＣＰＵ１１０は、復元すべきスナップショットの指定通知を受信し、処理はＳ９０３へ進む。そして、Ｓ９０２で受信した指定通知において、アイドル状態スナップショットが指定された場合、処理はＳ９０３からＳ９０４へ進む。Ｓ９０４では、ＣＰＵ１１０は、フラッシュＲＯＭ１１３から該スナップショットデータを読み出して、保存された状態への復元処理を実行する。Ｓ９０４の復元処理が終了すると、アプリケーションシステム部１０３は、通常電力状態２０１であって且つネットワークスタンバイ開始直前の状態に復帰する。この場合は、処理はＳ９０８に進み、本処理フローを終了する。
【００６５】
一方、Ｓ９０２で初期状態スナップショットが指定された場合、処理はＳ９０３からＳ９０５へ進んで、ＣＰＵ１１０は、復元処理を実行する。これにより、アプリケーションシステム部１０３は、図３の電源オン時の起動処理におけるＳ３０６の時点の状態へ復帰する。次に、Ｓ９０６において、ネットワーク通信部１０２は、ネットワーク設定処理を行う。Ｓ９０６の処理は、図３のＳ３０７の処理と同等であり、ネットワーク通信部１０２は、ネットワーク１１６との通信リンクの設定や、ＴＣＰ／ＩＰ通信に必要なＩＰアドレスなどの設定を行う。次のＳ９０７は、Ｓ３０８の処理と同等である。つまり、情報処理装置１０１がアプリケーションを起動してネットワークサービスを開始する。そして、Ｓ９０８で本処理が終了する。
【００６６】
以上、実施形態１について説明した。本実施形態における情報処理装置１０１は、通常電力状態２０１から省電力状態２０２への移行直前のネットワーク設定情報を退避しておく。そして、情報処理装置１０１は、省電力状態２０２から通常電力状態２０１に移行するときに、その時点でのネットワーク設定と比較して変更があるかチェックする。この結果、ネットワーク設定に変更がない場合、情報処理装置１０１は、アプリケーションシステム部１０３が省電力状態２０２への移行直前のアイドル状態のスナップショットを使用して状態を復元するように起動する。このことにより、アプリケーションシステム部１０３の起動時間を短縮するだけでなく、アイドル状態に復元されたアプリケーションにおいて通信エラーが発生することも防ぐことができる。
【００６７】
一方、省電力状態２０２の間にネットワーク設定に変更がある場合には、アプリケーションシステム部１０３は、電源オンからのシステム起動処理におけるネットワーク設定処理の実行直前の状態に、システム状態を復元する。これにより、ネットワーク設定とアプリケーションの起動が実行されるため、アイドル状態に復元する場合に比べると起動時間を要するが、省電力状態２０２の間のネットワーク設定の変化に起因するアプリケーション通信エラーは発生しない。また、電源オフからの起動よりも、ＯＳの起動や各ハードウェアの初期化にかかる時間については短縮可能である。
【００６８】
［実施形態２］
以下、本発明の実施形態２について説明する。本実施形態における情報処理装置１０１は、実施形態１の情報処理装置１０１のハードウェア構成（図１）、消費電力状態とその状態遷移（図２）が同じであるとする。また、情報処理装置１０１が完全に電源がオフの状態からの電源オン時の起動処理（図３）が同じである。さらに、本実施形態においても、実施形態１と同様に省電力状態２０２でネットワークスタンバイを実行する。実施形態１のネットワークスタンバイの開始処理フロー（図４）も同じである。
【００６９】
まず、省電力状態２０２からの通常電力状態２０１への移行時のネットワーク通信部１０２の処理について、図１０のフローチャートを参照しながら説明する。図１０は、本実施形態における省電力状態２０２から通常電力状態２０１への移行時のネットワーク通信部１０２の処理フローである。
【００７０】
はじめに、Ｓ１００２において、ネットワーク通信部１０２は、図４のＳ４０３の処理で退避しておいたネットワーク設定情報と、現時点のネットワーク設定情報とを比較する処理を実行する。続いてＳ１００３において、Ｓ１００２の比較結果、ネットワーク設定情報に変更があれば（Ｓ１００３のＹｅｓ）、処理はＳ１００４に進む。Ｓ１００４では、プロトコル処理部１０７が、電源制御部１１５に対し、ネットワーク再設定の指示を出し、処理はＳ１００５に進む。一方、ネットワーク設定情報に変更がなければ（Ｓ１００４のＮｏ）、処理はＳ１００３からＳ１００５へ進む。
【００７１】
次に、Ｓ１００５において、プロトコル処理部１０７は、電源制御部１１５に対して省電力状態２０２からの起動の指示を行う。指示を受けた電源制御部１１５は、アプリケーションシステム部１０３に対してハイバネーションによる復帰処理を実行するための制御信号をアサートしながら、電源を投入する。このとき、電源制御部１１５は、Ｓ１００４の処理でネットワーク再設定の指示を受信していたならば、アプリケーションシステム部１０３に対してネットワーク再設定を実行するための制御信号も同時にアサートしながら、電源を投入する。
【００７２】
次に、Ｓ１００６において、プロトコル処理部１０７は、ＣＰＵ１１０へハイバネーションの起動スナップショットを指定する通知を行う。ここでは、ネットワークスタンバイ開始処理で作成した（図４のＳ４０４）アイドル状態スナップショットが指定される。続くＳ１００７では、もし、Ｓ１００４でネットワーク再設定が指示されているならば（Ｓ１００７のＹｅｓ）、Ｓ１００８でネットワーク通信部１０２の各ブロック（図１の１０４〜１０８）は、リセットおよび初期化を実行して、Ｓ１００９で本処理フローの実行が終了する。そうでなければ（Ｓ１００７のＮｏ）、処理はＳ１００７からＳ１００９に進み、処理は終了となる。
【００７３】
次に、本実施形態における、情報処理装置１０１の省電力状態２０２から通常電力状態２０１への移行時におけるアプリケーションシステム部１０３の起動処理について、図１１の処理フローを参照しながら説明する。図１１は、本実施形態における省電力状態２０２から通常電力状態２０１への移行時におけるアプリケーションシステム部１０３の起動処理フローである。
【００７４】
ネットワーク通信部１０２が、前述の図１０のＳ１００５の処理を実行すると、アプリケーションシステム部１０３への電源が投入される。前述したように、電源制御部１１５から、アプリケーションシステム部１０３へのハイバネーションによる復帰を指示する制御信号がアサートされる。これにより、アプリケーションシステム部１０３は、電源オフからのＯＳの起動処理（Ｓ３０３）を実行せず、Ｓ１１０１から始まる起動処理を実行する。
【００７５】
Ｓ１１０２からＳ１１０５は、ＣＰＵ１１０が実行するスナップショット状態復元プログラムの処理である。まず、Ｓ１１０２において、ＣＰＵ１１０は、ネットワーク通信部１０２からスナップショットの指定通知を待機する。本実施形態では、前述したように、ＣＰＵ１１０は、ネットワーク通信部１０２からアイドル状態スナップショットが通知されるため、続くＳ１１０３において、フラッシュＲＯＭ１１３から該スナップショットデータを読み出して、保存された状態への復元処理を実行する。アプリケーションシステム部１０３は、Ｓ１１０３の復元処理が終了すると、通常電力状態２０１であって且つネットワークスタンバイ開始直前の状態に復帰する。そして直ちに、Ｓ１１０４で、ＣＰＵ１１０により、ネットワーク再設定を実行するための制御信号がアサート状態であるどうかが検出される。この検出は、該制御信号をＣＰＵ１１０への割り込み信号として接続することで実現できる。該制御信号がアサート状態ではないならば（Ｓ１１０４のＮｏ）、処理はＳ１１０４からＳ１１０８に進み、本処理フローは終了する。
【００７６】
該制御信号がアサート状態であれば（Ｓ１１０４のＹｅｓ）、前述の図１０のＳ１００４の処理において、プロトコル処理部１０７は、ネットワーク再設定を指示していることになる。この場合、処理はＳ１１０４からＳ１１０５に進み、ＣＰＵ１１０は、アイドル状態で復元されたアプリケーションをすべて終了させる。そして、Ｓ１１０６で、ネットワーク通信部１０２は、ネットワーク設定の再設定処理を実行する。具体的には、Ｓ１１０６では、ネットワーク通信部１０２は、ネットワーク機能を停止後、図３のＳ３０７と同等の処理を実行する。すなわち、ネットワーク通信部１０２は、ネットワーク１１６との通信リンクの設定や、ＴＣＰ／ＩＰ通信に必要なＩＰアドレスなどの設定を行う。次に、処理はＳ１１０７へ進み、ＣＰＵ１１０は、Ｓ１１０６で終了させたアプリケーションを再起動する。最後にＳ１１０８に進み、本処理フローは終了する。
【００７７】
本実施形態では、情報処理装置１０１の省電力状態２０２から通常電力状態２０１への移行において、アプリケーションシステム部１０３は、アイドル状態スナップショットを使用してシステム状態を復元するように起動する。但し、省電力状態２０２の間にネットワーク設定が変化していたならば、通常電力状態２０１への復帰後に、一旦アプリケーションを終了し、ネットワーク設定をリセットしてやり直す。このようにしてネットワーク設定を更新するため、その後のアプリケーションにおける通信エラーの発生を防ぐことが可能になる。また、省電力状態２０２でネットワーク設定が変化していない場合には、以前のアイドル状態が復元されてそのまま再開するため、ハイバネーションによる起動時間短縮のメリットが失われることはない。
【００７８】
このように、以上に述べた実施形態における情報処理装置は、待機中にネットワークの状況変化に応じて該装置のネットワーク設定が変化した場合に、待機からの起動処理においてネットワーク設定の再設定やアプリケーションの再起動などを実行する。これにより、ハイバネーションによる高速起動後のアプリケーション通信エラーの発生を防ぐことが達成される。
【００７９】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８０】
１０１  情報処理装置、１０２  ネットワーク通信部、１０３  アプリケーションシステム部
【図１】
2017102584.tif 000003
【図２】
2017102584.tif 000004
【図３】
2017102584.tif 000005
【図４】
2017102584.tif 000006
【図５】
2017102584.tif 000007
【図６】
2017102584.tif 000008
【図７】
2017102584.tif 000009
【図８】
2017102584.tif 000010
【図９】
2017102584.tif 000011
【図１０】
2017102584.tif 000012
【図１１】
2017102584.tif 000013