JP2019185717A - 情報処理装置及び起動方法 - Google Patents

情報処理装置及び起動方法 Download PDF

Info

Publication number
JP2019185717A
JP2019185717A JP2018142987A JP2018142987A JP2019185717A JP 2019185717 A JP2019185717 A JP 2019185717A JP 2018142987 A JP2018142987 A JP 2018142987A JP 2018142987 A JP2018142987 A JP 2018142987A JP 2019185717 A JP2019185717 A JP 2019185717A
Authority
JP
Japan
Prior art keywords
snapshot
activation
creation
application
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018142987A
Other languages
English (en)
Other versions
JP7107069B2 (ja
Inventor
滋也 千田
Shigeya Senda
滋也 千田
小池 和正
Kazumasa Koike
和正 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US16/366,249 priority Critical patent/US10838740B2/en
Publication of JP2019185717A publication Critical patent/JP2019185717A/ja
Application granted granted Critical
Publication of JP7107069B2 publication Critical patent/JP7107069B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】固定のスナップショットによるハイバネーション起動であっても、環境の変化に柔軟に対応できる情報処理装置を提供すること。【解決手段】ハイバネーション起動を行う情報処理装置であって、スナップショット作成起動又はスナップショット起動を選択する手段と、スナップショット作成起動の選択時にアプリケーションの起動処理を開始させる手段と、スナップショットの作成時点まで起動処理を進めたあとで通知を行うアプリと、アプリの全てから通知を受け取ったあと、スナップショットの作成指示を行う手段と、作成指示に基づき、スナップショットを作成する手段と、スナップショットを記憶する記憶手段と、スナップショット起動の選択時に記憶手段が記憶するスナップショットを読み出し、アプリケーションに作成時点以降の起動処理の開始指示を行うことでアプリケーションの起動処理を完了させる手段と、を有することで上記課題を解決する。【選択図】 図2

Description

本発明は、情報処理装置及び起動方法に関する。
情報処理装置の省電力化と起動の高速化を可能にするハイバネーションと言う方法は従来から知られている。
ハイバネーションは、メモリ内容やCPU等のハードウェアの設定など、情報処理装置が動作中の状態情報について、スナップショットと呼ばれるデータを作成し、不揮発性の記憶媒体に保存した後、情報処理装置をシャットダウンする。次回の起動において、情報処理装置は、不揮発性の記憶媒体に保存しておいたスナップショット(スナップショットイメージ)を使用し、シャットダウン前のシステム状態を復元することで、動作中のシステム中断と、起動および再開の高速化を可能にしている(例えば特許文献1参照)。
従来のハイバネーションは、シャフトダウン前にハイバネーションのスナップショットを作成するが、スナップショットの作成時間が掛かるため、シャフトダウンに即応性の求められる情報処理装置での使用に不向きであった。このため、シャフトダウンに即応性の求められる情報処理装置では固定のスナップショットを予め作成しておくことで、シャフトダウン前のスナップショットの作成を無くすことが考えられる。
しかしながら、固定のスナップショットを予め作成しておく情報処理装置では、そのスナップショットの作成時と周辺機器の有無や有効無効が異なる環境で使用することができず、環境の変化に柔軟に対応できないという問題があった。
本発明の実施の形態は上記の点に鑑みなされたもので、固定のスナップショットによるハイバネーション起動であっても、環境の変化に柔軟に対応できる情報処理装置を提供することを目的とする。
上記目的を達成するため、本願請求項1は、ハイバネーション起動を行う情報処理装置であって、スナップショット作成起動又はスナップショット起動を選択する選択手段と、前記スナップショット作成起動の選択時に1つ以上のアプリケーションの起動処理を開始させる起動手段と、前記起動処理におけるスナップショットの作成時点が設定されており、前記作成時点まで起動処理を進めたあとで通知を行う1つ以上のアプリケーションと、前記アプリケーションの全てから前記通知を受け取ったあと、スナップショットの作成指示を行う作成指示手段と、前記作成指示に基づき、スナップショットを作成する作成手段と、前記スナップショットを記憶する記憶手段と、前記スナップショット起動の選択時に前記記憶手段が記憶する前記スナップショットを読み出し、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させる開始指示手段と、を有すること、を特徴とする。
本発明の実施の形態によれば、固定のスナップショットによるハイバネーション起動であっても、環境の変化に柔軟に対応できる。
本実施形態に係る画像処理装置の一例の構成図である。 本実施形態に係る操作部の一例の機能構成図である。 本実施形態に係る電源オンからの起動処理の一例のフローチャートである。 ステップS13のスナップショット作成起動の一例のフローチャートである。 ステップS25のアプリケーションの起動処理の一例のフローチャートである。 ステップS21のブートローダ起動の一例のフローチャートである。 ステップS22のOS起動の一例のフローチャートである。 ステップS62のタッチパネルドライバの初期化の一例のフローチャートである。 ステップS14のスナップショット起動の一例のフローチャートである。 ステップS85の継続処理の一例のフローチャートである。 本実施形態に係る操作部の他の例の機能構成図である。 ステップS25のアプリケーションの起動処理の他の例のフローチャートである。 優先度キューの一例の構成図である。 eMMCに記憶されるスナップショットイメージ及び優先度キューの一例の構成図である。 ステップS85の継続処理の他の例のフローチャートである。 優先度変更処理の一例のフローチャートである。
次に、本発明の実施の形態について説明する。本実施形態では画像処理装置の操作部として機能する情報処理装置がハイバネーション起動を行う例について説明する。画像処理装置は組み込み機器の一例であって、MFP(Multifunction Peripheral)等である。ただし、情報処理装置はこれに限定されず、アプリケーションがインストール可能な機器であれば良く、例えば、MFPの本体部2や電子黒板、プロジェクタ、パーソナルコンピュータ、スマートフォンやタブレット端末などの携帯端末であっても良い。
[第1の実施形態]
<ハードウェア構成>
図1は本実施形態に係る画像処理装置の一例の構成図である。図1の画像処理装置1はケーブル4によりデータ通信可能に接続された本体部2と操作部3とを備える。なお、本体部2と操作部3は、ケーブル4による有線接続に代えて、無線(赤外線を含む)接続としてもよい。本体部2は、本体部コントローラの制御により、スキャナデバイスによる原稿の読み取りや、プロッタデバイスによる用紙への印刷を行う。
操作部3は、SOC(System-on-a-chip)10と、タッチパネル12と、eMMC(embedded Multi Media Card)14と、LCD(Liquid Crystal Display)16と、メモリ18とを有する。SOC10は1個のチップに、USB(Universal Serial Bus)ファンクション20、CPU(Central Processing Unit)22、MMCコントローラ24、LCDコントローラ26、GPIO(General Purpose Input/Output)28、I2C(Inter-Integrated Circuit)30、及び、メモリコントローラ32を備える。
SOC10は操作部3のシステムとして機能するように設計されている。SOC10は組み込み用マルチメディアカードであるeMMC14からブートする構成であり、eMMC14の特定箇所に置かれたブートローダからシステムをブートする。ブートローダはeMMC14のファイルパーティション上に置かれたカーネルおよびルートファイルシステムをロードし、カーネルを起動する。
なお、後述するように本実施形態に係る操作部3は、スナップショット作成起動又はスナップショット起動を行う。スナップショット作成起動の場合、操作部3はカーネルの起動後、後述するようなスナップショット作成起動の処理により作成したスナップショットを不揮発性の記憶媒体であるeMMC14に記憶させる。
また、スナップショット起動の場合、操作部3はカーネルの起動後、後述するようなスナップショット起動の処理により、eMMC14に記憶させたスナップショットをメモリ18に展開し、ハイバネーション起動を行う。本実施形態に係る画像処理装置1は例えば工場出荷前にスナップショット作成起動を行って、eMMC14にスナップショットを記憶しておく。そして、工場出荷後、本実施形態に係る画像処理装置1は通常の電源オンからの起動でスナップショット起動を行う。したがって、本実施形態に係る画像処理装置1はシャフトダウン時にスナップショットを作成する場合に生じる電源がなかなか落ちないというような不自然な状態にならない。
タッチパネル12はユーザから操作を受け付ける。LCD16は画面表示を行う。メモリ18は、プログラムやデータを一時保持する揮発性の記憶媒体の一例である。CPU22はeMMC14などの記憶媒体からプログラムやデータをメモリ18に展開し、処理を実行することで、操作部3の制御や機能を実現する。
なお、本体部2と操作部3とは図1に示したように別筐体内に設けてもよいし、同一匡体内に設けてもよい。例えば本体部2の筐体と別の匡体内に設けられ、本体部2から分離可能な操作部3は無線接続にすることで、本体部2から分離したまま利用するというような利用形態が可能となる。
<ソフトウェア構成>
本実施形態に係る操作部3は例えば図1のハードウェア構成上でプログラムを実行することにより、図2に示すような各種機能を実現できる。図2は本実施形態に係る操作部の一例の機能構成図である。図2に示す操作部3はブートローダ50、OS(オペレーティングシステム)52、アプリ起動部54、アプリケーション56、スナップショットマネージャ58、スナップショット作成起動選択部60及びスナップショット記憶部62を実現している。
ブートローダ50はスナップショット作成起動判断部70及び起動動作制御部72を有する。スナップショット作成起動判断部70は電源オンからの起動がスナップショット作成起動であるか、スナップショット起動であるか、を判断する。起動動作制御部72はスナップショット作成起動判断部70による判断に基づき、起動動作を制御する。
OS52はカーネル74を有する。また、カーネル74は、スナップショット作成起動判断部76、スナップショット作成起動動作制御部78、スナップショット作成指示受付部80、スナップショット作成部82及びスナップショット起動動作制御部84を有している。
スナップショット作成起動判断部76は電源オンからの起動がスナップショット作成起動であるか、スナップショット起動であるか、を判断する。スナップショット作成起動動作制御部78はスナップショット作成起動である場合に、スナップショット作成起動動作を制御する。
スナップショット作成指示受付部80はスナップショットマネージャ58からスナップショット作成指示を受け付ける。スナップショット作成部82はスナップショット作成指示受付部80がスナップショットマネージャ58からスナップショット作成指示を受け付けると、スナップショットの作成を行う。また、スナップショット起動動作制御部84はスナップショット起動である場合に、スナップショット起動動作を制御する。
アプリ起動部54は例えば「init」により実現される。アプリ起動部54はカーネルの起動後の最初のプロセスであり、例えば「init.rc」などの設定ファイルに従い、1つ以上のアプリケーション56を起動していく。アプリケーション56は起動処理部86、スナップショット作成時点通過通知部88及びスナップショット起動開始指示受付部90を有する。
起動処理部86はアプリケーション56の起動処理を行う。スナップショット作成時点通過通知部88は起動処理の開始から終了までの間にスナップショットを作成するタイミング(スナップショット作成時点)を設計上、持っている。スナップショット作成時点通過通知部88は起動処理がスナップショット作成時点まで進んだタイミングで、スナップショットマネージャ58に通知を行う。つまり、スナップショット作成時点とは、複数の処理から成る起動処理のうち所定の処理まで終了した状態であること、又は終了したタイミングのことである。以下では、所定の処理まで終了すること、又は終了したタイミングを、スナップショット作成時点まで進む、又はスナップショット作成時点の通過と表現する場合がある。なお、起動処理部86はスナップショット作成時点まで進んだタイミングで起動処理を停止する。また、スナップショット起動開始指示受付部90はスナップショット起動である場合に、スナップショットマネージャ58からのスナップショット起動開始指示を受け付け、スナップショット作成時点以降の起動処理である継続起動を行う。
スナップショットマネージャ58はスナップショット作成指示部92、及び、スナップショット起動開始指示部94を有する。スナップショット作成指示部92は全てのアプリケーション56からスナップショット作成時点通過通知を受け付けると、カーネル74にスナップショット作成指示を行う。
スナップショット起動開始指示部94は、スナップショット起動である場合に、アプリケーション56にスナップショット起動開始指示を行う。
なお、スナップショットマネージャ58は、操作部3のeMMC14などの記憶部を読み出すことで、又はアプリケーション56のインストール状況を制御するプログラムに問い合わせることで、操作部3にインストールされたアプリケーション56を把握しても良い。また、操作部3にインストールされた複数のアプリケーションのうち、スナップショット作成に必要なアプリケーション56のみを特定しても良い。この場合、スナップショット作成指示部92は、特定したアプリケーション56からスナップショット作成時点通知を受け付けると、カーネル74にスナップショット作成指示を行い、スナップショット起動開始指示部94は、スナップショット起動である場合に、特定したアプリケーション56にスナップショット起動開始指示を行う。
スナップショット作成起動選択部60は電源オンからの起動が、スナップショット作成起動であるか、スナップショット起動であるか、を選択する。例えばスナップショット作成起動選択部60はGPIO28に接続されたDIPスイッチ(ディップスイッチ)等により、電源オンからの起動が、スナップショット作成起動であるか、スナップショット起動であるか、を選択する。ただし、スナップショット作成起動であるかスナップショット起動であるかの選択方法は、これに限定されず、例えば、記憶部に記憶されたフラグ情報に基づいて操作部3の起動が初回起動であるか否かを判断し、初回起動である場合はスナップショット作成起動を選択し、初回起動でない場合はスナップショット起動を選択しても良い。カーネル74のスナップショット作成部82に作成されたスナップショットはスナップショット記憶部62に記憶される。
<処理の詳細>
本実施形態に係る操作部3は、例えば図3に示すような手順により電源オンからの起動処理を行う。図3は本実施形態に係る電源オンからの起動処理の一例のフローチャートである。
ステップS11において、操作部3はスナップショット作成起動選択部60による電源オンからの起動処理の選択がスナップショット作成起動であるか、スナップショット起動であるか、を確認する。電源オンからの起動処理の選択がスナップショット作成起動であれば、操作部3はステップS13のスナップショット作成起動を行う。また、電源オンからの起動処理の選択がスナップショット作成起動でなければ、操作部3はステップS14のスナップショット起動を行う。
ステップS13のスナップショット作成起動は、例えば図4に示すような手順により行われる。図4は、ステップS13のスナップショット作成起動の一例のフローチャートである。
ステップS21においてブートローダ50が起動される。ブートローダ50の起動動作制御部72はスナップショット作成起動の起動動作を開始する。ステップS22において起動動作制御部72はOS52のカーネル74をロードし、起動する。カーネル74はOS52を起動する。また、ステップS23に進み、カーネル74はアプリ起動部54を起動する。
ステップS24に進み、アプリ起動部54は設定ファイルに従い、スナップショットマネージャ58を起動する。アプリ起動部54はステップS25に進み、設定ファイルに従い、アプリケーション56に起動処理を開始させる。ステップS25のアプリケーション56の起動処理により、スナップショットマネージャ58のスナップショット作成指示部92は全てのアプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングで、カーネル74にスナップショット作成指示を行う。したがって、カーネル74のスナップショット作成部82は、ステップS26において全てのアプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングで、スナップショットを作成できる。
ステップS25のアプリケーション56の起動処理は、例えば図5に示す手順により行われる。図5は、ステップS25のアプリケーションの起動処理の一例のフローチャートである。
ステップS31に進み、起動処理部86は起動処理を開始する。起動処理部86は起動処理をスナップショット作成時点まで進め、起動処理を停止する。起動処理部86による起動処理がスナップショット作成時点まで進むと、スナップショット作成時点通過通知部88はスナップショットマネージャ58にスナップショット作成時点通過通知を行う。
スナップショットマネージャ58のスナップショット作成指示部92はステップS33において、全てのアプリケーション56からスナップショット作成時点通過通知を受け付けるまで待機する。全てのアプリケーション56からスナップショット作成時点通過通知を受け付けると、スナップショット作成指示部92はステップS34に進み、カーネル74にスナップショット作成指示を行う。
スナップショット作成部82はスナップショットマネージャ58からスナップショット作成指示を受け付けたタイミングで、スナップショットの作成を行う。したがって、本実施形態の操作部3は、全てのアプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングのスナップショットを安定して作成できる。
ところで、本実施形態に係る画像処理装置1では、スナップショット作成起動時、余計なデバイスドライバの処理を排除しておくことが望ましい。本実施形態に係る画像処理装置1では、スナップショット起動時に実際の環境に合わせてデバイスを有効にする方法が整合した起動状態となりやすい為である。
そこで、本実施形態に係る画像処理装置1では、画像処理装置1のデバイス構成及びデバイスドライバ構成により、スナップショット作成起動時の状態が、画像処理装置1のデバイスの起動状態に依存しないようにデバイスドライバごとに検討を行った。本実施形態に係る画像処理装置1ではステップS21のブートローダ起動に含まれるデバイス処理の動作を、スナップショット作成起動時とスナップショット起動時とで以下のように変化させる。
また、本実施形態に係る画像処理装置1ではステップS22のOS起動に含まれるデバイスドライバ処理の動作を、スナップショット作成起動時とスナップショット起動時とで以下のように変化させる。
図6はステップS21のブートローダ起動の一例のフローチャートである。例えば図6のフローチャートは、スナップショット作成起動時、ハブ(HUB)のPHYチップの電源をオンしないで、USB機器が繋がっていても物理的に認識しないようにする。PHYチップの電源をオンしないことで、USBホストドライバ自体は初期化された状態にすることができる。また、スナップショット起動時、ハブのPHYチップの電源をオンにすることで、USB機器の接続が検知される状態にすることができる。
ステップS51に進み、ブートローダ50の起動動作制御部72はメモリ18やCPU22の初期化を行う。ステップS52に進み、起動動作制御部72は後述の各デバイス処理を行う。ステップS53に進み、ブートローダ50はOS起動処理を開始する。
ステップS52の各デバイス処理では、起動動作制御部72がUSBホストを含む、いろいろなデバイスの初期化を行う。USBホストの初期化では、ステップS56においてスナップショット作成起動であるか否かを判定し、スナップショット作成起動であれば、ハブのPHYチップの電源をオンしないことによりUSB機器を物理的に認識させないようにする。
スナップショット作成起動でなければステップS57に進み、起動動作制御部72はハブのPHYチップの電源をオンすることにより、USB機器の接続が検知される状態とすることができる。USBホストのハブのPHYチップの電源制御は単純な電源の入り切りのため、ブートローダ50で処理する。
図7はステップS22のOS起動の一例のフローチャートである。例えば図7のフローチャートは、スナップショット作成起動時、無線LANモジュールに電源供給しないことでデバイスドライバが有効にならないようにする。また、スナップショット起動時、無線LANモジュールに電源供給することでデバイスドライバが有効になるようにする。
ステップS61に進み、カーネル74はOS52の初期化を行う。ステップS62に進み、カーネル74は後述の各デバイスドライバ処理を行う。ステップS63に進み、カーネル74は初期プロセス起動を開始する。
ステップS62の各デバイスドライバ処理では、カーネル74が無線LANドライバ及びタッチパネルドライバを含む、いろいろなデバイスドライバの初期化を行う。無線LANドライバの初期化では、ステップS67においてスナップショット作成起動であるか否かを判定し、スナップショット作成起動であれば、無線LANモジュールに電源供給しないことにより無線LANドライバが有効にならないようにする。
スナップショット作成起動でなければステップS68に進み、カーネル74は無線LANモジュールに電源供給することで無線LANモジュールが検知される状態となり、デバイスドライバが初期化され、有効となる。
また、図7のフローチャートは、スナップショット作成起動時、タッチパネル12の入力検知を無効化して起動する。また、スナップショット起動時、タッチパネル12の入力検知を有効化して起動する。ステップS62のタッチパネルドライバの初期化は例えば図8に示すフローチャートのように行われる。
図8は、ステップS62のタッチパネルドライバの初期化の一例のフローチャートである。ステップS71においてカーネル74は、タッチパネル12及びタッチパネルドライバを初期化する。タッチパネルドライバの初期化では、ステップS72においてスナップショット作成起動であるか否かを判定する。スナップショット作成起動であれば、タッチパネル12の入力検知を無効化して起動する。スナップショット作成起動でなければ、ステップS73に進み、カーネル74はタッチパネル12の入力検知(割り込み)を有効化する。図7に示した無線LANドライバの初期化及び図8に示したタッチパネルドライバの初期化はカーネル74で処理する。
図6に示したブートローダ機能及び図7に示したOS起動によれば、画像処理装置1に固有な各デバイス処理及び各デバイスドライバ処理を行うことで、スナップショット作成時に余計な処理を行うことなく、構成に中立なスナップショットを作成できる。例えば画像処理装置1は、追加オプションによりUSB機器の指紋認証デバイスが繋がるケースがある。
このような場合、本実施形態に係る画像処理装置1では、スナップショット作成起動で指紋認証デバイスが有効にならず、その指紋認証デバイスのデバイスドライバを有効にしない状態でスナップショットを作成できる。つまり、本実施形態に係る画像処理装置1ではデバイスドライバによるメモリ専有などの副作用のない状態で、スナップショットを作成できる。また、本実施形態に係る画像処理装置1ではスナップショット起動で指紋認証デバイスが有効になり、指紋認証デバイスの接続が検知される状態となるため、後述のドライバ環境対応及び継続起動により、指紋認証デバイスを動作させることができる。
ステップS14のスナップショット起動は、例えば図9の手順により行われる。図9はステップS14のスナップショット起動の一例のフローチャートである。
ステップS81においてブートローダ50が起動される。ブートローダ50の起動動作制御部72はスナップショット起動の起動動作を開始する。ステップS82において起動動作制御部72はOS52のカーネル74をロードし、起動する。カーネル74はOS52を起動する。
ステップS83に進み、カーネル74のスナップショット起動動作制御部84はeMMC14に記憶されているスナップショットをメモリ18に展開し、ハイバネーション起動を行う。つまり、メモリ18には、アプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングのメモリ18が再現される。
ステップS84に進み、スナップショット起動動作制御部84は画像処理装置1の環境に依存する機能の整合をドライバ環境対応で行う。スナップショット起動動作制御部84はステップS85に進み、スナップショット作成時点以降のアプリケーション56の起動処理である継続起動を行う。
ステップS85の継続処理は、例えば図10に示す手順により行われる。図10は、ステップS85の継続処理の一例のフローチャートである。スナップショットマネージャ58のスナップショット起動開始指示部94は、ステップS91でスナップショット起動が開始されたと判定すると、ステップS92に進む。
ステップS92において、スナップショット起動開始指示部94はアプリケーション56にスナップショット起動開始指示を行う。アプリケーション56のスナップショット起動開始指示受付部90はステップS93において、スナップショットマネージャ58からのスナップショット起動開始指示を待っている。
スナップショットマネージャ58からのスナップショット起動開始指示を受け付けるとアプリケーション56の起動処理部86は、ステップS94に進み、スナップショット作成時点以降の起動処理である継続起動を行う。
<まとめ>
本実施形態によれば、固定のスナップショットによるハイバネーション起動を行う画像処理装置1の操作部3において、周辺機器の有無や有効無効などの環境の変化に影響を受けないようにスナップショットを作成しておくことができる。ハイバネーション起動では固定のスナップショットをメモリ18に展開した後、環境に依存する機能の整合をドライバ環境対応で行ったあと、残りの起動処理である継続起動を行うことができる。
したがって、本実施形態によれば、固定のスナップショットによるハイバネーション起動であっても、環境の変化に柔軟に対応できる操作部3を提供できる。
[第2の実施形態]
第1の実施形態に係る画像処理装置1では、工場出荷前にスナップショット作成起動を行って、工場出荷後、通常の電源オンからの起動でスナップショット起動を行う例を説明した。スナップショット作成起動は工場出荷後に行ってもよく、アプリケーション56の追加や周辺機器の追加などの環境の変化があった場合に、ユーザがスナップショット作成起動を選択できるようにしてもよい。
また、スナップショット作成後に操作部3に追加された(インストールされた)追加アプリケーションの起動処理は、ステップS85の継続起動において、起動処理の開始から終了までを行うようにすることで、追加アプリケーションが追加される前に作成済みのスナップショットを継続して利用するようにしてもよい。
[第3の実施形態]
図10に示したスナップショット作成時点以降のアプリケーション56の起動処理である継続起動では、アプリケーション56が複数ある場合、スナップショット起動開始指示を行う順番を以下のように設定しておいてもよい。なお、第3の実施形態は一部を除いて第1の実施形態と同様であるため、適宜説明を省略する。第3の実施形態は、第1の実施形態と同様に、画像処理装置1の操作部3がハイバネーション起動を行う。
図11は本実施形態に係る操作部の他の例の機能構成図である。図11の操作部3は図2の操作部3に、優先度記憶部64、優先度取得部93及び優先度変更部95が追加された構成である。
アプリケーション56のスナップショット作成時点通過通知部88は起動処理がスナップショット作成時点まで進んだタイミングで、スナップショットマネージャ58に自身の優先度の通知を行う。なお、スナップショット作成時点通過通知部88は、設計時に各アプリケーション56の間で依存性などを解決できるように整合が取られた優先度を持っている。
スナップショットマネージャ58は、図2のスナップショットマネージャ58の構成に優先度取得部93及び優先度変更部95を追加した構成である。優先度取得部93はアプリケーション56から優先度の通知を受ける。通知された優先度はアプリケーション56と対応付けて優先度記憶部64に記憶される。スナップショット作成指示部92は全てのアプリケーション56から優先度の通知を受け付けると、カーネル74にスナップショット作成指示を行う。
スナップショット起動開始指示部94は、スナップショット起動である場合に、アプリケーション56の優先度に従った順番にスナップショット起動開始指示を行う。優先度変更部95はアプリケーション56を介してユーザから優先度の変更依頼を受け付け、優先度記憶部64に記憶されたアプリケーション56の優先度を変更する。
図12はステップS25のアプリケーションの起動処理の他の例のフローチャートである。ステップS101において「アプリケーションA」の起動処理部86は起動処理を開始する。起動処理部86は起動処理をスナップショット作成時点まで進め、起動処理を停止する。起動処理部86による起動処理がスナップショット作成時点まで進むと「アプリケーションA」のスナップショット作成時点通過通知部88はステップS102において自身の優先度「2」をスナップショットマネージャ58に通知する。
また、ステップS103において「アプリケーションB」の起動処理部86は起動処理を開始する。起動処理部86は起動処理をスナップショット作成時点まで進め、起動処理を停止する。起動処理部86による起動処理がスナップショット作成時点まで進むと「アプリケーションB」のスナップショット作成時点通過通知部88はステップS104において自身の優先度「1」をスナップショットマネージャ58に通知する。
ステップS105において、スナップショットマネージャ58の優先度取得部93はアプリケーション56からの優先度の通知を受け付けるまで待機する。アプリケーション56から優先度の通知を受け付けると、優先度取得部93はステップS106に進み、通知された優先度を優先度記憶部64の優先度キューへ挿入する。
ステップS105〜S107の処理は、全てのアプリケーション56から優先度の通知を受け付けるまで繰り返される。全てのアプリケーション56から優先度の通知を受け付けると、スナップショット作成指示部92はステップS108に進み、カーネル74にスナップショット作成指示を行う。
図13は優先度キューの一例の構成図である。優先度キューはアプリケーション56の優先度を表している。例えば図13(a)の優先度キューは優先度毎にアプリケーション数を記憶したデータである。優先度の数値が低いアプリケーション56ほど、優先的に起動される。図13(b)の優先度キューはアプリケーション56を特定するアプリ名やアプリIDなどの情報(アプリ特定情報)と、そのアプリケーション56の優先順位とを対応付けてアプリケーション56の優先度を記憶したデータである。
また、図13(c)の優先度キューはアプリケーション56ごとの起動条件によりアプリケーション56の優先度を記憶したデータである。図13(c)の優先度キューの場合は、起動条件が設定されていないアプリケーション56の優先度が高く、起動条件が設定されているアプリケーション56の優先度が低い。したがって、図13(c)の場合は起動条件が設定されていないアプリケーション56を起動した後、起動条件が設定されているアプリケーション56を起動させる。
図14は、eMMCに記憶されるスナップショットイメージ及び優先度キューの一例の構成図である。スナップショットイメージには、スナップショット作成部82がスナップショットの作成を行ったとき、メモリ18に展開されたアプリケーション56やスナップショットマネージャ58が含まれている。
一方、図13に示した優先度キューはスナップショットイメージに含まれず、eMMC14のスナップショットイメージと別のパーティションに保存される。スナップショット起動時、eMMC14のスナップショットイメージは、アプリケーション56やスナップショットマネージャ58としてメモリ18に展開される。スナップショットイメージがメモリ18に展開された段階ではメモリ18に優先度キューが展開されていなくてもよい。
図15はステップS85の継続処理の他の例のフローチャートである。図15の継続処理においてスナップショットマネージャ58のスナップショット起動開始指示部94はeMMC14から優先度キューを読み出し、メモリ18に展開する。ステップS121〜S128において、スナップショット起動開始指示部94は優先度キューに従い、優先度の高いアプリケーション56から順番に起動処理の再開通知を行う。スナップショット起動開始指示部94からの再開通知を受け付けると、アプリケーション56の起動処理部86はスナップショット作成時点以降の起動処理である継続起動を行う。継続起動を完了させたアプリケーション56は完了通知をスナップショットマネージャ58に返す。
スナップショットマネージャ58のスナップショット起動開始指示部94は全てのアプリケーション56から完了通知を受け取るまでステップS121〜S128に示した再開通知の送信と完了通知の受信を繰り返し行う。なお、図15は「アプリケーションB」の優先度が「アプリケーションA」の優先度よりも高い例を表している。このため、スナップショット起動開始指示部94は「アプリケーションA」よりも先に「アプリケーションB」へ再開通知を行っている。
なお、優先度が同じアプリケーション56が複数ある場合、スナップショット起動開始指示部94は複数のアプリケーション56に対して同時に再開通知を送信し、並列して継続起動を行わせてもよい。また、CPU22の負荷を軽減するために、並列して継続起動を行わせるアプリケーション56の数を制限したり、ランダム又は所定の条件(継続起動に要する時間や必要なメモリ容量など)に基づいて、再開通知に時間差を設けたり、してもよい。
図16は、優先度変更処理の一例のフローチャートである。ステップS131〜S132において、スナップショットマネージャ58の優先度変更部95はユーザから「アプリケーションA」の優先度を「1」に変更する変更依頼を受け付ける。ステップS133において優先度変更部95は「アプリケーションA」の優先度を「1」に変更する変更依頼に基づき、優先度記憶部64に記憶されている優先度キューの「アプリケーションA」の優先度を「1」に変更する。これにより、スナップショット起動開始指示部94は変更された優先度キューに従い、起動処理の再開通知を行うことができる。
第3の実施形態によれば、固定のスナップショットによるハイバネーション起動において起動する順番に依存性のあるアプリケーション56の継続起動の順番を、それぞれのアプリケーション56の優先度により調整できる。また、第3の実施形態によれば、固定のスナップショットによるハイバネーション起動において特定のアプリケーション56の継続起動を優先できるので、ユーザの体感起動の短縮を見込むことのできる例えばホーム画面を制御するアプリケーション56などを優先させて起動できる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば画像処理装置1は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもないことである。
スナップショット作成起動選択部60は、特許請求の範囲に記載した選択手段の一例である。ブートローダ50、OS52及びアプリ起動部54は、起動手段の一例である。スナップショットマネージャ58のスナップショット作成指示部92は作成指示手段の一例である。カーネル74のスナップショット作成部82は作成手段の一例である。
スナップショット記憶部62は記憶手段の一例である。スナップショットマネージャ58のスナップショット起動開始指示部94は開始指示手段の一例である。優先度取得部93は優先度取得手段の一例である。優先度変更部95は優先度変更手段の一例である。
1 画像処理装置
2 本体部
3 操作部
4 ケーブル
10 SOC(System-on-a-chip)
12 タッチパネル
14 eMMC(embedded Multi Media Card)
16 LCD(Liquid Crystal Display)
18 メモリ
20 USB(Universal Serial Bus)ファンクション
22 CPU(Central Processing Unit)
24 MMCコントローラ
26 LCDコントローラ
28 GPIO(General Purpose Input/Output)
30 I2C(Inter-Integrated Circuit)
32 メモリコントローラ
50 ブートローダ
52 OS
54 アプリ起動部
56 アプリケーション
58 スナップショットマネージャ
60 スナップショット作成起動選択部
62 スナップショット記憶部
64 優先度記憶部
70 スナップショット作成起動判断部
72 起動動作制御部
74 カーネル
76 スナップショット作成起動判断部
78 スナップショット作成起動動作制御部
80 スナップショット作成指示受付部
82 スナップショット作成部
84 スナップショット起動動作制御部
86 起動処理部
88 スナップショット作成時点通過通知部
90 スナップショット起動開始指示受付部
92 スナップショット作成指示部
93 優先度取得部
94 スナップショット起動開始指示部
95 優先度変更部
特開2017−102584号公報

Claims (9)

  1. ハイバネーション起動を行う情報処理装置であって、
    スナップショット作成起動又はスナップショット起動を選択する選択手段と、
    前記スナップショット作成起動の選択時に1つ以上のアプリケーションの起動処理を開始させる起動手段と、
    前記起動処理におけるスナップショットの作成時点が設定されており、前記作成時点まで起動処理を進めたあとで通知を行う1つ以上のアプリケーションと、
    前記アプリケーションの全てから前記通知を受け取ったあと、スナップショットの作成指示を行う作成指示手段と、
    前記作成指示に基づき、スナップショットを作成する作成手段と、
    前記スナップショットを記憶する記憶手段と、
    前記スナップショット起動の選択時に前記記憶手段が記憶する前記スナップショットを読み出し、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させる開始指示手段と、
    を有する情報処理装置。
  2. 前記スナップショット作成起動の選択時に1つ以上のアプリケーションの優先度を取得する優先度取得手段、を更に有し、
    前記開始指示手段は、前記優先度取得手段が前記スナップショット作成起動の選択時に取得した1つ以上のアプリケーションの優先度に基づいた順番で、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させること
    を特徴とする請求項1記載の情報処理装置。
  3. 前記優先度取得手段が前記スナップショット作成起動の選択時に取得した1つ以上のアプリケーションの優先度を、ユーザから受け付けた変更依頼に基づき変更する優先度変更手段、を更に有すること
    を特徴とする請求項2記載の情報処理装置。
  4. 前記起動手段は、ブートローダを含み、
    前記ブートローダは、ブート処理時にデバイス処理の対象となる1つ以上のデバイスのうち、予め設定されたデバイスについて、前記スナップショット作成起動の選択時、前記デバイスを認識しないように制御を行い、前記スナップショット起動の選択時、前記デバイスを認識するように制御を行うこと、を特徴とする請求項1乃至3何れか一項記載の情報処理装置。
  5. 前記起動手段は、オペレーティングシステムを含み、
    前記オペレーティングシステムは、オペレーティングシステムの起動処理時にデバイスドライバ処理の対象となる1つ以上のデバイスドライバのうち、予め設定されたデバイスドライバについて、前記スナップショット作成起動の選択時、前記デバイスドライバを有効にしないように制御を行い、前記スナップショット起動の選択時、前記デバイスドライバを有効にするように制御を行うこと、を特徴とする請求項1乃至4何れか一項記載の情報処理装置。
  6. 前記オペレーティングシステムは、オペレーティングシステムの起動処理時にデバイスドライバ処理の対象となる1つ以上のデバイスドライバのうち、予め設定されたデバイスドライバについて、前記スナップショット作成起動の選択時、前記デバイスドライバの機能の少なくとも1つを有効にしないように制御を行い、前記スナップショット起動の選択時、前記デバイスドライバの機能の全てを有効にするように制御を行うこと、を特徴とする請求項5記載の情報処理装置。
  7. 前記スナップショット作成起動の選択時に前記情報処理装置にインストールされていなかった追加アプリケーションは、前記スナップショット起動の選択時、前記起動処理の開始指示の後で、前記起動処理を実行すること
    を特徴とする請求項1乃至6何れか一項記載の情報処理装置。
  8. 前記情報処理装置は、画像処理装置の操作部として機能すること
    を特徴とする請求項1乃至7何れか一項記載の情報処理装置。
  9. ハイバネーション起動を行う情報処理装置の起動方法であって、
    スナップショット作成起動又はスナップショット起動を選択するステップと、
    前記スナップショット作成起動の選択時に1つ以上のアプリケーションの起動処理を開始させるステップと、
    前記起動処理におけるスナップショットの作成時点が設定されている1つ以上のアプリケーションが、前記作成時点まで起動処理を進めたあとで通知を行うステップと、
    前記アプリケーションの全てから前記通知を受け取ったあと、スナップショットの作成指示を行うステップと、
    前記作成指示に基づき、スナップショットを作成する作成ステップと、
    前記スナップショットを記憶手段に記憶するステップと、
    前記スナップショット起動の選択時に前記記憶手段が記憶する前記スナップショットを読み出し、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させるステップと、
    を有する起動方法。
JP2018142987A 2018-03-30 2018-07-30 情報処理装置及び起動方法 Active JP7107069B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/366,249 US10838740B2 (en) 2018-03-30 2019-03-27 Information processing apparatus and startup method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018068494 2018-03-30
JP2018068494 2018-03-30

Publications (2)

Publication Number Publication Date
JP2019185717A true JP2019185717A (ja) 2019-10-24
JP7107069B2 JP7107069B2 (ja) 2022-07-27

Family

ID=68341528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018142987A Active JP7107069B2 (ja) 2018-03-30 2018-07-30 情報処理装置及び起動方法

Country Status (1)

Country Link
JP (1) JP7107069B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360191A (zh) * 2020-03-03 2021-09-07 杭州海康威视数字技术股份有限公司 网络交换芯片的驱动装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038546A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 起動制御方法、起動制御装置、画像処理装置
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式
WO2006001050A1 (ja) * 2004-06-24 2006-01-05 Fujitsu Limited コンピュータ起動方法、プログラム、記憶媒体及び情報処理装置
US20130124842A1 (en) * 2011-11-15 2013-05-16 Samsung Electronics Co., Ltd. Image forming apparatus and method of booting image forming apparatus having hibernation function
JP2014178913A (ja) * 2013-03-15 2014-09-25 Sony Corp 電子機器、スナップショットイメージの作成方法及びプログラム
JP2017162311A (ja) * 2016-03-10 2017-09-14 富士通株式会社 スマート装置、優先処理方法及び優先処理プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038546A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 起動制御方法、起動制御装置、画像処理装置
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式
WO2006001050A1 (ja) * 2004-06-24 2006-01-05 Fujitsu Limited コンピュータ起動方法、プログラム、記憶媒体及び情報処理装置
US20130124842A1 (en) * 2011-11-15 2013-05-16 Samsung Electronics Co., Ltd. Image forming apparatus and method of booting image forming apparatus having hibernation function
JP2014178913A (ja) * 2013-03-15 2014-09-25 Sony Corp 電子機器、スナップショットイメージの作成方法及びプログラム
JP2017162311A (ja) * 2016-03-10 2017-09-14 富士通株式会社 スマート装置、優先処理方法及び優先処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360191A (zh) * 2020-03-03 2021-09-07 杭州海康威视数字技术股份有限公司 网络交换芯片的驱动装置

Also Published As

Publication number Publication date
JP7107069B2 (ja) 2022-07-27

Similar Documents

Publication Publication Date Title
US11307633B2 (en) Information processing apparatus, control method thereof, and storage medium
US11561599B2 (en) Information processing apparatus control method therefor and storage medium
EP2799952B1 (en) Information processing system, information processing apparatus and start up control method
JP6873811B2 (ja) 情報処理装置
US20160248929A1 (en) Information processing apparatus, method for controlling information processing apparatus, and recording medium
CN101105755A (zh) 支持多操作系统的便携式设备及其支持方法
US20130321851A1 (en) Information processing apparatus, control method for information processing apparatus, and program
JP2006277472A (ja) 情報処理装置
JP2009524126A (ja) モバイル計算装置及びそのデータパケッジ受け取り方法
US10838740B2 (en) Information processing apparatus and startup method
JP2015036916A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2019185717A (ja) 情報処理装置及び起動方法
US9742945B2 (en) Image forming apparatus to store activation application specifying information that specifies an application to be activated on the operating system of the operation unit in response to the image forming apparatus entering a given state, image forming system, and image forming method
US10033895B2 (en) Printing apparatus having plurality of power states and control method therefor
US20140245428A1 (en) Computer and control method thereof
KR101624178B1 (ko) 핫키를 이용하여 운영체제 전환이 가능한 휴대용 컴퓨터 시스템 및 그 방법
US9883067B2 (en) Memory reset control apparatus, method for controlling the control apparatus, and storage medium
JP5524148B2 (ja) コンピュータ装置
JP6842641B2 (ja) 画像形成装置
CN112083964B (zh) 作业系统布署方法
CN114385249A (zh) 使用交换文件的信息处理装置、其控制方法、以及存储介质
JP6758995B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
WO2021141606A1 (en) Change of firmware settings
US9924059B2 (en) Apparatus having power-saving function, method of processing information, and computer program product
US11977801B2 (en) Image processing apparatus, control method, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220513

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220627

R151 Written notification of patent or utility model registration

Ref document number: 7107069

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151