(57)【要約】      （修正有）【課題】システム一時停止後のシステム再開時間をより速くする。【解決手段】コンピュータシステムのシステム再開方法は、コンピュータシステムを待機状態または休眠状態から起動状態へ再開させる。コンピュータシステムは、複数の周辺装置と中央処理装置とを含む。周辺装置は、第１種別および第２種別として分類される。システム再開方法は、中央処理装置の電力をオンにするステップと、第１種別に属す周辺装置のみを再開させる（ｒｅｓｕｍｅ）ステップと、コンピュータシステムの運転を解凍する（ｔｈａｗ）ステップと、を含む。【選択図】図３
2017102881.tif 000002
【特許請求の範囲】
【請求項１】
複数の周辺装置と中央処理装置とを含むコンピュータシステムを待機状態（Ｓ３）または休眠状態（Ｓ４）に移行させるシステム一時停止方法であって、
前記コンピュータシステムの運転を凍結する（ｆｒｅｅｚｅ）ステップと、
第１種別および第２種別として分類される前記周辺装置を一時停止する（ｓｕｓｐｅｎｄ）ステップと、
前記中央処理装置の電力をオフにするステップと、を含み、
前記第１種別に属す前記周辺装置は、前記コンピュータシステムがシステム再開プロセスを実行したときに全て再開し（ｒｅｓｕｍｅ）、
前記第２種別に属す前記周辺装置は、前記コンピュータシステムが使用要求をインターセプトしたときに再開する、システム一時停止方法。
【請求項２】
前記周辺装置とオペレーティングシステムとの接続が維持されており、
前記第１種別に属す前記周辺装置は、少なくとも１つのフォアグランドプログラムに関連しており、
前記第１種別に属す前記周辺装置に所定のタグが付与されており、または、前記第１種別に属す前記周辺装置が所定のリスト中に記録されている、請求項１に記載のシステム一時停止方法。
【請求項３】
前記システム一時停止方法は、前記コンピュータシステムを前記休眠状態（Ｓ４）に移行させるものであり、
前記コンピュータシステムは、さらにメモリおよび外部記憶装置を含み、
前記システム一時停止方法は、前記メモリ内の、全ての前記周辺装置に対応するコンテンツを前記外部記憶装置に記憶するステップをさらに含む、請求項１に記載のシステム一時停止方法。
【請求項４】
第１種別および第２種別として分類される複数の周辺装置と中央処理装置とを含むコンピュータシステムを、待機状態（Ｓ３）または休眠状態（Ｓ４）から起動状態（Ｓ０）へ再開させるシステム再開方法であって、
前記中央処理装置の電力をオンにするステップと、
前記第１種別に属す前記周辺装置のみを再開させる（ｒｅｓｕｍｅ）ステップと、
前記コンピュータシステムの運転を解凍する（ｔｈａｗ）ステップと、を含むシステム再開方法。
【請求項５】
前記第２種別に属す前記周辺装置は、フェイク再開（ｆａｋｅ  ｒｅｓｕｍｅｄ）状態に設定されており、
前記第１種別に属す前記周辺装置は、少なくとも１つのフォアグランドプログラムに関連しており、
前記第１種別に属す前記周辺装置に所定のタグが付与されており、または、前記第１種別に属す前記周辺装置が所定のリスト中に記録されている、請求項４に記載のシステム再開方法。
【請求項６】
使用要求をインターセプトするステップと、
前記使用要求に基づき、該使用要求に対応する、前記第２種別に属す前記周辺装置を再開させるステップと、
をさらに含む請求項４に記載のシステム再開方法。
【請求項７】
コンピュータシステムであって、
複数の周辺装置と、
前記周辺装置を制御する中央処理装置と、
前記コンピュータシステムを待機状態（Ｓ３）または休眠状態（Ｓ４）に移行させるシステム一時停止プロセスを実行する電源管理インターフェースと、を含み、
前記システム一時停止プロセスにおいて、前記電源管理インターフェースが、前記コンピュータシステムの運転を凍結し（ｆｒｅｅｚｅ）、前記周辺装置を一時停止する（ｓｕｓｐｅｎｄ）と共に前記中央処理装置の電力をオフにし、
前記電源管理インターフェースは、前記周辺装置を第１種別および第２種別として分類し、
前記第１種別に属す前記周辺装置は、前記コンピュータシステムがシステム再開プロセスを実行したときにすべて再開し（ｒｅｓｕｍｅ）、
前記第２種別に属す前記周辺装置は、前記コンピュータシステムが使用要求をインターセプトしたときに再開する、コンピュータシステム。
【請求項８】
前記システム一時停止プロセスにおいて、
前記電源管理インターフェースが、前記周辺装置とオペレーティングシステムとの接続を維持し、前記第１種別に属す前記周辺装置が少なくとも１つのフォアグランドプログラムに関連しており、前記電源管理インターフェースが前記第１種別に属す前記周辺装置に所定のタグを付与し、または、前記電源管理インターフェースが前記第１種別に属す前記周辺装置を所定のリスト中に記録する、請求項７に記載のコンピュータシステム。
【請求項９】
前記システム一時停止プロセスは、前記コンピュータシステムを前記休眠状態（Ｓ４）に移行させるものであり、
前記コンピュータシステムは、さらにメモリおよび外部記憶装置を含み、
前記システム一時停止プロセスにおいて、さらに前記電源管理インターフェースが、前記メモリ内の、全ての前記周辺装置に対応するコンテンツを前記外部記憶装置に記憶する、請求項７に記載のコンピュータシステム。
【請求項１０】
前記システム再開プロセスは、前記コンピュータシステムを前記待機状態（Ｓ３）または前記休眠状態（Ｓ４）から起動状態（Ｓ０）へ再開させるものであり、
前記システム再開プロセスにおいて、前記電源管理インターフェースが、前記中央処理装置の電力をオンにし、前記第１種別に属す前記周辺装置のみを再開させる（ｒｅｓｕｍｅ）と共に、前記コンピュータシステムの運転を解凍する（ｔｈａｗ）、請求項７に記載のコンピュータシステム。
【請求項１１】
前記システム再開プロセスにおいて、前記電源管理インターフェースが、
前記第２種別に属す前記周辺装置をフェイク再開（ｆａｋｅ  ｒｅｓｕｍｅｄ）状態に設定し、さらに、
使用要求をインターセプトし、前記使用要求に基づき、該使用要求に対応する、前記第２種別に属す前記周辺装置を再開させる、請求項１０に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステムに関する。
【背景技術】
【０００２】
従来、休眠技術（ｓｕｓｐｅｎｄ‐ｔｏ‐ｄｉｓｋ）を用いて快速起動を実現する方法が広く採用されてきた。その休眠状態（Ｓ４）としては、メモリの情報が外部の記録媒体に書き込まれると共に、全ての周辺装置の動作が停止する。
【０００３】
休眠技術を用いる一般的なシステム一時停止プロセス（ｓｙｓｔｅｍ  ｓｕｓｐｅｎｄ  ｐｒｏｃｅｄｕｒｅ）では、メモリ内のコンテンツが休眠ファイル（ｈｉｂｅｒｎａｔｉｏｎ  ｆｉｌｅ）として作成されると共に外部の記録媒体に書き込まれる。
【０００４】
そして、休眠技術を用いるシステム再開プロセス（ｓｙｓｔｅｍ  ｒｅｓｕｍｅ  ｐｒｏｃｅｄｕｒｅ）では、全ての周辺装置が初期化されると共に、周辺装置を再開させるための休眠ファイルがロードされる。しかし、このようなシステム再開プロセスでは、多量な時間をかけ、全ての周辺装置の初期化動作および再開動作を行わなければならず、快速起動の実行速度にボトルネックを引き起こす問題がある。この問題については、例えば中華民国特許第５１４７９６号に開示のシステム再開方法が挙げられる。
【０００５】
ところで、ウェアラブル装置の登場に伴い、ウェアラブル装置の電力を如何に節約するかという難題がある。そして、スマートウェアラブル装置（例えばスマートメガネ）の場合、該装置上において例えばＡｎｄｒｏｉｄ（登録商標）システムなどの複雑なオペレーティングシステムを実行しなければならない可能性があり、電力に対する需要が非常に高くなる。そのため、スマートウェアラブル装置の節電について、異なる規模の２カーネル設計が生み出されている。すなわち、システム上において高性能のアプリケーションを実行する必要がある場合には、高性能な大規模カーネルを用いて実行し、必要がない場合には、大規模カーネルを休眠状態または待機状態に移行させると共に大部分の周辺装置をオフにし、小規模カーネルのみを維持し動作させ続け、より多くの電力の節約を図る。このような設計の実現において、ユーザ体験に影響を及ぼさないためには、大規模カーネルのシステム再開プロセスの時間が長くなってはならないというキー要素が必要である。したがて、大規模カーネルのシステム再開における問題を解決するためには、より速いシステム再開プロセスが必要である。
【０００６】
また、不揮発性メモリは、その発展につれ、将来には既存のダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）に取って替わる可能性がある。そして、休眠技術を用いる快速起動方法も、待機技術（ｓｕｓｐｅｎｄ‐ｔｏ‐ＲＡＭ）を用いる快速起動方法（待機技術は、スリープ技術とも称する）へ徐々に変わり、メモリのコンテンツをそのまま不揮発性メモリ内に残し、外部の記録媒体に書き込む必要がなくなると予想される。
【０００７】
待機技術を用いる一般的なシステム再開プロセスは、休眠ファイルの読み取り動作が省略されるものの、初期化および全ての周辺装置の再開を行わなければならない。このようなシステム再開プロセスでは、依然として、多量な時間をかけて全ての周辺装置の初期化動作および再開動作を行わなければならず、同様に快速起動の流れにボトルネックを引き起こす問題がある。
【発明の概要】
【０００８】
本発明は、システム一時停止方法、システム再開方法、及びこれらの方法を用いるコンピュータシステムに関する。
【０００９】
本発明の第１態様によれば、コンピュータシステムを待機状態（Ｓ３）または休眠状態（Ｓ４）に移行させるシステム一時停止方法を提供する。コンピュータシステムは、複数の周辺装置と中央処理装置とを含む。コンピュータシステムのシステム一時停止方法は、コンピュータシステムの運転を凍結する（ｆｒｅｅｚｅ）ステップと、前記周辺装置を一時停止する（ｓｕｓｐｅｎｄ）ステップと、中央処理装置の電力をオフにするステップとを含む。前記周辺装置は、第１種別および第２種別として分類される。第１種別に属す前記周辺装置は、コンピュータシステムがシステム再開プロセスを実行したときにすべて再開する（ｒｅｓｕｍｅ）。第２種別に属す前記周辺装置は、コンピュータシステムが使用要求をインターセプトしたときに再開する。
【００１０】
本発明の第２態様によれば、コンピュータシステムを待機状態（Ｓ３）または休眠状態（Ｓ４）から起動状態（Ｓ０）へ再開させるシステム再開方法を提供する。コンピュータシステムは、複数の周辺装置と中央処理装置とを含む。前記周辺装置は、第１種別および第２種別として分類される。コンピュータシステムのシステム再開方法は、中央処理装置の電力をオンにするステップと、第１種別に属す前記周辺装置のみを再開させる（ｒｅｓｕｍｅ）ステップと、コンピュータシステムの運転を解凍する（ｔｈａｗ）ステップと、を含む。
【００１１】
本発明の第３態様によれば、複数の周辺装置と、中央処理装置と、電源管理インターフェースとを含むコンピュータシステムを提供する。中央処理装置は、前記周辺装置を制御する。電源管理インターフェースは、コンピュータシステムを待機状態（Ｓ３）または休眠状態（Ｓ４）に移行させるシステム一時停止プロセスを実行する。システム一時停止プロセスにおいて、電源管理インターフェースは、コンピュータシステムの運転を凍結し（ｆｒｅｅｚｅ）、前記周辺装置を一時停止する（ｓｕｓｐｅｎｄ）と共に中央処理装置の電力をオフにする。電源管理インターフェースは、前記周辺装置を第１種別および第２種別として分類する。第１種別に属す前記周辺装置は、コンピュータシステムがシステム再開プロセスを実行したときにすべて再開する（ｒｅｓｕｍｅ）。第２種別に属す前記周辺装置は、コンピュータシステムが使用要求をインターセプトしたときに再開する。
【００１２】
本発明の上記態様および他の態様がさらに良く理解されるように、以下は好ましい実施例を挙げると共に、添付される図面を参照しつつ、詳細に説明する。
【図面の簡単な説明】
【００１３】
【図１】コンピュータシステムを示す模式図である。
【図２】コンピュータシステムが「周辺装置要求性再開機能」を用いながら休眠状態に移行するシステム一時停止方法を示すフローチャートである。
【図３】コンピュータシステムが「周辺装置要求性再開機能」を用いながら休眠状態から離脱するシステム再開方法を示すフローチャートである。
【図４】電源管理インターフェースが「周辺装置要求性再開機能」を実行する様子を示す模式図である。
【図５】コンピュータシステムが「周辺装置要求性再開機能」を用いながら待機状態に移行するシステム一時停止方法を示すフローチャートである。
【図６】コンピュータシステムが「周辺装置要求性再開機能」を用いながら待機状態から離脱するシステム再開方法を示すフローチャートである。
【図７】Ｌｉｎｕｘ（登録商標、以下略）オペレーティングシステム環境を示す模式図である。
【図８】Ｌｉｎｕｘオペレーティングシステム環境において行われるメモリマッピングを示す模式図である。
【発明を実施するための形態】
【００１４】
本発明は、システム再開プロセス（ｓｙｓｔｅｍ  ｒｅｓｕｍｅ  ｐｒｏｃｅｄｕｒｅ）に「要求に基づいて周辺装置を再開させる機能（ｐｅｒｉｐｈｅｒａｌ  ｒｅｓｕｍｅ  ｏｎ  ｄｅｍａｎｄ）」が設定されているため、すぐに再開（ｒｅｓｕｍｅ）すべき周辺装置のみを再開させると共に、すぐに再開すべきでない周辺装置を一時停止状態、または、再開の成功を偽るフェイク再開（ｆａｋｅ  ｒｅｓｕｍｅｄ）状態に維持しつつ、当該周辺装置にシステム再開プロセスを回避させる（ｂｙｐａｓｓ）ようになっている。そして、システム再開プロセスの完了後は、アプリケーションが一時停止状態またはフェイク再開状態の周辺装置に対して使用を要求したときに、一時停止状態またはフェイク再開状態の周辺装置の再開動作を行う。このように、システム再開プロセスは、再開すべき周辺装置の数を減らすことにより、システム再開プロセスの実行時間を短縮させることができる。
【００１５】
図１を参照する。図１は、コンピュータシステム１００を示す模式図である。コンピュータシステム１００は、中央処理装置（ＣＰＵ）１１０と、電源管理インターフェース１２０と、メモリ１３０と、外部記憶装置１４０と、複数の周辺装置１５０とを含む。周辺装置１５０は、例えば表示パネル、タッチパネル、スピーカ、カメラ、またはユニバーサル・シリアス・バス（ＵＳＢ）である。周辺装置１５０は、第１種別Ｒ１および第２種別Ｒ２に分類される。第１種別Ｒ１の周辺装置１５０は、フォアグランドプログラムに関連しており、システム再開プロセスにおいてすぐに再開させる必要がある。第２種別Ｒ２の周辺装置１５０は、フォアグランドプログラムに関連せず、システム再開プロセスにおいてすぐに再開させる必要がない。例を挙げて説明すると、第１種別Ｒ１の周辺装置１５０は、例えば表示パネルまたはタッチパネルである。第２種別Ｒ２の周辺装置１５０は、例えばスピーカ、カメラ、またはユニバーサル・シリアス・バスである。
【００１６】
図１および２を参照する。図２は、コンピュータシステム１００が「周辺装置要求性再開機能」を用いながら休眠状態（Ｓ４）に移行するシステム一時停止方法を示すフローチャートである。まず、ステップＳ２１０において、コンピュータシステム１００の運転を凍結する（ｆｒｅｅｚｅ）。
【００１７】
続いて、ステップＳ２２０において、全ての周辺装置１５０を一時停止する（ｓｕｓｐｅｎｄ）と共に、当該周辺装置１５０を一時停止状態に変更する。なお、これらの周辺装置１５０は、第１種別Ｒ１および第２種別Ｒ２として分類されている。このステップでは、電源管理インターフェース１２０は、第１種別Ｒ１に属す各周辺装置１５０に所定のタグを付与してもよい。或いは、電源管理インターフェース１２０は、第１種別Ｒ１に属する周辺装置１５０を所定のリスト中に記録してもよい。これにより、後にタグの内容、若しくは所定のリストのクエリーを行うだけで、当該周辺装置１５０が第１種別Ｒ１に属すか否かを判明することができる。第１種別Ｒ１に属する周辺装置１５０は、コンピュータシステム１００がシステム再開プロセスを行ったときに、全装置が再開する（ｒｅｓｕｍｅ）。一方、第２種別Ｒ２に属する周辺装置１５０は、コンピュータシステム１００が使用要求Ｑ１（図４に示す）をインターセプトしたときに再開する。このステップでは、周辺装置１５０のいずれもが一時停止状態（または電源オフ状態）に移行するが、各周辺装置１５０とオペレーティングシステムとの接続は、アンインストールせずに維持される。これにより、周辺装置１５０のいずれも、所定の起動状態にしか初期化されないということがなく、一時停止の直前の状態で再開することができる。
【００１８】
ステップＳ２３０において、メモリ１３０内のコンテンツを休眠ファイル（ｈｉｂｅｒｎａｔｉｏｎ  ｆｉｌｅ）に作成することにより、メモリ１３０内の、全ての周辺装置１５０に対応するコンテンツを記録する。このステップでは、第１種別Ｒ１および第２種別Ｒ２に関係なく、全ての周辺装置１５０の一時停止の直前の状態が休眠ファイル内に記録される。
【００１９】
ステップＳ２４０において、休眠ファイルを外部記憶装置１４０に記憶することにより、メモリ１３０内の、全ての周辺装置１５０に対応するコンテンツを外部記憶装置１４０に記憶する。
【００２０】
ステップＳ２５０において、中央処理装置１１０およびメモリ１３０など、大部分のデバイスの電力をオフにする。
【００２１】
再び図１および３を参照する。図３は、コンピュータシステム１００が「周辺装置要求性再開機能」を用いながら休眠状態（Ｓ４）から離脱するシステム再開方法を示すフローチャートである。まず、ステップＳ３１０において、中央処理装置１１０、メモリ１３０、外部記憶装置１４０など、各デバイス電力をオンにする。
【００２２】
ステップＳ３２０において、起動プログラム（Ｂｏｏｔ−ｌｏａｄｅｒ）による簡単な初期化を行う。
【００２３】
ステップＳ３３０において、カーネル（ｋｅｒｎｅｌ）をロードし、カーネルに対して詳細な初期化を行う。
【００２４】
ステップＳ３４０において、第１種別Ｒ１に属する周辺装置１５０に対して初期化を行う。また、第２種別Ｒ２に属する周辺装置１５０については、一時停止状態に維持し、または、フェイク再開状態に変更する。このように、初期化すべき周辺装置１５０の数を減らすことにより、システム再開プロセスの所要時間を短縮させることができる。
【００２５】
ステップＳ３５０において、休眠ファイルをロードし、一時停止の直前のメモリ１３０内のコンテンツをリストアする。
【００２６】
ステップＳ３６０において、第１種別Ｒ１に属する周辺装置１５０のみを再開させる（ｒｅｓｕｍｅ）。また、第２種別Ｒ２に属する周辺装置１５０を一時停止状態に維持し、または、フェイク再開状態に変更する。このように、再開すべき周辺装置１５０の数を減らすことにより、システム再開プロセスの所要時間を短縮させることができる。
【００２７】
ステップＳ３７０において、コンピュータシステム１００の運転を解凍する。これで、システム再開プロセスは完了する。
【００２８】
次に、ステップＳ３８０において「周辺装置要求性再開機能」を実行する。図３および４を参照する。図４は、電源管理インターフェース１２０が「周辺装置要求性再開機能」を実行する様子を示す模式図である。電源管理インターフェース１２０は、所定の再開ユニット１２１と、インターセプトユニット１２２と、要求性再開ユニット１２３とを含む。ステップＳ３４０およびＳ３６０では、所定の再開ユニット１２１が、第１種別Ｒ１に属する周辺装置１５０の初期化および再開のために用いられるが、ステップＳ３８１では、インターセプトユニット１２２が、ユーザ空間（ｕｓｅｒ  ｓｐａｃｅ）ＵＳにおけるアプリケーション９１０からの使用要求Ｑ１をインターセプトする。ステップＳ３８２では、要求性再開ユニット１２３が、この使用要求Ｑ１に基づき、当該対応の周辺装置１５０が一時停止状態またはフェイク再開状態であるか否かを確認する。当該周辺装置１５０が一時停止状態またはフェイク再開状態である場合には、当該周辺装置１５０が第２種別Ｒ２に属していることを意味するため、要求性再開ユニット１２３は、使用要求Ｑ１に対応している、第２種別Ｒ２に属する周辺装置１５０を初期化し、再開させる。
【００２９】
このようにして、システム再開プロセスは、一部の周辺装置１５０（すなわち第１種別Ｒ１）を初期化し再開させると共に、アプリケーション９１０による使用要求Ｑ１をインタセフトしてから残りの周辺装置１５０（すなわち第２種別Ｒ２）を初期化し再開させるだけで済む。これにより、システム再開プロセスを快速起動技術に適用した場合でも、起動の所要時間をさらに効果的に短縮させることができる。
【００３０】
休眠技術以外に、待機技術（ｓｕｓｐｅｎｄ‐ｔｏ‐ＲＡＭ）を用いた快速起動方法（待機技術は、スリープ技術とも称する）にも、上記「周辺装置要求性再開機能」を適用することが可能である。図１および５を参照する。図５は、コンピュータシステム１００が「周辺装置要求性再開機能」を用いながら待機状態（Ｓ３）に移行するシステム一時停止方法を示すフローチャートである。まず、ステップＳ５１０において、コンピュータシステム１００の運転を凍結する（ｆｒｅｅｚｅ）。
【００３１】
続いて、ステップＳ５２０において、全ての周辺装置１５０を一時停止する（ｓｕｓｐｅｎｄ）と共に、当該周辺装置１５０を一時停止状態に変更する。なお、これらの周辺装置１５０は、第１種別Ｒ１および第２種別Ｒ２として分類されている。このステップでは、電源管理インターフェース１２０は、第１種別Ｒ１に属す各周辺装置１５０に所定のタグを付与しもてよい。或いは、電源管理インターフェース１２０は、第１種別Ｒ１に属する周辺装置を所定のリスト中に記録してもよい。これにより、後にタグの内容、若しくは該リストのクエリーを行うだけで、当該周辺装置１５０が第１種別Ｒ１に属すか否かを判明することができる。第１種別Ｒ１に属する周辺装置１５０は、コンピュータシステム１００がシステム再開プロセスを行ったときに、全装置が再開する（ｒｅｓｕｍｅ）。一方、第２種別Ｒ２に属する周辺装置１５０は、コンピュータシステム１００が使用要求Ｑ１（図４に示す）をインターセプトしたときに再開する。このステップでは、周辺装置１５０のいずれもが一時停止状態（または電源オフ状態）に移行するが、各周辺装置１５０とオペレーティングシステムとの接続は、アンインストールせずに維持される。これにより、周辺装置１５０のいずれも、所定の起動状態にしか初期化されないということがなく、一時停止の直前の状態で再開することができる。
【００３２】
ステップＳ５３０において、メモリ１３０内のコンテンツを記憶することにより、メモリ１３０内の、全ての周辺装置１５０に対するコンテンツを記録する。このステップでは、第１種別Ｒ１および第２種別Ｒ２に関係なく、全ての周辺装置１５０の一時停止の直前の状態が記憶される。
【００３３】
ステップＳ５４０において、メモリ１３０をリフレッシモード（ｒｅｆｒｅｓｈ  ｍｏｄｅ）に設定する。
【００３４】
ステップＳ５５０において、中央処理装置１１０など、大部分のデバイスの電力をオフにする。
【００３５】
再び図１及６を参照する。図６は、コンピュータシステム１００が「周辺装置要求性再開機能」を用いながら待機状態（Ｓ３）から離脱するシステム再開方法を示すフローチャートである。まず、ステップＳ６１０において、中央処理装置１１０、メモリ１３０、外部記憶装置１４０など、各デバイスの電力をオンにする。
【００３６】
ステップＳ６２０において、中央処理装置１１０をレジュームする。
【００３７】
ステップＳ６３０において、メモリ１３０を通常状態（ｎｏｒｍａｌ  ｍｏｄｅ）に戻す。
【００３８】
ステップＳ６４０において、システム状態を元に戻す。
【００３９】
ステップＳ６５０において、第１種別Ｒ１に属する周辺装置１５０のみを再開させる（ｒｅｓｕｍｅ）。また、第２種別Ｒ２に属する周辺装置１５０を一時停止状態に維持し、または、フェイク再開状態に変更する。このように、再開すべき周辺装置１５０の数を減らすことにより、システム再開プロセスの所要時間を短縮させることができる。
【００４０】
ステップＳ６６０において、コンピュータシステム１００の運転を解凍する。これでシステム再開プロセスは完了する。
【００４１】
次に、ステップＳ６７０において「周辺装置要求性再開機能」を実行する。図４および６を参照する。ステップＳ６５０では、所定の再開ユニット１２１が、第１種別Ｒ１に属する周辺装置１５０の再開のために用いられるが、ステップＳ６７１では、インターセプトユニット１２２が、ユーザ空間（ｕｓｅｒ  ｓｐａｃｅ）におけるアプリケーション９１０からの使用要求Ｑ１をインターセプトする。ステップＳ６７２では、要求性再開ユニット１２３が、この使用要求Ｑ１に基づき、該使用要求Ｑ１に対応している、第２種別Ｒ２に属する周辺装置１５０を初期化し、再開させる。
【００４２】
一実施例として、何らかの周辺装置１５０の初期化および再開動作を行う際に、該周辺装置１５０に付随している周辺装置１５０も併せて一斉に再開させてもよい。周辺装置１５０同士の付随関係は、予め設定してもよく、コンピュータシステム１００が通常の起動プロセスを行う際に初期化ステップで構築してもよく、コンピュータシステム１００がシステム一時停止プロセスを行う際に構築してもよい。
【００４３】
上記周辺装置１５０の分類は、フォアグランドプログラムとの関連性に応じて分けてもよい。或いは、別の実施例として、周辺装置１５０の分類は、ユーザにより設定されてもよい。
【００４４】
また、フェイク再開状態は、装置の元状態の変数を用いてマークアップしてもよく、別途で変数若しくはリストを生成し、登録してもよい。
【００４５】
図７を参照する。図７は、Ｌｉｎｕｘオペレーティングシステム環境を示す模式図である。Ｌｉｎｕｘオペレーティングシステムは、ユーザ空間（ｕｓｅｒ  ｓｐａｃｅ）ＵＳおよびカーネル空間（ｋｅｒｎｅｌ  ｓｐａｃｅ）ＫＳを含む。アプリケーション（ａｐｐｌｉｃａｔｉｏｎ）９１０およびＧＮＵ  Ｃライブラリ（ＧＮＵ  Ｃ  ｌｉｂｒａｒｙ）９２０は、ユーザ空間ＵＳに位置する。システム呼出インターフェース（ｓｙｓｔｅｍ  ｃａｌｌ  ｉｎｔｅｒｆａｃｅ）９３０、仮想ファイルシステム（ｖｉｒｔｕａｌ  ｆｉｌｅ  ｓｙｓｔｅｍ）９４０、インデックス・ノードキャッシュ（ｉｎｏｄｅ  ｃａｃｈｅ）９５０、ディレクトリキャッシュ（ｄｉｒｅｃｔｏｒｙ  ｃａｃｈｅ）９６０、個別ファイルシステム（ｉｎｄｉｖｉｄｕａｌ  ｆｉｌｅ  ｓｙｓｔｅｍ）９７０、バッファキャッシュ（ｂｕｆｆｅｒ  ｃａｃｈｅ）９８０、およびデバイスドライバー（ｄｅｖｉｃｅ  ｄｒｉｖｅｒ）９９０は、カーネル空間ＫＳに位置する。Ｌｉｎｕｘオペレーティングシステム環境では、いずれの周辺装置１５０もファイル（ｆｉｌｅ）形式で取り扱われる。アプリケーション９１０は、システム呼出（ｓｙｓｔｅｍ  ｃａｌｌ）を介して、周辺装置１５０とやり取りを行う。上記インターセプトユニット１２２は、システム呼出インターフェース９３０上において、例えばオープン（ｏｐｅｎ）、リード（ｒｅａｄ）、ライト（ｗｒｉｔｅ）、アイ・オー・コントロール（ｉｏｃｔｌ）システム呼出などの使用要求Ｑ１をインターセプトすることができる。インターセプトユニット１２２は、使用要求Ｑ１をインターセプトすると、周辺装置１５０の状態を判断する。該周辺装置１５０が一時停止状態またはフェイク再開状態である場合には、要求性再開ユニット１２３が、初期化および再開動作を行うと共に、該周辺装置１５０を通常の状態に変更する。これが完了すると、使用要求Ｑ１に対する応答を行う。
【００４６】
図８を参照する。図８は、Ｌｉｎｕｘオペレーティングシステム環境において行われるメモリマッピングを示す模式図である。Ｌｉｎｕｘオペレーティングシステム環境では、周辺装置１５０に対する操作が、メモリマッピング（ｍｍａｐ）方式で行われてもよい。すなわち、システム一時停止プロセスを行う際は、第２種別Ｒ２の周辺装置１５０に対応しているメモリマッピングページ（ｍｍａｐｅｄ  ｐａｇｅ）７１０の権限を「アクセス不可」に設定してもよい。システム再開プロセスの完了後は、アプリケーション９１０がメモリマッピングのアドレス空間を利用して当該周辺装置１５０を操作すると、ページフォルト（ｐａｇｅ  ｆａｕｌｔ）ＰＧによる中断が発生する。そこで、ページエラー処理プログラム（ｐａｇｅ  ｆａｕｌｔ  ｈａｎｄｌｅｒ）７２０が周辺装置１５０の状態を判断し、該周辺装置１５０が一時停止状態またはフェイク再開状態である場合には、要求性再開ユニット１２３が初期化および再開動作を行うと共に、該周辺装置１５０を通常の状態に変更する。これが完了すると、アプリケーション９１０からの使用要求Ｑ１に対する応答を行う。
【００４７】
上述した実施例によれば、「要求に基づいて周辺装置を再開させる機能」は、すぐに再開（ｒｅｓｕｍｅ）すべき周辺装置のみを再開させるが、すぐに再開すべきでない周辺装置を一時停止状態、または、再開の成功を偽るフェイク再開（ｆａｋｅ  ｒｅｓｕｍｅｄ）状態に保持しつつ、当該周辺装置にシステム再開プロセスを回避させる（ｂｙｐａｓｓ）。そして、システム再開プロセスの完了後は、アプリケーションが一時停止状態またはフェイク再開状態の周辺装置に対して使用を要求したときに、一時停止状態またはフェイク再開状態の周辺装置の再開動作を行う。このように、システム再開プロセスは、再開すべき周辺装置の数を減らすことにより、システム再開プロセスの実行時間を短縮させ、ひいては起動速度を向上させることができる。
【００４８】
以上は、好ましい実施例を通して本発明を説明したが、本発明はこれに限定されるものではない。また、当業者は、本発明の精神および範囲を逸脱しない範囲で様々な変更および改修を成し得る。したがって、本発明の保護範囲は、添付される特許請求の範囲により定義されるべきである。
【符号の説明】
【００４９】
１００    コンピュータシステム
１１０    中央処理装置
１２０    電源管理インターフェース
１２１    所定の再開ユニット
１２２    インターセプトユニット
１２３    要求性再開ユニット
１３０    メモリ
１４０    外部記憶装置
１５０    周辺装置
７１０    メモリマッピングページ
７２０    ページエラー処理プログラム
９１０    アプリケーション
９２０    ＧＮＵ  Ｃライブラリ
９３０    システム呼出インターフェース
９４０    仮想ファイルシステム
９５０    インデックス・ノードキャッシュ
９６０    ディレクトリキャッシュ
９７０    個別ファイルシステム
９８０    バッファキャッシュ
９９０    デバイスドライバー
ＫＳ    カーネル空間
Ｑ１    使用要求
Ｒ１    第１種別
Ｒ２    第２種別
Ｓ２１０、Ｓ２２０、Ｓ２３０、Ｓ２４０、Ｓ２５０、Ｓ３１０、Ｓ３２０、Ｓ３３０、Ｓ３４０、Ｓ３５０、Ｓ３６０、Ｓ３７０、Ｓ３８０、Ｓ３８１、Ｓ３８２、Ｓ５１０、Ｓ５２０、Ｓ５３０、Ｓ５４０、Ｓ５５０、Ｓ６１０、Ｓ６２０、Ｓ６３０、Ｓ６４０、Ｓ６５０、Ｓ６６０、Ｓ６７０、Ｓ６７１、Ｓ６７２    ステップ
ＵＳ    ユーザ空間
【図１】
2017102881.tif 000003
【図２】
2017102881.tif 000004
【図３】
2017102881.tif 000005
【図４】
2017102881.tif 000006
【図５】
2017102881.tif 000007
【図６】
2017102881.tif 000008
【図７】
2017102881.tif 000009
【図８】
2017102881.tif 000010
【手続補正書】
【提出日】平成29年1月11日(2017.1.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の周辺装置と中央処理装置とを含むコンピュータシステムを待機状態（Ｓ３）または休眠状態（Ｓ４）に移行させるシステム一時停止方法であって、
前記コンピュータシステムの運転を凍結する（ｆｒｅｅｚｅ）ステップと、
第１種別および第２種別として分類される前記周辺装置を一時停止する（ｓｕｓｐｅｎｄ）ステップと、
前記中央処理装置の電力をオフにするステップと、を含み、
前記第１種別に属す前記周辺装置は、前記コンピュータシステムがシステム再開プロセスを実行したときに全て再開し（ｒｅｓｕｍｅ）、
前記第２種別に属す前記周辺装置は、前記コンピュータシステムが使用要求をインターセプトしたときに再開する、システム一時停止方法。
【請求項２】
前記周辺装置とオペレーティングシステムとの接続が維持されており、
前記第１種別に属す前記周辺装置は、少なくとも１つのフォアグランドプログラムに関連しており、
前記第１種別に属す前記周辺装置に所定のタグが付与されており、または、前記第１種別に属す前記周辺装置が所定のリスト中に記録されている、請求項１に記載のシステム一時停止方法。
【請求項３】
前記システム一時停止方法は、前記コンピュータシステムを前記休眠状態（Ｓ４）に移行させるものであり、
前記コンピュータシステムは、さらにメモリおよび外部記憶装置を含み、
前記システム一時停止方法は、前記メモリ内の、全ての前記周辺装置に対応するコンテンツを前記外部記憶装置に記憶するステップをさらに含む、請求項１に記載のシステム一時停止方法。
【請求項４】
第１種別および第２種別として分類される複数の周辺装置と中央処理装置とを含むコンピュータシステムを、待機状態（Ｓ３）または休眠状態（Ｓ４）から起動状態（Ｓ０）へ再開させるシステム再開方法であって、
前記中央処理装置の電力をオンにするステップと、
前記第１種別に属す前記周辺装置のみを再開させる（ｒｅｓｕｍｅ）ステップと、
前記コンピュータシステムの運転を解凍する（ｔｈａｗ）ステップと、
使用要求をインターセプトするステップと、
前記使用要求に基づき、該使用要求に対応する、前記第２種別に属す前記周辺装置を再開させるステップと、を含むシステム再開方法。
【請求項５】
前記第２種別に属す前記周辺装置は、フェイク再開（ｆａｋｅ  ｒｅｓｕｍｅｄ）状態に設定されており、
前記第１種別に属す前記周辺装置は、少なくとも１つのフォアグランドプログラムに関連しており、
前記第１種別に属す前記周辺装置に所定のタグが付与されており、または、前記第１種別に属す前記周辺装置が所定のリスト中に記録されている、請求項４に記載のシステム再開方法。
【請求項６】
第１種別および第２種別として分類される複数の周辺装置と中央処理装置とを含むコンピュータシステムを、待機状態（Ｓ３）または休眠状態（Ｓ４）から起動状態（Ｓ０）へ再開させるシステム再開方法であって、
前記中央処理装置の電力をオンにするステップと、
前記第１種別に属す前記周辺装置のみを再開させる（ｒｅｓｕｍｅ）ステップと、
前記コンピュータシステムの運転を解凍する（ｔｈａｗ）ステップと、を含み、
前記第２種別に属す前記周辺装置は、フェイク再開（ｆａｋｅ  ｒｅｓｕｍｅｄ）状態に設定されており、
前記第１種別に属す前記周辺装置は、少なくとも１つのフォアグランドプログラムに関連しており、
前記第１種別に属す前記周辺装置に所定のタグが付与されており、または、前記第１種別に属す前記周辺装置が所定のリスト中に記録されている、システム再開方法。
【請求項７】
コンピュータシステムであって、
複数の周辺装置と、
前記周辺装置を制御する中央処理装置と、
前記コンピュータシステムを待機状態（Ｓ３）または休眠状態（Ｓ４）に移行させるシステム一時停止プロセスを実行する電源管理インターフェースと、を含み、
前記システム一時停止プロセスにおいて、前記電源管理インターフェースが、前記コンピュータシステムの運転を凍結し（ｆｒｅｅｚｅ）、前記周辺装置を一時停止する（ｓｕｓｐｅｎｄ）と共に前記中央処理装置の電力をオフにし、
前記電源管理インターフェースは、前記周辺装置を第１種別および第２種別として分類し、
前記第１種別に属す前記周辺装置は、前記コンピュータシステムがシステム再開プロセスを実行したときにすべて再開し（ｒｅｓｕｍｅ）、
前記第２種別に属す前記周辺装置は、前記コンピュータシステムが使用要求をインターセプトしたときに再開する、コンピュータシステム。
【請求項８】
前記システム一時停止プロセスにおいて、
前記電源管理インターフェースが、前記周辺装置とオペレーティングシステムとの接続を維持し、前記第１種別に属す前記周辺装置が少なくとも１つのフォアグランドプログラムに関連しており、前記電源管理インターフェースが前記第１種別に属す前記周辺装置に所定のタグを付与し、または、前記電源管理インターフェースが前記第１種別に属す前記周辺装置を所定のリスト中に記録する、請求項７に記載のコンピュータシステム。
【請求項９】
前記システム一時停止プロセスは、前記コンピュータシステムを前記休眠状態（Ｓ４）に移行させるものであり、
前記コンピュータシステムは、さらにメモリおよび外部記憶装置を含み、
前記システム一時停止プロセスにおいて、さらに前記電源管理インターフェースが、前記メモリ内の、全ての前記周辺装置に対応するコンテンツを前記外部記憶装置に記憶する、請求項７に記載のコンピュータシステム。
【請求項１０】
前記システム再開プロセスは、前記コンピュータシステムを前記待機状態（Ｓ３）または前記休眠状態（Ｓ４）から起動状態（Ｓ０）へ再開させるものであり、
前記システム再開プロセスにおいて、前記電源管理インターフェースが、前記中央処理装置の電力をオンにし、前記第１種別に属す前記周辺装置のみを再開させる（ｒｅｓｕｍｅ）と共に、前記コンピュータシステムの運転を解凍する（ｔｈａｗ）、請求項７に記載のコンピュータシステム。
【請求項１１】
前記システム再開プロセスにおいて、前記電源管理インターフェースが、
前記第２種別に属す前記周辺装置をフェイク再開（ｆａｋｅ  ｒｅｓｕｍｅｄ）状態に設定し、さらに、
使用要求をインターセプトし、前記使用要求に基づき、該使用要求に対応する、前記第２種別に属す前記周辺装置を再開させる、請求項１０に記載のコンピュータシステム。