(57)【要約】【課題】  サスペンド／ハイバネーションから使用中の状態に復帰するとき、デバイスの設定やメモリの使用状態を戻すのに多くの時間を要する。また、復帰後アプリケーションを、ハードウェア初期化を含む初期状態で再起動するとさらに多くの時間を要してしまう。【解決手段】  情報処理装置がサスペンド／ハイバネーション要求を受信した場合、起動中のアプリケーションを再起動し、アプリケーションは初期化処理のうちハードウェアの初期化処理を除く初期化処理を実行した後にサスペンド／ハイバネーション状態に移行すると共に、サスペンド／ハイバネーション状態からの復帰時には情報処理装置の復帰処理の後、ハードウェアの初期化処理から開始するようにする。【選択図】  図３
2008152708.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置における、サスペンドまたはハイバネーション状態からの復帰時にハードウェアの初期化を伴うレジューム方法であって、
前記情報処理装置がサスペンドまたはハイバネーション要求を受信した場合、起動中のアプリケーションを終了後、再び前記アプリケーションを起動し、
起動した該アプリケーションは初期化処理のうち、ハードウェアの初期化処理を除く初期化処理を実行した後に起動処理を停止し、
該アプリケーションの停止後、前記情報処理装置がサスペンドまたはハイバネーション状態に移行すると共に、
前記情報処理装置がサスペンドまたはハイバネーション状態からの復帰要求を受信した場合、該情報処理装置はサスペンドまたはハイバネーション状態からの復帰処理を開始し、
停止していた前記アプリケーションは、前記情報処理装置の復帰処理の後、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開する
ことを特徴とするレジューム方法。
【請求項２】
情報処理装置における、サスペンドまたはハイバネーション状態からの復帰時にハードウェアの初期化を伴うレジューム方法であって、
アプリケーションがサスペンドまたはハイバネーション要求を受信した場合、起動中の当該アプリケーションを終了後再起動し、
該アプリケーションは初期化処理のうち、ハードウェアの初期化処理を除く初期化処理を実行した後に、前記情報処理装置に対しサスペンドまたはハイバネーション状態に移行するよう指示すると共に起動処理を停止し、
該アプリケーションの停止後、前記情報処理装置がサスペンドまたはハイバネーション状態に移行すると共に、
前記情報処理装置がサスペンドまたはハイバネーション状態からの復帰要求を受信した場合、該情報処理装置はサスペンドまたはハイバネーション状態からの復帰処理を開始し、
停止していた前記アプリケーションは、前記情報処理装置の復帰処理の後、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開する
ことを特徴とするレジューム方法。
【請求項３】
情報処理装置で稼動する、サスペンドまたはハイバネーション状態からの復帰時にハードウェアの初期化を伴うプログラムであって、
前記情報処理装置からサスペンドまたはハイバネーション要求を受信した場合、終了するステップと、
再び起動された場合、初期化処理のうちハードウェアの初期化処理を除く初期化処理を実行した後に起動処理を停止するステップと、
この停止を解除する要求を受信した場合、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開するステップと
を有することを特徴とするプログラム。
【請求項４】
情報処理装置で稼動する、サスペンドまたはハイバネーション状態からの復帰時にハードウェアの初期化を伴うプログラムであって、
サスペンドまたはハイバネーション要求を受信した場合、終了後再起動するステップと、
初期化処理のうちハードウェアの初期化処理を除く初期化処理を実行した後に、前記情報処理装置に対しサスペンドまたはハイバネーション状態に移行するよう指示すると共に起動処理を停止するステップと、
この停止を解除する要求を受信した場合、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開するステップと
を有することを特徴とするプログラム。
【請求項５】
レジューム機能を備える情報処理装置であって、
前記情報処理装置で稼動するアプリケーションと、
サスペンドまたはハイバネーション要求を受信した場合、起動中の前記アプリケーションを終了後、再び該アプリケーションを起動する手段と、
サスペンドまたはハイバネーション状態に移行する手段と、
サスペンドまたはハイバネーション状態からの復帰要求を受信した場合、サスペンドまたはハイバネーション状態からの復帰処理を開始する手段と
を備え、
前記アプリケーションは、
起動後の初期化処理のうち、前記情報処理装置のハードウェアの初期化処理を除く初期化処理を実行した後に起動処理を停止する手段と、
前記停止の解除指示を受信した場合、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開する手段と
を備えることを特徴とする情報処理装置。
【請求項６】
レジューム機能を備える情報処理装置であって、
前記情報処理装置で稼動するアプリケーションと、
サスペンドまたはハイバネーション要求を受信した場合、サスペンドまたはハイバネーション状態に移行する手段と、
サスペンドまたはハイバネーション状態からの復帰要求を受信した場合、サスペンドまたはハイバネーション状態からの復帰処理を開始する手段と
を備え、
前記アプリケーションは、
サスペンドまたはハイバネーション要求を受信した場合、終了後、再起動する手段と、
該再起動後の初期化処理のうち、前記情報処理装置のハードウェアの初期化処理を除く初期化処理を実行した後に、前記情報処理装置に対しサスペンドまたはハイバネーション状態に移行するよう指示すると共に起動処理を停止する手段と、
前記停止の解除指示を受信した場合、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開する手段と
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のレジューム機能に関し、特にレジューム動作時のアプリケーションの扱いに関する。
【背景技術】
【０００２】
PC(Personal Computer)など、消費電力を抑えるためにレジューム(Resume)機能を搭載する機器が増えている。サスペンドまたはハイバネーション状態に移行するとバックアップ用の電源を除きPC本体の電源を停止することができる。そして使用する前には必要な情報を復元し、サスペンドまたはハイバネーションになった直前の状態から作業を再開することができる。
【０００３】
近年の機器への搭載メモリ容量の増加やOS(Operating System)のコード量の増加もあり、この復元作業にかかる時間が増加する傾向にある。
【０００４】
このため、復帰時にはあらかじめ用意した、起動が完了した時点の各プログラムのメモリイメージをロードすることで、アプリケーションの起動開始から起動完了までの時間を短縮する発明が提案されている（特許文献１を参照）。
【特許文献１】特開２００５−２８４４９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
レジューム機能は、使用中の状態を維持したまま暫時の不使用時間における省電力を実現する機能である。しかしながら、サスペンドまたはハイバネーションから使用中の状態に復帰するとき、デバイスの設定やメモリの使用状態を復元するのに多くの時間を要する。また、復帰後アプリケーションを、ハードウェア初期化を含む初期状態で再起動するとさらに多くの時間を要することとなる。
【０００６】
本発明は上記の事情に鑑みてなされたもので、サスペンドまたはハイバネーション状態から復帰するときに要する時間を短縮可能なレジューム方法、プログラムおよび情報処理装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明のレジューム方法は、
情報処理装置における、サスペンドまたはハイバネーション状態からの復帰時にハードウェアの初期化を伴うレジューム方法であって、前記情報処理装置がサスペンドまたはハイバネーション要求を受信した場合、起動中のアプリケーションを終了後、再び前記アプリケーションを起動し、起動した該アプリケーションは初期化処理のうち、ハードウェアの初期化処理を除く初期化処理を実行した後に起動処理を停止し、該アプリケーションの停止後、前記情報処理装置がサスペンドまたはハイバネーション状態に移行すると共に、前記情報処理装置がサスペンドまたはハイバネーション状態からの復帰要求を受信した場合、該情報処理装置はサスペンドまたはハイバネーション状態からの復帰処理を開始し、停止していた前記アプリケーションは、前記情報処理装置の復帰処理の後、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開することを特徴とする。
【０００８】
また別の態様のレジューム方法は、
情報処理装置における、サスペンドまたはハイバネーション状態からの復帰時にハードウェアの初期化を伴うレジューム方法であって、アプリケーションがサスペンドまたはハイバネーション要求を受信した場合、起動中の当該アプリケーションを終了後再起動し、該アプリケーションは初期化処理のうち、ハードウェアの初期化処理を除く初期化処理を実行した後に、前記情報処理装置に対しサスペンドまたはハイバネーション状態に移行するよう指示すると共に起動処理を停止し、該アプリケーションの停止後、前記情報処理装置がサスペンドまたはハイバネーション状態に移行すると共に、前記情報処理装置がサスペンドまたはハイバネーション状態からの復帰要求を受信した場合、該情報処理装置はサスペンドまたはハイバネーション状態からの復帰処理を開始し、停止していた前記アプリケーションは、前記情報処理装置の復帰処理の後、前記ハードウェアの初期化処理を開始すると共に前記起動処理を再開することを特徴とする。
【０００９】
また、これらのレジューム方法を実現するためのプログラムおよび情報処理装置が提供される。
【発明の効果】
【００１０】
サスペンドまたはハイバネーション状態から復帰するときに要する時間を短縮可能なレジューム機能を実現する。
【発明を実施するための最良の形態】
【００１１】
図１は、本実施形態にかかる情報処理装置のブロック構成図の一例を示す図である。図1には、PC１００、CPU１０１、メモリ１０２、入力装置１０３、表示装置１０４、HDD１０５、通信部１０６、LAN１０７、内部バス１０８および電源部１０９が示されている。
【００１２】
PC１００は、レジューム機能を備えたノートPCである。ここでいうレジュームとは、PCの電源を切る直前の状態を保存し、次に電源を入れたときに電源を切る前の状態から作業を再開する機能を指す。レジューム機能には２つの実現方法が含まれる。一つは中断する際にメモリ上のデータを磁気ディスクなどに丸ごとコピーしてメモリの電源も切れるようにしたハイバネーションと、作業状態をメモリ上に保持したまま省電力モード状態とするサスペンドである。いずれの方法も、いちいちOSやアプリケーションソフトの終了や起動を行なう場合よりも時間や手間がかからず、消費電力も抑えることができる。好適にはこの機能をノードPCなどの持ち運びができる機器に応用すると、必要なときに使用をやめてすぐに携行できるうえ、使用するときでもすぐさま使用することができる。携行中など使用していないときにはバッテリーの消耗を抑えることもでき、機器の利便性を高めることができる。以降の説明ではレジューム機能のうち、ハイバネーションを例に説明するが、これに限定されるものではない。
【００１３】
CPU１０１は、PC１００が内蔵するCPU（Central Processing Unit）である。PC１００の全体の制御も司る。
【００１４】
メモリ１０２は、半導体メモリから構成されるメモリ装置である。通常は、CPU１０１が処理するプログラムや一時データが格納される。
【００１５】
入力装置１０３は、たとえばキーボードやマウス、タッチパッドが考えられる。PC１００に備えられており、コマンド等利用者の指示を入力するのに利用される。
【００１６】
表示装置１０４は、たとえばPC１００が内蔵するLCDディスプレイである。
【００１７】
HDD１０５は、PC１００が内蔵する磁気ディスク装置である。CPU１０１が処理するプログラムはあらかじめHDD１０５に格納される。また、ハイバネーションする場合、HDD１０５にメモリ等のデータを保存する場所としても使用される。
【００１８】
内部バス１０６は、PC１００内の各構成ユニットを接続し、データの交換を行うためのバスである。各構成ユニットは内部バス１０６を介してデータの授受を実現する。
【００１９】
電源部１０７は、PC１００に内蔵する各構成部分に電力を供給する。また、必要に応じて構成部分毎に電力を供給したり遮断したりすることができる。たとえば、サスペンドに移行した時にはメモリ１０２に電力を供給したままにするが、他の構成部分の電力は遮断する場合が考えられる。
【００２０】
図２は、従来のレジューム機能の動作フローを示す図である。
【００２１】
その機器の利用者がハイバネーションに移行しようとしたとき、まず起動中のアプリケーションの処理を終了する（ステップＳ０１）。本実施形態のアプリケーションはレジューム動作の有無には関わりなく、機器の電源が落ちる場合にはハードウェアの初期化をすべきであって再度初期状態から起動させたいアプリケーションを想定している。たとえば組込み機器上で稼動するアプリケーションなど、その機器の立ち上げ時間は短縮したいが復帰の際には作業域のメモリやハードウェアの初期化が好ましい場合が考えられる。
【００２２】
次にOSによるハイバネーション動作が開始され（ステップＳ０２）、電源部１０９により機器の電源が遮断される（ステップＳ０３）。
【００２３】
利用者が使用を再開するためその機器の電源スイッチを操作する、あるいはキーボードを叩くなどの操作をトリガーとして電源部１０９から電源が供給されると（ステップＳ０４）、最初に立ち上がったOSによってハイバネーション以前へ復帰するための処理が開始される（ステップＳ０５）。
【００２４】
OSは必要な復帰処理が終わったところで、先に終了したアプリケーションを起動する（ステップＳ０６）。起動すると自身の稼動に必要なライブラリのロード、メモリ領域の初期化などを実行する。
【００２５】
次にアプリケーションは自身が稼動するのに必要なハードウェアの初期化処理を済ませ（ステップＳ０７）、通常の処理を開始する（ステップＳ０８）。
【００２６】
図３は、本実施形態にかかるレジューム機能の動作フローの一例を示す図である。従来行われていたレジューム動作と比べてアプリケーションの動作が異なる。
【００２７】
利用者がハイバネーションを指示すると、OSからこの指示を受けたアプリケーションは一旦終了し（ステップＳ１１）、その後、そのアプリケーションを再起動する（ステップＳ１２）。このときアプリケーションは自身の稼動に必要なライブラリのロード、メモリ領域の初期化などを実行後、ハードウェアの初期化処理の前で一旦処理を停止する。
【００２８】
次にOSによるハイバネーション動作が開始され（ステップＳ１３）、電源部１０９により機器の電源が遮断される（ステップＳ１４）。
【００２９】
利用者が使用を再開するためその機器の電源スイッチを操作する、あるいはキーボードを叩くなどの操作をトリガーとして電源部１０９から電源が供給されると（ステップＳ１５）、最初に立ち上がったOSによってハイバネーション以前へ復帰するための処理が開始される（ステップＳ１６）。
【００３０】
OSは必要な復帰処理が終わったところで、先に停止していたアプリケーションに処理の継続を指示することで、アプリケーションはハードウェアの初期化処理を開始する（ステップＳ１７）。その後、アプリケーションは通常の処理を開始する（ステップＳ１８）。
【００３１】
このとき、アプリケーションによるハードウェアの初期化（ステップＳ１７）は、電源が落ちるとリセットされてしまうためレジューム後電源が供給されてからでなければならない。
【００３２】
このように構成すると、アプリケーションによるハードウェア初期化処理直前までのメモリ状態保存しておけるため復帰後の処理が軽減される。よって、ハイバネーション状態から復帰するときに要するアプリケーションの起動時間を短縮できる。
【００３３】
図４は、本実施形態にかかるアプリケーションのレジューム動作フローの一例を示す図である。
【００３４】
アプリケーションはハイバネーションの指示を受けたと判断すると（ステップＳ２１でＹｅｓ）、一旦終了して再起動する（ステップＳ２２）。ハイバネーション指示は、アプリケーションが利用者からOSを介することで取得する。
【００３５】
再起動の後、自身の稼動に必要なライブラリのロード、メモリ領域の初期化などを実行後（ステップＳ２３）、ハードウェアの初期化処理を残して一旦処理を停止する。
【００３６】
ハードウェアの初期化をのぞく必要な初期化が終わった場合、ハイバネーションに入る準備が完了したことをOSに通知する（ステップＳ２４）。
【００３７】
図５は、本実施系地にかかるOSのレジューム動作フローの一例を示す図である。
【００３８】
OSは利用者からハイバネーションの指示をうけたと判断すると（ステップＳ３１でＹｅｓ）、起動中のアプリケーションにハイバネーションを指示する（ステップＳ３２）。この実施形態はOS側で利用者のハイバネーション要求を取得する場合である。変形例としてはアプリケーションが利用者のレジューム要求を受け取ることも考えられ、この場合にはアプリケーションからOSに対してハイバネーション指示があったことを通知することになる。いずれの場合であっても以降の処理フローおよび効果に違いは無い。
【００３９】
次にアプリケーションのハイバネーション準備が完了したか否かを判断する（ステップＳ３３）。アプリケーションがハイバネーション準備完了とならない間（Ｎｏ）、OSによるハイバネーション処理は待たされる。
【００４０】
アプリケーションのハイバネーション準備が完了した場合（Ｙｅｓ）、OSはハイバネーション処理を再開する（ステップＳ３４）。
【００４１】
図６は、本実施形態にかかるアプリケーションの復帰動作フローの一例を示す図である。
【００４２】
ハイバネーション状態となっていたアプリケーションは、OSによる復帰処理によりスケジュールされるようになると自動的に処理を再開する。このとき、OSが中途半端な状態のまま稼動するのを避けるため、OSの復帰処理が終わったか否かを判断する（ステップＳ４２）。OSが復帰していない間は（Ｎｏ）、初期化処理についてはハイバネーション準備完了をOSに通知した時点の状態で待機し続ける。
【００４３】
OSが復帰した場合（Ｙｅｓ）、アプリケーションはハードウェアの初期化を実行する（ステップＳ４２）。その後、アプリケーションは通常の処理を開始する（ステップＳ４３）。
【００４４】
OSが復帰したか否かの判断に際しては、OS側からイベントを発行し、これを受けることで待機状態を終了させる方法が考えられる。
【００４５】
図７は、本実施形態にかかるOSの復帰動作フローの一例を示す図である。
【００４６】
ハイバネーション状態から復帰したOSは、ハイバネーション前の状態へと復帰する（ステップＳ５１）。その後、ハードウェア初期化処理直前で待機状態にあるアプリケーションに対し、初期化作業を継続しても良いことを通知する（ステップＳ５２）。
【００４７】
このように構成すると、アプリケーションによるハードウェア初期化処理直前までのメモリ状態を保存しておけるため復帰後の処理が軽減される。よって、ハイバネーションあるいはサスペンド状態から復帰するときに要するアプリケーションの起動時間を短縮できる。
【００４８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４９】
【図１】本実施形態にかかる情報処理装置のブロック構成図の一例を示す図である。
【図２】従来のレジューム機能の動作フローを示す図である。
【図３】本実施形態にかかるレジューム機能の動作フローの一例を示す図である。
【図４】本実施形態にかかるアプリケーションのレジューム動作フローの一例を示す図である。
【図５】本実施系地にかかるOSのレジューム動作フローの一例を示す図である。
【図６】本実施形態にかかるアプリケーションの復帰動作フローの一例を示す図である。
【図７】本実施形態にかかるOSの復帰動作フローの一例を示す図である。
【符号の説明】
【００５０】
１００・・・ＰＣ、１０１・・・ＣＰＵ、１０２・・・メモリ、１０３・・・入力装置、１０４・・・表示装置、１０５・・・ＨＤＤ、１０６・・・内部バス、１０７・・・電源部
【図１】
2008152708.tif 000003
【図２】
2008152708.tif 000004
【図３】
2008152708.tif 000005
【図４】
2008152708.tif 000006
【図５】
2008152708.tif 000007
【図６】
2008152708.tif 000008
【図７】
2008152708.tif 000009