(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
G06F 11/14 20060101AFI20240509BHJP
【FI】
G06F11/14 648
(21)【出願番号】P 2020100366
(22)【出願日】2020-06-09
【審査請求日】2023-03-16
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】竹下 篤
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2014-006626(JP,A)
【文献】特開2020-044676(JP,A)
【文献】特開2010-021743(JP,A)
【文献】国際公開第2016/147491(WO,A1)
【文献】特開2009-146061(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/14
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
メモリとを備え、
前記メモリは、前記プロセッサが処理に用いるデータを記憶する揮発性メモリと不揮発性メモリとを含み、
前記プロセッサは、
自装置の構成を示す構成情報を取得し、
前記構成情報により示される前記構成と、前記揮発性メモリに記憶されている前記データの量とに応じて決められた保存方法に従って、前記揮発性メモリに記憶されている前記データを前記不揮発性メモリに保存してから自装置を停止させ、
前記不揮発性メモリに保存された前記データを用いて自装置を起動させ、
前記データの保存先が、前記構成に含まれる前記不揮発性メモリの記憶領域であり、前記記憶領域が前記データの量に応じた記憶容量を有することを示す構成条件を満たす複数の保存方法の候補についてそれぞれ、当該保存方法に従って前記不揮発性メモリに保存された前記データを用いて起動させた場合に推定される起動時間を取得し、
前記保存方法は、前記複数の保存方法の候補の中から前記起動時間に応じて決定される
ことを特徴とす
る情報処理装置。
【請求項2】
前記構成情報は、自装置が前記データの圧縮手段を有しているか否かを示し、
前記構成条件は、前記構成が前記圧縮手段を含み、前記記憶領域が前記データの圧縮後の量に応じた記憶容量を有することを示し、
前記保存方法は、前記揮発性メモリに記憶されている前記データを前記圧縮手段により圧縮してから前記記憶領域に保存する方法である
ことを特徴とする請求項
1に記載の情報処理装置。
【請求項3】
前記データは、自装置の起動に用いられる第1データと、自装置の起動に用いられない第2データとを含み、
前記プロセッサは、前記揮発性メモリに記憶されている前記第1データと前記第2データとを、互いに異なる保存方法に従って前記不揮発性メモリに含まれる第1記憶領域と第2記憶領域とにそれぞれ保存する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記プロセッサは、前記第1記憶領域に保存された前記第1データを用いて自装置を起動させた後、前記第2記憶領域に保存された前記第2データを前記揮発性メモリに読み込む
ことを特徴とする請求項
3に記載の情報処理装置。
【請求項5】
コンピュータに、
情報処理装置の構成を示す構成情報を取得するステップと、
前記構成情報により示される前記構成と、揮発性メモリに記憶されている、処理に用いられたデータの量とに応じて決められた保存方法に従って、前記揮発性メモリに記憶されている前記データを不揮発性メモリに保存してから前記情報処理装置を停止させるステップと、
前記不揮発性メモリに保存された前記データを用いて前記情報処理装置を起動させるステップとを実行させるための
プログラムであって、
前記データの保存先が、前記構成に含まれる前記不揮発性メモリの記憶領域であり、前記記憶領域が前記データの量に応じた記憶容量を有することを示す構成条件を満たす複数の保存方法の候補についてそれぞれ、当該保存方法に従って前記不揮発性メモリに保存された前記データを用いて起動させた場合に推定される起動時間を取得するステップをさらに実行させ、
前記保存方法は、前記複数の保存方法の候補の中から前記起動時間に応じて決定される
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
ハイバネーションの機能を利用して装置を起動する技術が知られている。このハイバネーションの機能に関し、例えば特許文献1には、省エネモードへの移行時にメモリの状態およびCPUのレジスタの状態を表す状態情報を2つに分割して2種類の不揮発性のストレージデバイスにそれぞれ保存し、省エネモードからの復帰時に、先に読み出し可能となるストレージデバイスから順に、保存されている分割後の状態情報を取得してメモリおよびCPUのレジスタに再設定することが記載されている。特許文献2には、起動開始から起動開始後の特定の時点までの間に揮発性メモリに展開されたデータを、スナップショットイメージの作成に用いるデータと、スワップデバイスに記憶しておくデータとに割り振ることが記載されている。特許文献3には、ハイバネーション時またはウェークアップ時にシステムのパフォーマンスを評価し、その評価に従って、次回以降のハイバネーション時にメモリ内容の圧縮を行うかどうかを決定することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-124076号公報
【文献】特開2014-178913号公報
【文献】特開2001-22464号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ハイバネーションにおいては、装置を停止する際に、揮発性メモリに記憶されているデータが不揮発性メモリに保存される。しかし、装置の構成や揮発性メモリに記憶されているデータの量によって、装置の起動時間の短縮効果が大きい保存方法は異なる場合がある。そのため、装置の構成や揮発性メモリに記憶されているデータの量に適さない保存方法に従ってハイバネーションを行うと、それらに適した保存方法に従ってハイバネーションを行う場合に比して、装置の起動時間が長くなる場合がある。
本発明は、情報処理装置の構成及び揮発性メモリに記憶されているデータの量とは無関係に決められた保存方法に従って揮発性メモリに記憶されているデータを不揮発性メモリに保存する構成に比して、情報処理装置の起動時間を短縮することを目的とする。
【課題を解決するための手段】
【0005】
請求項1に係る発明は、プロセッサと、メモリとを備え、前記メモリは、前記プロセッサが処理に用いるデータを記憶する揮発性メモリと不揮発性メモリとを含み、前記プロセッサは、自装置の構成を示す構成情報を取得し、前記構成情報により示される前記構成と、前記揮発性メモリに記憶されている前記データの量とに応じて決められた保存方法に従って、前記揮発性メモリに記憶されている前記データを前記不揮発性メモリに保存してから自装置を停止させ、前記不揮発性メモリに保存された前記データを用いて自装置を起動させ、前記データの保存先が、前記構成に含まれる前記不揮発性メモリの記憶領域であり、前記記憶領域が前記データの量に応じた記憶容量を有することを示す構成条件を満たす複数の保存方法の候補についてそれぞれ、当該保存方法に従って前記不揮発性メモリに保存された前記データを用いて起動させた場合に推定される起動時間を取得し、前記保存方法は、前記複数の保存方法の候補の中から前記起動時間に応じて決定されることを特徴とする情報処理装置である。
請求項2に係る発明は、請求項1に記載の情報処理装置において、前記構成情報は、自装置が前記データの圧縮手段を有しているか否かを示し、前記構成条件は、前記構成が前記圧縮手段を含み、前記記憶領域が前記データの圧縮後の量に応じた記憶容量を有することを示し、前記保存方法は、前記揮発性メモリに記憶されている前記データを前記圧縮手段により圧縮してから前記記憶領域に保存する方法であることを特徴とする。
請求項3に係る発明は、請求項1に記載の情報処理装置において、前記データは、自装置の起動に用いられる第1データと、自装置の起動に用いられない第2データとを含み、前記プロセッサは、前記揮発性メモリに記憶されている前記第1データと前記第2データとを、互いに異なる保存方法に従って前記不揮発性メモリに含まれる第1記憶領域と第2記憶領域とにそれぞれ保存することを特徴とする。
請求項4に係る発明は、請求項3に記載の情報処理装置において、前記プロセッサは、前記第1記憶領域に保存された前記第1データを用いて自装置を起動させた後、前記第2記憶領域に保存された前記第2データを前記揮発性メモリに読み込むことを特徴とする。
請求項5に係る発明は、コンピュータに、情報処理装置の構成を示す構成情報を取得するステップと、前記構成情報により示される前記構成と、揮発性メモリに記憶されている、処理に用いられたデータの量とに応じて決められた保存方法に従って、前記揮発性メモリに記憶されている前記データを不揮発性メモリに保存してから前記情報処理装置を停止させるステップと、前記不揮発性メモリに保存された前記データを用いて前記情報処理装置を起動させるステップとを実行させるためのプログラムであって、前記データの保存先が、前記構成に含まれる前記不揮発性メモリの記憶領域であり、前記記憶領域が前記データの量に応じた記憶容量を有することを示す構成条件を満たす複数の保存方法の候補についてそれぞれ、当該保存方法に従って前記不揮発性メモリに保存された前記データを用いて起動させた場合に推定される起動時間を取得するステップをさらに実行させ、前記保存方法は、前記複数の保存方法の候補の中から前記起動時間に応じて決定されるプログラムである。
【発明の効果】
【0012】
請求項1に係る発明によれば、情報処理装置の構成及び揮発性メモリに記憶されているデータの量とは無関係に決められた保存方法に従って揮発性メモリに記憶されているデータを不揮発性メモリに保存する構成に比して、情報処理装置の起動時間が短縮される。
請求項1、5に係る発明によれば、データが不揮発性メモリに保存されないことが防止される。
請求項2に係る発明によれば、揮発性メモリに記憶されているデータを圧縮せずに不揮発性メモリに保存する構成に比して、不揮発性メモリに保存されるデータの量が削減される。
請求項1、5に係る発明によれば、推定される起動時間とは無関係に決められた保存方法に従って揮発性メモリに記憶されているデータを不揮発性メモリに保存する構成に比して、情報処理装置の起動時間が短縮される。
請求項3に係る発明によれば、自装置の起動に用いられる第1データと自装置の起動に用いられない第2データとを区別せずに不揮発性メモリに保存する構成に比して、情報処理装置の起動時間が短縮される。
請求項4に係る発明によれば、第1データを用いて自装置を起動させるとともに自装置の起動に用いられない第2データを揮発性メモリに読み込む構成に比して、情報処理装置の起動時間が短縮される。
請求項5に係る発明によれば、情報処理装置の構成及び揮発性メモリに記憶されているデータの量とは無関係に決められた保存方法に従って揮発性メモリに記憶されているデータを不揮発性メモリに保存する構成に比して、情報処理装置の起動時間が短縮される。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係る情報処理装置10の構成の一例を示す図である。
【
図3】シャットダウン処理の一例を示すフローチャートである。
【
図4】ブート処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
1.構成
図1は、本実施形態に係る情報処理装置10の構成の一例を示す図である。情報処理装置10は、例えばコピー機能、スキャン機能、プリント機能、ファクシミリ機能等の複数の機能を有する画像処理装置のコントローラとして用いられる。情報処理装置10は、ハイバネーション機能を有する。ハイバネーション機能とは、情報処理装置10を停止する際に揮発性メモリに記憶されているデータを不揮発性メモリに保存し、次に情報処理装置10を起動する際に、不揮発性メモリに保存されたデータを揮発性メモリに読み込んで停止前の状態を再現する機能である。ハイバネーション機能は、情報処理装置10の起動に要する時間を短縮するために用いられる。情報処理装置10は、プロセッサ11と、メインメモリ12と、第1ストレージ13と、第2ストレージ14と、内蔵メモリ15と、圧縮復号器16とを備える。これらの部位は、バス17を介して接続されている。
【0015】
プロセッサ11は、プログラムを実行することにより、情報処理装置10の各部を制御し、情報処理装置10の機能を実現する処理を行う。プロセッサ11には、例えばCPU(Central Processing Unit)が用いられる。
【0016】
メインメモリ12は、プロセッサ11により一時的に用いられる作業領域であり、プロセッサ11が処理に用いるデータが記憶される。このデータには、例えばオペレーティングシステム、オペレーティングシステムにより作成されるキャッシュデータ、画像処理装置が有する各機能を実現するためのアプリケーションプログラム、アプリケーションプログラムにより用いられるキャッシュデータ、画像データ、及び画面の表示に用いられるデータが含まれる。メインメモリ12に記憶されるデータには、情報処理装置10の起動に用いられる第1データと、第1データ以外の第2データとが含まれる。第2データは、情報処理装置10の起動に用いられないデータである。すなわち、第2データは、情報処理装置10の起動後に再度読み込んでも支障が少ないデータである。例えばオペレーティングシステム及び画像処理装置が有する各機能を実現するためのアプリケーションプログラムは、第1データに含まれる。一方、オペレーティングシステムにより作成されるキャッシュデータ、アプリケーションプログラムにより用いられるキャッシュデータ、画像データ、及び画面の表示に用いられるデータは、第2データに含まれる。メインメモリ12は、電源が切断されると記憶内容が失われる揮発性メモリである。メインメモリ12には、例えばRAM(Random Access Memory)が用いられる。メインメモリ12は、本発明に係る「揮発性メモリ」の一例である。
【0017】
第1ストレージ13及び第2ストレージ14はいずれも、情報処理装置10の電源が切断される際に、メインメモリ12に記憶されているデータを保存する。第1ストレージ13及び第2ストレージ14はいずれも、電源が切断されても記憶内容が保持される不揮発性メモリである。第1ストレージ13には、例えばeMMC(Embedded Multi Media Card)が用いられる。第2ストレージ14には、例えばHDD(Hard Disk Drive)が用いられる。第1ストレージ13及び第2ストレージ14は、本発明に係る「不揮発メモリ」の一例である。
【0018】
内蔵メモリ15は、データの保存方法の決定に用いられる構成情報151とテーブル152とを記憶している。また、内蔵メモリ15は、プロセッサ11により実行されるプログラムを記憶している。このプログラムには、例えばオペレーティングシステム、ファームウェア、及びブートローダのうち少なくともいずれかが含まれる。内蔵メモリ15は、電源が切断されても記憶内容が保持される不揮発性メモリである。内蔵メモリ15には、例えばフラッシュメモリが用いられる。
【0019】
圧縮復号器16は、データを圧縮する圧縮器とデータを復号する復号器とを含む。この復号とは、圧縮されたデータを元のデータに復元することをいう。圧縮復号器16は、例えば情報処理装置10の電源が切断される際に、メインメモリ12に記憶されているデータを圧縮する。また、圧縮復号器16は、例えば情報処理装置10の電源が投入される際に、第1ストレージ13及び第2ストレージ14に保存されているデータを復号する。圧縮復号器16には、例えば圧縮回路及び復号回路が用いられる。圧縮復号器16は、本発明に係る「圧縮手段」の一例である。
【0020】
構成情報151は、情報処理装置10の構成を示す。構成情報151には、情報処理装置10において利用可能なリソースを示すリソース情報と、情報処理装置10の各部の性能を示す性能情報とが含まれる。リソース情報には、ストレージを有しているか否かを示す情報、ストレージの利用可能な記憶容量、及び圧縮復号手段を有しているか否かを示す情報が含まれる。性能情報には、プロセッサ11の性能値、メインメモリ12の性能値、第1ストレージ13及び第2ストレージ14の性能値、圧縮復号器16の性能値が含まれる。これらの性能値は、基本的には値が大きい程、性能が高いことを示す。プロセッサ11の性能値には、例えばプロセッサ11の周波数、アーキテクチャを示す情報、及びコア数が含まれる。メインメモリ12の性能値には、例えば読み出し速度、書き込み速度、及び転送速度が含まれる。第1ストレージ13及び第2ストレージ14の性能値には、例えば読み出し速度、書き込み速度、及び転送速度が含まれる。この読み出し速度は、読み出し性能値として用いられる。圧縮復号器16の性能値には、例えば圧縮速度及び復号速度が含まれる。この復号速度は、復号器の性能値として用いられる。なお、構成情報151は、情報処理装置10の構成が変更されると、変更後の構成を示すように更新される。
【0021】
図2は、テーブル152の一例を示す図である。データの保存方法は、第1データの保存方法と第2データの保存方法の組み合わせにより構成される。テーブル152には、第1データの保存方法と第2データの保存方法の予め定められた複数の組み合わせが含まれる。なお、情報処理装置10の構成は変更される場合がある。したがって、テーブル152には、情報処理装置10が現状備えていない構成を用いる保存方法が含まれてもよい。テーブル152には、識別子と、保存方法とが含まれる。識別子は、保存方法を一意に識別する情報である。保存方法は、第1データの保存先となる第1保存先を示す情報と、第2データの保存先となる第2保存先を示す情報と、データを圧縮してから保存するか否かを示す情報とが含まれる。第1保存先を示す情報及び第2保存先を示す情報には、それぞれ第1保存先の記憶容量及び第2保存先の記憶容量が含まれる。第1データの保存方法は、第1保存先を示す情報とデータを圧縮してから保存するか否かを示す情報とにより示される。第2データの保存方法は、第2保存先を示す情報とデータを圧縮してから保存するか否かを示す情報とにより示される。例えば保存方法「1」は、第1データを圧縮してから第1ストレージ13内の500MBの記憶領域に保存し、第2データを圧縮してから第2ストレージ14内の2GBの記憶領域に保存する方法を示す。
【0022】
2.動作
以下の説明において、プロセッサ11が処理の主体として記載される場合、内蔵メモリ15に記憶されたプログラムと、このプログラムを実行するプロセッサ11との協働により、プロセッサ11が演算を行い又は他のハードウェア要素の動作を制御することにより、この処理が実現されることを示す。
【0023】
2.1 シャットダウン処理
図3は、シャットダウン処理の一例を示すフローチャートである。シャットダウン処理は、例えば利用者が画像処理装置に設けられた電源ボタンを押下したことを契機に開始される。ステップS11において、プロセッサ11は、内蔵メモリ15から構成情報151を読み出して取得する。
図1に示されるように、情報処理装置10は、第1ストレージ13、第2ストレージ14、及び圧縮復号器16を備えている。この場合、構成情報151に含まれるリソース情報は、第1ストレージ13、第2ストレージ14、及び圧縮復号器16を有していることを示す。また、ここでは、第1ストレージ13の利用可能な記憶容量は500MBであり、第2ストレージ14の利用可能な記憶容量は2GBであるものとする。この場合、構成情報151に含まれるリソース情報には、第1ストレージ13の利用可能な記憶容量である500MBと、第2ストレージ14の利用可能な記憶容量である2GBとが含まれる。
【0024】
ステップS12において、プロセッサ11は、テーブル152を参照して、構成情報151により示される情報処理装置10の構成と、メインメモリ12に記憶されているデータのデータ量とに応じて、メインメモリ12に記憶されているデータの保存方法を決定する。メインメモリ12に記憶されているデータのデータ量は、情報処理装置10において実行されているアプリケーションプログラムによって変化する。例えば情報処理装置10において実行されているアプリケーションプログラムの数が増えると、メインメモリ12に記憶されているデータのデータ量は増える。
【0025】
ここでは、メインメモリ12に記憶されている第1データのデータ量が1.1GBであり、第2データのデータ量が400MBであるものとする。また、圧縮復号器16を用いて第1データを圧縮した場合、第1データの圧縮後のデータ量は500MBになる。圧縮復号器16を用いて第2データを圧縮した場合、第2データの圧縮後のデータ量は200MBになる。まず情報処理装置10の構成を用いて実現可能であることを示す第1構成条件を満たし、且つ、保存先がメインメモリ12に記憶されているデータを保存可能な記憶容量を有することを示す第2構成条件を満たす保存方法が候補として選択される。
【0026】
図2に示される例では、保存方法「1」及び「2」はいずれも、第1保存先が情報処理装置10の構成に含まれる第1ストレージ13であり、第2保存先が情報処理装置10の構成に含まれる第2ストレージ14である。また、第1保存先の記憶容量は500MBであり、第1ストレージ13の利用可能な記憶容量以下である。第2保存先の記憶容量は2GBであり、第2ストレージ14の利用可能な記憶容量以下である。保存方法「3」及び「4」はいずれも、第1保存先が情報処理装置10の構成に含まれる第2ストレージ14であり、第2保存先が情報処理装置10の構成に含まれる第1ストレージ13である。また、第1保存先の記憶容量は2GBであり、第2ストレージ14の利用可能な記憶容量以下である。第2保存先の記憶容量は500MBであり、第1ストレージ13の利用可能な記憶容量以下である。保存方法「1」及び「3」では、いずれもデータを圧縮する必要があるが、情報処理装置10の構成には圧縮復号器16が含まれている。そのため、保存方法「1」~「4」は、情報処理装置10の構成を用いて実現可能であることを示す第1構成条件を満たす。なお、情報処理装置10の構成には圧縮復号器16が含まれている一方、保存方法「2」及び「4」ではデータの圧縮は行われない。しかし、圧縮復号器16を使用せずにデータを保存してもよいため、保存方法「2」及び「4」についても情報処理装置10の構成を用いて実現可能であることを示す第1構成条件を満たす。一方、保存方法「5」~「8」はいずれも、第1保存先又は第2保存先が情報処理装置10の構成に含まれていない第3ストレージである。そのため、保存方法「5」~「8」は、情報処理装置10の構成を用いて実現可能であることを示す第1構成条件を満たさない。
【0027】
第1構成条件を満たす保存方法「1」~「4」のうち、保存方法「1」は、第1保存先の記憶容量が500MBであり、第1データの圧縮後のデータ量である500MB以上である。また、保存方法「1」は、第2保存先の記憶容量が2GBであり、第2データの圧縮後のデータ量である200MB以上である。同様に、保存方法「3」は、第1保存先の記憶容量が2GBであり、第1データの圧縮後のデータ量である500MB以上である。また、保存方法「3」は、第2保存先の記憶容量が500MBであり、第2データの圧縮後のデータ量である200MB以上である。保存方法「4」は、第1保存先の記憶容量が2GBであり、第1データのデータ量である1.1MB以上である。また、保存方法「4」は、第2保存先の記憶容量が500MBであり、第2データのデータ量である400MB以上である。そのため、保存方法「1」、「3」、及び「4」は、保存先がメインメモリ12に記憶されているデータを保存可能な記憶容量を有することを示す第2構成条件を満たす。一方、保存方法「2」は、第2保存先の記憶容量は2GBであり、第2データのデータ量である400MB以上であるものの、第1保存先の記憶容量が500MBであり、第1データのデータ量である1.1GB未満である。そのため、保存方法「2」は、保存先がメインメモリ12に記憶されているデータを保存可能な記憶容量を有することを示す第2構成条件を満たさない。したがって、保存方法「1」「3」、及び「4」が候補として選択される。
【0028】
続いて、複数の保存方法の候補についてそれぞれ、構成情報151に含まれる性能情報を用いて、この保存方法に従って第1ストレージ13又は第2ストレージ14に保存されたデータを用いて情報処理装置10を起動させた場合に推定される起動時間が算出される。保存方法にデータの圧縮が含まれる場合、起動時間Ts1は以下の式(1)を用いて算出される。一方、保存方法にデータの圧縮が含まれない場合、起動時間Ts2は以下の式(2)を用いて算出される。
【0029】
Ts1=Tc+Tr1+Tr2+Td1+Td2・・・(1)
Ts2=Tc+Tr1+Tr2・・・(2)
ここで、Tcはシステム復帰時間、Tr1は第1データの読み出し時間、Tr2は第2データの読み出し時間、Td1は第1データの復号時間、Rd2は第2データの復号時間を示す。システム復帰時間Tcは、例えばプロセッサ11の性能値及びメインメモリ12の性能値に依存するシステムの固有の値であり、予め定められている。
【0030】
第1データの読み出し時間Tr1、第2データの読み出し時間Tr2、第1データの復号時間Td1、第2データの復号時間Td2は、それぞれ以下の式(3)~(6)を用いて算出される。
【0031】
Tr1=α×D1÷Vr1・・・(3)
Tr2=α×D2÷Vr2・・・(4)
Td1=α×D1÷Vd・・・(5)
Td2=α×D2÷Vd・・・(6)
ここで、αは係数、D1は第1データのデータ量、D2は第2データのデータ量、Vr1は第1保存先の読み出し性能値、Vr2は第2保存先の読み出し性能値、Vdは復号器の性能値を示す。係数αは、例えばプロセッサ11の性能値及びメインメモリ12の性能値に依存するシステムの固有の値であり、予め定められている。
【0032】
ここでは、保存方法「1」、「3」、及び「4」について算出された起動時間がそれぞれ15秒、20秒、及び22秒であるものとする。この場合、これらの保存方法の候補のうち、最も起動時間が短い保存方法「1」が決定される。
【0033】
ステップS13において、プロセッサ11は、ステップS12において決定された第2データの保存方法に従って第2データの保存処理を行う。このとき、まずメインメモリ12に記憶されているデータが第1データと第2データとに分割される。そして、例えば保存方法「1」が決定された場合には、第2データが圧縮復号器16により圧縮された後、第2ハイバネーションイメージとして第2ストレージ14の記憶領域に保存される。ステップS14において、プロセッサ11は、ステップS12において決定された第1データの保存方法に従って第1データの保存処理を行う。例えば保存方法「1」が決定された場合には、メインメモリ12に記憶されている第1データが圧縮復号器16により圧縮された後、第1ハイバネーションイメージとして第1ストレージ13の記憶領域に保存される。このように、保存方法「1」においては、メインメモリ12に記憶されている第1データと第2データとが、互いに異なる保存方法に従って第1ストレージ13内の第1記憶領域と第2ストレージ14内の第2記憶領域とにそれぞれ保存される。ステップS15において、プロセッサ11は、情報処理装置10の電源を切断して情報処理装置10を停止させる。このとき、メインメモリ12に記憶されているデータは消去される。
【0034】
2.2 ブート処理
図4は、ブート処理の一例を示すフローチャートである。このブート処理は、例えば利用者が画像処理装置に設けられた電源ボタンを押下したことを契機に開始される。ステップS21において、電源が投入されると、情報処理装置10の各部に電力が供給される。ステップS22においてプロセッサ11は、第1データの復帰処理を行う。例えば
図2に示される保存方法「1」に従ってデータが保存された場合には、第1ストレージ13に保存された第1ハイバネーションイメージが圧縮復号器16により復号されて第1データとしてメインメモリ12に読み込まれる。これにより、情報処理装置10が起動される。ステップS23において、プロセッサ11は、第2データが保存されているか否かを判定する。例えば保存方法によっては第2データが保存されずに消去される場合がある。この場合には、第2保存先に第2ハイバネーションイメージが保存されないため(ステップS23の判定がNO)、ステップS24を飛ばしてこの処理は終了する。一方、第2保存先に第2ハイバネーションイメージが保存されている場合には(ステップS23の判定がYES)、ステップS24において、プロセッサ11は、第2データの復帰処理を行う。例えば
図2に示される保存方法「1」に従って第2データが保存された場合には、第2ストレージ14に保存された第2ハイバネーションイメージが圧縮復号器16により復号されて第2データとしてメインメモリ12に読み込まれる。メインメモリ12に読み込まれた第2データは、プロセッサ11が対応する処理を行うときに使用される。
【0035】
ここで、情報処理装置10の構成は変更される場合がある。ここでは、第2ストレージ14が第3ストレージに換装された場合を想定する。第3ストレージは、第1ストレージ13及び第2ストレージ14と同様に、情報処理装置10の電源が切断される際に、メインメモリ12に記憶されているデータを保存する不揮発性メモリである。第3ストレージには、例えばSSD(Solid State Drive)が用いられる。この場合、
図2に示される例では、保存方法「1」~「4」はいずれも、第1保存先又は第2保存先が情報処理装置10の構成から外れた第2ストレージ14であるため、情報処理装置10の構成を用いて実現可能であることを示す第1構成条件を満たさない。一方、保存方法「5」~「8」はいずれも、第1保存先及び第2保存先が情報処理装置10の構成に含まれる第1ストレージ13及び第3ストレージであり、これらの記憶容量は利用可能な記憶容量以下である。そのため、保存方法「5」~「8」は、情報処理装置10の構成を用いて実現可能であることを示す第1構成条件を満たす。
【0036】
第1構成条件を満たす保存方法「5」~「8」のうち、保存方法「5」は、第1保存先の記憶容量が500MBであり、第1データの圧縮後のデータ量である500MB以上である。また、保存方法「5」は、第2保存先の記憶容量が1GBであり、第2データの圧縮後のデータ量である200MB以上である。同様に、保存方法「7」は、第1保存先の記憶容量が1GBであり、第1データの圧縮後のデータ量である500MB以上である。また、保存方法「7」は、第2保存先の記憶容量が500MBであり、第2データの圧縮後のデータ量である200MB以上である。そのため、保存方法「5」及び「7」は、保存先がメインメモリ12に記憶されているデータを保存可能な記憶容量を有することを示す第2構成条件を満たす。一方、保存方法「6」は、第2保存先の記憶容量は1GBであり、第2データのデータ量である400MB以上であるものの、第1保存先の記憶容量が500MBであり、第1データのデータ量である1.1GB未満である。同様に、保存方法「8」は、第2保存先の記憶容量は500MBであり、第2データのデータ量である400MB以上であるものの、第1保存先の記憶容量が1GBであり、第1データのデータ量である1.1GB未満である。そのため、保存方法「6」及び「8」は、保存先がメインメモリ12に記憶されているデータを保存可能な記憶容量を有することを示す第2構成条件を満たさない。したがって、保存方法「5」及び「7」が候補として選択される。この場合、これらの保存方法の候補についてそれぞれ推定される起動時間が算出され、起動時間が最も短い保存方法が決定される。
【0037】
なお、情報処理装置10の構成の変更は、第1ストレージ13又は第2ストレージ14の換装に限定されない。情報処理装置10の構成の変更には、例えば既存の第1ストレージ13又は第2ストレージ14の記憶容量の変更、メインメモリ12の記憶容量の変更、新たな圧縮復号器を搭載したアクセラレータの装着が含まれてもよい。
【0038】
仮に情報処理装置10の構成やメインメモリ12に記憶されているデータの量に適さない保存方法に従ってメインメモリ12に記憶されているデータが保存された場合には、情報処理装置10の起動時間を短縮する効果が小さくなる場合がある。しかし、上述した実施形態によれば、情報処理装置10の構成及びメインメモリ12に記憶されているデータの量に適した保存方法が決定され、この保存方法に従ってデータの保存処理が行われる。そのため、情報処理装置10の構成及びメインメモリ12に記憶されているデータの量とは無関係に決められた保存方法に従ってデータの保存処理を行う構成に比して、情報処理装置10の起動時間が短縮される。また、複数の保存方法の候補のうち推定される起動時間が最も短い保存方法が決定されるため、推定される起動時間とは無関係に決められた保存方法に従ってデータの保存処理を行う構成に比して、情報処理装置10の起動時間が短縮される。
【0039】
さらに、情報処理装置10の構成が変更された場合でも、変更後の構成に適した保存方法が決定されるため、情報処理装置10の構成が変更されても保存方法が変わらない構成に比して、情報処理装置10の起動時間が短縮される。さらに、情報処理装置10によって構成が異なる場合でも、それぞれの情報処理装置10の構成に適した保存方法が決定されるため、情報処理装置10の間で保存方法が共通である場合に比して、情報処理装置10の起動時間が短縮される。さらに、情報処理装置10や画像処理装置の機能の更新により、オペレーションシステム又はアプリケーションプログラムによりメインメモリ12に記憶されるデータの量が変わる場合がある。この場合にも、更新後のオペレーションシステム又はアプリケーションプログラムによりメインメモリ12に記憶されるデータの量に適した保存方法が決定される。そのため、機能の更新によりメインメモリ12に記憶されるデータの量がされても保存方法が変わらない構成に比して、情報処理装置10の起動時間が短縮される。
【0040】
さらに、情報処理装置10の構成を用いて実現可能であることを示す第1構成条件を満たし、且つ、保存先がメインメモリ12に記憶されているデータを保存可能な記憶容量を有することを示す第2構成条件を満たす保存方法が決定されるため、データの保存先が情報処理装置10の構成に含まれない又はメインメモリ12に記憶されているデータを保存可能な記憶容量を有していないことにより、データが保存先に保存されないことが防止される。さらに、情報処理装置10の構成に圧縮復号器16が含まれる場合には、データが圧縮されてから保存する保存方法が決定され得るため、データを圧縮せずに保存する構成に比して、保存されるデータの量が削減される。
【0041】
さらに、第1データと第2データとが異なる記憶領域に保存され、第1データの復帰処理を行って情報処理装置10を起動させるため、これらのデータを区別せずに一の記憶領域に保存する構成に比して、起動の際にメインメモリ12に読み込まれるデータの量が減り、情報処理装置10の起動時間が短縮される。さらに、第2データの復帰処理の前に第1データの復帰処理を行って情報処理装置10を起動させるため、第1データの復帰処理を行って情報処理装置10を起動させるとともに第2データの復帰処理を行う構成に比して、情報処理装置10の起動時間が短縮される。
【0042】
3.変形例
本発明は、上述した実施形態に限定されない。上述した実施形態は以下の例のように変形して実施されてもよい。このとき、以下の2以上の変形例が組み合わせて実施されてもよい。
【0043】
上述した実施形態において、第2データの復帰処理は、ブート処理が完了した後に行われてもよい。例えば利用者により画像処理装置が利用されていない状況下においては、ブート処理が完了した後、処理の負荷が基準値以下の期間に第2データの復帰処理が行われてもよい。
【0044】
上述した実施形態において、メインメモリ12に記憶されている第2データは必ずしも保存されなくてもよい。例えばメインメモリ12に記憶されている第1データだけ保存され、第2データは保存されなくてもよい。この場合、情報処理装置10の電源が切断される際に、第2データは消去される。また、この場合、テーブル152には、第2データが保存されない保存方法が含まれてもよい。
【0045】
上述した実施形態において、圧縮復号器16に代えてプロセッサ11により、データの圧縮及び復号が行われてもよい。この場合、上述した第1データの復号時間Td1及び第2データの復号時間Td2は、それぞれ上述した式(5)及び(6)に代えて以下の式(7)及び(8)を用いて算出される。
Td1=α×D1÷Vp・・・(7)
Td2=α×D2÷Vp・・・(8)
ここで、αは係数、D1は第1データのデータ量、D2は第2データのデータ量、Vpはプロセッサ11の性能値を示す。
【0046】
また、情報処理装置10の構成が圧縮復号器16とプロセッサ11とを含み、圧縮復号器16だけでなくプロセッサ11もデータの圧縮及び復号を行う場合には、圧縮復号器16によりデータが復号される場合に推定される起動時間と、プロセッサ11によりデータが復号される場合に推定される起動時間とが両方とも算出されてもよい。この場合、圧縮復号器16によりデータが復号される場合に推定される起動時間の方が短い場合には、圧縮復号器16によりデータが復号されてもよい。一方、プロセッサ11によりデータが復号される場合に推定される起動時間の方が短い場合には、プロセッサ11によりデータが復号されてもよい。
【0047】
上述した実施形態において、起動時間の算出に代えて起動時間の実測値が取得され、この起動時間の実測値を用いて保存方法が決定されてもよい。この場合、予め各保存方法を用いてハイバネーションを行った場合における情報処理装置10の実際の起動時間が計測される。この計測により得られた起動時間の実測値は例えば内蔵メモリ15に記憶され、内蔵メモリ15から読み出されて使用される。或いは、他の情報処理装置10において各保存方法を用いてハイバネーションを行った場合における他の情報処理装置10の実際の起動時間が計測された場合には、この計測により得られた起動時間が他の情報処理装置10から取得されてもよい。
【0048】
上述した実施形態において、第1データの保存方法と第2データの保存方法とは別々に決定されてもよい。この場合、内蔵メモリ15には、テーブル152に代えて、第1データの保存方法を含む第1テーブルと、第2データの保存方法を含む第2テーブルとが記憶される。そして、まず第2テーブルを参照して、第2データの保存方法が決定される。続いて、第1テーブルを参照して、第1データの保存方法が決定される。
【0049】
上述した実施形態において、保存方法を構成する要素は、保存先、保存先の記憶容量、及びデータの圧縮の有無に限定されない。例えば保存方法には、データの圧縮方式、第2データを消去するか否かが含まれてもよい。
【0050】
上述した実施形態において、第1ストレージ13と第2ストレージ14とは必ずしも両方とも設けられていなくてもよい。例えば第1ストレージ13又は第2ストレージ14のいずれか一方だけが設けられてもよい。このとき、第1データと第2データとは、第1ストレージ13又は第2ストレージ14のいずれか一方において互いに異なる記憶領域に保存されてもよい。
【0051】
上述した実施形態において、ハイバネーション機能が用いられるのは、情報処理装置10の電源の切断及び投入の際に限定されない。例えば情報処理装置10の休止及び復帰の際にハイバネーションが行われてもよい。この休止には、例えば省エネモードやスリープモードへの移行が含まれる。すなわち情報処理装置10の停止には、情報処理装置10の電源が切断された状態だけでなく、情報処理装置10が休止した状態も含まれる。また、情報処理装置10の起動には、情報処理装置10の電源が投入された状態だけでなく、情報処理装置10が休止から復帰した状態も含まれる。
【0052】
上述した実施形態において、情報処理装置10は、画像処理装置のコントローラに限定されない。情報処理装置10は、プリンター、イメージスキャナ、コピー機、ファクシミリ機、スマートフォン、タブレット端末、パーソナルコンピュータ、オーディオ機器、ゲーム機等、ハイバネーション機能を有する装置であれば、どのような装置であってもよい。また、上述した情報処理装置10の構成は例示であり、この例に限定されない。例えば内蔵メモリ15は必ずしも設けられなくてもよい。この場合、内蔵メモリ15に記憶されたデータは、内蔵メモリ15に代えて第1ストレージ13又は第2ストレージ14に記憶されてもよい。また、例えば情報処理装置10において行われる処理の少なくとも一部が他の装置において行われてもよい。さらに、上述した情報処理装置10の処理の順序は例示であり、矛盾の無い限り、順序を入れ替えてもよい。
【0053】
上記実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス等)を含むものである。
【0054】
また上記実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0055】
本発明は、情報処理装置10において実行されるプログラムとして提供されてもよい。情報処理装置10は、本発明に係る「コンピュータ」の一例である。このプログラムは、インターネットなどの通信回線を介してダウンロードされてもよいし、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
【符号の説明】
【0056】
10:情報処理装置、11:プロセッサ、12:メインメモリ、13:第1ストレージ、14:第2ストレージ、15:内蔵メモリ、16:圧縮復号器