(57)【要約】      （修正有）【課題】ハイバネーション起動後にユーザによる利用頻度が高いアプリケーションを直ちに利用を提供する。【解決手段】情報処理装置１００は、ハイバネーションを行うことが可能な情報処理装置であって、アプリケーションの起動に関する起動履歴情報を記憶する起動履歴情報記憶部２２４と、起動履歴情報に基づいて複数のアプリケーションの中から選択された、ユーザによる利用頻度が高いアプリケーションを、情報処理装置がシャットダウンする前に起動するアプリ起動部２１２と、情報処理装置がシャットダウンする前に、ユーザによる利用頻度が高いアプリケーションが起動された状態で、ハイバネーションのためのハイバネーションイメージを取得するハイバネーションイメージ取得部２１４とを備える。【選択図】図２
2020123173.tif 000002
【特許請求の範囲】
【請求項１】
ハイバネーションを行うことが可能な情報処理装置であって、
アプリケーションの起動に関する起動履歴情報を記憶する起動履歴情報記憶部と、
前記起動履歴情報に基づいて複数のアプリケーションの中から選択された、ユーザによる利用頻度が高いアプリケーションを、前記情報処理装置がシャットダウンする前に起動するアプリ起動部と、
前記情報処理装置がシャットダウンする前に、前記ユーザによる利用頻度が高いアプリケーションが起動された状態で、前記ハイバネーションのためのハイバネーションイメージを取得するハイバネーションイメージ取得部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記アプリ起動部は、メモリ使用量が所定のメモリ使用量制限値を超えない範囲で、前記ユーザによる利用頻度が高い順に、複数のアプリケーションを順次起動する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
所定の設定画面を表示部に表示させて、ユーザからの前記メモリ使用量制限値の設定を受け付ける条件設定部を備える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
ハイバネーションを行うことが可能な情報処理装置の制御方法であって、
アプリケーションの起動に関する起動履歴情報を記憶する起動履歴情報工程と、
前記起動履歴情報に基づいて複数のアプリケーションの中から選択された、ユーザによる利用頻度が高いアプリケーションを、前記情報処理装置がシャットダウンする前に起動するアプリ起動工程と、
前記情報処理装置がシャットダウンする前に、前記ユーザによる利用頻度が高いアプリケーションが起動された状態で、前記ハイバネーションのためのハイバネーションイメージを取得するハイバネーションイメージ取得工程と
を含むことを特徴とする制御方法。
【請求項５】
ハイバネーションを行うことが可能な情報処理装置を制御するためのプログラムであって、
コンピュータを、
アプリケーションの起動に関する起動履歴情報を記憶する起動履歴情報記憶部、
前記起動履歴情報に基づいて複数のアプリケーションの中から選択された、ユーザによる利用頻度が高いアプリケーションを、前記情報処理装置がシャットダウンする前に起動するアプリ起動部、および、
前記情報処理装置がシャットダウンする前に、前記ユーザによる利用頻度が高いアプリケーションが起動された状態で、前記ハイバネーションのためのハイバネーションイメージを取得するハイバネーションイメージ取得部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置の起動方法として、ハイバネーションが利用されている（例えば、下記特許文献１参照）。ハイバネーションとは、シャットダウン時に、揮発性メモリ（ＲＡＭ（Random Access Memory）等）内にあるＯＳ（Operating Syastem）やアプリケーションの状態を表す各種情報（例えば、設定情報等）のイメージデータ（以下、「ハイバネーションイメージ」と示す）を、不揮発性メモリ（ＲＯＭ（Read Only Memory）等）に保存することで、次に情報処理装置を起動したときに、ハイバネーションイメージを用いて、ＯＳやアプリケーションの状態を直ちに復元することが可能な方法である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の技術では、ハイバネーションイメージを取得する際に、ユーザによる利用頻度が高いアプリケーションが起動されていない場合、当該アプリケーションのハイバネーションイメージが取得されないため、ハイバネーション起動後に、当該アプリケーションを直ちに利用することができない。
【０００４】
本発明は、上述した従来技術の課題を解決するため、ハイバネーション起動後にユーザによる利用頻度が高いアプリケーションを直ちに利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明の情報処理装置は、ハイバネーションを行うことが可能な情報処理装置であって、アプリケーションの起動に関する起動履歴情報を記憶する起動履歴情報記憶部と、起動履歴情報に基づいて、複数のアプリケーションの中から選択された、ユーザによる利用頻度が高いアプリケーションを、情報処理装置がシャットダウンする前に起動するアプリ起動部と、情報処理装置がシャットダウンする前に、ユーザによる利用頻度が高いアプリケーションが起動された状態で、ハイバネーションのためのハイバネーションイメージを取得するハイバネーションイメージ取得部とを備える。
【発明の効果】
【０００６】
本発明によれば、ハイバネーション起動後にユーザによる利用頻度が高いアプリケーションを直ちに利用することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係るＭＦＰのハードウェア構成図
【図２】本発明の一実施形態に係るＭＦＰの機能構成を示す図
【図３】本発明の一実施形態に係るＭＦＰによるアプリ起動時処理のシーケンス図
【図４】本発明の一実施形態に係るＭＦＰにおいて起動履歴情報記憶部が記憶する起動履歴情報の一例を示す図
【図５】本発明の一実施形態に係るシャットダウン処理部によるシャットダウン時処理の手順を示すフローチャート
【図６】本発明の一実施形態に係るＭＦＰにおいて用いられる候補リストの一例を示す図
【図７】本発明の一実施形態に係るＭＦＰにおいて用いられる設定画面の一例を示す図
【図８】本発明の一実施形態に係るＭＦＰにおいて用いられる設定画面の他の一例を示す図
【発明を実施するための形態】
【０００８】
以下、図面を参照して、本発明の一実施形態について説明する。
【０００９】
（ＭＦＰ１００のハードウェア構成）
図１は、本発明の一実施形態に係るＭＦＰ１００のハードウェア構成図である。図１に示されているように、ＭＦＰ（Ｍultifunction Peripheral/Product/Printer）１００（「情報処理装置」の一例）は、コントローラ１１０、近距離通信回路１２０、エンジン制御部１３０、操作パネル１４０、およびネットワークＩ／Ｆ１５０を備えている。
【００１０】
これらのうち、コントローラ１１０は、コンピュータの主要部であるＣＰＵ１０１、システムメモリ（ＭＥＭ−Ｐ）１０２、ノースブリッジ（ＮＢ）１０３、サウスブリッジ（ＳＢ）１０４、ＡＳＩＣ(Application Specific Integrated Circuit)１０６、記憶部であるローカルメモリ（ＭＥＭ−Ｃ）１０７、ＨＤＤコントローラ１０８、及び、記憶部であるＨＤ１０９を有し、ＮＢ１０３とＡＳＩＣ１０６との間をＡＧＰ(Accelerated Graphics Port)バス１２１で接続した構成となっている。ただし、コントローラ１１０の構成はこれに限定されない。例えば、ＣＰＵ１０１、ＮＢ１０３、ＳＢ１０４などの２以上の構成要素をＳｏＣ（System on Chip）によって実現してもよい。この場合、ＳｏＣとＡＳＩＣ１０６との間をPCI-express（登録商標） バスで接続してもよい。
【００１１】
これらのうち、ＣＰＵ１０１は、ＭＦＰ１００の全体制御を行う制御部である。ＮＢ１０３は、ＣＰＵ１０１と、ＭＥＭ−Ｐ１０２、ＳＢ１０４、及びＡＧＰバス１２１とを接続するためのブリッジであり、ＭＥＭ−Ｐ１０２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩ(Peripheral Component Interconnect)マスタ及びＡＧＰターゲットとを有する。
【００１２】
ＭＥＭ−Ｐ１０２は、コントローラ１１０の各機能を実現させるプログラムやデータの格納用メモリであるＲＯＭ１０２ａ、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるＲＡＭ１０２ｂとからなる。なお、ＲＡＭ１０２ｂに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００１３】
ＳＢ１０４は、ＮＢ１０３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。ＡＳＩＣ１０６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ(Integrated Circuit)であり、ＡＧＰバス１２１、ＰＣＩバス１２２、ＨＤＤコントローラ１０８およびＭＥＭ−Ｃ１０７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１０６は、ＰＣＩターゲットおよびＡＧＰマスタ、ＡＳＩＣ１０６の中核をなすアービタ（ＡＲＢ）、ＭＥＭ−Ｃ１０７を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のＤＭＡＣ(Direct Memory Access Controller)、並びに、スキャナ部１３１及びプリンタ部１３２との間でＰＣＩバス１２２を介したデータ転送を行うＰＣＩユニットとからなる。なお、ＡＳＩＣ１０６には、ＵＳＢ(Universal Serial Bus)のインターフェースや、ＩＥＥＥ１３９４(Institute of Electrical and Electronics Engineers 1394）のインターフェースを接続するようにしてもよい。
【００１４】
ＭＥＭ−Ｃ１０７は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。ＨＤ１０９は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。ＨＤ１０９は、ＣＰＵ１０１の制御にしたがってＨＤ１０９に対するデータの読出又は書込を制御する。ＡＧＰバス１２１は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、ＭＥＭ−Ｐ１０２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【００１５】
また、近距離通信回路１２０には、近距離通信回路１２０ａが備わっている。近距離通信回路１２０は、ＮＦＣ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信回路である。
【００１６】
更に、エンジン制御部１３０は、スキャナ部１３１及びプリンタ部１３２によって構成されている。また、操作パネル１４０は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部１４０ａ、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作パネル１４０ｂを備えている。コントローラ１１０は、ＭＦＰ１００全体の制御を行い、例えば、描画、通信、操作パネル１４０からの入力等を制御する。スキャナ部１３１又はプリンタ部１３２には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【００１７】
なお、ＭＦＰ１００は、操作パネル１４０のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【００１８】
また、ネットワークＩ／Ｆ１５０は、通信ネットワークを利用してデータ通信をするためのインターフェースである。近距離通信回路１２０及びネットワークＩ／Ｆ１５０は、ＰＣＩバス１２２を介して、ＡＳＩＣ１０６に電気的に接続されている。
【００１９】
（ＭＦＰ１００の機能構成）
図２は、本発明の一実施形態に係るＭＦＰ１００の機能構成を示す図である。なお、ここでは、ＭＦＰ１００が有する機能のうち、一般的な機能については図示および説明を省略し、ハイバネーション起動後にユーザによる利用頻度が高いアプリケーションを早期利用可能にするための機能について図示および説明する。
【００２０】
図２に示すように、ＭＦＰ１００は、シャットダウン処理部２１０、ハイバネーションマネージャ２２０、および複数のアプリケーション２３０を備える。
【００２１】
＜シャットダウン処理部２１０＞
シャットダウン処理部２１０は、ＭＦＰ１００のシャットダウン処理を制御する。シャットダウン処理部２１０は、候補リスト取得部２１１、アプリ起動部２１２、条件設定部２１３、および、ハイバネーションイメージ取得部２１４を有する。
【００２２】
候補リスト取得部２１１は、ハイバネーションマネージャ２２０の候補リスト作成部２２５によって作成された候補リストを取得する。
【００２３】
アプリ起動部２１２は、ＭＦＰ１００がシャットダウンする前に、候補リスト取得部２１１によって取得された候補リストに基づいて、複数のアプリケーション２３０の中から、ユーザによる利用頻度が高いアプリケーション２３０を起動する。具体的には、アプリ起動部２１２は、ＭＦＰ１００がシャットダウンする前に、候補リストに示されている複数のアプリケーション２３０を、候補リストに示されている起動回数が高い順に起動する。この際、アプリ起動部２１２は、起動されたアプリケーション２３０のメモリフットプリントの合計値が、条件設定部２１３によって設定されたメモリ使用量制限値を超えない範囲で、複数のアプリケーション２３０を起動する。
【００２４】
条件設定部２１３は、ハイバネーションイメージ取得のための各種条件の設定を行う。例えば、条件設定部２１３は、所定の設定画面（図７参照）を表示部（例えば、パネル表示部１４０ａ）に表示させることにより、起動履歴情報記憶部２２４に記憶されている起動履歴の中から候補リストの作成のために取得する起動情報の取得対象期間のユーザ設定を受け付ける。そして、条件設定部２１３は、ユーザ設定された取得対象期間を、ＭＦＰ１００が備えるメモリ（ＲＯＭ、ＲＡＭ等）に設定する。また、例えば、条件設定部２１３は、所定の設定画面（図８参照）を表示部（例えば、パネル表示部１４０ａ）に表示させることにより、ハイバネーションイメージ取得のために確保するメモリ使用量（すなわち、メモリ使用制限値）のユーザ設定を受け付ける。そして、条件設定部２１３は、ユーザ設定されたメモリ使用量を、ＭＦＰ１００が備えるメモリ（ＲＯＭ、ＲＡＭ等）に設定する。
【００２５】
ハイバネーションイメージ取得部２１４は、ＭＦＰ１００がシャットダウンする前に、アプリ起動部２１２によってユーザによる利用頻度が高いアプリケーションが起動された状態で、ハイバネーションのためのハイバネーションイメージを取得する。具体的には、ハイバネーションイメージ取得部２１４は、アプリ起動部２１２によって起動されたアプリケーションのハイバネーションイメージを、揮発性メモリ（ＲＡＭ等）から不揮発性メモリ（ＲＯＭ等）に保存する。これにより、ＭＦＰ１００は、当該ＭＦＰ１００が休止モードから復帰したときに、不揮発性メモリに保存されているハイバネーションイメージを用いて、アプリケーション（ユーザによる利用頻度が高いアプリケーション）が起動された状態を復元することができる。
【００２６】
＜アプリケーション２３０＞
各アプリケーション２３０は、起動処理部２３１および通知部２３２を有する。起動処理部２３１は、アプリケーション２３０の起動処理を実行する。通知部２３２は、起動処理部２３１によるアプリケーション２３０の起動処理が終了すると、当該起動処理の完了通知をハイバネーションマネージャ２２０へ通知する。
【００２７】
＜ハイバネーションマネージャ２２０＞
ハイバネーションマネージャ２２０は、アプリケーション２３０の起動に関する起動履歴情報を管理する。ハイバネーションマネージャ２２０は、通知受取部２２１、起動情報取得部２２２、起動情報登録部２２３、起動履歴情報記憶部２２４、および候補リスト作成部２２５を有する。
【００２８】
通知受取部２２１は、アプリケーション２３０の起動処理が完了して、アプリケーション２３０の通知部２３２から起動処理の完了通知が送信されると、当該起動処理の完了通知を受け取る。
【００２９】
起動情報取得部２２２は、通知受取部２２１が起動処理の完了通知が受け取ると、起動されたアプリケーション２３０に関する起動情報を、システムから取得する。例えば、起動情報は、アプリ固有ＩＤ、起動日時、およびメモリフットプリントを含んでいる。
【００３０】
起動情報登録部２２３は、起動情報取得部２２２によって起動情報が取得されると、当該起動情報を、起動履歴情報記憶部２２４に記憶されている起動履歴情報に登録する。
【００３１】
起動履歴情報記憶部２２４は、起動履歴情報を記憶する。起動履歴情報には、アプリケーション２３０が起動される毎に、起動情報登録部２２３によって起動情報が登録される。すなわち、起動履歴情報は、複数の起動情報の集合体である。なお、起動履歴情報記憶部２２４が記憶する起動履歴情報の一例については、図４を用いて後述する。
【００３２】
候補リスト作成部２２５は、シャットダウン処理部２１０からの要求に応じて、起動履歴情報記憶部２２４に記憶されている起動履歴情報に基づいて、候補リストを作成する。候補リストとは、アプリ起動部２１２による起動の候補とされた複数のアプリケーションが示されたリストである。例えば、候補リストは、アプリ起動部２１２による起動の候補とされた複数のアプリケーション２３０の各々の起動統計情報が示されている。各起動統計情報は、起動履歴情報記憶部２２４に記憶されている起動履歴情報に基づく統計情報であり、「アプリ固有ＩＤ」、「起動回数」、および「メモリフットプリント」を含んでいる。なお、候補リスト作成部２２５によって作成される候補リストの一例については、図６を用いて後述する。
【００３３】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC（Application Specific Integrated Circuit）、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【００３４】
例えば、上記で説明した実施形態の各機能は、ＭＦＰ１００において、各種記憶装置（ＲＯＭ１０２ａ、ＲＡＭ１０２ｂ等）に記憶されたプログラムを、ＣＰＵ１０１（コンピュータ）が実行することにより実現される。このプログラムは、予めＭＦＰ１００に導入された状態で提供されてもよく、外部から提供されてＭＦＰ１００に導入されるようにしてもよい。後者の場合、このプログラムは、外部記憶媒体（例えば、ＵＳＢメモリ、メモリカード、ＣＤ−ＲＯＭ等）によって提供されてもよく、ネットワーク（例えば、インターネット等）上のサーバからダウンロードすることによって提供されるようにしてもよい。
【００３５】
（ＭＦＰ１００によるアプリ起動時処理のシーケンス）
図３は、本発明の一実施形態に係るＭＦＰ１００によるアプリ起動時処理のシーケンス図である。ここで説明するアプリ起動時処理は、ＭＦＰ１００において各アプリケーション２３０が起動処理を行う毎に、ＭＦＰ１００によって実行される。
【００３６】
まず、起動対象とされたアプリケーション２３０において、起動処理部２３１が、当該アプリケーション２３０の起動処理を行う（ステップＳ３０１）。そして、起動処理部２３１による起動処理が完了すると、通知部２３２が、ハイバネーションマネージャ２２０に対して、アプリケーション２３０の起動処理の完了通知を行う（ステップＳ３０２）。
【００３７】
ハイバネーションマネージャ２２０においては、予め、通知受取部２２１が、起動処理の完了通知を待機している（ステップＳ３１１）。そして、通知受取部２２１が、アプリケーション２３０から通知された、起動処理の完了通知を受け取ると（ステップＳ３１２）、起動情報取得部２２２が、システムから、起動情報として、アプリケーション２３０のアプリ固有ＩＤ、起動日時、メモリフットプリントを取得する（ステップＳ３１３）。そして、起動情報登録部２２３が、ステップＳ３１３で取得された起動情報を、起動履歴情報記憶部２２４に記憶されている起動履歴情報に登録する（ステップＳ３１４）。
【００３８】
（起動履歴情報記憶部２２４が記憶する起動履歴情報の一例）
図４は、本発明の一実施形態に係るＭＦＰ１００において起動履歴情報記憶部２２４が記憶する起動履歴情報の一例を示す図である。図４に示すように、起動履歴情報記憶部２２４が記憶する起動履歴情報４００は、アプリケーション２３０起動毎の、複数の起動情報を記憶している。各起動情報は、「アプリ固有ＩＤ」、「起動日時」、および「メモリフットプリント」を含んでいる。
【００３９】
例えば、「アプリ固有ＩＤ」は、アプリケーション２３０を一意に識別するためのＩＤ（例えば、ＵＩＤ等）が設定される。また、例えば、「起動日時」は、アプリケーション２３０から通知受取部２２１が起動処理の完了通知を受け取ったときのシステム日時が設定される。また、例えば、「メモリフットプリント」は、アプリケーション２３０を起動するプロセスによるメモリの使用量（単位：ＭＢ）が設定される。
【００４０】
（シャットダウン処理部２１０によるシャットダウン時処理の手順）
図５は、本発明の一実施形態に係るシャットダウン処理部２１０によるシャットダウン時処理の手順を示すフローチャートである。
【００４１】
まず、候補リスト取得部２１１が、ハイバネーションマネージャ２２０に対して、候補リストの作成を要求する（ステップＳ５０１）。そして、ハイバネーションマネージャ２２０の候補リスト作成部２２５が候補リストを作成すると、候補リスト取得部２１１が、当該候補リストを取得する（ステップＳ５０２）。
【００４２】
次に、アプリ起動部２１２が、ステップＳ５０２で取得された候補リストから全てのアプリケーション２３０が探索されたか否かを判断する（ステップＳ５０３）。
【００４３】
ステップＳ５０３において、候補リストから全てのアプリケーション２３０が探索されていないと判断された場合（ステップＳ５０３：Ｎｏ）、アプリ起動部２１２が、ステップＳ５０２で取得された候補リストから、最も起動回数が多いアプリケーション２３０（以下、「アプリＸ」と示す）を探索する（ステップＳ５０４）。ここで、アプリ起動部２１２は、ステップＳ５０２で取得された候補リストにおいて、ステップＳ５０４で探索されたアプリＸを、以降の探索対象から除外する（ステップＳ５０５）。
【００４４】
次に、アプリ起動部２１２が、下記数式（１），（２）により、値Ａ，値Ｂを算出する（ステップＳ５０６）。
【００４５】
Ａ＝現時点のメモリ使用量＋アプリＸのメモリフットプリント・・・（１）
Ｂ＝ＭＦＰ１００のメモリ搭載量×ユーザ設定割合・・・（２）
なお、上記数式（１）において、「アプリＸのメモリフットプリント」は、候補リストに示されているメモリフットプリントを用いることができる。
【００４６】
また、上記数式（２）において、「ユーザ設定割合」は、条件設定部２１３によって設定されたメモリ使用制限値を用いることができる。
【００４７】
そして、アプリ起動部２１２が、ステップＳ５０６で算出された値Ａが、ステップＳ５０６で算出された値Ｂよりも小さいか否かを判断する（ステップＳ５０７）。
【００４８】
ステップＳ５０７において、値Ａが値Ｂ未満であると判断された場合（ステップＳ５０７：Ｙｅｓ）、アプリ起動部２１２が、アプリＸを起動する（ステップＳ５０８）。そして、シャットダウン処理部２１０は、ステップＳ５０３へ処理を戻す。
【００４９】
一方、ステップＳ５０７において、値Ａが値Ｂ以上であると判断された場合（ステップＳ５０７：Ｎｏ）、シャットダウン処理部２１０は、ステップＳ５０３へ処理を戻す。
【００５０】
ステップＳ５０３において、候補リストから全てのアプリケーション２３０が探索されたと判断された場合（ステップＳ５０３：Ｙｅｓ）、ハイバネーションイメージ取得部２１４が、ハイバネーションイメージを取得する（ステップＳ５０９）。そして、シャットダウン処理部２１０が、ＭＦＰ１００の所定のシャットダウン処理を行い（ステップＳ５１０）、図５に示す一連の処理を終了する。
【００５１】
図５に示す一連の処理により、ＭＦＰ１００がシャットダウンする前に、ユーザによる利用頻度が高い複数のアプリケーション２３０が起動される。この際、起動されるアプリケーション２３０のメモリフットプリントが、メモリ残容量を超えないように、且つ、起動された複数のアプリケーション２３０のメモリフットプリントの合計値が、条件設定部２１３によって設定されたメモリ使用量制限値を超えないように、複数のアプリケーション２３０が起動される。そして、ＭＦＰ１００がシャットダウンする前に、ユーザによる利用頻度が高い複数のアプリケーション２３０が起動された状態で、ハイバネーションイメージが取得される。これにより、ＭＦＰ１００は、当該ＭＦＰ１００が休止モードから復帰したときに、取得されたハイバネーションイメージを用いて、ユーザによる利用頻度が高い複数のアプリケーション２３０が起動された状態を復元することができる。よって、ユーザは、ＭＦＰ１００のハイバネーション起動後に、利用頻度が高い複数のアプリケーション２３０を直ちに利用することができる。
【００５２】
（候補リストの一例）
図６は、本発明の一実施形態に係るＭＦＰ１００において用いられる候補リストの一例を示す図である。図６に示すように、候補リスト６００は、アプリ起動部２１２による起動の候補とされた複数のアプリケーション２３０の各々の起動統計情報が示されたリストである。各起動統計情報は、起動履歴情報記憶部２２４に記憶されている起動履歴情報に基づく統計情報であり、「アプリ固有ＩＤ」、「起動回数」、および「メモリフットプリント」を含んでいる。
【００５３】
例えば、「アプリ固有ＩＤ」は、アプリケーション２３０を一意に識別するためのＩＤ（例えば、ＵＩＤ等）が設定される。また、例えば、「起動回数」は、起動履歴情報記憶部２２４に記憶されている起動履歴情報に基づいて、ユーザが指定した指定期間内にアプリケーション２３０が起動された回数が設定される。また、例えば、「メモリフットプリント」は、起動履歴情報記憶部２２４に記憶されている起動履歴情報に基づいて、アプリケーション２３０を起動するプロセスによるメモリの使用量（単位：ＭＢ）が設定される。
【００５４】
なお、図６に示す例では、条件設定部２１３によって設定された取得対象期間に、「２０１９／１／１以降」が設定されているものとする。このため、図６に示す候補リスト６００では、図４に示す起動履歴情報のうち、「起動日時」が「２０１９／１／１以降」である起動情報に基づいて、各アプリケーション２３０の統計情報が作成されている。
【００５５】
また、候補リスト６００において、「起動回数」が複数回である場合、「メモリフットプリント」には、当該複数回の起動に対応する、複数のメモリ使用量の平均値が設定される。例えば、図４に示す起動履歴情報において、「アプリ固有ＩＤ」に「０」が設定されているアプリケーション２３０の３つの起動情報には、それぞれ、「メモリフットプリント」に「５０」，「６０」，「７０」が設定されている。このため、図６に示す候補リスト６００において、「アプリ固有ＩＤ」に「０」が設定されているアプリケーション２３０の起動統計情報では、「起動回数」に「３」が設定されており、且つ、「メモリフットプリント」に「６０」（上記した３つのメモリ使用量「５０」，「６０」，「７０」の平均値）が設定されている。
【００５６】
（設定画面の一例）
図７は、本発明の一実施形態に係るＭＦＰ１００において用いられる設定画面の一例を示す図である。図７に示す設定画面７００は、起動履歴情報記憶部２２４に記憶されている起動履歴の中から候補リストの作成のために取得する起動情報の取得対象期間のユーザ設定を受け付けるための設定画面である。この設定画面７００は、条件設定部２１３によって、表示部（例えば、パネル表示部１４０ａ）に表示される。
【００５７】
図７に示す例では、設定画面７００は、入力欄７０１を有する。入力欄７０１には、ユーザにより、ユーザが所望する取得対象期間（図７に示す例では、直近の日数）が設定される。なお、期間の指定方法はこれに限定されず、取得対象期間の始まりとなる日時を設定可能に表示をしてもよい。
【００５８】
設定画面７００によって設定された取得対象期間は、条件設定部２１３により、ＭＦＰ１００が備えるメモリ（ＲＯＭ、ＲＡＭ等）に設定される。そして、メモリ設定された取得対象期間は、候補リスト作成部２２５により、候補リストの作成のために取得する起動情報の取得対象期間として用いられる。
【００５９】
（設定画面の他の一例）
図８は、本発明の一実施形態に係るＭＦＰ１００において用いられる設定画面の他の一例を示す図である。図８に示す設定画面８００は、ハイバネーションイメージ取得のために確保するメモリ使用量（すなわち、メモリ使用量制限値）のユーザ設定を受け付けるための設定画面である。この設定画面８００は、条件設定部２１３によって、表示部（例えば、パネル表示部１４０ａ）に表示される。
【００６０】
図８に示す例では、設定画面８００は、選択ボタン８０１，８０２，８０３，８０４、および、入力欄８０５を有する。選択ボタン８０１は、メモリ使用量制限値を「制限なし（１００％）」に設定する場合に選択される。選択ボタン８０２は、メモリ使用量制限値を「中（５０％）」に設定する場合に選択される。選択ボタン８０３は、メモリ使用量制限値を「低（３０％）」に設定する場合に選択される。選択ボタン８０４は、メモリ使用量制限値をユーザが入力した任意の値に設定する場合に選択される。ユーザは、選択ボタン８０１，８０２，８０３，８０４のうち、いずれか一つを選択することができる。また、ユーザは、選択ボタン８０４を選択した場合、入力欄８０５に任意の値を入力することができる。
【００６１】
設定画面７００によって設定されたメモリ使用量制限値は、条件設定部２１３により、ＭＦＰ１００が備えるメモリ（ＲＯＭ、ＲＡＭ等）に設定される。そして、メモリ設定されたメモリ使用量制限値は、アプリ起動部２１２により、起動されたアプリケーションのメモリフットプリントの合計値が、当該メモリ使用量制限値を超えないようにするために用いられる。例えば、ＭＦＰ１００のメモリ搭載量が「２ＧＢ」であり、且つ、図８に示すように、メモリ使用量制限値として「中（５０％）」が設定されている場合、アプリ起動部２１２は、起動されたアプリケーションのメモリフットプリントの合計値が「１ＧＢ」を超えないように、複数のアプリケーション２３０を起動する。
【００６２】
以上説明したように、本発明の一実施形態に係るＭＦＰ１００は、起動履歴情報記憶部２２４に記憶されている起動履歴情報に基づいて複数のアプリケーション２３０の中から選択された、ユーザによる利用頻度が高いアプリケーション２３０を、ＭＦＰ１００がシャットダウンする前に起動するアプリ起動部２１２と、ＭＦＰ１００がシャットダウンする前に、ユーザによる利用頻度が高いアプリケーション２３０が起動された状態で、ハイバネーションのためのハイバネーションイメージを取得するハイバネーションイメージ取得部２１４とを備える。
【００６３】
これにより、本発明の一実施形態に係るＭＦＰ１００は、ハイバネーション起動後にユーザによる利用頻度が高いアプリケーション２３０を直ちに利用することができる。
【００６４】
また、本発明の一実施形態に係るＭＦＰ１００において、アプリ起動部２１２は、メモリ使用量が所定のメモリ使用量制限値を超えない範囲で、ユーザによる利用頻度が高い順に、複数のアプリケーションを順次起動する。
【００６５】
これにより、本発明の一実施形態に係るＭＦＰ１００は、アプリケーション２３０の起動用に使用されるメモリ使用量を制限することができ、よって、ＭＦＰ１００全体のパフォーマンスの低下を抑制することができる。
【００６６】
また、本発明の一実施形態に係るＭＦＰ１００は、所定の設定画面を表示部に表示させて、ユーザからのメモリ使用量制限値の設定を受け付ける条件設定部２１３を備える。
【００６７】
これにより、本発明の一実施形態に係るＭＦＰ１００は、アプリケーション２３０の起動用に割り当て可能なメモリ使用量を、ユーザが任意に設定することができる。
【００６８】
以上、本発明の好ましい実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【００６９】
例えば、上記実施形態のＭＦＰ１００において、当該ＭＦＰ１００にログインしたユーザのユーザＩＤ毎に、異なる起動履歴情報を用いるようにしてもよい。この場合、複数のユーザでＭＦＰ１００を共用するような場合、ユーザ毎に、そのユーザにとって利用頻度が高いアプリケーションを直ちに利用できるようにすることができる。
【００７０】
例えば、ユーザのよる利用頻度が高いアプリケーションを判定するための構成は、上記実施形態で説明した構成（すなわち、起動履歴情報および候補リストを使用する構成）に限らず、その他の構成によって、利用頻度が高いアプリケーションを判定するようにしてもよい。例えば、利用頻度が高いアプリケーションを、ユーザが予め設定しておくようにしてもよい。
【００７１】
なお、上記実施形態では、本発明を、ＭＦＰに適用した例を説明したが、これに限らず、本発明は、少なくともハイバネーションを行うことが可能なものであれば、その他の画像処理装置（例えば、プリンタ、スキャナ、プロジェクタ等）、画像処理装置以外の情報処理装置等にも、適用することが可能である。
【符号の説明】
【００７２】
１００  ＭＦＰ（情報処理装置）
２１０  シャットダウン処理部
２１１  候補リスト取得部
２１２  アプリ起動部
２１３  条件設定部
２１４  ハイバネーションイメージ取得部
２２０  ハイバネーションマネージャ
２２１  通知受取部
２２２  起動情報取得部
２２３  起動情報登録部
２２４  起動履歴情報記憶部
２２５  候補リスト作成部
２３０  アプリケーション
２３１  起動処理部
２３２  通知部
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２０１１−１４５９３３号公報
【図１】
2020123173.tif 000003
【図２】
2020123173.tif 000004
【図３】
2020123173.tif 000005
【図４】
2020123173.tif 000006
【図５】
2020123173.tif 000007
【図６】
2020123173.tif 000008
【図７】
2020123173.tif 000009
【図８】
2020123173.tif 000010