JP5487725B2 - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
JP5487725B2
JP5487725B2 JP2009126865A JP2009126865A JP5487725B2 JP 5487725 B2 JP5487725 B2 JP 5487725B2 JP 2009126865 A JP2009126865 A JP 2009126865A JP 2009126865 A JP2009126865 A JP 2009126865A JP 5487725 B2 JP5487725 B2 JP 5487725B2
Authority
JP
Japan
Prior art keywords
identification information
data
storage medium
information
reading
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.)
Active
Application number
JP2009126865A
Other languages
English (en)
Other versions
JP2010277184A (ja
Inventor
英樹 大橋
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 JP2009126865A priority Critical patent/JP5487725B2/ja
Publication of JP2010277184A publication Critical patent/JP2010277184A/ja
Application granted granted Critical
Publication of JP5487725B2 publication Critical patent/JP5487725B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関し、特に記憶媒体へのデータの書き込み又は記憶媒体からのデータの読み込みを実行する情報処理装置、情報処理方法、及び情報処理プログラムに関する。
PC(Personal Computer)等の汎用的なコンピュータの場合、記憶媒体としてHDD(Hard Disk Drive)が使用されることが多い。HDDは、大容量であると共にアクセス速度がさほど遅くないためである。しかし、汎用的なコンピュータと違い、スキャナやプリンタ等の組み込み機器の場合、物理的な筐体の制限やコスト削減のため、記憶媒体としてSDカードやUSB経由のフラッシュメモリ(USBメモリ)を使用することが多い。但し、フラッシュメモリを使用する場合(特にUSBバスを経由する場合)、データの入出力(読み書き)の速度が制限される。そのため、データの入出力の完了を待機する必要がある処理については、処理全体が遅延してしまう。そこで、従来、メモリディスク又はRAMディスク(以下、「メモリディスク」で統一する。)と呼ばれるメモリ装置を使用する方法がある。
メモリディスクは、電気的にデータを読み書きするため、入出力の速度がフラッシュメモリと比較して非常に高い。このため、プログラムにおけるデータの入出力時に、処理全対の遅延が発生しにくい。特に、記憶媒体への入出力がプログラムの処理におけるボトルネックとなっていた場合、メモリディスクを記録媒体の一部として利用することにより、システム全体の処理速度を向上させることができる。
しかしながら、機器のコストアップを抑制するためには、メモリディスクは小容量にせざるを得ない。また、メモリディスクは揮発性であるため、機器の電源を切断した場合に記憶されているデータは消去されてしまう。
但し、データの用途等に応じて記憶媒体に対して要求される性能は異なる。例えば、消失は許容されないがアクセス速度は遅くて構わないデータもあれば、高いアクセス速度が要求されるが消失は許容されるデータもある。
本発明は、上記の点に鑑みてなされたものであって、データに応じてアクセス対象とする記憶媒体を適切に選択することのできる情報処理装置、情報処理方法、及び情報処理プログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、データの第一の識別名ごとに、該第一の識別名に対応する第一の記憶媒体とは異なる第二の記憶媒体に対応した第二の識別名を記憶した規則情報記憶手段と、プログラムからのデータの書き込み要求に応じ、該書き込み要求において指定された前記第一の識別名に対応する前記第二の識別名に基づいて、前記第二の記憶媒体に該データを書き込む書き込み手段とを有する。
このような情報処理装置では、データに応じてアクセス対象とする記憶媒体を適切に選択することができる。
データに応じてアクセス対象とする記憶媒体を適切に選択することができる。
本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウエア構成例を示す図である。 データの書き込み時の処理手順を説明するためのシーケンス図である。 書き込みルールの例を示す図である。 管理情報の構成例を示す図である。 退避レベルを説明するための図である。 退避処理によって更新された管理情報の例を示す図である。 データの読み込み時の処理手順を説明するためのシーケンス図である。 読み込み処理によって更新された管理情報の例を示す図である。 読み込みルールの例を示す図である。 複製レベルを説明するための図である。 複製処理によって更新された管理情報の例を示す図である。 ファイルシステム管理部が隠蔽される構成例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、画像形成装置を情報処理装置の具体例として説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図1において、画像形成装置10は、CPU101、RAM102、ROM103、HDD104、スキャナ105、プリンタ106、操作パネル107、SDカードスロット108、及びUSBポート109等のハードウェアを有する。
ROM103には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM102は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU101は、RAM102にロードされたプログラムを処理することにより、各種の機能を実現する。HDD104には、プログラムやプログラムが利用する各種のデータ等が記録される。スキャナ105は、原稿より画像データを読み取るためのハードウェアである。プリンタ106は、画像データを印刷用紙に印刷するためのハードウェアである。操作パネル107は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。SDカードスロット108は、SDカード50に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM103に記録されたプログラムだけでなく、SDカード50に記録されたプログラムもRAM102にロードされ、実行されうる。USBポート109は、USB(Universal Serial Bus)インタフェース用の接続口(コネクタ)である。本実施の形では、USBメモリ60が接続される。その他、画像形成装置10は、ネットワーク(有線又は無線の別は問わない。)を接続するためのネットワーク用のインタフェース等も有するが、図1では便宜上省略されている。
図2は、本発明の実施の形態における画像形成装置のソフトウエア構成例を示す図である。
同図において、画像形成装置10は、アプリ11a、アプリ11b、及びアプリ11c(以下、それぞれを区別しない場合、「アプリ11」という。)、ファイルシステム管理部12、並びにファイルシステム16等を有する。これらは、RAM102にロードされたプログラムがCPU101に実行させる処理によって実現される。
アプリ11は、本実施の形態において所定のデータ(例えば、スキャナ105によって原稿より読み取られた画像データ)を利用した処理を実行するアプリケーションプログラムである。当該処理の過程において、アプリ11は、ファイルシステム管理部12を介して記憶媒体へのデータの書き込みや、記憶媒体からのデータの読み込み等を実行する。
ファイルシステム管理部12は、アプリ11からのデータ書き込み要求又はデータの読み込み要求に応じ、管理ルール13又は管理情報14等に基づいていずれの記憶媒体をデータの書き込み先又はデータの読み込み先とするかを判定する。ファイルシステム管理部12は、判定結果に応じた書き込み先へのデータの記録、又は判定結果に応じた読み込み先からのデータの読み込みを実行する。すなわち、アプリ11が利用するデータの所在は、アプリ11から隠蔽され、ファイルシステム管理部12によって管理される。本実施の形態において、データの所在位置の候補としての記憶媒体は、RAM102及びUSBメモリ60である。RAM102は、高速にアクセス可能であるが小容量である記憶媒体の一例である。USBメモリ60は、アクセス速度は低いが大容量である記憶媒体の一例である。
ファイルシステム管理部12は、ファイルシステム16を介してRAM102及びUSBメモリ60へのアクセス(書き込み又は読み込み)を行う。ファイルシステム16は、OS(Operating System)15によって提供される、いわゆるファイルシステムである。ファイルシステム16によって、RAM102はメモリディスク(RAMディスク)として利用されうる。また、USBメモリ60は、フラッシュディスクとして利用されうる。すなわち、RAM102及びUSBメモリ60に記録されたデータは、HDD104に記録されたファイルと同様に扱うことが可能となる。具体的には、RAM102及びUSB60に記録されたデータは、パス名によって識別することができる。
管理ルール13は、データの書き込み又は読み込みに関する規則情報が定義されたデータである。管理情報14は、ファイルシステム管理部12によって操作(書き込み又は読み込み)されたデータの位置情報等を含む情報である。すなわち、管理ルール13は、予め設定される静的な情報であるのに対し、管理情報14は、データに対するアクセスに応じて更新される動的な情報である。管理ルール13及び管理情報14は、例えば、HDD104に記録されている。
ファイルシステム管理部12は、複数のアプリ11から利用されうる。但し、アプリ11cのように、ファイルシステム管理部12を介さずに直接OS15を介してデータを利用するアプリ11が存在してもよい。この場合、データの所在は、アプリ11cから隠蔽されない。例えば、直接的にファイルの所在を管理したいアプリ11に関しては、アプリ11cのように直接OS15を介してファイルを操作すればよい。
ファイルシステム管理部12は、書き込み部121、退避部122、読み込み部123、及び複製部124等を有する。書き込み部121は、アプリ11よりデータの書き込み要求を受け付け、管理ルール13に従った記憶場所への書き込みを実行する。退避部122は、管理ルール13に従った記憶場所に書き込まれたデータを、所定のタイミングで他の記憶場所に退避(保存)する。読み込み部123は、アプリ11よりデータの読み込み要求を受け付け、管理ルール13に従った記憶場所からのデータの読み込みを実行する。複製部124は、同一データへの読み込み処理が管理ルール13に指定された回数に達したときに、当該データの複製を管理ルール13に指定された記憶場所に生成する。なお、書き込み部121及び読み込み部123は、データ書き込み用の関数又はデータ読み込み用の関数又はメソッドとして実装される。一方、退避部122及び複製部124は、プロセス又はスレッドとして起動される。本実施の形態において、退避部122及び複製部124はプロセスとして起動されることとする。但し、各部の具体的な実装形態は、特定のものに限定されない。
以下、画像形成装置10の処理手順について説明する。図3は、データの書き込み時の処理手順を説明するためのシーケンス図である。
ステップS101において、アプリ11は、書き込み対象のデータと書き込み先のパス名を指定して、当該データの書き込み要求を書き込み部121に入力する。当該書き込み要求において、アプリ11は、データの書き込み先として、「/root/writeData.dat」を指定したとする。なお、本実施の形態において、「/root」以下は、USBメモリ60に対応付けられている。
続いて、書き込み部121は、管理ルール13内の書き込みルール131を参照し、書き込み対象とされたデータの書き込み先を判定する(S102)。
図4は、書き込みルールの例を示す図である。同図において書き込みルール131は、「対象データ」、「書き込み先」、「書き込み条件」、「退避レベル」、及び「退避条件」等の項目を含む。「対象データ」は、書き込み要求において指定されるパス名(第一の識別名)である。「書き込み先」は、書き込み要求に係るデータについて実際に書き込み先とされたパス名(第二の識別名)である。「書き込み先」の設定は任意に行うことが可能である。データに対するアクセスを高速化したい場合、本実施の形態ではRAM102(メモリディスク)のパス名が「書き込み先」に設定される。なお、本実施の形態において、「/ram」以下は、RAM102の一部の記憶領域(メモリディスク)に対応付けられている。但し、RAM102に書き込めない程の大きなサイズであることが既知であるデータについては、「書き込み先」として大容量の記憶媒体のパス名を指定すればよい。一方、アプリ11の実行時にサイズが決定するデータや中程度のサイズのデータであればRAM102を書き込み先としてもよい。
「書き込み条件」は、「書き込み先」への書き込みが許可される条件を示す情報である。同図では、「書き込み先」への空き容量が足りる(書き込み対象のデータ分有る)ことが「書き込み条件」とされている。その他、書き込み可能なデータのサイズの閾値(上限)を「書き込み条件」としてもよいし、書き込み先への書き込みが失敗した場合の対処方法が「書き込み条件」とされてもよい。
「退避レベル」は、「書き込み先」へ書き込まれたデータを「対象データ」のパスへ退避させる方法を区別するためのレベルである。すなわち、「退避レベル」によって、「書き込み先」へ書き込まれたデータの退避の方法が異なる。
「退避条件」は、退避処理に関する各種の条件である。例えば、退避はデータの移動であるか複製の生成であるかを示す情報や、退避処理を実行する条件を示す情報等である。図4では、退避処理を実行する条件として、書き込み先(RAM102)の空き容量が20%以下になることが設定されている。
なお、図4は、一つのデータに対する書き込みルール131である。すなわち、書き込みルール131は、ファイルシステム管理部12によって書き込み先を変化させたいデータごとに定義される。
ステップS102では、書き込み部121は、「/root/writeData.dat」を「対象データ」とする書き込みルール131を管理ルール13より検索し、検索された書き込みルール131の「書き込み先」(「/ram/root/writeData.dat」)を実際の書き込み先として判定する。なお、「/root/writeData.dat」に対応する書き込みルール131が存在しない場合、書き込み部121は、アプリ11から指定されたパス名を実際の書き込み先として判定する。
続いて、書き込み部121は、判定された書き込み先(「/ram/root/writeData.dat」)へデータを書き込む(S103)。「/ram/root/writeData.dat」は、RAM102に対応するパス名であるため、データは、RAM102に高速に書き込まれる。すなわち、各アプリ11からは、書き込み要求において指定したデータは、当該要求において指定したパス名に書き込まれるように見えるが、当該データは書き込みルール131に応じて実際には異なるパス名に書き込まれることもある。なお、書き込み部121は、書き込みルール131における「書き込み条件」が満たされるか否かを判定し、満たされる場合に「書き込み先」への書き込みを実行する。
「書き込み先」への書き込みが行われた場合、書き込み部121は、書き込まれたデータに関するレコードを管理情報14に生成する(S104)。
図5は、管理情報の構成例を示す図である。同図において、管理情報14は、「対象データ」ごとに「アクセス位置」、「存在フラグ」、及び「読み込み回数」等を含む。「アクセス位置」は、「対象データ」についてアクセスすべきパス名(「対象データ」が実際に存在するパス名)である。すなわち、ステップS104において、書き込み部121は、アプリ11より指定されたパス名を「対象データ」に記録し、実際にデータを書き込んだパス名を「アクセス位置」に記録する。「存在フラグ」は、「対象データ」のパス名にデータが存在するか(true)否か(false)を示す情報である。この時点では、「対象データ」のパス名にデータは書き込まれていないため、「存在フラグ」の値は「false」とされている。「読み込み回数」については、後述する。
なお、「書き込み先」となりうるパスに各アプリ11からのアクセスを許可するとデータの管理が複雑になってしまう。アプリ11によって「書き込み先」のデータが削除等されてしまった場合、管理情報14と実際のデータの所在との間に不整合が生じてしまうからである。したがって、「書き込み先」へのアクセスは、ファイルシステム管理部12のみ可能とし、各アプリ11による直接のアクセスは不可能にしておくとよい。
続いて、書き込み部121は、管理ルール13に設定されている「退避レベル」に応じて、書き込んだデータ(以下、「カレントデータ」という。)の退避処理を実行させるための退避部122をプロセスとして起動する(S105)。退避部122の起動に際し、書き込み部121から退避部122には、アプリ11より指定されたパス名(「/root/writeData.dat」)が通知される。すなわち、退避部122の一つのプロセスは、一つのデータに対応する。退避処理の要否及び退避部122のプロセスの優先度は、「退避レベル」に応じて決定されるからである。ここでいう優先度は、OS15のプロセス管理における優先度(すなわち、CPUの使用に関する優先度)である。
図6は、退避レベルを説明するための図である。同図では、退避のレベルは0〜3の4段階とされている。「退避レベル」0の場合、退避処理は実行されない。したがって、この場合、書き込み部121はカレントデータに対する退避部122のプロセスは起動しない。「退避レベル」1、2、3の場合、退避部122のプロセスは、それぞれ低優先度、中優先度、高優先度によって起動される。本実施の形態において、カレントデータに対応する「退避レベル」は「3」であるため、カレントデータに対する退避部122のプロセスは、高優先度で起動される。なお、図6の内容は、書き込み部121にロジックとして組み込まれていてもよいし、外部ファイル化されていてもよい。
続いて、書き込み部121は、ステップS101の書き込み要求に対する応答をアプリ11に行う(S107)。当該応答には、例えば、書き込みの成否を示す情報が含まれる。本実施の形態では、USBメモリ60に係るパス名に対して書き込みが要求されたにも拘わらず、実際にはRAM102に書き込みが行われた。したがって、書き込み要求から当該応答までの時間は、USBメモリ60に対して書き込みが行われる場合に比べて短い。よって、当該応答を待機していたアプリ11は、その後の処理に高速に移行することができる。
一方、起動された退避部122は、書き込み部121より通知されたパス名を「対象データ」とする書き込みルール131(図4)を参照し、「退避条件」を確認する(S111)。続いて、退避部122は、「退避条件」が満たされるまで退避処理の実行を待機する(S112)。退避条件」が満たされたか否かの確認は、ポーリングのように定期的に行われてもよいし、退避部122のプロセスが待ち状態から実行状態へ遷移したときに行われてもよい。本実施の形態では、退避部122は、RAM102の空き容量が20%以下になるまで待機する(図4参照)。
「退避条件」が満たされると、退避部122は、書き込み部121より通知されたパス名を「対象データ」とするレコードを管理情報14より検索する(S113)。続いて、退避部122は、検索されたレコードの「アクセス位置」に記録されているパス名(「/ram/root/wirteData.dat」)に係るファイルよりデータを取得し(S114)、書き込み部121より指定されたパス名(「/root/writeData.dat」)に係るファイルに当該データの複製を記録する(S115)。したがって、当該複製は、USBメモリ60内に生成される。続いて、退避部122は、管理情報14において、書き込み部121より指定されたパス名を「対象データ」とするレコードの「存在フラグ」の値を「true」に更新する(S116)。続いて、退避部122は、自らのプロセスを終了させる。このように、退避処理によってアプリ11が希望したパス名にデータが記録される。また、退避処理はアプリ11からの書き込み要求とは非同期に実行される。したがって、書き込み要求に対する書き込み部121による応答性能の劣化を回避することができる。
図7は、退避処理によって更新された管理情報の例を示す図である。同図では、「対象データ」「/root/writeData.dat」の「存在フラグ」の値が「true」に更新されている。退避処理により、「対象データ」が示すパス名によるデータの複製が生成されたからである。なお、退避対象のデータが移動された場合は、「アクセス位置」に記録されていたパス名は削除される。
ところで、「退避レベル」は、次のような考え方を参考に定めればよい。
例えば、アプリ11が実行中に一時的に(作業用に)生成するデータ等、電源が切断された場合等に失われてしまっても構わないデータについては、「退避レベル」を0に設定することで、不揮発性の記憶媒体への退避を行わないようにしてもよい。
また、失われてしまう可能性をできるだけ小さくしたいデータについては、「退避レベル」を3とすることにより高い優先度のプロセスに退避処理を実行させることができる。その結果、退避処理が確実に実行される可能性を高めることができる。但し、この場合、CPU101等のシステムリソースへの負荷が高くなり、アプリ11の処理速度に影響が出る可能性も否定できないため、注意を要する。
また、たとえ高優先度のプロセスによる退避処理であっても、退避処理の実行前に電源が切断されてしまい、その結果、データが失われてしまう可能性も完全には否定できない。したがって、画像形成装置10の課金情報やFAXの送信情報等が記録された重要なデータについては、書き込み速度が十分でなかったとしても、最初から不揮発性の記憶媒体(「対象データ」のパス名)に直接書き込みを行う方が運用上良い場合もある。よって、このようなデータについては、書き込みルール131を定義しなければよい。
なお、実際に電源の切断は、通常はユーザの操作に基づくものである。したがって、退避部122は、CPU101の負荷が低下したとき退避処理を実行し、退避処理の完了に応じて操作パネル107に「データXXXXの退避が完了しました。」というメッセージを出力するようにしてもよい。こうすることで、電源の切断によるデータの損失の可能性を低下させることができる。
上述したように、本実施の形態によれば、書き込みルール131においてデータごとに書き込み先を設定することができ、各データは当該設定に従った書き込み先へ書き込まれる(記録される)。したがって、データの用途や特性等に応じて適切な記憶媒体を書き込み先として選択することができる。
特に、本実施の形態のように、データの書き込み先をアクセス速度の高い記憶媒体とすることで、プログラム(本実施の形態におけるアプリ11)の処理性能の向上を期待することができる。
また、書き込み先の選択は、ファイルシステム管理部12によって一元的に行われるため、各プログラムは書き込み先の選択について複雑な制御を行う必要はない。
また、書き込みルール131の設定を調節することで、システム全体の処理性能の適切化(又は最適化)を図ることもできる。例えば、元々高速な記憶媒体にデータを書き込んでいたプログラムAと、低速な記憶媒体にデータを書き込んでいたプログラムBがあったとする。プログラムAのみの性能を考慮すれば、プログラムAによるデータの書き込み先はそのまま高速な記憶媒体としておくべきである。しかし、プログラムAとプログラムBとの協働によって実現される機能において、プログラムBに高速な記憶媒体を優先的に使用させた方が当該機能全体の性能の向上が図れることもある。このような場合においては、プログラムBによるデータの書き込み先を高速な記憶媒体とし、プログラムAによるデータの書き込み先を低速な記憶媒体とするように書き込みルール131を定義すればよい。
続いて、データの読み込み時の処理手順について説明する。図8は、データの読み込み時の処理手順を説明するためのシーケンス図である。
ステップS201において、アプリ11は、読み込み対象のデータのパス名を指定して、当該データの読み込み要求を読み込み部123に入力する。当該読み込み要求において、アプリ11は、読み込み対象のパス名として、「/root/readData.dat」を指定したとする。すなわち、USBメモリ60に記録されているデータである。
続いて、読み込み部123は、読み込み対象として指定されたパス名を「対象データ」とするレコードを管理情報14(図7参照)より検索する(S202)。ここでは、指定されたパス名を「対象データ」とするレコードは存在しないため、読み込み部123は、指定されたパス名に係るファイルよりデータを読み込む(S203)。なお、指定されたパス名を「対象データ」とするレコードが管理情報14に存在する場合、読み込みデータは、当該レコードの「アクセス位置」に記録されているパス名に係るファイルよりデータを読み込む。
データの読み込みに成功した場合、読み込み部123は、読み込まれたデータに関するレコードを管理情報14に生成する(S204)。
図9は、読み込み処理によって更新された管理情報の例を示す図である。同図において2番目のレコードがステップS204において生成されたものである。「対象データ」及び「アクセス位置」には、読み込み対象として指定されたパス名が記録されている。「存在フラグ」の値は「true」とされている。「対象データ」によって示されるパスにデータが存在するからである。また、「読み込み回数」の値は「1」とされている。すなわち、「読み込み回数」は、「対象データ」について読み込み処理が行われた回数を記録するための項目である。
続いて、読み込み部123は、管理ルール13内の読み込みルール132を参照し、複製部124の起動の要否を判定する(S205)。
図10は、読み込みルールの例を示す図である。同図において読み込みルール132は、「対象データ」、「複製先」、「複製閾値」、「複製レベル」、及び「複製条件」等の項目を含む。「対象データ」は、読み込み要求において指定されるパス名(第一の識別名)である。「複製先」は、読み込み対象とされたデータの複製を生成するパス名(第二の識別名)である。複製が行われた後は、「複製先」に示されるパス名が「対象データ」に対する読み込み先となる。したがって、読み込み処理の高速化を望む場合、「複製先」のパス名に対応する記憶媒体は、「対象データ」のパス名に対応する記憶媒体よりアクセス速度が高いものを設定するとよい。本実施の形態では、「対象データ」にはアクセス速度の低いUSBメモリ60に対応するパス名(「/root/readData.dat」)が、「複製先」にはアクセス速度が高いRAM102(メモリディスク)に対応するパス名(「/ram/root/readData.dat」)が設定されている。
「複製閾値」は、読み込み処理が行われた回数によって複製の実行タイミングを示す値である。「複製閾値」が示す回数の読み込み処理が行われたら複製を実行することを示す。アプリ11の実行状況によって、各データは「読み込み回数」が変わることもある。そこで、実行状況に応じて読み込み頻度の高いデータは複製が実行されるように、「複製閾値」に適当な値を設定しておけばよい。また、例えば、頻繁に読み込まれることが確定的なデータについては、「複製閾値」を0回に(画像形成装置10の起動時に複製を実行)にしておくとよい。
「複製レベル」は、複製を実行する複製部124のプロセスの優先度に対応付けられた値である。高い優先度のプロセスの方がCPU101の占有率が高くなるため他の処理に負荷をかける可能性があるが、早いタイミングで複製を実行することができる。「複製条件」は、複製の実行が許可される条件である。本実施の形態では、「複製先」の空き容量が20%以上であることが「複製条件」とされている。
ステップS205では、読み込み部123は、読み込みルール132の「複製閾値」を参照し、「複製閾値」を管理情報14の「読み込み回数」と比較することで今回読み込んだデータ(以下、「カレントデータ」という。)の複製の要否を判定する。本実施の形態において「複製閾値」は「1」であり、「読み込み回数」は「1」である。したがって、読み込み部123は、カレントデータの複製は必要であると判定し、複製部124のプロセスを起動する(S206)。なお、「読み込み回数」が「複製閾値」に達していない場合、複製部124の起動は行われない。
複製部124の起動に際し、読み込み部123から複製部124には、アプリ11より指定されたパス名(/root/readData.dat)が通知される。すなわち、複製部124の一つのプロセスは、一つのデータに対応する。また、複製部124のプロセスの優先度は、「複製レベル」に応じて決定される。
図11は、複製レベルを説明するための図である。同図では、複製のレベルは0〜2の3段階とされている。「複製レベル」0、1、2の場合、複製部124のプロセスは、それぞれ低優先度、中優先度、高優先度によって起動される。本実施の形態において、カレントデータに対応する「複製レベル」は「0」であるため、カレントデータに対する複製部124のプロセスは、低優先度で起動される。なお、図11の内容は、読み込み部123にロジックとして組み込まれていてもよいし、外部ファイル化されていてもよい。
続いて、読み込み部123は、読み込んだデータをアプリ11に出力する(S207)。
一方、起動された複製部124は、読み込み部123より通知されたパス名を「対象データ」とする読み込みルール132(図10)を参照し、当該読み込みルール132より「複製条件」及び「複製先」を取得する(S211)。続いて、複製部124は、「複製条件」が満たされているか否かを判定する(S212)。本実施の形態では、「複製先」(RAM102)の空き容量が20%以上であるか否かが判定される。「複製条件」が満たされていない場合、複製部124は、「複製条件」が満たされるまで待機する。
「複製条件」が満たされている場合、複製部124は、読み込み部123より通知されたパス名(「/root/readData.dat」)に係るファイルよりデータを取得し(S213)、「複製先」に指定されているパス名(「/ram/root/readData.dat」)に係るファイルに当該データの複製を記録する(S214)。したがって、当該複製は、RAM102(メモリディスク)内に生成される。続いて、複製部124は、管理情報14において、読み込み部123より通知されたパス名を「対象データ」とするレコードの「アクセス位置」を更新する(S215)。具体的には、「アクセス位置」の内容を「複製先」のパス名(「/ram/root/readData.dat」)によって書き換える。続いて、複製部124は、自らのプロセスを終了させる。このように、複製処理はアプリ11からの読み込み要求とは非同期に実行される。したがって、読み込み要求に対する読み込み部123による応答性能の劣化を回避することができる。
図12は、複製処理によって更新された管理情報の例を示す図である。同図では、2番目のレコードの「アクセス位置」が、「/ram/root/readData.dat」に更新されている。
その後、アプリ11がステップS201と同じパス名(「/root/readData.dat」)を指定してデータの読み込み要求を読み込み部123に入力したとする(S221)。なお、ステップS221のアプリ11とステップS201のアプリ11とは同じものでもよいし、異なるものでもよい。続いて、読み込み部123は、読み込み対象として指定されたパス名を「対象データ」とするレコードを管理情報14(図12参照)より検索する(S222)。ここでは、2番目のレコードが検索される。そこで、読み込み部123は、検索されたレコードの「アクセス位置」に記録されているパス名に係るファイルよりデータを読み込む(S223)。続いて、読み込み部123は、読み込んだデータをアプリ11に出力する(S224)。ここで、アプリ11からはUSBメモリ60に係るパスに対して読み込みが要求されたにも拘わらず、実際にはRAM102より読み込みが行われた。したがって、読み込み要求から読み込んだデータの出力までの時間は、USBメモリ60に対して読み込みが行われる場合に比べて短い。よって、当該データの読み込みを待機していたアプリ11は、その後の処理に高速に移行することができる。なお、ステップS221において読み込み対象とされたデータについては既に複製が実行されているため、「読み込み回数」のインクリメントや複製部124の起動等は不要である。
なお、上記した通り、「複製閾値」が0に設定された場合は、画像形成装置10の起動時に複製が実行される。具体的には、画像形成装置10の起動時において複製部124が起動されればよい。複製部124は、各読み込みルール132を参照し、「複製閾値」が0である「対象データ」について複製を実行する。したがって、起動時に複製されたデータについては、アプリ11から初めて読み込み要求を受けた場合であっても高速に読み込み処理が実行される。
続いて、書き込み部121によって書き込まれたデータを読み込み部123によって読み込む処理について説明する。すなわち、図3の処理によって「/ram/root/writeData.dat」としてRAM102に書き込まれたデータを読み込む処理である。
この場合、アプリ11は当該データのパスを「/root/writeData.dat」として認識している。したがって、図8のステップS201では、「/root/writeData.dat」が指定されて読み込み要求が読み込み部123に入力される。続いて、読み込み部123は、図7又は図12の状態の管理情報14より、「対象データ」が「/root/writeData.dat」であるレコードを検索する(S202)。ここで、1番目のレコードが検索されるため、読み込み部123は、当該レコードの「アクセス位置」に記録されているパス名(「/ram/root/writeData.dat」)に係るファイルよりデータを読み込む。
このように、書き込み部121によって書き込み処理が行われたデータについても、読み込み部123によって高速に読み込むことができる。
上述したように、本実施の形態によれば、読み込みルール132においてデータごとに複製先を設定することができ、一度複製されたデータは、当該複製先から読み込まれる。したがって、データの用途や特性等に応じて適切な記憶媒体を複製先(すなわち、読み込み先)として選択することができる。
特に、本実施の形態のように、データの複製先(読み込み先)をアクセス速度の高い記憶媒体とすることで、プログラム(本実施の形態におけるアプリ11)の処理性能の向上を期待することができる。
また、複製先の選択は、ファイルシステム管理部12によって一元的に行われるため、各プログラムは複製先の選択について複雑な制御を行う必要はない。
ところで、上記では、ファイルシステム管理部12が各アプリ11から直接利用可能な例について説明した。但し、ファイルシステム管理部12をOS15内に包含することにより、ファイルシステム管理部12をアプリ11から隠蔽するようにしてもよい。
図13は、ファイルシステム管理部が隠蔽される構成例を示す図である。図13中、図2と同一部分には同一符号を付している。
図13の場合、各アプリ11はOS15によって提供されているAPIを介して各ファイルを操作する場合であっても、ファイルシステム管理部12の使用が強制される。このことは、ソースコードを修正しなくても、既存のアプリ11はファイルシステム管理部12の便益を享受可能なことを意味する。但し、図2のアプリ11cのように、ファイルシステム管理部12を介さずに、直接的にファイルの所在を管理することは困難となる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 画像形成装置
11、11a、11b、11c アプリ、
12 ファイルシステム管理部
13 管理ルール
14 管理情報
15 OS
16 ファイルシステム
101 CPU
102 RAM
103 ROM
104 HDD
105 スキャナ
106 プリンタ
107 操作パネル
108 SDカードスロット
109 USBポート
121 書き込み部
122 退避部
123 読み込み部
124 複製部
特開2005−28687号公報

Claims (15)

  1. データの第一の識別情報ごとに予め設定された、該第一の識別情報に対応する第一の記憶媒体とは異なる第二の記憶媒体に対応した第二の識別情報を記憶した規則情報記憶手段と、
    プログラムからのデータの書き込み要求に応じ、該書き込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報に基づいて、前記第二の記憶媒体に該データを書き込む書き込み手段と
    前記書き込み手段によって前記第二の記憶媒体に書き込まれたデータについて、プログラムからの書き込み要求に指定された前記第一の識別情報と、前記規則情報記憶手段において当該第一の識別情報に対応する前記第二の識別情報とを対応付けて記憶する管理情報記憶手段と、
    プログラムからのデータの読み込み要求に応じ、該読み込み要求において指定された前記第一の識別情報に対応付けられて前記管理情報記憶手段に記憶されている第二の識別情報に基づいて、前記第二の記憶媒体より該データを読み込む読み込み手段とを有し、
    前記書き込み手段は、プログラムからのデータの書き込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報が、前記規則情報記憶手段に記憶されていない場合は、該データを、前記第一の識別情報に基づいて、前記第一の記憶媒体に書き込むことを特徴とする情報処理装置。
  2. 前記書き込み要求とは非同期に、前記第二の記憶媒体に書き込まれたデータを前記第一の識別情報に基づいて前記第一の記憶媒体に記録する退避手段を有する請求項1記載の情報処理装置。
  3. データの第一の識別情報ごとに予め設定された、該第一の識別情報に対応する第一の記憶媒体とは異なる第二の記憶媒体に対応した第二の識別情報を記憶した規則情報記憶手段と、
    プログラムからのデータの読み込み要求に応じ、該読み込み要求において指定された前記第一の識別情報に基づいて前記第一の記憶媒体より該データを読み込む読み込み手段と、
    前記読み込み手段が読み込み対象としたデータを、前記読み込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報に基づいて、前記第二の記憶媒体に記録する複製手段と
    前記複製手段によって前記第二の記憶媒体に書き込まれたデータについて、プログラムからの書き込み要求に指定された前記第一の識別情報と、前記規則情報記憶手段において当該第一の識別情報に対応する前記第二の識別情報とを対応付けて記憶する管理情報記憶手段とを有し、
    前記読み込み手段は、前記読み込み要求において指定された前記第一の識別情報に対応付けられて前記管理情報記憶手段に前記第二の識別情報が記憶されているときは、前記第二の識別情報に基づいて前記第二の記憶媒体より該データを読み込む情報処理装置。
  4. 前記複製手段は、前記読み込み手段が読み込み対象としたデータの前記第二の記憶媒体への記録を、前記読み込み要求とは非同期に実行する請求項3記載の情報処理装置。
  5. 前記複製手段は、同一の前記第一の識別情報に基づくデータの読み込み回数と閾値との比較に応じて、前記読み込み手段が読み込み対象としたデータの前記第二の記憶媒体への記録を実行する請求項3又は4記載の情報処理装置。
  6. コンピュータが実行する情報処理方法であって、
    データの第一の識別情報ごとに予め設定された、該第一の識別情報に対応する第一の記憶媒体とは異なる第二の記憶媒体に対応した第二の識別情報を記憶した規則情報記憶手段を用いて、プログラムからのデータの書き込み要求に応じ、該書き込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報に基づいて、前記第二の記憶媒体に該データを書き込む書き込み手順と、
    前記書き込み手順において前記第二の記憶媒体に書き込まれたデータについて、プログラムからの書き込み要求に指定された前記第一の識別情報と、前記規則情報記憶手段において当該第一の識別情報に対応する前記第二の識別情報とを対応付けて管理情報記憶手段に記憶する記憶手順と、
    プログラムからのデータの読み込み要求に応じ、該読み込み要求において指定された前記第一の識別情報に対応付けられて前記管理情報記憶手段に記憶されている第二の識別情報に基づいて、前記第二の記憶媒体より該データを読み込む読み込み手順とを有し、
    前記書き込み手順は、プログラムからのデータの書き込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報が、前記規則情報記憶手段に記憶されていない場合は、該データを、前記第一の識別情報に基づいて、前記第一の記憶媒体に書き込むことを特徴とする情報処理方法。
  7. 前記書き込み要求とは非同期に、前記第二の記憶媒体に書き込まれたデータを前記第一の識別情報に基づいて前記第一の記憶媒体に記録する退避手順を有する請求項6記載の情報処理方法。
  8. コンピュータが実行する情報処理方法であって、
    データの第一の識別情報ごとに予め設定された、該第一の識別情報に対応する第一の記憶媒体とは異なる第二の記憶媒体に対応した第二の識別情報を記憶した規則情報記憶手段を用いて、プログラムからのデータの読み込み要求に応じ、該読み込み要求において指定された前記第一の識別情報に基づいて前記第一の記憶媒体より該データを読み込む読み込み手順と、
    前記読み込み手段が読み込み対象としたデータを、前記読み込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報に基づいて、前記第二の記憶媒体に記録する複製手順と
    前記複製手順において前記第二の記憶媒体に書き込まれたデータについて、プログラムからの書き込み要求に指定された前記第一の識別情報と、前記規則情報記憶手段において当該第一の識別情報に対応する前記第二の識別情報とを対応付けて管理情報記憶手段に記憶する記憶手順とを有し、
    前記読み込み手順は、前記読み込み要求において指定された前記第一の識別情報に対応付けられて前記管理情報記憶手段に前記第二の識別情報が記憶されているときは、前記第二の識別情報に基づいて前記第二の記憶媒体より該データを読み込む情報処理方法。
  9. 前記複製手順は、前記読み込み手段が読み込み対象としたデータの前記第二の記憶媒体への記録を、前記読み込み要求とは非同期に実行する請求項8記載の情報処理方法。
  10. 前記複製手順は、同一の前記第一の識別情報に基づくデータの読み込み回数と閾値との比較に応じて、前記読み込み手段が読み込み対象としたデータの前記第二の記憶媒体への記録を実行する請求項8又は9記載の情報処理方法。
  11. コンピュータに、
    データの第一の識別情報ごとに、該第一の識別情報に対応する第一の記憶媒体とは異なる第二の記憶媒体に対応した第二の識別情報を記憶した規則情報記憶手段を用いて、プログラムからのデータの書き込み要求に応じ、該書き込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報に基づいて、前記第二の記憶媒体に該データを書き込む書き込み手順と、
    前記書き込み手順において前記第二の記憶媒体に書き込まれたデータについて、プログラムからの書き込み要求に指定された前記第一の識別情報と、前記規則情報記憶手段において当該第一の識別情報に対応する前記第二の識別情報とを対応付けて管理情報記憶手段に記憶する記憶手順と、
    プログラムからのデータの読み込み要求に応じ、該読み込み要求において指定された前記第一の識別情報に対応付けられて前記管理情報記憶手段に記憶されている第二の識別情報に基づいて、前記第二の記憶媒体より該データを読み込む読み込み手順とを実行させ、
    前記書き込み手順は、プログラムからのデータの書き込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報が、前記規則情報記憶手段に記憶されていない場合は、該データを、前記第一の識別情報に基づいて、前記第一の記憶媒体に書き込むことを特徴とする情報処理プログラム。
  12. 前記書き込み要求とは非同期に、前記第二の記憶媒体に書き込まれたデータを前記第一の識別情報に基づいて前記第一の記憶媒体に記録する退避手順を有する請求項11記載の情報処理プログラム。
  13. コンピュータに、
    データの第一の識別情報ごとに予め設定された、該第一の識別情報に対応する第一の記憶媒体とは異なる第二の記憶媒体に対応した第二の識別情報を記憶した規則情報記憶手段を用いて、プログラムからのデータの読み込み要求に応じ、該読み込み要求において指定された前記第一の識別情報に基づいて前記第一の記憶媒体より該データを読み込む読み込み手順と、
    前記読み込み手段が読み込み対象としたデータを、前記読み込み要求において指定された前記第一の識別情報に対応する前記第二の識別情報に基づいて、前記第二の記憶媒体に記録する複製手順と
    前記複製手順において前記第二の記憶媒体に書き込まれたデータについて、プログラムからの書き込み要求に指定された前記第一の識別情報と、前記規則情報記憶手段において当該第一の識別情報に対応する前記第二の識別情報とを対応付けて管理情報記憶手段に記憶する記憶手順とを実行させ、
    前記読み込み手順は、前記読み込み要求において指定された前記第一の識別情報に対応付けられて前記管理情報記憶手段に前記第二の識別情報が記憶されているときは、前記第二の識別情報に基づいて前記第二の記憶媒体より該データを読み込む情報処理プログラム。
  14. 前記複製手順は、前記読み込み手段が読み込み対象としたデータの前記第二の記憶媒体への記録を、前記読み込み要求とは非同期に実行する請求項13記載の情報処理プログラム。
  15. 前記複製手順は、同一の前記第一の識別情報に基づくデータの読み込み回数と閾値との比較に応じて、前記読み込み手段が読み込み対象としたデータの前記第二の記憶媒体への記録を実行する請求項13又は14記載の情報処理プログラム。
JP2009126865A 2009-05-26 2009-05-26 情報処理装置、情報処理方法、及び情報処理プログラム Active JP5487725B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009126865A JP5487725B2 (ja) 2009-05-26 2009-05-26 情報処理装置、情報処理方法、及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009126865A JP5487725B2 (ja) 2009-05-26 2009-05-26 情報処理装置、情報処理方法、及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2010277184A JP2010277184A (ja) 2010-12-09
JP5487725B2 true JP5487725B2 (ja) 2014-05-07

Family

ID=43424117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009126865A Active JP5487725B2 (ja) 2009-05-26 2009-05-26 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP5487725B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5746100B2 (ja) * 2011-12-27 2015-07-08 京セラドキュメントソリューションズ株式会社 画像形成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0448365A (ja) * 1990-06-18 1992-02-18 Hitachi Ltd ローカルエリアネットワークとファイル管理方法
JPH04170625A (ja) * 1990-11-05 1992-06-18 Hitachi Ltd ファイル回復処理システム
JPH04184637A (ja) * 1990-11-20 1992-07-01 Omron Corp ファイル管理システム
JP2002132455A (ja) * 2000-10-25 2002-05-10 Hitachi Ltd キャッシュマネジャー及びこれを含むコンピュータシステム
JP4445783B2 (ja) * 2003-12-09 2010-04-07 株式会社日立製作所 ファイル管理装置、ファイル管理装置を用いた計算機システム
JP4892812B2 (ja) * 2004-04-28 2012-03-07 株式会社日立製作所 キャッシュ制御およびデータ処理システム並びにその処理プログラム

Also Published As

Publication number Publication date
JP2010277184A (ja) 2010-12-09

Similar Documents

Publication Publication Date Title
JP4422652B2 (ja) 漸進的マージ方法及びそれを利用したメモリシステム
US9256542B1 (en) Adaptive intelligent storage controller and associated methods
US10120795B2 (en) Wear-leveling nandflash memory reading/writing method
JPH10154101A (ja) データ記憶システム及び同システムに適用するキャッシュ制御方法
US8250245B2 (en) Information processing system, with information processing terminal capable of operating in multiple operation modes when connected to a host device
US8850148B2 (en) Data copy management for faster reads
KR101478619B1 (ko) 가상화 기술을 이용한 데이터 입출력 방법 및 장치
CN114371814B (zh) 数据处理的方法、装置及固态硬盘
JP2008310664A (ja) アクセス制御装置、アクセス制御方法、アクセス制御プログラムおよび記録媒体
US20140181161A1 (en) Method and system for speeding up computer program
JP5487725B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US20060248327A1 (en) Computer rapid boot system and method
JP6100750B2 (ja) メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置
US10776261B2 (en) Storage apparatus managing system and storage apparatus managing method for increasing data reading speed
CN108984117B (zh) 一种数据读写方法、介质及设备
JP2011090531A (ja) 情報記憶装置
US20110106861A1 (en) Interface Techniques Providing Contiguous Storage For Files
CN111831327A (zh) 可执行指令的电子装置以及指令执行方法
US20090024786A1 (en) External storage device
US11256618B2 (en) Storage apparatus managing system comprising local and global registering regions for registering data and associated method
US20210303212A1 (en) Data processing method and memory controller utilizing the same
JP4624702B2 (ja) 仮想テープ装置の制御システムおよび制御プログラム
JP2011113625A (ja) 記録再生装置
JP2006039756A (ja) 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム
CN115016733A (zh) 一种脏数据删除方法、装置及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130911

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: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R151 Written notification of patent or utility model registration

Ref document number: 5487725

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151