(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024165653
(43)【公開日】2024-11-28
(54)【発明の名称】情報処理装置、画像形成装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
G06F 3/06 20060101AFI20241121BHJP
G06F 13/10 20060101ALI20241121BHJP
B41J 29/38 20060101ALI20241121BHJP
【FI】
G06F3/06 301M
G06F3/06 306Z
G06F13/10 330C
B41J29/38 501
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023082017
(22)【出願日】2023-05-18
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】小池 和正
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP07
2C061AQ06
2C061BB19
2C061HH03
2C061HH13
2C061HJ08
2C061HJ10
2C061HK02
2C061HK11
2C061KK07
(57)【要約】
【課題】データを書き込む複数のストレージを切り替え可能な場合に、最新ファイルを保持しているストレージを判別可能にすることで、データの整合性を維持する。
【解決手段】情報処理装置は、第1及び第2ストレージをそれぞれ含む第1装置と第2装置と有する。第1装置は、アプリケーションからアクセス依頼を受けたとき、アクセスストレージ情報を第1装置及び第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照してアクセスするストレージを決定し、ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度のファイルのアクセス依頼である場合、アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して実際のアクセス先にアクセスする。
【選択図】
図4
【特許請求の範囲】
【請求項1】
第1ストレージを含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置と、
第2ストレージを含み、複数の動作モードを有し、前記第1装置との間で情報を相互に送受信可能な第2装置と、を有し、
前記第1ストレージ及び前記第2ストレージに保持される複数種のファイルは、前記第1ストレージ又は前記第2ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度、又は、前記第1ストレージ及び前記第2ストレージの使用状況にかかわらず書き込み先のストレージが変化しない第2重要度に区別され、
前記第1装置は、
前記アプリケーションからアクセス依頼を受けたとき、アクセスする前記第1ストレージ又は前記第2ストレージを示すアクセスストレージ情報を前記第1装置及び前記第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照して、アクセスするストレージを決定し、
決定したストレージが前記第2ストレージの場合、前記第2ストレージへのアクセスを前記第2装置に依頼し、
前記第1装置又は前記第2装置は、
前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼である場合、前記アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して前記実際のアクセス先にアクセスし、
前記アクセス依頼が、前記第2重要度のファイルのアクセス依頼である場合、前記仮のアクセス先にアクセスすること、
を特徴とする情報処理装置。
【請求項2】
前記第1装置の前記複数の動作モードは、前記第1ストレージの残寿命に応じて遷移し、
前記第2装置の前記複数の動作モードは、前記第2ストレージの残寿命に応じて遷移し、
前記複数種のファイルは、前記残寿命の変化により書き込み先が変化する前記第1重要度、又は、前記残寿命の変化によっても書き込み先が変化しない前記第2重要度に区別されること、
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1装置は、前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼であり、前記アクセス先テーブルに保持されたアクセスストレージ情報が前記第1ストレージを示し、かつ、前記仮のアクセス先が前記同期ファイルリストに存在しない場合、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第1ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第1装置は、前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼であり、前記アクセス先テーブルに保持されたアクセスストレージ情報が前記第1ストレージを示し、かつ、前記仮のアクセス先が前記同期ファイルリストに存在しない場合で、前記仮のアクセス先のファイルが前記第2ストレージに存在する場合、前記第2ストレージから前記仮のアクセス先のファイルを前記第1ストレージにコピーし、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第1ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記第1重要度のファイルのアクセス依頼を前記第1装置から受けた前記第2装置は、前記仮のアクセス先が前記同期ファイルリストに存在しない場合、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第2ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記第1重要度のファイルのアクセス依頼を前記第1装置から受けた前記第2装置は、前記仮のアクセス先が前記同期ファイルリストに存在しない場合で、前記仮のアクセス先のファイルが前記第1ストレージに存在する場合、前記第1ストレージから前記仮のアクセス先のファイルを前記第2ストレージにコピーし、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第2ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする請求項5に記載の情報処理装置。
【請求項7】
請求項1ないし請求項6のいずれか1項に記載の情報処理装置と、
前記情報処理装置で処理される画像を形成する画像形成部と、を有すること、
を特徴とする画像形成装置。
【請求項8】
第1ストレージを含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置と、第2ストレージを含み、複数の動作モードを有し、前記第1装置との間で情報を相互に送受信可能な第2装置と、を有する情報処理装置が実施する情報処理方法であって、
前記第1ストレージ及び前記第2ストレージに保持される複数種のファイルは、前記第1ストレージ又は前記第2ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度、又は、前記第1ストレージ及び前記第2ストレージの使用状況にかかわらず書き込み先のストレージが変化しない第2重要度に区別され、
前記第1装置が、
前記アプリケーションからアクセス依頼を受けたとき、アクセスする前記第1ストレージ又は前記第2ストレージを示すアクセスストレージ情報を前記第1装置及び前記第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照して、アクセスするストレージを決定する処理と、
決定したストレージが前記第2ストレージの場合、前記第2ストレージへのアクセスを前記第2装置に依頼する処理とを実施し、
前記第1装置又は前記第2装置が、
前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼である場合、前記アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して前記実際のアクセス先にアクセスする処理と、
前記アクセス依頼が、前記第2重要度のファイルのアクセス依頼である場合、前記仮のアクセス先にアクセスする処理とを実施すること、
を特徴とする情報処理方法。
【請求項9】
第1ストレージを含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置と、第2ストレージを含み、複数の動作モードを有し、前記第1装置との間で情報を相互に送受信可能な第2装置と、を有する情報処理装置が実施する情報処理プログラムであって、
前記第1ストレージ及び前記第2ストレージに保持される複数種のファイルは、前記第1ストレージ又は前記第2ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度、又は、前記第1ストレージ及び前記第2ストレージの使用状況にかかわらず書き込み先のストレージが変化しない第2重要度に区別され、
前記第1装置に、
前記アプリケーションからアクセス依頼を受けたとき、アクセスする前記第1ストレージ又は前記第2ストレージを示すアクセスストレージ情報を前記第1装置及び前記第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照して、アクセスするストレージを決定する処理と、
決定したストレージが前記第2ストレージの場合、前記第2ストレージへのアクセスを前記第2装置に依頼する処理とを実施させ、
前記第1装置又は前記第2装置に、
前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼である場合、前記アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して前記実際のアクセス先にアクセスする処理と、
前記アクセス依頼が、前記第2重要度のファイルのアクセス依頼である場合、前記仮のアクセス先にアクセスする処理とを実施させること、
を特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、画像形成装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
HDD(Hard Disk Drive)及びSSD(Solid State Drive)を併用する情報処理装置において、HDDを使用する必要があるときを除き、HDDをスリープ状態に維持することで、HDDの消費電力を低減する技術が開示されている(例えば、特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0003】
データを書き込むストレージが切り替えられる場合、最新のデータを保持しているストレージが判別できないと、データを読み出すストレージを特定することができず、データの整合性を維持できないおそれがある。また、例えば、ストレージの切り替え時に全データをコピーしてデータの整合性を保つ場合、ストレージのデータ量によっては非常に大きなダウンタイムが発生するという問題がある。
【0004】
開示の技術は、上記の課題に鑑みてなされたものであり、データを書き込む複数のストレージを切り替え可能な場合に、最新ファイルを保持しているストレージを判別可能にすることで、データの整合性を維持することを目的とする。
【課題を解決するための手段】
【0005】
上記技術的課題を解決するため、本発明の一形態の情報処理装置は、第1ストレージを含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置と、第2ストレージを含み、複数の動作モードを有し、前記第1装置との間で情報を相互に送受信可能な第2装置と、を有し、前記第1ストレージ及び前記第2ストレージに保持される複数種のファイルは、前記第1ストレージ又は前記第2ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度、又は、前記第1ストレージ及び前記第2ストレージの使用状況にかかわらず書き込み先のストレージが変化しない第2重要度に区別され、前記第1装置は、前記アプリケーションからアクセス依頼を受けたとき、アクセスする前記第1ストレージ又は前記第2ストレージを示すアクセスストレージ情報を前記第1装置及び前記第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照して、アクセスするストレージを決定し、決定したストレージが前記第2ストレージの場合、前記第2ストレージへのアクセスを前記第2装置に依頼し、前記第1装置又は前記第2装置は、前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼である場合、前記アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して前記実際のアクセス先にアクセスし、前記アクセス依頼が、前記第2重要度のファイルのアクセス依頼である場合、前記仮のアクセス先にアクセスすることを特徴とする。
【発明の効果】
【0006】
データを書き込む複数のストレージを切り替え可能な場合に、最新ファイルを保持しているストレージを判別可能にすることで、データの整合性を維持することができる。
【図面の簡単な説明】
【0007】
【
図1】本発明の一実施形態に係る画像形成装置の一例を示す全体構成図である。
【
図2】
図1の画像形成装置のハードウェア構成の一例を示すブロック図である。
【
図3】
図2の操作部のハードウェア構成の一例を示すブロック図である。
【
図4】
図2のコントローラ及び操作部の機能構成の一例を示す機能ブロック図である。
【
図5】
図2のコントローラ及び操作部の動作状態の組み合わせの例を示す図である。
【
図6】
図2のコントローラ及び操作部の動作状態の遷移の例を示す状態遷移図である。
【
図7】データの重要度毎の動作モードに応じたデータの書き込み先の例を示す図である。
【
図8】
図7の重要度2及び重要度4のデータにおいて、状態遷移に応じた書き込み先の変化の例を示す図である。
【
図9】
図1の画像形成装置の起動時のコントローラ及び操作部の処理の一例を示すフロー図である。
【
図10】アプリがファイルの読み書きを実施するときの操作部の処理の一例を示すフロー図である。
【
図11】重要度2又は重要度4の読み書き処理で使用される同期ファイルリストの一例を示す図である。
【
図12】
図7に示す重要度2のデータのストレージへの書き込みの一例を示すフロー図である。
【
図14】
図7に示す重要度2のデータのストレージからの読み込みの一例を示すフロー図である。
【
図16】
図7に示す重要度4のデータのストレージへの書き込みの一例を示すフロー図である。
【
図18】
図7に示す重要度4のデータのストレージからの読み込みの一例を示すフロー図である。
【発明を実施するための形態】
【0008】
以下、図面を用いて実施形態を説明する。なお、以下では、ストレージがそれぞれ搭載される複数の制御装置を含む画像形成装置に本発明が適用される例が説明されるが、ストレージがそれぞれ搭載される複数の装置を含む情報処理装置に本発明が適用されてもよい。例えば、複数の装置の各々は、CPU等のプロセッサを含むコンピュータ装置でもよく、複数のコンピュータ装置は、情報を相互に送受信可能である。
【0009】
図1は、本発明の一実施形態に係る画像形成装置の一例を示す全体構成図である。
図1に示す画像形成装置1は、例えば、コピー機能、プリント機能、スキャナ機能及びファクシミリ機能等を有するデジタル複合機(MFP:Multi-Function Printer)である。画像形成装置1は、ユーザによるアプリケーションの切り替え操作により、コピー機能、プリント機能、スキャナ機能及びファクシミリ機能をそれぞれ実現する動作モードを相互に切り替えることが可能である。画像形成装置1は、コピー機能の選択時にはコピーモードとなり、プリント機能の選択時にはプリントモードとなり、スキャナ機能の選択時にはスキャナモードとなり、ファクシミリ機能の選択時にはファクシミリモードとなる。
【0010】
例えば、画像形成装置1は、自動原稿送り装置2(ADF:Auto Document Feeder)、画像読み取り装置3、書き込みユニット4、プリンタユニット5、電源装置11、コントローラ100、操作部200及び画像を形成するエンジンである作像部300を有する。プリンタユニット5は、作像部300に含まれる感光体ドラム6、現像装置7、搬送ベルト8及び定着装置9と、給紙トレイ10が収納される収納空間とを有する。
【0011】
作像部300は、画像情報に基づいて紙媒体等に転写するトナー像を作成する。作像部300は、画像を形成する画像形成部の一例である。以下、画像形成装置1での画像の形成の流れの一例として、原稿をコピーする場合について簡単に説明する。
【0012】
原稿をコピーする場合、コピーの対象である複数枚の原稿が自動原稿送り装置2にセットされ、あるいは、コピーの対象である原稿が画像読み取り装置3上にセットされる。操作部200の画面に表示されるスタートボタンが押されると、自動原稿送り装置2は、原稿を1枚ずつ画像読み取り装置3に給送する。画像読み取り装置3は、自動原稿送り装置2から順に送られる原稿の各々又は画像読み取り装置3にセットされた原稿の画像情報を読み取る。画像読み取り装置3により読み取られた画像情報は、例えば、コントローラ100に含まれる画像処理部により処理される。
【0013】
書き込みユニット4は、画像処理部により処理された画像情報を光情報に変換する。感光体ドラム6は、感光体ドラム6に対向する位置に配置される帯電器により一様に帯電された後、書き込みユニット4により変換された光情報を含むレーザ光により露光される。露光により、感光体ドラム6上には静電潜像が形成される。現像装置7は、感光体ドラム6上の静電潜像を現像し、感光体ドラム6上にトナー像を形成する。搬送ベルト8は、トナー像を紙媒体等に転写する。定着装置9は、トナー像を紙媒体等に定着させる。そして、原稿の画像がコピーされた転写紙は、排出部から排出される。
【0014】
操作部200は、ユーザの操作に応じた各種の入力を受け付ける機能と各種情報の表示機能とを有する操作パネルを有する。例えば、操作パネルに表示される情報は、入力を受け付けた操作を示す情報、画像形成装置1の動作状況を示す情報、又は、画像形成装置1の設定状態を示す情報などである。
【0015】
コントローラ100は、内蔵するCPU(Central Processing Unit)等に制御プログラムを実行させることで、プリンタユニット5の制御、通信の制御及び操作部200への入力の制御等、画像形成装置1の全体の動作を制御する。そして、コントローラ100は、画像処理プログラム又は情報処理プログラムを実行することで画像処理又は画像データ等の情報処理を実施し、紙媒体等に転写する画像を形成し、画像データ等の各種記憶装置への書き込みと読み出しとを実施する。
【0016】
電源装置11は、商用電源等の交流電源ACから供給される交流電圧を複数種の直流電圧(例えば、第1直流電圧及び第2直流電圧)に変換する。電源装置11は、変換した第1直流電圧を画像形成装置1のプリンタユニット5等の各種負荷に供給する。例えば、負荷として、各種モータ、感光体ドラム6を帯電させる帯電器及び現像装置7の現像ローラ等がある。電源装置11は、変換した第2直流電圧をコントローラ100及び操作部200に搭載されるCPU、メモリ及びストレージ等の動作電源として供給する。
【0017】
図2は、
図1の画像形成装置1のハードウェア構成の一例を示すブロック図である。例えば、コントローラ100は、制御基板の形態を有してもよい。コントローラ100は、CPU110、ASIC(Application Specific Integrated Circuit)120、DRAM(Dynamic Random Access Memory)130、NVRAM(Non-Volatile Random Access Memory)150、SSD140、HDD160を有する。画像形成装置1は、コンピュータ装置としてのハードウェア構成を有しており、情報処理装置として動作させることができる。
【0018】
また、コントローラ100は、USBメモリ400を接続可能なUSB(Universal Serial Bus)インタフェース170(I/F)及びSDカード500を接続可能なSDカードインタフェース180(I/F)の一方又は両方を有してもよい。USBメモリ400又はSDカード500等の記録媒体には、CPU110が実行可能なプログラムが記録され、DRAM130に転送されてもよい。
【0019】
CPU110は、DRAM130、HDD160、USBインタフェース170、ASIC120及び操作部200に接続される。CPU110は、DRAM130に保持された各種プログラムを実行することで、画像形成装置1の全体を制御する。例えば、CPU110は、画像の形成処理、通信処理又は操作部200に対する情報の入出力等を制御する。
【0020】
CPU110が実行する各種プログラムは、HDD160からDRAM130に展開されてもよい。各種プログラムは、OS(Operating System)を含む。HDD160は、画像処理が実施される画像データを一時的に保持するために使用されてもよい。
【0021】
ASIC120は、CPU110、SSD140、SDカードインタフェース180、NVRAM150及び作像部300に接続される。ASIC120は、作像部300の動作を制御し、画像処理を行う画像データ等をSSD140に書き込んでもよい。NVRAM150には、ASIC120が作像部300を制御するときに使用する各種パラメータが記憶されてもよい。
【0022】
操作部200は、図示しないCPUを有し、操作パネルのGUI(Graphical User Interface)の制御、画像形成装置1の動作モードの制御等を実施する。操作部200は、ユーザの操作を受け付け、ユーザに情報を示すGUIとしての動作が主であり、快適な操作性が優先されるため、HDDに比べて読み書きの速度が高いeMMC(Embedded Multi Media Card)201が搭載される。
【0023】
コントローラ100及び操作部200は、それぞれ異なるOSにより動作する。操作部200とコントローラ100とは、例えば、USBなどのシリアルインタフェースにより接続されてもよい。また、操作部200とコントローラ100との間の通信は、TCP/IP(Transmission Control Protocol/Internet Protocol)が使用されてもよい。
【0024】
操作部200は、各種データをコントローラ100に通知することで、HDD160にデータを書き込ませることができる。コントローラ100及び操作部200を独立かつ協働して動作させることで、後述するように、操作部200のeMMC201及びコントローラ100のHDD160のそれぞれの残寿命を考慮したデータの書き込みを制御することができる。
【0025】
なお、
図2に示すように、コントローラ100及び操作部200で使用するストレージは、HDD及びeMMCだけではなく、SSD140、USBメモリ400、SDカード500等でもよい。ただし、作像部300に接続されるコントローラ100は、画像処理を実施する印刷データ等を保存するために、容量が比較的大きく、対故障性を有するHDD160等のストレージが使用されることが好ましい。コントローラ100は、HDD160等のストレージからS.M.A.R.T情報を取得することで各ストレージの状態を把握することができる。操作部200は、eMMC201からS.M.A.R.T情報を取得することでeMMC201の状態を把握することができる。
【0026】
以下では、操作部200のeMMC201及びコントローラ100のHDD160に対するデータの読み書きと、eMMC201及びHDD160間でのデータの同期についてが説明される。しかしながら、SSD140、USBメモリ400、SDカード500等の他の各種ストレージに対する読み書きについても、eMMC201及びHDD160と同様に適用可能である。例えば、操作部200は、eMMC201の代わりにSSDを有してもよい。
【0027】
なお、データは、ファイルとしてeMMC201及びHDD160にそれぞれ読み書きされる。このため、以下では、データをファイルと称する場合がある。以下では、特に断らない限り、データとファイルは同じ意味を示す。
【0028】
図3は、
図2の操作部200のハードウェア構成の一例を示すブロック図である。操作部200は、PC(Personal Computer)又はサーバ等のコンピュータ装置と同様のハードウェア構成を有する。操作部200は、eMMC201、CPU202、ROM(Read Only Memory)203、RAM204、操作パネル205、ネットワークインタフェース206、外部機器接続インタフェース207、I/Oインタフェース208及びメディアインタフェース209を有する。eMMC201、CPU202、ROM203、RAM204、操作パネル205、ネットワークインタフェース206、外部機器接続インタフェース207、I/Oインタフェース208及びメディアインタフェース209は、バスBUSを介して相互に接続される。
【0029】
eMMC201は、操作パネル205の操作ログ及び各種データ等を記憶する。CPU202は、操作部200全体の動作を制御する。ROM203は、操作部200の電源の起動時又はリセット時にCPU202により実行されるブートローダ等を保持する。RAM204は、CPU202のワークエリアとして使用される。操作パネル205は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示可能であり、上述したように、ユーザの操作に応じた各種の入力を受け付け、ユーザに対して各種情報を表示する。
【0030】
ネットワークインタフェース206は、インタネット等のネットワークNWに接続され、画像形成装置1の外部との通信を可能にする。CPU202が実行する各種プログラムは、ネットワークインタフェース206を介してネットワークNWからダウンロードされてもよい。外部機器接続インタフェース207は、コネクタCNを介して各種の外部機器を接続可能である。
【0031】
I/Oインタフェース208は、例えば、DVD(Digital Versatile Disc)等のディスク600を装着可能であり、装着されたディスク600に対する各種データの読み出し又は書き込みを制御する。メディアインタフェース209は、フラッシュメモリ等の記録メディア700を装着可能であり、装着された記録メディア700に対する各種データの読み出し又は書き込みを制御する。
【0032】
図4は、
図2のコントローラ100及び操作部200の機能構成の一例を示す機能ブロック図である。コントローラ100は、例えば、CPU110が実行するストレージ制御プログラムにより実現される書き込み制御モジュール101及び抽象化モジュール102を有する。なお、書き込み制御モジュール101及び抽象化モジュール102は、FPGA(Field-Programmable Gate Array)等のハードウェアにより実現されてもよい。
【0033】
操作部200は、例えば、CPU202が実行するストレージ制御プログラムにより実現されるアプリケーションであるアプリ210、監視モジュール211及び抽象化モジュール212を有する。なお、監視モジュール211及び抽象化モジュール212は、FPGA等のハードウェアにより実現されてもよい。
【0034】
操作部200は、eMMC201を含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置の一例である。コントローラ100は、HDD160を含み、複数の動作モードを有し、操作部200との間で情報を相互に送受信可能な第2装置の一例である。
【0035】
監視モジュール211は、eMMC201から取得するS.M.A.R.T情報等に基づいて、eMMC201の状態を検出し、操作部200の動作モード(通常モード又はセーフティモードSM)を抽象化モジュール212に通知する。eMMC201は、第1ストレージの一例である。操作部200の動作モードについては、
図5から
図7で説明される。
【0036】
抽象化モジュール212は、監視モジュール211から受信した動作モードをコントローラ100の抽象化モジュール102に通知し、抽象化モジュール102からコントローラ100の動作モードを受信する。
【0037】
書き込み制御モジュール101は、HDD160から取得するS.M.A.R.T情報等に基づいて、HDD160の状態を検出し、コントローラ100の動作モード(通常モード、セーフティモードSM1又はSM2)を抽象化モジュール102に通知する。HDD160は、第2ストレージの一例である。コントローラ100の動作モードについては、
図5から
図7で説明される。
【0038】
抽象化モジュール102は、書き込み制御モジュール101から受信した動作モードを操作部200の抽象化モジュール212に通知し、抽象化モジュール212から操作部200の動作モードを受信する。
【0039】
抽象化モジュール102、212は、アプリ210により読み書き先と重要度とが指定されたデータ(ファイル)の読み書き先のストレージ(HDD160又はeMMC201)を、動作モードに応じて実際に読み書きするストレージに切り替える。すなわち、抽象化モジュール102、212は、互いに同期して動作し、コントローラ100及び操作部200の動作モードに応じて、アプリ210により指定されるデータの読み書き先を抽象化する。これにより、動作モードの変化によりデータの読み書き先が切り替わった場合にも、コントローラ100と操作部200間でのデータの整合性を維持することができる。
【0040】
アプリ210からデータの読み書きが依頼されたときの抽象化モジュール102、212の連携によるストレージの読み書きの処理例については、
図10から
図19で説明される。例えば、ファイルをHDD160又はeMMC201へ書き込む処理の例については、
図12から
図15に示される。ファイルをHDD160又はeMMC201から読み込む処理の例については、
図16から
図19に示される。
【0041】
図5は、
図2のコントローラ100及び操作部200の動作状態の組み合わせの例を示す図である。例えば、
図5に示すコントローラ100の残寿命は、HDD160へのファイルの残りの書き込み回数に対応する。例えば、HDD160の残寿命は、HDD160への残りの書き込み回数である。HDD160の残寿命は、ファイルの書き込み回数に基づいて判定され、書き込み回数が多いほど少なくなる。
【0042】
一方、例えば、操作部200の残寿命は、eMMC201へのファイルの残りの消去回数に対応する。以下では、eMMC201の残寿命は、eMMC201への残りの消去回数であるとする。eMMC201の残寿命は、ファイルの消去回数に基づいて判定され、消去回数が多いほど少なくなる。
【0043】
コントローラ100は、通常モードとセーフティモードSM1、SM2とを有する。通常モードは、HDD160の残寿命が閾値1以上のときに設定される。セーフティモードSM1は、HDD160の残寿命が閾値1より小さく閾値2以上のときに設定される。ここで、閾値1及び閾値2は、HDD160の残りの書き込み回数に対応し、閾値2は閾値1より小さい。セーフティモードSM2は、HDD160の残寿命が閾値2より小さいときに設定される。
【0044】
操作部200は、通常モードとセーフティモードSMとを有する。通常モードは、eMMC201の残寿命が閾値以上のときに設定される。セーフティモードSMは、eMMC201の残寿命が閾値より小さいときに設定される。
【0045】
動作状態1は、コントローラ100及び操作部200の両方が通常モードのときの状態である。動作状態2は、コントローラ100が通常モードで、操作部200がセーフティモードSMのときの状態である。動作状態3は、コントローラ100がセーフティモードSM1で、操作部200が通常モードのときの状態である。動作状態4は、コントローラ100がセーフティモードSM1で、操作部200がセーフティモードSMのときの状態である。動作状態5は、コントローラ100がセーフティモードSM2で、操作部200が通常モードのときの状態である。動作状態6は、コントローラ100がセーフティモードSM2で、操作部200がセーフティモードSMのときの状態である。
【0046】
図6は、
図2のコントローラ100及び操作部200の動作状態の遷移の例を示す状態遷移図である。
図6では、動作状態の遷移をアクティビティ図として示している。動作状態は、HDD160の摩耗及びeMMC201の摩耗の一方又は両方に応じて遷移する。
【0047】
動作状態1から動作状態2、動作状態3から動作状態4、及び動作状態5から動作状態6は、eMMC201の摩耗により遷移する。そして、eMMC201は、摩耗により通常モードからセーフティモードSMに遷移する。
【0048】
動作状態1から動作状態3、動作状態3から動作状態5、動作状態2から動作状態4、及び動作状態4から動作状態6は、HDD160の摩耗により遷移する。そして、HDD160は、摩耗により通常モードからセーフティモードSM1、SM2に順次遷移する。ストレージの摩耗は、不可逆的なものであるため、セーフティモードから通常モードへ遷移することはない。
【0049】
図7は、データの重要度毎の動作モードに応じたデータの書き込み先の例を示す図である。例えば、重要度は、データの種類に応じて重要度1から重要度4の4つに分類される(重要度4の重要度が最も高い)。そして、データの重要度毎にデータの書き込み先である保存先を示す複数の保存先テーブルが作成される。各保存先テーブルにおいて、コントローラ100の動作モードと操作部200の動作モードとの組み合わせ毎に保持されるアクセス先のストレージを示す情報は、アクセスストレージ情報の一例である。
【0050】
複数の保存先テーブルは、画像形成装置1の起動前に予め作成される。作成された複数の保存先テーブルは、例えば、操作部200の抽象化モジュール212から参照可能な記憶領域と、コントローラ100の抽象化モジュール102から参照可能な記憶領域とにそれぞれに配置される。なお、保存先テーブルは、抽象化モジュール212、102により共通に参照可能な記憶領域に配置されてもよい。
【0051】
各保存先テーブルは、コントローラ100の動作モードと操作部200の動作モードとの組み合わせ毎に、データの書き込み先である保存先を示す情報を格納する複数の領域を有する。保存先テーブルは、アクセス先テーブルの一例である。
【0052】
重要度1のデータは、例えば、操作ログである(重要度低)。重要度2のデータは、例えば、各アプリケーション用のデータである(重要度中)。重要度3のデータは、例えば、ユーザデータ、プリントデータ及びコピーデータである(重要度高1)。重要度4のデータは、例えば、起動関連のデータ及びシステムプロパティ等の各アプリケーション用のデータである(重要度高2)。
【0053】
重要度2、4は、ストレージの使用状況に応じて書き込み先が変化する第1重要度の一例である。重要度1、3は、ストレージの使用状況にかかわらず書き込み先が変化しない第2重要度の一例である。すなわち、複数の保存先テーブルは、第1重要度又は第2重要度に区別される。
【0054】
重要度1のデータは、コントローラ100が通常モードの場合のみ、HDD160に書き込まれる。重要度1のデータは、セーフティモードSM1、SM2の場合、HDD160及びeMMC201に書き込まれずに破棄される。
【0055】
重要度2のデータは、コントローラ100が通常モード又はセーフティモードSM1の場合、HDD160に書き込まれる。重要度2のデータは、コントローラ100がセーフティモードSM2で、操作部200が通常モードの場合、eMMC201に書き込まれる。これにより、重要度2のデータを、残寿命が短くなったHDD160を避けて、eMMC201に書き込むことができる。また、重要度2のデータは、コントローラ100がセーフティモードSM2で、操作部200がセーフティモードSMの場合、HDD160及びeMMC201に書き込まれずに破棄される。
【0056】
重要度3のデータは、動作モードにかかわりなく、HDD160に書き込まれる。重要度4のデータは、操作部200が通常モードの場合、eMMC201に書き込まれ、操作部200がセーフティモードSMの場合、HDD160に書き込まれる。
【0057】
重要度1から重要度4において、
図6に示したように、動作状態1から動作状態6に順次遷移する場合に、データの書き込み先がHDD160からeMMC201又はeMMC201からHDD160に変化するものは、重要度2と重要度4である。
【0058】
図8は、
図7の重要度2及び重要度4のデータにおいて、状態遷移に応じた書き込み先の変化の例を示す図である。
図8では、
図7の重要度2及び重要度4の保存先テーブルにおいて、動作状態の遷移によるデータの書き込み先の変化が、
図6の状態遷移に対応させてまとめられている。
【0059】
なお、
図7の重要度1については、HDD160に書き込まれるか破棄されるかのいずれかであり、重要度3については常にHDD160に書き込まれる。したがって、重要度1及び重要度3では、書き込み先のストレージ(HDD160、eMMC201)が変更されることはないため、
図8での記載は省略されている。
【0060】
重要度2では、動作状態3から動作状態5に変化したときのみ、データの書き込み先がHDD160からeMMC201に変化する。重要度2の動作状態5以降の状態において、データの書き込み先がeMMC201からHDD160に変更されることはなく、データは、破棄されない限り常にeMMC201に書き込まれる。
【0061】
重要度4では、動作状態1から動作状態2、動作状態3から動作状態4、及び動作状態5から動作状態6に変化したときに、データの書き込み先がeMMC201からHDD160に変化する。動作状態2、動作状態4及び動作状態6は、操作部200の動作モードがセーフティモードSMの場合である。このため、重要度4において、動作状態2以降と、動作状態4以降と、動作状態6において、データの書き込み先がHDD160からeMMC201に変更されることはなく、データは、破棄されない限り常にHDD160に書き込まれる。
【0062】
アプリ210は、データの書き込み先の変更を認識できないため、例えば、重要度に応じてデータの書き込み先を一意に決める。このため、書き込み先が変更される可能性がある重要度2及び重要度4のデータの書き込みをアプリ210から依頼された場合、抽象化モジュール102、212は、互いに連携して同期ファイルリストを参照する。そして、抽象化モジュール102、212は、同期ファイルリストに記述されたアプリ210からの仮想の書き込み先に対応する実際の書き込み先にデータを書き込む。
【0063】
同期ファイルリストにアプリ210からの仮想の書き込み先が存在せず、書き込み先でないストレージに書き込み対象のデータに対応するデータが保持されている場合、書き込み先でないストレージに保存されたデータは、書き込み先のストレージにコピーされる。そして、仮想の書き込み先とコピーしたデータに対応する実際の書き込み先とのペアが同期ファイルリストに新たに追加された後、データの書き込み処理が実施される。
【0064】
同様に、重要度2及び重要度4のデータの読み込みをアプリ210から依頼された場合、抽象化モジュール102、212は、互いに連携して同期ファイルリストを参照する。そして、同期ファイルリストに記述されたアプリ210からの仮想の読み込み元に対応する実際の読み込み元からデータを読み込む。
【0065】
同期ファイルリストにアプリ210からの仮想の書き込み先が存在せず、読み込み元でないストレージに読み込み対象のデータが保持されている場合、読み込み元でないストレージに保存されたデータは、読み込み元のストレージにコピーされる。そして、仮想の読み込み元とコピーしたデータに対応する実際の読み込み元とのペアが同期ファイルリストに新たに追加された後、データの読み込み処理が実施される。
【0066】
以上のように、抽象化モジュール102、212は、互いに連携することでストレージの書き込み先及びストレージの読み込み元を抽象化でき、最新のデータがどのストレージに保持されているかを相互に同期して、データの整合性を維持することができる。
【0067】
データの重要度と動作状態とに応じて正しいストレージに対してアクセス対象のデータのみを読み書きするため、動作状態が変化する毎に一方のストレージから他方のストレージに全てのデータをコピーするなどの処理は不要である。このため、データのコピーに伴う画像形成装置1のダウンタイムを最小限にすることができる。
【0068】
図9は、
図1の画像形成装置1の起動時のコントローラ100及び操作部200の処理の一例を示すフロー図である。
図9以降の処理フローは、アクティビティ図により示される。
図9に示すフローは、コントローラ100のCPU110及び操作部200のCPU202がそれぞれ実行する情報処理プログラムに基づいて実施される情報処理方法により実現されてもよい。
【0069】
画像形成装置1が起動されたとき、又はリセットされたとき、ステップS101において、コントローラ100の書き込み制御モジュール101は、HDD160の残寿命に基づいてコントローラ100の動作モードを決定する。書き込み制御モジュール101は、決定した動作モードをコントローラ100の抽象化モジュール102に通知する。
【0070】
次に、ステップS102において、抽象化モジュール102は、書き込み制御モジュール101から通知された動作モードをコントローラ100内のメモリ等に保持する。次に、ステップS103において、抽象化モジュール102は、コントローラ100の動作モードを操作部200の抽象化モジュール212に通知する。また、ステップS104において、抽象化モジュール102は、操作部200の抽象化モジュール212から操作部200の動作モードが通知された場合、通知された動作モードをコントローラ100内のメモリ等に保持する。
【0071】
一方、画像形成装置1が起動されたとき、又はリセットされたとき、ステップS201において、操作部200の監視モジュール211は、eMMC201の残寿命に基づいて操作部200の動作モードを決定する。監視モジュール211は、決定した動作モードを操作部200の抽象化モジュール212に通知する。
【0072】
なお、監視モジュール211は、アプリ210に対して操作部200の動作モードを通知せず、アプリ210は、監視モジュール211に操作部200の動作モードを問い合わせない。このため、アプリ210は、コントローラ100の動作モードを認識できない。
【0073】
次に、ステップS202において、抽象化モジュール212は、監視モジュール211から通知された動作モードを操作部200内のメモリ等に保持する。次に、ステップS203において、抽象化モジュール212は、操作部200の動作モードをコントローラ100の抽象化モジュール102に通知する。また、ステップS204において、抽象化モジュール212は、コントローラ100の抽象化モジュール102からコントローラ100の動作モードが通知された場合、通知された動作モードを操作部200内のメモリ等に保持する。以上の処理により、抽象化モジュール102、212によるストレージに対する読み書きに関する抽象化処理の準備が完了する。
【0074】
図10は、アプリ210がファイルの読み書きを実施するときの操作部200の処理の一例を示すフロー図である。
図10に示すフローは、操作部200のCPU202が実行する情報処理プログラムに基づいて実施される情報処理方法により実現されてもよい。
【0075】
アプリ210は、ストレージ(HDD160又はeMMC201)に対するデータの読み書きを開始する場合、読み書きの対象となるファイルパス及びデータの重要度を指定して抽象化モジュール212に書き込み依頼又は読み込み依頼を発行する。しかしながら、アプリ210は、ストレージの劣化により特定の重要度のデータの読み書き先が切り替わった場合にも、切り替わった読み書き先を認識することができない。書き込み依頼及び読み込み依頼は、アクセス依頼の一例である。
【0076】
ステップS212において、抽象化モジュール212は、アプリ210からの読み書き依頼を受けた場合、読み書き依頼に含まれる重要度に応じた読み書き処理を実施する。抽象化モジュール212は、読み書き依頼に重要度2が含まれる場合、ステップS213において、重要度2に応じた読み書き処理を実施する。重要度2の書き込み処理については、
図12及び
図13に示される。重要度2の読み込み処理については、
図14及び
図15に示される。
【0077】
抽象化モジュール212は、読み書き依頼に重要度4が含まれる場合、ステップS214において、重要度4に応じた読み書き処理を実施する。重要度4の書き込み処理については、
図16及び
図17に示される。重要度4の読み込み処理については、
図18及び
図19に示される。
【0078】
抽象化モジュール212は、読み書き依頼に重要度1又は重要度3が含まれる場合、ステップS215において、重要度1又は重要度3の読み書き処理を実施する。なお、重要度1又は重要度3の読み書き処理では、コントローラ100及び操作部200の動作モードが変更されてもファイルの書き込み先及びファイルの読み込み元のストレージが変更されることはない。このため、抽象化モジュール212、102は、後述する
図12から
図19に示す同期ファイルリストを使用したストレージの抽象化を行わず、対象ファイルのパス通りに読み書き処理を実施する。
【0079】
図11は、重要度2又は重要度4の読み書き処理で使用される同期ファイルリストの一例を示す図である。同期ファイルリストは、アプリ210がストレージに読み書きする際に指定する"仮想ファイルパス"と実際のストレージ上のファイルパスを示す"実ファイルパス"とを保持する領域を有する。同期ファイルリストは、"仮想ファイルパス"と"実ファイルパス"とを紐付けたリストである。"仮想ファイルパス"は、仮のアクセス先の一例であり、"実ファイルパス"は、実際のアクセス先の一例である。
【0080】
抽象化モジュール212又は抽象化モジュール102は、同期ファイルリストにしたがってアプリからの"仮想ファイルパス"を"実ファイルパス"に変換することで、ファイルを読み書きするストレージを抽象化して透過的に処理することができる。
図11に示す例では、アプリ210がHDD160にファイルを読み書きするために指定するパス(仮想ファイルパス)の代わりに、eMMC201に読み書きするパス(実ファイルパス)が使用されることが示される。
【0081】
例えば、重要度2の読み書き処理で使用される同期ファイルリストは、重要度2のファイルの書き込み先となるeMMC201に配置される。例えば、重要度4の読み書き処理で使用される同期ファイルリストは、重要度4のファイルの書き込み先のうち、操作部200のセーフティモードSMでの書き込み先であるHDD160に配置される。すなわち、同期ファイルリストは、ファイルの重要度と動作モードとに応じて決定される一番信頼できるストレージに配置される。
【0082】
操作部200の抽象化モジュール212は、重要度2の読み書き時に、コントローラ100及び操作部200が動作状態5である場合、重要度2に対応してeMMC201に保持された同期ファイルリストをチェックする。そして、抽象化モジュール212は、同期ファイルリストに記述された実ファイルパスで示されるストレージであるeMMC201に対して読み書きを実施する。
【0083】
また、コントローラ100の抽象化モジュール102は、重要度4の読み書き時に、コントローラ100及び操作部200が動作状態1、3又は5である場合、重要度4に対応してHDD160に保持された同期ファイルリストをチェックする。そして、抽象化モジュール102は、同期ファイルリストに記述された実ファイルパスで示されるストレージであるHDD160に対して読み書きを実施する。
【0084】
なお、重要度1及び重要度3の読み書き処理では、アプリ210が指定する仮想ファイルパスが、そのまま実際のストレージ上のパスである実ファイルパスになるため、同期ファイルリストは使用されない。このため、重要度1及び重要度3の読み書き処理に対応する同期ファイルリストは、HDD160及びeMMC201のいずれにも配置されない。
【0085】
図12及び
図13は、
図7に示す重要度2のデータのストレージへの書き込みの一例を示すフロー図である。
図12及び
図13に示すフローは、コントローラ100のCPU110及び操作部200のCPU202がそれぞれ実行する情報処理プログラムに基づいて実施される情報処理方法により実現されてもよい。
【0086】
抽象化モジュール212は、アプリ210からファイルの書き込みを依頼された場合、ステップS221において、動作状態5であるか否かを判定する。すなわち、抽象化モジュール212は、操作部200が通常モードで、かつ、コントローラ100がセーフティモードSM2であるか否かを判定する。
【0087】
抽象化モジュール212は、動作状態5でないことを判定した場合、すなわち、動作状態1-4であることを判定した場合、HDD160への書き込みであることを特定する。そして、ステップS222において、抽象化モジュール212は、コントローラ100の抽象化モジュール102に書き込み対象のファイルパスを通知し、HDD160への書き込み処理を依頼する。
【0088】
書き込みの依頼を受けた抽象化モジュール102は、ステップS121において、書き込み対象のファイルパスへのファイルの書き込みをHDD160に依頼する。そして、ステップS122において、抽象化モジュール102は、HDD160の書き込み対象のファイルパスにファイルを書き込む。
【0089】
一方、ステップS221において、抽象化モジュール212は、動作状態5を判定した場合、eMMC201への書き込みであるため、ステップS223において、eMMC201上の同期ファイルリストを読み出す。次に、ステップS224において、抽象化モジュール212は、同期ファイルリスト上にアプリ210が指定した書き込み対象のファイルパスが存在するか否かを判定する。
【0090】
同期ファイルリスト上に書き込み対象のファイルパスが存在する場合、抽象化モジュール102、212間でファイルパスを同期済みであり、書き込み対象のファイルがHDD160からeMMC201に待避済みである。このため、抽象化モジュール212は、同期ファイルリストから"実ファイルパス"の値を参照してeMMC201上の書き込み先のファイルパスを取得した後、
図13のステップS230を実施する。
【0091】
同期ファイルリスト上に書き込み対象のファイルパスが存在しない場合、抽象化モジュール102、212間でファイルパスの同期が終わっていないため、抽象化モジュール212は、ステップS225を実施する。ステップS225において、抽象化モジュール212は、コントローラ100の抽象化モジュール102に書き込み対象のファイルパスを通知し、HDD160上に書き込み対象のファイルパスが存在するか否かを問い合わせる。
【0092】
ステップS123において、抽象化モジュール102は、HDD160を探索し、HDD160上に書き込み対象のファイルパスのファイルが存在するか否かを確認し、書き込み対象のファイルパスのファイルの有無を抽象化モジュール212に応答する。
【0093】
ステップS226において、抽象化モジュール212は、書き込み対象のファイルパスがHDD160にあるとの応答を受けた場合、HDD160からeMMC201にファイルを退避すべきであると判断し、
図13のステップS227を実施する。ステップS226において、抽象化モジュール212は、書き込み対象のファイルパスがHDD160にないとの応答を受けた場合、eMMC201への新規ファイルの書き込みが発生したと判定し、
図13のステップS229を実施する。
【0094】
図13のステップS227において、抽象化モジュール212は、HDD160上の書き込み対象のファイルパスに保持されたファイルのコピーを抽象化モジュール102に要求する。要求を受けた抽象化モジュール102は、ステップS124において、書き込み対象のファイルパスに保持された書き込み先となるファイルをHDD160からコピーし、抽象化モジュール212に転送する。
【0095】
HDD160からコピーされた書き込み先のファイルを受けた抽象化モジュール212は、ステップS228において、受けたファイルをeMMC201の特定の領域へコピーした後、ステップS229の処理を実施する。
【0096】
ステップS229において、抽象化モジュール212は、新規ファイルの書き込みが発生した場合、新規ファイル用の仮想ファイルパスと実ファイルパスとのペアをeMMC201上の同期ファイルリストに追加した後、ステップS230の処理を実施する。また、抽象化モジュール212は、HDD160からeMMC201にファイルをコピーした場合、コピー元の仮想ファイルパスとコピー先のeMMC201の実ファイルパスとのペアをeMMC201上の同期ファイルリストに追加する。その後、抽象化モジュール212は、ステップS230の処理を実施する。
【0097】
ステップS230において、抽象化モジュール212は、同期ファイルリストで表現されるeMMC201上のファイルパスに対してアプリからの書き込み要求を実行する。これにより、書き込み対象のファイルがeMMC201に書き込まれる。
【0098】
以上の書き込み処理により、重要度2のファイルの書き込み先が動作状態の切り替えにより変更された場合においても、正しい保存先のストレージにファイルを書き込むことができる。また、書き込み対象のファイルのファイルパスが同期ファイルリストに存在しない場合にも、最新の保存先に合わせて同期ファイルリストにファイルパスを追加することができる。この結果、その後の書き込み処理及び読み込み処理において、同期ファイルリストに基づいてファイルの読み書きを正常に実施することができる。
【0099】
なお、抽象化モジュール212は、アプリ210から重要度1又は重要度3のファイルの書き込みを依頼された場合、ステップS222と同様に、コントローラ100の抽象化モジュール102にHDD160への書き込み処理を依頼する。書き込みの依頼を受けた抽象化モジュール102は、ステップS121と同様に、書き込み対象のファイルパスへのファイルの書き込みをHDD160に依頼する。そして、ステップS122と同様に、抽象化モジュール102は、HDD160の書き込み対象のファイルパスにファイルを書き込む。
【0100】
図14及び
図15は、
図7に示す重要度2のデータのストレージからの読み込みの一例を示すフロー図である。
図14及び
図15に示すフローは、コントローラ100のCPU110及び操作部200のCPU202がそれぞれ実行する情報処理プログラムに基づいて実施される情報処理方法により実現されてもよい。
【0101】
図12及び
図13と同様の処理については、詳細な説明は省略する。ステップ番号が同じ処理は、
図12及び
図13に示す処理と同様である。
図14及び
図15において、ステップ番号の末尾に符号rを付した処理は、書き込み処理か読み込み処理かという点で、
図12及び
図13で同じステップ番号を付した処理と異なる。
【0102】
抽象化モジュール212は、アプリ210からファイルの読み込みを依頼され、ステップS221で動作状態5でないことを判定した場合、HDD160からの読み込みであると判定し、ステップS222rを実施する。ステップS222rにおいて、抽象化モジュール212は、コントローラ100の抽象化モジュール102に読み込み対象のファイルパスを通知し、HDD160からのファイルの読み込み処理を依頼する。
【0103】
読み込みの依頼を受けた抽象化モジュール102は、ステップS121rにおいて、読み込み対象のファイルパスからのファイルの読み込みをHDD160に依頼する。そして、ステップS122rにおいて、抽象化モジュール102は、HDD160の読み込み対象のファイルパスからファイルを読み込む。この後の処理は、ファイルの読み込み処理か書き込み処理かということを除き、
図12及び
図13に示した処理と同様である。
【0104】
一方、ステップS221において、抽象化モジュール212は、動作状態5を判定した場合、eMMC201からの読み込みであるため、ステップS223において、eMMC201上の同期ファイルリストを読み出す。次に、ステップS224において、抽象化モジュール212は、同期ファイルリスト上にアプリ210が指定した読み込み対象のファイルパスが存在するか否かを判定する。
【0105】
同期ファイルリスト上に読み込み対象のファイルパスが存在する場合、抽象化モジュール102、212間でファイルパスを同期済みであり、読み込み対象のファイルがHDD160からeMMC201に待避済みである。このため、抽象化モジュール212は、同期ファイルリストから"実ファイルパス"の値を参照してeMMC201上の読み込み元のファイルパスを取得した後、
図15のステップS230rを実施する。
【0106】
同期ファイルリスト上に読み込み対象のファイルパスが存在しない場合、抽象化モジュール102、212間でファイルパスの同期が終わっていないため、抽象化モジュール212は、ステップS225を実施する。ステップS225において、抽象化モジュール212は、コントローラ100の抽象化モジュール102に読み込み対象のファイルパスを通知し、HDD160上に読み込み対象のファイルパスが存在するか否かを問い合わせる。ステップS123において、抽象化モジュール102は、HDD160を探索し、HDD160上に読み込み対象のファイルパスのファイルが存在するか否かを確認し、読み込み対象のファイルパスのファイルの有無を抽象化モジュール212に応答する。
【0107】
ステップS226において、抽象化モジュール212は、読み込み対象のファイルパスがHDD160にあるとの応答を受けた場合、HDD160からeMMC201にファイルを退避すべきであると判断し、
図15のステップS227を実施する。ステップS226において、抽象化モジュール212は、読み込み対象のファイルパスがHDD160にないとの応答を受けた場合、
図15のステップS229を実施する。この場合、どこにも存在しないファイルの読み込み要求が発生したことになる。
【0108】
図15のステップS227において、抽象化モジュール212は、HDD160上の読み込み対象のファイルパスに保持されたファイルのコピーを抽象化モジュール102に要求する。要求を受けた抽象化モジュール102は、ステップS124において、読み込み対象のファイルパスに保持された読み込み元となるファイルをHDD160からコピーし、抽象化モジュール212に転送する。
【0109】
HDD160からコピーされた読み込み元のファイルを受けた抽象化モジュール212は、ステップS228において、受けたファイルをeMMC201の特定の領域へコピーした後、ステップS229の処理を実施する。ステップS229において、抽象化モジュール212は、HDD160からeMMC201にファイルをコピーした場合、コピー元の仮想ファイルパスとコピー先のeMMC201の実ファイルパスとのペアをeMMC201上の同期ファイルリストに追加する。その後、抽象化モジュール212は、ステップS230rの処理を実施する。
【0110】
一方、
図14のステップS226において、どこにも存在しないファイルの読み込み要求の発生を検出した場合、抽象化モジュール212は、ダミーのファイルパスのペアを同期ファイルリストに追加した後、ステップS230rの処理を実施する。例えば、抽象化モジュール212は、アプリ210が指定した読み込み対象のファイルパスを仮想ファイルパスとする。そして、抽象化モジュール212は、仮想ファイルパスと、eMMC201上のコピー先となる、実際にはコピーをしていないファイルパスを実ファイルパスとしたファイルパスのペアを同期ファイルリストに追加する。
【0111】
ステップS230rにおいて、抽象化モジュール212は、同期ファイルリストで表現されるeMMC201上のファイルパスに対してアプリ210からの読み込み要求を実行する。これにより、読み込み対象のファイルがeMMC201から読み出される。
【0112】
なお、
図14のステップS226において、どこにも存在しないファイルの読み込み要求の発生を検出した場合、抽象化モジュール212は、ダミーの実ファイルパスから読み込んだ結果をアプリ210に返す。一般的なOSでは、ENOENT(Error NO ENTry)などのファイルが見つからない旨のエラーがアプリ210に返されるため、アプリ210は、読み込み元のファイルが存在しないことを認識することができ、読み込み処理の整合性を取ることができる。
【0113】
以上の読み込み処理により、重要度2のファイルの読み込み処理元が動作状態の切り替えにより変更された場合においても、正しい保存先のストレージからファイルを読み込むことができる。また、読み込み対象のファイルのファイルパスが同期ファイルリストに存在しない場合にも、最新の保存先に合わせて同期ファイルリストにファイルパスを追加することができる。この結果、その後の書き込み処理及び読み込み処理において、同期ファイルリストに基づいてファイルの読み書きを正常に実施することができる。さらに、読み込み対象のファイルがeMMC201及びHDD160のいずれにも存在しない場合、OSの機能を使ってエラーをアプリ210に返すことができる。
【0114】
なお、抽象化モジュール212は、アプリ210から重要度1又は重要度3のファイルの読み込みを依頼された場合、ステップS222rと同様に、コントローラ100の抽象化モジュール102にHDD160からのファイルの読み込み処理を依頼する。読み込みの依頼を受けた抽象化モジュール102は、ステップS121rと同様に、読み込み対象のファイルパスからのファイルの読み込みをHDD160に依頼する。そして、ステップS122rと同様に、抽象化モジュール102は、HDD160の読み込み対象のファイルパスからファイルを読み込む。
【0115】
図16及び
図17は、
図7に示す重要度4のデータのストレージへの書き込みの一例を示すフロー図である。
図16及び
図17に示すフローは、コントローラ100のCPU110及び操作部200のCPU202がそれぞれ実行する情報処理プログラムに基づいて実施される情報処理方法により実現されてもよい。
図12及び
図13と同様の処理については、詳細な説明は省略する。
【0116】
上述した
図12及び
図13に示した重要度2のファイルの書き込み処理では、動作状態5への遷移によりファイルの書き込み先がHDD160からeMMC201になる。これに対して、
図16及び
図17に示す重要度4のファイルの書き込み処理では、動作状態2、4、6への遷移によりファイルの書き込み先がeMMC201からHDD160になる。したがって、
図16及び
図17は、
図12及び
図13に対して、抽象化モジュール102、212の役割が互いに入れ替わった処理になる。
【0117】
抽象化モジュール212は、アプリ210からファイルの書き込みを依頼された場合、ステップS241において、動作状態2、4又は6であるか否かを判定する。すなわち、抽象化モジュール212は、操作部200がセーフティモードSMであるか否かを判定する。
【0118】
抽象化モジュール212は、動作状態2、4又は6でないことを判定した場合、すなわち、動作状態1、3又は5であることを判定した場合、eMMC201への書き込みであると判定する。そして、ステップS243において、抽象化モジュール212は、eMMC201の書き込み対象のファイルパスにファイルを書き込む。
【0119】
一方、抽象化モジュール212は、動作状態2、4又は6であることを判定した場合、HDD160への書き込みであることを特定する。そして、ステップS242において、抽象化モジュール212は、コントローラ100の抽象化モジュール102に書き込み対象のファイルパスを通知し、HDD160への書き込み処理を依頼する。
【0120】
書き込みの依頼を受けた抽象化モジュール102は、ステップS141において、HDD160上の同期ファイルリストを読み出す。次に、ステップS142において、抽象化モジュール102は、同期ファイルリスト上にアプリ210が指定した書き込み対象のファイルパスが存在するか否かを判定する。
【0121】
同期ファイルリスト上に書き込み対象のファイルパスが存在する場合、抽象化モジュール102、212間でファイルパスを同期済みであり、書き込み対象のファイルがeMMC201からHDD160に待避済みである。このため、抽象化モジュール102は、同期ファイルリストから"実ファイルパス"の値を参照してHDD160上の書き込み先のファイルパスを取得した後、
図17のステップS148を実施する。
【0122】
同期ファイルリスト上に書き込み対象のファイルパスが存在しない場合、抽象化モジュール102、212間でファイルパスの同期が終わっていないため、抽象化モジュール102は、ステップS143を実施する。ステップS143において、抽象化モジュール102は、操作部200の抽象化モジュール212に書き込み対象のファイルパスを通知し、eMMC201上に書き込み対象のファイルパスが存在するか否かを問い合わせる。
【0123】
ステップS244において、抽象化モジュール212は、eMMC201を探索し、eMMC201上に書き込み対象のファイルパスのファイルが存在するか否かを確認し、書き込み対象のファイルパスのファイルの有無を抽象化モジュール102に応答する。
【0124】
ステップS144において、抽象化モジュール102は、書き込み対象のファイルパスがeMMC201にあるとの応答を受けた場合、eMMC201からHDD160にファイルを退避すべきであると判断し、
図17のステップS145を実施する。ステップS144において、抽象化モジュール102は、書き込み対象のファイルパスがeMMC201にないとの応答を受けた場合、HDD160への新規ファイルの書き込みが発生したと判定し、
図17のステップS147を実施する。
【0125】
図17のステップS145において、抽象化モジュール102は、eMMC201上の書き込み対象のファイルパスに保持されたファイルのコピーを抽象化モジュール212に要求する。要求を受けた抽象化モジュール212は、ステップS245において、書き込み対象のファイルパスに保持された書き込み先となるファイルをeMMC201からコピーし、抽象化モジュール102に転送する。
【0126】
eMMC201からコピーされた書き込み先のファイルを受けた抽象化モジュール102は、ステップS146において、受けたファイルをHDD160の特定の領域へコピーした後、ステップS147の処理を実施する。
【0127】
ステップS147において、抽象化モジュール102は、新規ファイルの書き込みが発生した場合、新規ファイル用の仮想ファイルパスと実ファイルパスとのペアをHDD160上の同期ファイルリストに追加した後、ステップS148の処理を実施する。また、抽象化モジュール102は、eMMC201からHDD160にファイルをコピーした場合、コピー元の仮想ファイルパスとコピー先のeMMC201の実ファイルパスとのペアをHDD160上の同期ファイルリストに追加する。その後、抽象化モジュール102は、ステップS148の処理を実施する。
【0128】
ステップS148において、抽象化モジュール102は、同期ファイルリストで表現されるHDD160上のファイルパスに対してアプリからの書き込み要求を実行する。これにより、書き込み対象のファイルがHDD160に書き込まれる。
【0129】
以上の書き込み処理により、重要度4のファイルの書き込み先が動作状態の切り替えにより変更された場合においても、正しい保存先のストレージにファイルを書き込むことができる。また、書き込み対象のファイルのファイルパスが同期ファイルリストに存在しない場合にも、最新の保存先に合わせて同期ファイルリストにファイルパスを追加することができる。この結果、その後の書き込み処理及び読み込み処理において、同期ファイルリストに基づいてファイルの読み書きを正常に実施することができる。
【0130】
図18及び
図19は、
図7に示す重要度4のデータのストレージからの読み込みの一例を示すフロー図である。
図18及び
図19に示すフローは、コントローラ100のCPU110及び操作部200のCPU202がそれぞれ実行する情報処理プログラムに基づいて実施される情報処理方法により実現されてもよい。
【0131】
図16及び
図17と同様の処理については、詳細な説明は省略する。
図18及び
図19において、ステップ番号の末尾に符号rを付した処理は、書き込み処理か読み込み処理かという点で、
図16及び
図17で同じステップ番号を付した処理と異なる。
【0132】
上述した
図14及び
図15に示した重要度2のファイルの読み込み処理では、動作状態5への遷移によりファイルの読み込み元がHDD160からeMMC201になる。これに対して、
図18及び
図19に示す重要度4のファイルの書き込み処理では、動作状態2、4、6への遷移によりファイルの読み込み元がeMMC201からHDD160になる。したがって、
図18及び
図19は、
図14及び
図15に対して、抽象化モジュール102、212の役割が互いに入れ替わった処理になる。
【0133】
抽象化モジュール212は、アプリ210からファイルの読み込みを依頼され、ステップS241で動作状態2、4、6であることを判定した場合、HDD160からの読み込みであると判定し、ステップS242rを実施する。ステップS242rにおいて、抽象化モジュール212は、コントローラ100の抽象化モジュール102に読み込み対象のファイルパスを通知し、HDD160からのファイルの読み込み処理を依頼する。
【0134】
読み込みの依頼を受けた抽象化モジュール102は、ステップS141において、HDD160上の同期ファイルリストを読み出す。次に、ステップS142において、抽象化モジュール102は、同期ファイルリスト上にアプリ210が指定した読み込み対象のファイルパスが存在するか否かを判定する。
【0135】
同期ファイルリスト上に読み込み対象のファイルパスが存在する場合、抽象化モジュール102、212間でファイルパスを同期済みであり、読み込み対象のファイルがeMMC201からHDD160に待避済みである。このため、抽象化モジュール102は、同期ファイルリストから"実ファイルパス"の値を参照してHDD160上の読み込み元のファイルパスを取得した後、
図19のステップS148rを実施する。
【0136】
同期ファイルリスト上に読み込み対象のファイルパスが存在しない場合、抽象化モジュール102、212間でファイルパスの同期が終わっていないため、抽象化モジュール102は、ステップS143を実施する。ステップS143において、抽象化モジュール102は、操作部200の抽象化モジュール212に読み込み対象のファイルパスを通知し、eMMC201上に読み込み対象のファイルパスが存在するか否かを問い合わせる。ステップS244において、抽象化モジュール212は、eMMC201を探索し、eMMC201上に読み込み対象のファイルパスのファイルが存在するか否かを確認し、読み込み対象のファイルパスのファイルの有無を抽象化モジュール102に応答する。
【0137】
ステップS144において、抽象化モジュール102は、読み込み対象のファイルパスがeMMC201にあるとの応答を受けた場合、eMMC201からHDD160にファイルを退避すべきであると判断し、
図19のステップS145を実施する。ステップS144において、抽象化モジュール102は、読み込み対象のファイルパスがeMMC201にないとの応答を受けた場合、
図19のステップS147を実施する。この場合、どこにも存在しないファイルの読み込み要求が発生したことになる。
【0138】
図19のステップS145において、抽象化モジュール102は、eMMC201上の読み込み対象のファイルパスに保持されたファイルのコピーを抽象化モジュール212に要求する。要求を受けた抽象化モジュール212は、ステップS245において、読み込み対象のファイルパスに保持された読み込み元となるファイルをeMMC201からコピーし、抽象化モジュール102に転送する。
【0139】
eMMC201からコピーされた読み込み元のファイルを受けた抽象化モジュール102は、ステップS146において、受けたファイルをHDD160の特定の領域へコピーした後、ステップ147の処理を実施する。ステップS147において、抽象化モジュール102は、eMMC201からHDD160にファイルをコピーした場合、コピー元の仮想ファイルパスとコピー先のHDD160の実ファイルパスとのペアをHDD160上の同期ファイルリストに追加する。その後、抽象化モジュール102は、ステップS148rの処理を実施する。
【0140】
一方、
図18のステップS144において、どこにも存在しないファイルの読み込み要求の発生を検出した場合、抽象化モジュール102は、ダミーのファイルパスのペアを同期ファイルリストに追加した後、ステップS148rの処理を実施する。例えば、抽象化モジュール102は、アプリ210が指定した読み込み対象のファイルパスを仮想ファイルパスとする。そして、抽象化モジュール102は、仮想ファイルパスと、HDD160上のコピー先となる、実際にはコピーをしていないファイルパスを実ファイルパスとしたファイルパスのペアを同期ファイルリストに追加する。
【0141】
ステップS148rにおいて、抽象化モジュール102は、同期ファイルリストで表現されるHDD160上のファイルパスに対してアプリ210からの読み込み要求を実行する。これにより、読み込み対象のファイルがHDD160から読み出される。
【0142】
なお、
図18のステップS144において、どこにも存在しないファイルの読み込み要求の発生を検出した場合、抽象化モジュール102は、ダミーの実ファイルパスから読み込んだ結果をアプリ210に返す。この場合にも
図15で説明したように、ファイルが見つからない旨のエラーがアプリ210に返されるため、アプリ210は、読み込み元のファイルが存在しないことを認識することができ、読み込み処理の整合性を取ることができる。
【0143】
以上の読み込み処理により、重要度4のファイルの読み込み処理元が動作状態の切り替えにより変更された場合においても、正しい保存先のストレージからファイルを読み込むことができる。また、読み込み対象のファイルのファイルパスが同期ファイルリストに存在しない場合にも、最新の保存先に合わせて同期ファイルリストにファイルパスを追加することができる。この結果、その後の書き込み処理及び読み込み処理において、同期ファイルリストに基づいてファイルの読み書きを正常に実施することができる。さらに、読み込み対象のファイルがeMMC201及びHDD160のいずれにも存在しない場合、OSの機能を使ってエラーをアプリ210に返すことができる。
【0144】
以上、この実施形態では、重要度2又は重要度4のファイルの書き込み先が、ストレージの使用状況に応じた動作状態の切り替えにより変更された場合においても、正しい保存先のストレージにファイルを書き込むことができる。また、書き込み対象のファイルのファイルパスが同期ファイルリストに存在しない場合にも、最新の保存先に合わせて同期ファイルリストにファイルパスを追加することができる。
【0145】
また、重要度2又は重要度4のファイルの読み込み処理元が、ストレージの使用状況に応じた動作状態の切り替えにより変更された場合においても、正しい保存先のストレージからファイルを読み込むことができる。また、読み込み対象のファイルのファイルパスが同期ファイルリストに存在しない場合にも、最新の保存先に合わせて同期ファイルリストにファイルパスを追加することができる。
【0146】
この結果、その後の書き込み処理及び読み込み処理において、同期ファイルリストに基づいてファイルの読み書きを正常に実施することができる。すなわち、データを書き込む複数のストレージを切り替え可能な場合に、最新ファイルを保持しているストレージを判別可能にすることで、データの整合性を維持することができる。さらに、読み込み対象のファイルがeMMC201及びHDD160のいずれにも存在しない場合、OSの機能を使ってエラーをアプリ210に返すことができる。
【0147】
本発明の態様は、例えば、以下の通りである。
<1>
第1ストレージを含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置と、
第2ストレージを含み、複数の動作モードを有し、前記第1装置との間で情報を相互に送受信可能な第2装置と、を有し、
前第1記ストレージ及び前記第2ストレージに保持される複数種のファイルは、前記第1ストレージ又は前記第2ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度、又は、前記第1ストレージ及び前記第2ストレージの使用状況にかかわらず書き込み先のストレージが変化しない第2重要度に区別され、
前記第1装置は、
前記アプリケーションからアクセス依頼を受けたとき、アクセスする前記第1ストレージ又は前記第2ストレージを示すアクセスストレージ情報を前記第1装置及び前記第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照して、アクセスするストレージを決定し、
決定したストレージが前記第2ストレージの場合、前記第2ストレージへのアクセスを前記第2装置に依頼し、
前記第1装置又は前記第2装置は、
前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼である場合、前記アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して前記実際のアクセス先にアクセスし、
前記アクセス依頼が、前記第2重要度のファイルのアクセス依頼である場合、前記仮のアクセス先にアクセスすること、
を特徴とする情報処理装置。
<2>
前記第1装置の前記複数の動作モードは、前記第1ストレージの残寿命に応じて遷移し、
前記第2装置の前記複数の動作モードは、前記第2ストレージの残寿命に応じて遷移し、
前記複数種のファイルは、前記残寿命の変化により書き込み先が変化する前記第1重要度、又は、前記残寿命の変化によっても書き込み先が変化しない前記第2重要度に区別されること、
を特徴とする<1>に記載の情報処理装置。
<3>
前記第1装置は、前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼であり、前記アクセス先テーブルに保持されたアクセスストレージ情報が前記第1ストレージを示し、かつ、前記仮のアクセス先が前記同期ファイルリストに存在しない場合、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第1ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする<1>又は<2>に記載の情報処理装置。
<4>
前記第1装置は、前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼であり、前記アクセス先テーブルに保持されたアクセスストレージ情報が前記第1ストレージを示し、かつ、前記仮のアクセス先が前記同期ファイルリストに存在しない場合で、前記仮のアクセス先のファイルが前記第2ストレージに存在する場合、前記第2ストレージから前記仮のアクセス先のファイルを前記第1ストレージにコピーし、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第1ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする<3>に記載の情報処理装置。
<5>
前記第1重要度のファイルのアクセス依頼を前記第1装置から受けた前記第2装置は、前記仮のアクセス先が前記同期ファイルリストに存在しない場合、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第2ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする<1>ないし<4>のいずれか1項に記載の情報処理装置。
<6>
前記第1重要度のファイルのアクセス依頼を前記第1装置から受けた前記第2装置は、前記仮のアクセス先が前記同期ファイルリストに存在しない場合で、前記仮のアクセス先のファイルが前記第1ストレージに存在する場合、前記第1ストレージから前記仮のアクセス先のファイルを前記第2ストレージにコピーし、前記仮のアクセス先と実際のアクセス先とを前記同期ファイルリストに追加した後、前記第2ストレージの前記実際のアクセス先にアクセスすること、
を特徴とする<5>に記載の情報処理装置。
<7>
<1>ないし<6>のいずれか1項に記載の情報処理装置と、
前記情報処理装置で処理される画像を形成する画像形成部と、を有すること、
を特徴とする画像形成装置。
<8>
第1ストレージを含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置と、第2ストレージを含み、複数の動作モードを有し、前記第1装置との間で情報を相互に送受信可能な第2装置と、を有する情報処理装置が実施する情報処理方法であって、
前記第1ストレージ及び前記第2ストレージに保持される複数種のファイルは、前記第1ストレージ又は前記第2ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度、又は、前記第1ストレージ及び前記第2ストレージの使用状況にかかわらず書き込み先のストレージが変化しない第2重要度に区別され、
前記第1装置が、
前記アプリケーションからアクセス依頼を受けたとき、アクセスする前記第1ストレージ又は前記第2ストレージを示すアクセスストレージ情報を前記第1装置及び前記第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照して、アクセスするストレージを決定する処理と、
決定したストレージが前記第2ストレージの場合、前記第2ストレージへのアクセスを前記第2装置に依頼する処理とを実施し、
前記第1装置又は前記第2装置が、
前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼である場合、前記アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して前記実際のアクセス先にアクセスする処理と、
前記アクセス依頼が、前記第2重要度のファイルのアクセス依頼である場合、前記仮のアクセス先にアクセスする処理とを実施すること、
を特徴とする情報処理方法。
<9>
第1ストレージを含み、複数の動作モードを有し、アプリケーションを実行可能な第1装置と、第2ストレージを含み、複数の動作モードを有し、前記第1装置との間で情報を相互に送受信可能な第2装置と、を有する情報処理装置が実施する情報処理プログラムであって、
前記第1ストレージ及び前記第2ストレージに保持される複数種のファイルは、前記第1ストレージ又は前記第2ストレージの使用状況に応じて書き込み先のストレージが変化する第1重要度、又は、前記第1ストレージ及び前記第2ストレージの使用状況にかかわらず書き込み先のストレージが変化しない第2重要度に区別され、
前記第1装置に、
前記アプリケーションからアクセス依頼を受けたとき、アクセスする前記第1ストレージ又は前記第2ストレージを示すアクセスストレージ情報を前記第1装置及び前記第2装置の動作モードの組み合わせ毎に保持するアクセス先テーブルを参照して、アクセスするストレージを決定する処理と、
決定したストレージが前記第2ストレージの場合、前記第2ストレージへのアクセスを前記第2装置に依頼する処理とを実施させ、
前記第1装置又は前記第2装置に、
前記アクセス依頼が、前記第1重要度のファイルのアクセス依頼である場合、前記アクセス依頼に含まれる仮のアクセス先と実際のアクセス先とを紐付けた同期ファイルリストを参照して前記実際のアクセス先にアクセスする処理と、
前記アクセス依頼が、前記第2重要度のファイルのアクセス依頼である場合、前記仮のアクセス先にアクセスする処理とを実施させること、
を特徴とする情報処理プログラム。
【0148】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【0149】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGAや従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0150】
1 画像形成装置
2 自動原稿送り装置
3 画像読み取り装置
4 書き込みユニット
5 プリンタユニット
6 感光体ドラム
7 現像装置
8 搬送ベルト
9 定着装置
10 給紙トレイ
11 電源装置
100 コントローラ
101 書き込み制御モジュール
102 抽象化モジュール
110 CPU
120 ASIC
130 DRAM
150 NVRAM
140 SSD
160 HDD
170 USBインタフェース
180 SDカードインタフェース
200 操作部
201 eMMC
202 CPU
203 ROM
204 RAM
205 操作パネル
206 ネットワークインタフェース
207 外部機器接続インタフェース
208 I/Oインタフェース
209 メディアインタフェース
210 アプリ
211 監視モジュール
212 抽象化モジュール
300 作像部
400 USBメモリ
500 SDカード
600 ディスク
700 記録メディア
BUS バス
CN コネクタ
NW ネットワーク
【先行技術文献】
【特許文献】
【0151】