JP2008257584A - Ramディスクの処理方法及びシステム - Google Patents
Ramディスクの処理方法及びシステム Download PDFInfo
- Publication number
- JP2008257584A JP2008257584A JP2007100823A JP2007100823A JP2008257584A JP 2008257584 A JP2008257584 A JP 2008257584A JP 2007100823 A JP2007100823 A JP 2007100823A JP 2007100823 A JP2007100823 A JP 2007100823A JP 2008257584 A JP2008257584 A JP 2008257584A
- Authority
- JP
- Japan
- Prior art keywords
- ram disk
- file
- disk image
- image
- ram
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】
RAMディスクを既存のファイルシステムのデータ形式と互換性を保ちつつ、RAMディスクイメージの圧縮率を向上させる。
【解決手段】
RAMディスクの利用を開始する時に、二次記憶装置に圧縮して保存されたRAMディスクイメージをから読み出してメモリに格納し、RAMディスクの利用を終了する時にRAMディスクイメージを二次記憶装置へ圧縮保存するRAMディスクの処理方法において、RAMディスクイメージを圧縮保存処理する前に、RAMディスクの無効領域をクリア処理する。クリア処理は、例えばRAMディスクイメージを二次記憶装置へ保存する直前に、無効領域に所定のデータ0'を連続的に書き込むことにより行う。
【選択図】図1
RAMディスクを既存のファイルシステムのデータ形式と互換性を保ちつつ、RAMディスクイメージの圧縮率を向上させる。
【解決手段】
RAMディスクの利用を開始する時に、二次記憶装置に圧縮して保存されたRAMディスクイメージをから読み出してメモリに格納し、RAMディスクの利用を終了する時にRAMディスクイメージを二次記憶装置へ圧縮保存するRAMディスクの処理方法において、RAMディスクイメージを圧縮保存処理する前に、RAMディスクの無効領域をクリア処理する。クリア処理は、例えばRAMディスクイメージを二次記憶装置へ保存する直前に、無効領域に所定のデータ0'を連続的に書き込むことにより行う。
【選択図】図1
Description
本発明はRAMディスクの処理方法及びシステムに係り、特に組込機器など計算機資源に制限がある情報処置装置において、RAMディスクイメージを圧縮して二次記憶装置に保存するRAMディスクの運用処理に関する。
一般に情報処理システムでは、データの保存にハードディスク(HDD)やコンパクトフラッシュ(登録商標)等の記録媒体が利用されている。しかし、これらの記録媒体は、(1)アクセス速度が遅い、(2)アクセス中にシステム障害が発生すると媒体自体が壊れてしまうことがある、等の欠点がある。この欠点を補う技術として、ランダムアクセスメモリ(RAM)を記録媒体として利用するRAMディスクが実用化している。
RAMディスクはシステム障害が発生しても記録媒体であるRAMが壊れることはないが、システムを停止する度にデータが消えるという欠点を持つ。そこで、RAMディスクを利用する場合、システム停止時にRAMディスクの内容をHDDなどの他の記録媒体に保存しておき、システム起動時にその記録媒体からRAMディスクを復元する運用が行われている。
例えば特開2003-122647公報には、情報処理装置内で故障が検出されると、RAMディスクの内容を二次記憶装置に保存する技術が開示されている。とりわけ、その保存の際に、RAMディスクイメージを圧縮し、かつRAMディスクの有効領域のみ保存することで、二次記憶装置の記録量を削減する工夫が図られている。
一般的なファイルシステムにおいてはファイルを削除する時に管理情報のみを削除するため、ディスクイメージ内の無効領域には以前に記録されたデータが残される。従って、特許文献1に記載されているRAMディスクイメージを圧縮する方法を運用し続けると、無効領域に残されたデータも含めたRAMディスクイメージを圧縮するために、圧縮率が次第に低下するという課題がある。圧縮率が低下すると、データ圧縮処理(データのモデル化や符号化処理)が複雑になるため、圧縮処理時間が増加するという副次的な問題も発生する。
また特許文献1には、別の保存方式としてRAMディスクの有効領域のみを保存する方式が記載されている。この方式では上記のような問題は発生しないが、作成されるRAMディスクイメージが元のRAMディスクのファイルシステムイメージとは異なる形式で保存されるため、他のシステムとの互換性がなくなるという課題がある。
RAMディスクを利用する組込機器のシステムメンテナンスでは、組込機器からRAMディスクイメージを読み出し、他の管理端末上でRAMディスクイメージをマウントして内容を更新した後、更新後のRAMディスクイメージを組込機器へ書き戻すという運用が行われている。RAMディスクイメージが他のシステムと互換性が無くなると、管理端末上でRAMディスクイメージをマウントすることができなくなり、運用に支障をきたす。
また、停電やバッテリ不足等で情報処理装置の緊急停止が必要になった場合、速やかにRAMディスクを二次記憶装置へ保存する必要があるが、RAMディスクの有効領域のみを保存するためにはRAMディスクの管理領域をチェックする必要があり、プロセッサ性能が低い組込機器では、処理に時間がかかるという課題がある。
本発明の目的は、RAMディスクを既存のファイルシステムのデータ形式と互換性を保ちつつ、RAMディスクイメージの圧縮率を向上させることができるRAMディスクの処理方法及びそのシステムを提供する。
本発明に係るRAMディスクの処理(第1発明)は、好ましくは、RAMディスクの利用を開始する時に、二次記憶装置に圧縮して保存されたRAMディスクイメージをから読み出してメモリに格納し、RAMディスクの利用を終了する時にRAMディスクイメージを二次記憶装置へ圧縮保存するRAMディスクの処理方法において、RAMディスクイメージを圧縮保存処理する前に、RAMディスクの無効領域をクリア処理することにより実現される。
好ましくは、前記クリア処理は、RAMディスクイメージを二次記憶装置へ保存する直前に、無効領域に所定のデータ、例えばゼロ0'を連続的に書き込むことにより行う。
また、好ましくは、前記クリア処理は、RAMディスクを使用中に、無効領域を任意の容量ずつ分けて、所定のデータを連続的に書き込むことにより行う。
また、好ましくは、前記クリア処理は、ファイルの削除又はファイルサイズを縮小する時に、RAMディスクの無効となった領域に対して、所定のデータを連続的に書き込むことにより行う。
好ましくは、前記クリア処理は、RAMディスクイメージを二次記憶装置へ保存する直前に、無効領域に所定のデータ、例えばゼロ0'を連続的に書き込むことにより行う。
また、好ましくは、前記クリア処理は、RAMディスクを使用中に、無効領域を任意の容量ずつ分けて、所定のデータを連続的に書き込むことにより行う。
また、好ましくは、前記クリア処理は、ファイルの削除又はファイルサイズを縮小する時に、RAMディスクの無効となった領域に対して、所定のデータを連続的に書き込むことにより行う。
本発明に係るRAMディスクの処理方法(第2発明)は、好ましくは、RAMディスクを利用する第1の装置(例えば情報処理装置)と、RAMディスクイメージを管理する第2の装置(例えば管理端末)がネットワークを介して接続され、第1の装置はRAMディスクの利用を開始する時にRAMディスクイメージを第2の装置から読み出してメモリに格納し、RAMディスクの利用を終了する時にRAMディスクイメージをメモリから読み出して第2の装置に保存するRAMディスクの処理方法において、
RAMディスクの利用率が第1の基準値未満の場合、第1の装置で、RAMディスクの無効領域をクリアする処理と、RAMディスクイメージを圧縮する処理を行い、
RAMディスクの利用率が第2の基準値未満の場合、第2の装置で、RAMディスクの無効領域をクリアする処理と、RAMディスクイメージを圧縮する処理を行い、
RAMディスクの利用率が第2の基準値以上の場合、RAMディスクの無効領域をクリアする処理を行わずに、RAMディスクイメージを圧縮処理しないで第2の装置に保存するRAMディスクの処理方法として構成される。
RAMディスクの利用率が第1の基準値未満の場合、第1の装置で、RAMディスクの無効領域をクリアする処理と、RAMディスクイメージを圧縮する処理を行い、
RAMディスクの利用率が第2の基準値未満の場合、第2の装置で、RAMディスクの無効領域をクリアする処理と、RAMディスクイメージを圧縮する処理を行い、
RAMディスクの利用率が第2の基準値以上の場合、RAMディスクの無効領域をクリアする処理を行わずに、RAMディスクイメージを圧縮処理しないで第2の装置に保存するRAMディスクの処理方法として構成される。
また、本発明に係るRAMディスクの処理方法(第3発明)は、好ましくは、RAMディスクを利用する第1の装置と、RAMディスクイメージを管理する第2の装置がネットワークを介して接続され、第1の装置はRAMディスクの利用を開始する時にRAMディスクイメージを第2の装置から読み出してメモリに格納し、RAMディスクの利用を終了する時にRAMディスクイメージをメモリから読み出して第2の装置に保存するRAMディスクの処理方法において、第2の装置は、第1の装置へ配信するRAMディスクイメージを第2の装置内で更新することでメンテナンス処理を行い、メンテナンス処理が終了した後、第2の装置はメンテナンス処理によって生じたRAMディスクの無効領域をクリア処理した後、RAMディスクイメージを圧縮処理して保存するRAMディスクの処理方法として構成される。
また、本発明は、上記第1乃至第3の処理を実行する情報処理システム、及びプログラムとしても把握され得る。
また、本発明は、上記第1乃至第3の処理を実行する情報処理システム、及びプログラムとしても把握され得る。
本発明によれば、RAMディスクイメージを二次記憶装置に保存するときにRAMディスクの無効領域をクリア処理することで、既存システムとの互換性を保ちつつ、RAMディスクイメージの圧縮率を向上することが可能である。
また、RAMディスク利用中に無効領域のクリア処理を任意の容量ずつ分けて実行することで、RAMディスクイメージを保存する時にクリア処理を省略することが可能となり、RAMディスクイメージの保存処理を高速化することができる。
また、ファイル削除及びファイルサイズ縮小時にRAMディスクの無効領域をクリア処理し、RAMディスクイメージを保存する時に全ての無効領域がクリアされている状態とすることで、RAMディスクの圧縮率を向上させることができる。
また、RAMディスク利用中に無効領域のクリア処理を任意の容量ずつ分けて実行することで、RAMディスクイメージを保存する時にクリア処理を省略することが可能となり、RAMディスクイメージの保存処理を高速化することができる。
また、ファイル削除及びファイルサイズ縮小時にRAMディスクの無効領域をクリア処理し、RAMディスクイメージを保存する時に全ての無効領域がクリアされている状態とすることで、RAMディスクの圧縮率を向上させることができる。
また、第2発明によれば、RAMディスクの利用率に応じて、第1の装置か又は第2の装置で無効領域のクリア処理とRAMディスクイメージの圧縮処理を行うか、或いは、RAMディスクの無効領域のクリア処理を行わずに、RAMディスクイメージを圧縮しないで保存することで、ネットワークの負荷と圧縮処理時間のバランスを考慮してRAMディスクを運用することが可能となる。
また、第3発明によれば、第2の装置は第1の装置へ配信するRAMディスクイメージを第2の装置内で更新することでメンテナンスし、メンテナンス処理を終了した後、第2の装置は上記メンテナンス処理で発生したRAMディスクの無効領域をクリア処理してからRAMディスクイメージを圧縮保存することで、RAMディスクの圧縮率を向上させることができる。
また、第3発明によれば、第2の装置は第1の装置へ配信するRAMディスクイメージを第2の装置内で更新することでメンテナンスし、メンテナンス処理を終了した後、第2の装置は上記メンテナンス処理で発生したRAMディスクの無効領域をクリア処理してからRAMディスクイメージを圧縮保存することで、RAMディスクの圧縮率を向上させることができる。
[実施例1]
以下、図面を参照して一実施例について説明する。
図1は、一実施例における情報処理システムの構成を示す。図示される情報処理装置1の構成は、プログラムの実行によって実現される各種機能を示す。情報処理装置1のバードウェアの構成は、図15に示される。まず、図15を参照するに、情報処理装置1は、関係するプログラムを実行して所定の処理機能を実現するCPU1501、実行する予定のプログラムや本発明に関係するRAMディスクイメージを記憶するメモリ1502、RAMディスクイメージ及び種々のプログラム等を記憶するHDD等の二次記憶装置1503、デバイスを接続するデバイスアダプタ1504、及び外部ネットワークと接続するための通信インタフェース部1505を有して構成される。なお、情報処理装置1のハードウェア構成は、後述する実施例1〜4においても同様である。
以下、図面を参照して一実施例について説明する。
図1は、一実施例における情報処理システムの構成を示す。図示される情報処理装置1の構成は、プログラムの実行によって実現される各種機能を示す。情報処理装置1のバードウェアの構成は、図15に示される。まず、図15を参照するに、情報処理装置1は、関係するプログラムを実行して所定の処理機能を実現するCPU1501、実行する予定のプログラムや本発明に関係するRAMディスクイメージを記憶するメモリ1502、RAMディスクイメージ及び種々のプログラム等を記憶するHDD等の二次記憶装置1503、デバイスを接続するデバイスアダプタ1504、及び外部ネットワークと接続するための通信インタフェース部1505を有して構成される。なお、情報処理装置1のハードウェア構成は、後述する実施例1〜4においても同様である。
次に図1を参照するに、ユーザアプリケーション(UAP)3はCPU1501で実行され、デバイス13の制御及びそれから取得されたデータの処理を行う。UAP3は、例えば外部ネットワーク11に接続された上位装置(図示せず)からの指示に従ってデバイス13を駆動し、その処理結果を上位装置に返す。デバイス13はシリアルドライバ12を介して駆動される各種デバイスであり、具体的にはRFIDリーダ/ライタ、温度センサ、赤外線センサ等である。情報処理装置1は、ネットワークドライバ10を介して外部ネットワーク11と通信可能である。
二次記憶装置2にはRAMディスクイメージ8が保存され、CPU1501は、起動時に二次記憶装置2に格納されたRAMディスクイメージ8を、ディスクドライバ9を経由してメモリ1502内に読み込み、RAMディスク7を構成する。RAMディスクイメージ8としては、OS(オペレーティングシステム)、USP3、ファイルシステム5で使用される各種ファイルが含まれる。
保存処理部4は、情報処理装置1の起動時に、二次記憶装置2からRAMディスクイメージ8をメモリ1502に読み込むマウント処理、及び情報処理装置1を停止する時に、RAMディスク7をアンマウントし、ディスクドライバ9を経由してRAMディスクイメージを、二次記憶装置2に保存する処理を行う。本実施例では、RAMディスクのアンマウントに際して特徴的な処理を行う。
保存処理部4は、情報処理装置1の起動時に、二次記憶装置2からRAMディスクイメージ8をメモリ1502に読み込むマウント処理、及び情報処理装置1を停止する時に、RAMディスク7をアンマウントし、ディスクドライバ9を経由してRAMディスクイメージを、二次記憶装置2に保存する処理を行う。本実施例では、RAMディスクのアンマウントに際して特徴的な処理を行う。
通常、CPU1501がデータ処理を行う場合、UAP3はファイルシステム5を経由してRAMディスク7へアクセスする。ファイルシステム5は、RAMディスク7に格納されたデータを解釈し、UAP3がRAMディスク7をツリー構造のファイルシステムとして利用できるようにする。またファイルシステム5は、RAMディスク7へアクセスする際に利用頻度が高いデータをキャッシュ6に蓄えることで、RAMディスク7とのアクセス回数を減らす。
なお、情報処理装置1はデバイス13を制御するので、デバイス制御端末と呼んでもよく、その呼び名は特定されない。
なお、情報処理装置1はデバイス13を制御するので、デバイス制御端末と呼んでもよく、その呼び名は特定されない。
図2はRAMディスク7及びキャッシュ6のメモリの構成を示す。
RAMディスク7は、ファイルシステム管理領域71、ファイル管理領域72、データブロック領域73から構成される。ファイルシステム管理領域71は、ディスクサイズ、空きデータブロック数、ボリューム名等の、ファイルシステム自体の管理情報を保存する領域である。ファイル管理領域72は、ファイルサイズ、ファイル更新日時、ファイルアクセス権等の、各ファイルの属性情報を記録する領域である。データブロック領域73は、各ファイルの内容を保存する領域である。
RAMディスク7は、ファイルシステム管理領域71、ファイル管理領域72、データブロック領域73から構成される。ファイルシステム管理領域71は、ディスクサイズ、空きデータブロック数、ボリューム名等の、ファイルシステム自体の管理情報を保存する領域である。ファイル管理領域72は、ファイルサイズ、ファイル更新日時、ファイルアクセス権等の、各ファイルの属性情報を記録する領域である。データブロック領域73は、各ファイルの内容を保存する領域である。
キャッシュ6のメモリ構造はRAMディスク7と同様であり、ファイルシステム管理領域61、ファイル管理領域62、データブロック領域63から構成される。キャッシュ6には、実際にアクセスしたファイルに関するデータのみが蓄えられるため、ファイル管理領域62とデータブロック領域63のサイズは、対応するRAMディスク7の領域以下の大きさになる。ファイルシステム管理領域61は、RAMディスク7のファイルシステム管理領域71をそのままコピーするため、領域サイズは等しくなる。
ここで、ファイル管理領域72及びデータブロック領域73はファイルが削除されたり更新されると無効領域が生じるので、後述するようなクリア処理が行われる。しかし、ファイルシステム管理領域71に保持されるシステム管理情報は基本的に全て有効であるので、この領域に対してはクリア処理が行われない。
ここで、ファイル管理領域72及びデータブロック領域73はファイルが削除されたり更新されると無効領域が生じるので、後述するようなクリア処理が行われる。しかし、ファイルシステム管理領域71に保持されるシステム管理情報は基本的に全て有効であるので、この領域に対してはクリア処理が行われない。
図3はRAMディスク7内のファイル管理領域72のメモリ構成を示す。
ファイル管理領域72は、ビットマップ74の次に、複数のファイル管理情報75が続く構造になっている。ファイル管理情報75はファイルと1対1に対応し、属性情報76とブロックリスト77から構成される。属性情報76にはファイルサイズ、ファイル更新日時、ファイルアクセス権など各ファイルの属性情報を記録する。ブロックリスト77には、ファイルの内容が記録されているデータブロック79のアドレスが保持される。ファイルサイズが増加すると、1つのファイルは通常複数のデータブロック79を使用することになるので、ブロックリスト77は複数のデータブロックの位置を記録可能な構成となっている。
ファイル管理領域72は、ビットマップ74の次に、複数のファイル管理情報75が続く構造になっている。ファイル管理情報75はファイルと1対1に対応し、属性情報76とブロックリスト77から構成される。属性情報76にはファイルサイズ、ファイル更新日時、ファイルアクセス権など各ファイルの属性情報を記録する。ブロックリスト77には、ファイルの内容が記録されているデータブロック79のアドレスが保持される。ファイルサイズが増加すると、1つのファイルは通常複数のデータブロック79を使用することになるので、ブロックリスト77は複数のデータブロックの位置を記録可能な構成となっている。
ビットマップ74は、ファイル管理領域72内のファイル管理情報75の各エントリが有効であるか無効であるかを示すビットマップである。すなわち、ビットマップ74のN番目のビットが1(有効)であれば、ファイル管理情報75内のN番目のエントリが有効である。例えばファイルを削除すれば、削除したファイルに対応するファイル管理情報75が無効になるので、ファイルシステム5はビットマップ74の対応するビットは1(有効)から0(無効)に変更される。
図4はRAMディスク7内のデータブロック領域73のメモリ構成を示す。
データブロック領域73は、ビットマップ78の次に、複数のデータブロック79が続く構成になっている。データブロック79にはファイルの内容が記録され、ファイル管理情報75内のブロックリスト77から参照される。
ビットマップ78は、データブロック79の各エントリが有効であるか無効であるかを示すビットマップである。すなわちビットマップ78のN番目のビットが1(有効)であれば、データブロック領域73内のN番目のエントリが有効である。例えばファイルが削除されたり、ファイルサイズが縮小されると、ファイルが利用していたデータブロックが無効になるので、ファイルシステム5はビットマップ78の対応するビットは1(有効)から0(無効)に変更される。
データブロック領域73は、ビットマップ78の次に、複数のデータブロック79が続く構成になっている。データブロック79にはファイルの内容が記録され、ファイル管理情報75内のブロックリスト77から参照される。
ビットマップ78は、データブロック79の各エントリが有効であるか無効であるかを示すビットマップである。すなわちビットマップ78のN番目のビットが1(有効)であれば、データブロック領域73内のN番目のエントリが有効である。例えばファイルが削除されたり、ファイルサイズが縮小されると、ファイルが利用していたデータブロックが無効になるので、ファイルシステム5はビットマップ78の対応するビットは1(有効)から0(無効)に変更される。
以下、情報処理装置1が停止する時に、保存処理部4がRAMディスク7のRAMディスクイメージを二次記憶装置2へ保存する手順について説明する。ファイルシステム5はファイルサイズ縮小やファイル削除を行う際、ファイル管理領域72内のビットマップ74や、データブロック領域73内のビットマップ78のビットを0(無効)にするだけであり、ファイル管理情報75やデータブロック79のクリアは行わない。従って、RAMディスク7の無効領域(無効となったファイル管理情報75やデータブロック79)には、以前使用していたデータがそのまま残されており、RAMディスク7をそのまま圧縮すると無効領域に残されたデータも圧縮するため、圧縮率が低下する。そこで、保存処理部4はシステム停止時にRAMディスクの内容をチェックし、無効領域を0クリア処理する。0クリアしたデータの圧縮率は非常によいため、これによってRAMディスク7全体の圧縮率が向上し、圧縮処理時間が短縮される。
次に、図5のフローを参照して、この情報処理システムを停止する時の保存処理部4による動作について説明する。
情報処理装置1の停止処理が開始されると、保存処理部4はファイルシステム5に、RAMディスク7のアンマウントを要求する。ファイルシステム5はキャッシュ6内に格納されたデータのうち、RAMディスク7に書き戻す必要があるものを書き戻した後、RAMディスクをアンマウントする(S10)。
以下の処理動作において、保存処理部4はRAMディスク7へアクセスするが、このとき保存処理部4はファイルシステム5を経由せずに直接RAMディスク7へアクセスする。例えばUNix系システムの場合、RAMディスクに対応するデバイスファイルへアクセスすることでRAMディスク7への直接アクセスする。
情報処理装置1の停止処理が開始されると、保存処理部4はファイルシステム5に、RAMディスク7のアンマウントを要求する。ファイルシステム5はキャッシュ6内に格納されたデータのうち、RAMディスク7に書き戻す必要があるものを書き戻した後、RAMディスクをアンマウントする(S10)。
以下の処理動作において、保存処理部4はRAMディスク7へアクセスするが、このとき保存処理部4はファイルシステム5を経由せずに直接RAMディスク7へアクセスする。例えばUNix系システムの場合、RAMディスクに対応するデバイスファイルへアクセスすることでRAMディスク7への直接アクセスする。
保存処理部4は、RAMディスク7のファイル管理領域72内のビットマップ74に記録されたビットを順にチェックする(S11)。そしてビットが0であれば対応するファイル管理情報75が無効であるので、そのファイル管理情報75のエントリを0クリア処理する。すなわち、ビットマップ74のN番目のビットが0(無効)であれば、N番目のファイル管理情報75のエントリが使用するメモリ領域に0'を書き込む。ビットが1であれば、対応するファイル管理情報75は有効であるので、0クリア処理を行わない(S12、S13)。保存処理部4は、ビットマップ74の最終ビットの処理を終えるまでS11〜S13の処理を繰り返す(S14)。
続いて、保存処理部4は、RAMディスク7のデータブロック領域73内のビットマップ78に記録されたビットを順にチェックし(S15)、ビットが0であれば、対応するデータブロック79が無効であるので、そのデータブロック79のエントリを0クリア処理する。すなわちビットマップ78のN番目のビットが0(無効)であれば、N番目のデータブロック79が使用するメモリ領域を0'を書き込む。ビットが1であれば、対応するデータブロック79は有効であるので、0クリア処理を行わない(S16、S17)。保存処理部4は、ビットマップ78の最終ビットの処理を終えるまでS15〜S17の処理を繰り返す。(S18)
以上の処理でRAMディスク7内の無効領域は全て0クリアされる。最後に保存処理部4は、RAMディスク7のデータを圧縮処理し、RAMディスクイメージ8として二次記憶装置2に保存する(S19)。以上で、保存処理部4によるRAMディスク7の保存処理が完了する。
以上の処理でRAMディスク7内の無効領域は全て0クリアされる。最後に保存処理部4は、RAMディスク7のデータを圧縮処理し、RAMディスクイメージ8として二次記憶装置2に保存する(S19)。以上で、保存処理部4によるRAMディスク7の保存処理が完了する。
なお、本実施例では、無効領域に所定のデータとして0'を書き込むことによりクリア処理を行っているが、所定のデータは単純なパターンであれば0'に限らず何でも良く、例えば−1'を書き込んでもよい。以下の実施例でも同様である。
また、上記例では、ファイル管理領域72とデータブロック領域73の両方の無効領域に対して0クリア処理を行っているが、処理時間削減のためにいずれか一方のみを実施してもよい。また、各無効領域に対する0クリア処理を全部行わないで、部分的に実施してもよい。
また、上記例では、通常のシステム停止時に行う処理としているが、バッテリ残量不足、システム障害等の原因により、システムの緊急停止が必要な場合に行ってもよい。
また、上記例では、ファイル管理領域72とデータブロック領域73の両方の無効領域に対して0クリア処理を行っているが、処理時間削減のためにいずれか一方のみを実施してもよい。また、各無効領域に対する0クリア処理を全部行わないで、部分的に実施してもよい。
また、上記例では、通常のシステム停止時に行う処理としているが、バッテリ残量不足、システム障害等の原因により、システムの緊急停止が必要な場合に行ってもよい。
また、上記例において、ステップS10とS11の間で、RAMディスク7をデフラグすることで、S19におけるRAMディスク7の圧縮率が更に向上する。デフラグ処理はRAMディスク7内のフラグメンテーションを解消する処理であり、これによってディスク領域の無効領域が連結されるため、RAMディスク7の圧縮率が向上する。但し、デフラグ処理は一般に時間がかかるので、好適には情報処理装置1のCPU1501のプロセッサ性能がよいか、もしくはシステム停止にある程度時間をかけてもよい場合に限って行う。ここで、上記デフラグ処理は既存のツールを利用することができる。
なお、本実施例において、キャッシュ機能に対応した既存のファイルシステムを使用すると、RAMディスクの場合もキャッシュが作成されることがあるが、RAMを記録媒体として利用するRAMディスクではキャッシュは不要としてもよい。
なお、本実施例において、キャッシュ機能に対応した既存のファイルシステムを使用すると、RAMディスクの場合もキャッシュが作成されることがあるが、RAMを記録媒体として利用するRAMディスクではキャッシュは不要としてもよい。
[実施例2]
実施例1では、RAMディスクの無効領域0クリア処理をシステム停止時に行っているので、システム停止処理に時間がかかる可能性がある。実施例2では、システム動作時にRAMディスクの無効領域を分割して0クリア処理することで、システム停止時におけるRAMディスクの無効領域0クリア処理が不要又は減少となる。これによって、システム停止処理を高速化することができる。
実施例1では、RAMディスクの無効領域0クリア処理をシステム停止時に行っているので、システム停止処理に時間がかかる可能性がある。実施例2では、システム動作時にRAMディスクの無効領域を分割して0クリア処理することで、システム停止時におけるRAMディスクの無効領域0クリア処理が不要又は減少となる。これによって、システム停止処理を高速化することができる。
図6は本実施例における情報処理装置1の構成を示す。
実施例1と相違する点は、ディスクチェッカ14が追加されたことである。本実施例における情報処理装置1の動作は実施例1と実質的に同じであるので、以下、相違点について説明する。
ディスクチェッカ14は、情報処理装置1のシステム動作時に定期的に起動し、キャッシュ6を参照しながら、RAMディスクの無効領域を数ブロックずつ0クリアする。従って、システム停止時にはRAMディスク7の殆どもしくは全ての無効領域が、既に0クリアされていることになる。システム停止時、保存処理部4はRAMディスク7をアンマウントした後、直ちにRAMディスク7をデータ圧縮して二次記憶装置2に保存する。すなわち図5におけるS10の後、S19を行うことになり、S11〜S18の処理は省略する。
実施例1と相違する点は、ディスクチェッカ14が追加されたことである。本実施例における情報処理装置1の動作は実施例1と実質的に同じであるので、以下、相違点について説明する。
ディスクチェッカ14は、情報処理装置1のシステム動作時に定期的に起動し、キャッシュ6を参照しながら、RAMディスクの無効領域を数ブロックずつ0クリアする。従って、システム停止時にはRAMディスク7の殆どもしくは全ての無効領域が、既に0クリアされていることになる。システム停止時、保存処理部4はRAMディスク7をアンマウントした後、直ちにRAMディスク7をデータ圧縮して二次記憶装置2に保存する。すなわち図5におけるS10の後、S19を行うことになり、S11〜S18の処理は省略する。
図7にキャッシュ6のメモリ構造を示す。
キャッシュ6はRAMディスク7の一部がコピーされるので、実質的には図2〜図4に示したRAMディスク7のメモリの構成と同様である。キャッシュ6のファイル管理領域62、ビットマップ64、ファイル管理情報65は、RAMディスク7のファイル管理領域72、ビットマップ74、ファイル管理情報75に対応する。同様に、キャッシュ6のデータブロック領域63、ビットマップ68、データブロク69は、RAMディスク7のデータブロック領域73、ビットマップ78、データブロック79に対応する。
キャッシュ6はRAMディスク7の一部がコピーされるので、実質的には図2〜図4に示したRAMディスク7のメモリの構成と同様である。キャッシュ6のファイル管理領域62、ビットマップ64、ファイル管理情報65は、RAMディスク7のファイル管理領域72、ビットマップ74、ファイル管理情報75に対応する。同様に、キャッシュ6のデータブロック領域63、ビットマップ68、データブロク69は、RAMディスク7のデータブロック領域73、ビットマップ78、データブロック79に対応する。
但し、RAMディスク内のどの部分のコピーであるかを示すために、ファイル管理情報65とデータブロック69には、管理番号65a及び管理番号69bが追加されている。ファイル管理情報65に追加された管理番号65aは、ファイル管理情報65がRAMディスク7内のファイル管理領域72に記録された何番目のファイル管理情報75のエントリに対応するかを示す。また、データブロック69に追加された管理番号69bは、データブロック69がRAMディスク7内のデータブロック領域73に記録された何番目のデータブロック79のエントリに対応するかを示す。
また、各ファイル管理情報65やデータブロック69をRAMディスク7に書き戻す必要があるかどうかを示すために、ファイル管理情報65とデータブロック69には、Dirtyビット65b及びDirtyビット69cが追加されている。書き戻す必要があれば、Dirtyビット65b及びDirtyビット69cには1がセットされ、書き戻す必要がなければ0がセットされる。尚、ファイル削除やファイルサイズ縮小等によって、ファイル管理情報65やデータブロック69が無効となった場合、ファイルシステム5はこれらエントリがDirtyであっても書き戻さずにこれらエントリが占有するメモリを廃棄する。
ビットマップ64及びビットマップ68については、全情報がRAMディスク7からキャッシュ6にコピーされ、RAMディスク内のビットマップ74及びビットマップ78の完全な複製となっている。従って、キャッシュ6内のビットマップ64及びビットマップ68を参照すれば、ファイル管理情報65やデータブロック69の有効/無効を判定することができる。なお、ファイルシステム5はビットマップ64及びビットマップ68に変更がある度にこれらをRAMディスク7に書き戻すので、ビットマップ64とビットマップ68にはDirtyフラグが追加されていない。もちろん、書き戻し処理を効率化するために、これらにDirtyフラグを追加してもよい。
ディスクチェッカ14は定期的に起動され、ビットマップ64及びビットマップ68を参照して、RAMディスク7内の無効となったファイル管理情報75及びデータブロック79を0クリアする。無効となった領域はキャッシュ6からRAMディスク7へ書き戻されることはないので、ディスクチェッカ14は、キャッシュ6内のファイル管理情報65及びデータブロック69の0クリアは行わない。
図8を参照して、RAMディスクの無効領域の0クリア処理動作について説明する。
この処理は、ディスクチェッカ14が定期的に行う処理である。ディスクチェッカ14は、ファイル管理領域インデックス番号、及びデータブロック領域インデックス番号という2つの変数を内部に保持する。ファイル管理領域インデックス番号は、ファイル管理領域62のビットマップ64のチェックすべきビット番号である。データブロック領域インデックス番号は、データブロック領域63のビットマップ68のチェックすべきビット番号である。
この処理は、ディスクチェッカ14が定期的に行う処理である。ディスクチェッカ14は、ファイル管理領域インデックス番号、及びデータブロック領域インデックス番号という2つの変数を内部に保持する。ファイル管理領域インデックス番号は、ファイル管理領域62のビットマップ64のチェックすべきビット番号である。データブロック領域インデックス番号は、データブロック領域63のビットマップ68のチェックすべきビット番号である。
ディスクチェッカ14が起動すると、RAMディスク7及びキャッシュ6へのアクセスをロックするようファイルシステム5に要求する(S20)。これによりUAP3からRAMディスク7へのアクセスが一時的にブロックされる。
次に、ディスクチェッカ14はキャッシュ6のファイル管理領域62内のビットマップ64についてファイル管理領域インデックス番号のビットをチェックする(S21)。もしビットが0(無効)であれば、RAMディスク7のファイル領域72内の対応するファイル管理情報75を0クリアする(S22、S23)。ディスクチェッカ14はファイル管理領域インデックス番号をインクリメントし、一定数チェックするまでS21〜S23の処理を繰り返す。なお、ファイル管理領域インデックス番号がビットマップ64の最終ビット番号を超えたら0に戻す(S24、S25)。
次に、ディスクチェッカ14はキャッシュ6のファイル管理領域62内のビットマップ64についてファイル管理領域インデックス番号のビットをチェックする(S21)。もしビットが0(無効)であれば、RAMディスク7のファイル領域72内の対応するファイル管理情報75を0クリアする(S22、S23)。ディスクチェッカ14はファイル管理領域インデックス番号をインクリメントし、一定数チェックするまでS21〜S23の処理を繰り返す。なお、ファイル管理領域インデックス番号がビットマップ64の最終ビット番号を超えたら0に戻す(S24、S25)。
次に、ディスクチェッカ14は、キャッシュ6のデータブロック領域63内のビットマップ68についてデータブロック領域インデックス番号のビットをチェックする(S26)。もしビットが0(無効)であれば、RAMディスク7のデータブロック領域73内の対応するデータブロック79を0クリアする(S27、S28)。ディスクチェッカ14は、データブロック領域インデックス番号をインクリメントし、一定数チェックするまでS26〜S28の処理を繰り返す。なお、データブロック領域インデックス番号がビットマップ68の最終ビット番号を超えたら0に戻す(S29、S30)。
次に、ディスクチェッカは、RAMディスク7及びキャッシュ6のアクセスをロック解除するようファイルシステム5に要求する。これにより、UAP3からのRAMディスク7へのアクセスが再開される。以上で、ディスクチェッカ14によるRAMディスクの無効領域0クリア処理が終了する。
なお、上記例では、ディスクチェッカ14の処理を定期的に実行しているが、ディスクチェッカ14がOSのスケジューラと連携して、システムがアイドル状態の時に、上記した処理を実行するようにしてもよい。
なお、上記例では、ディスクチェッカ14の処理を定期的に実行しているが、ディスクチェッカ14がOSのスケジューラと連携して、システムがアイドル状態の時に、上記した処理を実行するようにしてもよい。
[実施例3]
実施例2では、RAMディスクの無効領域0クリア処理を定期的に行うので、システムの停止時に全ての無効領域の0クリア処理が完了していない場合がある。本実施例では、ファイル削除やファイルサイズの縮小などによってRAMディスク7内に無効領域が生成された時にファイルシステム5が無効領域を0クリアする。これにより、システム停止時にRAMディスクの全無効領域が0クリアされていることが保障され、RAMディスクの圧縮率が向上する。
実施例2では、RAMディスクの無効領域0クリア処理を定期的に行うので、システムの停止時に全ての無効領域の0クリア処理が完了していない場合がある。本実施例では、ファイル削除やファイルサイズの縮小などによってRAMディスク7内に無効領域が生成された時にファイルシステム5が無効領域を0クリアする。これにより、システム停止時にRAMディスクの全無効領域が0クリアされていることが保障され、RAMディスクの圧縮率が向上する。
本実施例における情報処理装置1の構成は、実施例1における場合と同様である。すなわち、システム停止時、保存処理部4はRAMディスク7をアンマウントした後、直ちにRAMディスク7をデータ圧縮して二次記憶装置2に保存する。
本実施例におけるファイルシステム5の動作は実施例1、2と異なる。以下、相違点を中心にファイルシステム5の処理動作を説明する。ファイルシステム5はRAMディスク5に保存されたファイルの削除やファイルサイズを縮小する時に、RAMディスク内に発生した無効領域を0クリアする。
本実施例におけるファイルシステム5の動作は実施例1、2と異なる。以下、相違点を中心にファイルシステム5の処理動作を説明する。ファイルシステム5はRAMディスク5に保存されたファイルの削除やファイルサイズを縮小する時に、RAMディスク内に発生した無効領域を0クリアする。
図9を参照して、ファイルシステム5によるRAMディスクの無効領域の0クリア処理動作について説明する。
UAP3がファイルシステム5に対してファイル削除もしくはファイルサイズ縮小を指示すると、ファイルシステム5は、上記ファイルに対応するファイル管理情報75内のブロックリスト77を確認し、ブロックリスト77に記録されているデータブロックのうち必要なものをブロックリスト77から削除する。すなわち、ファイル削除の場合はブロックリスト77に記載されている全てのデータブロックのアドレスを削除する。また、ファイルサイズ縮小の場合は縮小した部分に対応するデータブロックのアドレスを削除する。そしてファイルシステム5は、データブロック領域73のビットマップ78について、上記の削除したデータブロックに対応するビットを0(無効)にする。0'にするビットのビット番号は、
([削除したデータブロックのアドレス]-[データブロックの開始アドレス])/[データブロック79のサイズ] として算出する。なお、このステップの処理は一般的なファイルシステムの動作と同様である(S40)。
UAP3がファイルシステム5に対してファイル削除もしくはファイルサイズ縮小を指示すると、ファイルシステム5は、上記ファイルに対応するファイル管理情報75内のブロックリスト77を確認し、ブロックリスト77に記録されているデータブロックのうち必要なものをブロックリスト77から削除する。すなわち、ファイル削除の場合はブロックリスト77に記載されている全てのデータブロックのアドレスを削除する。また、ファイルサイズ縮小の場合は縮小した部分に対応するデータブロックのアドレスを削除する。そしてファイルシステム5は、データブロック領域73のビットマップ78について、上記の削除したデータブロックに対応するビットを0(無効)にする。0'にするビットのビット番号は、
([削除したデータブロックのアドレス]-[データブロックの開始アドレス])/[データブロック79のサイズ] として算出する。なお、このステップの処理は一般的なファイルシステムの動作と同様である(S40)。
次に、ファイルシステムはS40で削除したデータブロックのリストを作成し(S41)、上記リストに記載されたデータブロック79を全て0クリアする。このステップの処理は、本実施例に特徴的な処理動作である(S42、S43)。
ファイルサイズ縮小の場合、ファイルシステム5は処理を完了する。ファイル削除の場合、削除するファイルに対応するファイル管理情報75を無効化する必要があるので、次のステップに進む(S44)。
ファイルサイズ縮小の場合、ファイルシステム5は処理を完了する。ファイル削除の場合、削除するファイルに対応するファイル管理情報75を無効化する必要があるので、次のステップに進む(S44)。
ファイルシステム5は、ファイル管理領域72のビットマップ74について、削除するファイルに対応するファイル管理情報75を示すビットを0(無効)にする。上記ビットのビット番号は、([ファイル管理情報75のアドレス]-[ファイル管理情報の開始アドレス])/[ファイル管理情報75のサイズ]から算出する。なお、このステップの処理は一般的なファイルシステムの動作と同様である(S45)。
ファイルシステム5は、削除するファイルに対応するファイル管理情報75を0クリアする。このステップの処理は、本実施例に特徴的な処理動作である(S46)。以上で、ファイル削除又はファイルサイズ縮小処理が終了する。
ファイルシステム5は、削除するファイルに対応するファイル管理情報75を0クリアする。このステップの処理は、本実施例に特徴的な処理動作である(S46)。以上で、ファイル削除又はファイルサイズ縮小処理が終了する。
なお、上記例では、ファイルシステム5はRAMディスク7に対して処理を行っているが、処理対象のファイル管理領域72やデータブロック領域73の一部がキャッシュ6に存在する場合は、キャッシュ6とRAMディスク7の両方に対して処理を行う必要がある。この場合、ビットマップのビットを0(無効)にする処理(S40、S45)は、キャッシュ6とRAMディスク7両方のビットマップに対して行うが、無効領域の0クリア処理(S41〜S43、S46)は、RAMディスク7内のデータブロック79とファイル管理情報75に対してのみ行う。キャッシュ6内のデータブロック69とファイル管理情報65については、これらのエントリが無効となった時点でファイルシステム5によって廃棄されるので、0クリアする必要がない。
[実施例4]
デバイス13としての組込機器は内蔵する二次記憶装置の容量が少なく、RAMディスクイメージを格納することができない場合がある。そこで本実施例においては、情報処理装置自体はRAMディスクイメージを二次記憶装置に保持せず、複数の情報処理装置はRAMディスク利用開始時に管理サーバからRAMディスクイメージをダウンロードして使用し、その使用が終了した時に管理サーバにRAMディスクイメージをアップロードする。
[実施例4]
デバイス13としての組込機器は内蔵する二次記憶装置の容量が少なく、RAMディスクイメージを格納することができない場合がある。そこで本実施例においては、情報処理装置自体はRAMディスクイメージを二次記憶装置に保持せず、複数の情報処理装置はRAMディスク利用開始時に管理サーバからRAMディスクイメージをダウンロードして使用し、その使用が終了した時に管理サーバにRAMディスクイメージをアップロードする。
RAMディスクイメージを圧縮することで、RAMディスクイメージのアップロード/ダウンロードに伴うネットワーク負荷を低減することができる。しかしRAMディスク内の無効領域が少なくなってくると、RAMディスクイメージをデータ圧縮する効果が減少し、特に性能が低い組込機器では圧縮処理時間の増加が顕著になる。そこで本実施例では、RAMディスクの利用率に応じてRAMディスクイメージを圧縮処理する装置を切り替え、またRAMディスクの利用率が基準値以上の場合はRAMディスクイメージを圧縮しないで保存する。これによって、ネットワーク負荷と圧縮処理時間のバランスを考慮した運用が可能となる。
図10は本実施例における情報処理システムの構成を示す。
このシステムは、管理サーバ16にネットワーク11を介して複数の情報処理装置101〜10n(全てを総称して情報処理装置1ということがある)が接続して構成される。管理サーバ16は、システム内に存在する複数の情報処理装置101〜10nのRAMディスクイメージ801〜80n(全てを総称してRAMディスクイメージ80ということがある)を二次記憶装置20に記憶する。管理DB22は、各RAMディスクイメージ80と、情報処理装置1の識別子の対応関係を保持しており、管理プログラム17は管理DB22と連携してRAMディスクイメージ80を管理する。情報処理装置1の保存処理部4は、情報処理装置1の起動時に管理サーバ16から外部ネットワーク11を介してRAMディスクイメージをダウンロードし、情報処理装置の停止時に管理サーバ16へRAMディスクイメージをアップロードする。情報処理装置1の識別子は、情報処理装置1を識別することができる情報であれば何でもよく、例えば情報処理装置1に付与されたネットワークインターフェイスのMACアドレスを利用してもよい。なお、図10では情報処理装置に接続されるデバイスの図示が省略されている。
このシステムは、管理サーバ16にネットワーク11を介して複数の情報処理装置101〜10n(全てを総称して情報処理装置1ということがある)が接続して構成される。管理サーバ16は、システム内に存在する複数の情報処理装置101〜10nのRAMディスクイメージ801〜80n(全てを総称してRAMディスクイメージ80ということがある)を二次記憶装置20に記憶する。管理DB22は、各RAMディスクイメージ80と、情報処理装置1の識別子の対応関係を保持しており、管理プログラム17は管理DB22と連携してRAMディスクイメージ80を管理する。情報処理装置1の保存処理部4は、情報処理装置1の起動時に管理サーバ16から外部ネットワーク11を介してRAMディスクイメージをダウンロードし、情報処理装置の停止時に管理サーバ16へRAMディスクイメージをアップロードする。情報処理装置1の識別子は、情報処理装置1を識別することができる情報であれば何でもよく、例えば情報処理装置1に付与されたネットワークインターフェイスのMACアドレスを利用してもよい。なお、図10では情報処理装置に接続されるデバイスの図示が省略されている。
次に、図11を参照して、管理サーバ16から情報処理装置1へRAMディスクイメージをダウンロードする処理動作について説明する。
例えば情報処理装置101が起動されると、保存処理部4は管理サーバ16へ情報処理装置1の識別子を含む要求メッセージを送信して、管理サーバ16が保持するRAMディスクイメージを要求する。この要求メッセージを受けた管理プログラム17は、要求メッセージに含まれる識別子に対応するRAMディスクイメージを管理DB22から検索して、そのRAMディスクイメージ801を情報処理装置101へ送信する(S50)。
例えば情報処理装置101が起動されると、保存処理部4は管理サーバ16へ情報処理装置1の識別子を含む要求メッセージを送信して、管理サーバ16が保持するRAMディスクイメージを要求する。この要求メッセージを受けた管理プログラム17は、要求メッセージに含まれる識別子に対応するRAMディスクイメージを管理DB22から検索して、そのRAMディスクイメージ801を情報処理装置101へ送信する(S50)。
管理プログラム17は、RAMディスクイメージT3の送信開始時にRAMディスクイメージT3が圧縮されているかどうかを判別し、圧縮されているかどうかを示す圧縮情報を管理端末1に送信する。続いて管理プログラム17は、RAMディスクイメージT3を管理端末1に送信する。保存処理部4は圧縮情報を受信することで、受信するRAMディスクイメージが圧縮されているかどうかを判定する(S51)。
保存処理部4はRAMディスクイメージをダウンロードする処理と、RAMディスク7の作成をパイプライン的に行う。すなわち、RAMディスクイメージが圧縮されていなければ、保存処理部4はRAMディスクイメージのダウンロードとRAMディスク7へのコピーを数バイトずつ繰り返して行う(S52)。一方、RAMディスクイメージが圧縮されていれば、保存処理部4はRAMディスクイメージのダウンロード、圧縮の展開、RAMディスク7へのコピーを数バイトずつ繰り返して行う(S53)。もちろん、情報処理装置1に十分な空きメモリが存在する場合や、情報処理装置1が十分な容量を持つ二次記憶装置1503を備える場合は、RAMディスクイメージ全体をいったんメモリ又は二次記憶装置1503にダウンロードした後、RAMディスク7を作成してもよい。
RAMディスクイメージのダウンロードが完了すると、保存処理部4はRAMディスク7をマウントする(S54)。この例では、圧縮情報とRAMディスクイメージを送信しているが、上記データに加えて管理サーバ16内で算出したRAMディスクイメージのハッシュ値を管理サーバ16から情報処理装置1へ送信し、情報処理装置1は受信したディスクイメージのハッシュ値を別途算出し、これら2つのハッシュ値を比較し、両者が一致しない場合にダウンロード処理をやり直す構成にしてもよい。これによって通信障害等によるデータ改変を防止することができる。
次に図12を参照して、情報処理装置1から管理サーバ16へRAMディスクイメージをアップロードする処理について説明する。
情報処理装置1が停止処理を開始すると、保存処理部4はRAMディスク7をアンマウントし、RAMディスク7の利用率を求める。保存処理部4はファイル管理領域72内のビットマップ74をチェックし、0であるビットの個数を「無効であるファイル管理情報75の個数」とみなす。また、データブロック領域S73内のビットマップ78をチェックし、0であるビットの個数を「無効であるデータブロック79の個数」とみなす。そして、無効領域の容量を、
[無効であるファイル管理情報75の個数]×[ファイル管理情報75のサイズ]+[無効であるデータブロック79の個数]×[データブロック79のサイズ]、として算出する。
RAMディスク7の利用率は、1-[無効領域の容量]/[RAMディスクの総容量]で算出できる。
なお、この例では、無効であるファイル管理情報75の個数と、無効であるデータブロック79の個数をビットマップ74及びビットマップ78をチェックすることで算出しているが、ファイルシステム管理領域71にこれらの情報を保持しておき、その情報を用いてもよい(S60)。
情報処理装置1が停止処理を開始すると、保存処理部4はRAMディスク7をアンマウントし、RAMディスク7の利用率を求める。保存処理部4はファイル管理領域72内のビットマップ74をチェックし、0であるビットの個数を「無効であるファイル管理情報75の個数」とみなす。また、データブロック領域S73内のビットマップ78をチェックし、0であるビットの個数を「無効であるデータブロック79の個数」とみなす。そして、無効領域の容量を、
[無効であるファイル管理情報75の個数]×[ファイル管理情報75のサイズ]+[無効であるデータブロック79の個数]×[データブロック79のサイズ]、として算出する。
RAMディスク7の利用率は、1-[無効領域の容量]/[RAMディスクの総容量]で算出できる。
なお、この例では、無効であるファイル管理情報75の個数と、無効であるデータブロック79の個数をビットマップ74及びビットマップ78をチェックすることで算出しているが、ファイルシステム管理領域71にこれらの情報を保持しておき、その情報を用いてもよい(S60)。
RAMディスク7の利用率が算出されると、次に、RAMディスク7の利用率に応じて、RAMディスクイメージの圧縮処理を切替える処理を行う。すなわち、求めたRAMディスク7の利用率と所定の基準値(例えば50%)と比較し(S60)、その結果、利用率が基準値よりも小さければ、保存処理部4はS11〜S18で説明した手順で無効領域を0クリアし(S62)、その0クリアされたRAMディスクイメージを圧縮処理した後、管理サーバ16へ送信する。この時、保存処理部4はRAMディスクイメージが圧縮されていることを示す圧縮情報と情報処理装置1の識別子を送信した後、圧縮したRAMディスクイメージを送信する。なお、好ましくはRAMディスクイメージの圧縮と送信処理はパイプライン的に行うのがよい。すなわち、RAMディスクイメージの圧縮処理と送信処理を数バイトずつ行う。これによって、情報処理装置1の空きメモリが少ない場合でも容量が大きなRAMディスクイメージを管理サーバ16に送信することができる(S63)。
一方、RAMディスク7の利用率が基準値(50%)以上であれば(S60)、保存処理部4はRAMディスクイメージが圧縮されていないことを示す圧縮情報と情報処理装置1の識別子を管理サーバ16へ送信した後、RAMディスクイメージを圧縮処理しないでそのまま送信する(ステップ64)。なお、S63、S64の処理では、RAMディスクイメージのダウンロード処理において説明した処理と同様に、情報処理装置1内で算出したRAMディスクイメージのハッシュ値を管理サーバ16に送信し、上記ハッシュ値と、管理サーバ16内で別途算出したハッシュ値を比較し、両者が一致しない場合にアップロードをやり直すように処理してもよい。
次に、図13を参照して、管理サーバ16が情報処理装置1からRAMディスクイメージを受信する処理動作について説明する。
図10に示すシステムを引用すると、管理サーバ16の管理プログラム17は、情報処理装置1から受信したRAMディスクイメージが圧縮されていない場合、RAMディスクの利用率が基準値(例えば80%)よりも小さければRAMディスクイメージを圧縮処理して二次記憶装置1503に保存する。好ましくは、管理サーバ16が圧縮を行う基準値を、情報処理装置1が圧縮を行う基準値よりも大きくすることで、圧縮率が高く圧縮処理時間が短い場合は情報処理装置1内で圧縮処理し、逆に圧縮率が低く圧縮処理時間が長い場合は管理サーバ16内で圧縮処理するようにする。これによって、ネットワーク負荷と圧縮処理時間のバランスを考慮した運用が可能となる。
図10に示すシステムを引用すると、管理サーバ16の管理プログラム17は、情報処理装置1から受信したRAMディスクイメージが圧縮されていない場合、RAMディスクの利用率が基準値(例えば80%)よりも小さければRAMディスクイメージを圧縮処理して二次記憶装置1503に保存する。好ましくは、管理サーバ16が圧縮を行う基準値を、情報処理装置1が圧縮を行う基準値よりも大きくすることで、圧縮率が高く圧縮処理時間が短い場合は情報処理装置1内で圧縮処理し、逆に圧縮率が低く圧縮処理時間が長い場合は管理サーバ16内で圧縮処理するようにする。これによって、ネットワーク負荷と圧縮処理時間のバランスを考慮した運用が可能となる。
管理サーバ16の管理プログラム17は、情報処理装置1から圧縮情報と情報処理装置1の識別子を受信する。管理プログラム17は、圧縮情報からRAMディスクイメージが圧縮されているかどうかを判定する。また、管理プログラム17は管理DB22にアクセスして情報処理装置1の識別子から、保存すべきRAMディスクイメージ8を求める。続いて、管理プログラム17はRAMディスクイメージを受信する(S70)。
もしRAMディスクイメージが圧縮されていれば、受信したRAMディスクイメージをS70で求めたRAMディスクイメージ80iに保存して処理を終了する(S71、S76)。もしRAMディスクイメージが圧縮されていなければ、管理プログラム17はS60と同様の手順で、RAMディスクイメージの利用率を求める(S72)。利用率が基準値(例えば80%)よりも小さければ、S62と同様の手順で、RAMディスクの無効領域を0クリアし(S74)、RAMディスクをデータ圧縮した後、S70で求めたRAMディスクイメージT3に保存して処理を終了する(S75、S76)。
一方、利用率が基準値(80%)以上であれば、RAMディスクイメージをデータ圧縮せずに、S70で求めたRAMディスクイメージT3に保存して処理を終了する(S73、S76)。
一方、利用率が基準値(80%)以上であれば、RAMディスクイメージをデータ圧縮せずに、S70で求めたRAMディスクイメージT3に保存して処理を終了する(S73、S76)。
次に、図14を参照して、RAMディスクイメージのメンテナンス処理動作について説明する。
図10のシステムでは、例えば、管理サーバ16内のRAMディスクイメージ801〜80nを一括更新することでシステムのメンテナンスを行う。メンテナンス時に、管理プログラム17は更新が必要なRAMディスクイメージT3を順に自身のファイルシステムにマウントし、RAMディスクイメージT3内のファイルを更新していく。この処理では、RAMディスクイメージT3内のファイル作成/削除/更新を行うので、RAMディスク内に新たに無効領域が生成される。そこで、管理プログラム17は、更新処理が終了した後、RAMディスクイメージ801〜80nをチェックして、無効領域の0クリアを行ってから圧縮処理して二次記憶装置に保存する。これによりRAMディスクイメージの圧縮率低下を抑止する。
図10のシステムでは、例えば、管理サーバ16内のRAMディスクイメージ801〜80nを一括更新することでシステムのメンテナンスを行う。メンテナンス時に、管理プログラム17は更新が必要なRAMディスクイメージT3を順に自身のファイルシステムにマウントし、RAMディスクイメージT3内のファイルを更新していく。この処理では、RAMディスクイメージT3内のファイル作成/削除/更新を行うので、RAMディスク内に新たに無効領域が生成される。そこで、管理プログラム17は、更新処理が終了した後、RAMディスクイメージ801〜80nをチェックして、無効領域の0クリアを行ってから圧縮処理して二次記憶装置に保存する。これによりRAMディスクイメージの圧縮率低下を抑止する。
図14を参照するに、システムメンテナンスが開始されると、管理プログラム17は管理者の指示に従い、更新が必要なRAMディスクイメージ80iを選択する(S80)。上記指示は、管理者が管理サーバ16のコンソール画面から逐一行ってもよいし、あらかじめ作成したスクリプト等に従って処理を自動的に行ってもよい。
S80で選択されたRAMディスクイメージ80iが圧縮されていれば、管理プログラム17はRAMディスクイメージ80iを展開し(S81、S82)、展開した後のRAMディスクイメージ80iを自身のファイルシステムにマウントする(S83)。RAMディスクイメージ80iが圧縮されていなければ、管理プログラム17はRAMディスクイメージ80iをそのまま自身のファイルシステムにマウントする(S81、S83)。
次に、管理プログラム17はRAMディスクイメージ80i内のファイルシステムにアクセスし、RAMディスクイメージ80iのメンテナンスを行う。この処理ステップでは、アプリケーションのインストール/アンインストール/アップデート、設定ファイルやレジストリ情報の整合性チェック、コンピュータウイルス等ユーザが意図しないプログラムの有無のチェック等を行う(S84)。
次に、管理プログラム17はRAMディスクイメージ80iをアンマウントし(S85)、S60と同様の手順で、RAMディスクイメージの利用率を求める(S86)。利用率が基準値(80%)よりも小さければ、S62と同様の手順で、RAMディスクの無効領域を0クリアし(S88)、RAMディスクイメージを圧縮処理した後、S80で選択したRAMディスクイメージ80iに保存して処理を終了する(S89、S90)。
一方、利用率が基準値(80%)以上であれば、RAMディスクイメージを圧縮処理しないで、S80で求めたRAMディスクイメージ80iに保存して処理を終了する(S87、S90)。
一方、利用率が基準値(80%)以上であれば、RAMディスクイメージを圧縮処理しないで、S80で求めたRAMディスクイメージ80iに保存して処理を終了する(S87、S90)。
1:情報処理装置 2、20、1503:二次記憶装置 3:ユーザアプリケーション(UAP) 4:保存処理部 5:ファイルシステム 6:キャッシュ 7:RAMディスク 8、801〜80n:RAMディスクイメージ 13:デバイス 14:ディスクチェッカ
16:管理サーバ 20:二次記憶装置 22:管理DB 17:管理プログラム
16:管理サーバ 20:二次記憶装置 22:管理DB 17:管理プログラム
Claims (12)
- RAMディスクの利用を開始する時に、二次記憶装置に圧縮して保存されたRAMディスクイメージをから読み出してメモリに格納し、該RAMディスクの利用を終了する時に該RAMディスクイメージを該二次記憶装置へ圧縮保存するRAMディスクの処理方法において、該RAMディスクイメージを圧縮保存処理する前に、該RAMディスクの無効領域をクリア処理することを特徴とするRAMディスクの処理方法。
- 前記クリア処理は、該RAMディスクイメージを該二次記憶装置へ保存する直前に、該無効領域に所定のデータを連続的に書き込むことにより行うことを特徴とする請求項1のRAMディスクの処理方法。
- 前記クリア処理は、該RAMディスクを使用中に、該無効領域を任意の容量ずつ分けて、所定のデータを連続的に書き込むことにより行うことを特徴とする請求項1のRAMディスクの処理方法。
- 前記クリア処理は、ファイルの削除又はファイルサイズを縮小する時に、該RAMディスクの無効となった領域に対して、所定のデータを連続的に書き込むことにより行うことを特徴とする請求項1のRAMディスクの処理方法。
- RAMディスクを利用する第1の装置と、RAMディスクイメージを管理する第2の装置がネットワークを介して接続され、第1の装置はRAMディスクの利用を開始する時に該RAMディスクイメージを第2の装置から読み出してメモリに格納し、該RAMディスクの利用を終了する時に該RAMディスクイメージを該メモリから読み出して該第2の装置に保存するRAMディスクの処理方法において、
該RAMディスクの利用率が第1の基準値未満の場合、第1の装置で、該RAMディスクの無効領域をクリアする処理と、該RAMディスクイメージを圧縮する処理を行い、
該RAMディスクの利用率が第2の基準値未満の場合、該第2の装置で、該RAMディスクの無効領域をクリアする処理と、該RAMディスクイメージを圧縮する処理を行い、
該RAMディスクの利用率が第2の基準値以上の場合、該RAMディスクの無効領域をクリアする処理を行わずに、該RAMディスクイメージを圧縮処理しないで該第2の装置に保存することを特徴とするRAMディスクの処理方法。 - RAMディスクを利用する第1の装置と、RAMディスクイメージを管理する第2の装置がネットワークを介して接続され、第1の装置はRAMディスクの利用を開始する時に該RAMディスクイメージを第2の装置から読み出してメモリに格納し、該RAMディスクの利用を終了する時に該RAMディスクイメージを該メモリから読み出して該第2の装置に保存するRAMディスクの処理方法において、
該第2の装置は、該第1の装置へ配信する該RAMディスクイメージを第2の装置内で更新することでメンテナンス処理を行い、
メンテナンス処理が終了した後、該第2の装置は該メンテナンス処理によって生じた該RAMディスクの無効領域をクリア処理した後、該RAMディスクイメージを圧縮処理して保存することを特徴とするRAMディスクの処理方法。 - 少なくともファイルを含むRAMディスクイメージを記憶する二次記憶装置から該RAMディスクイメージをロードして使用する情報処理システムにおいて、
ロードされた該RAMディスクイメージを格納するメモリと、プログラムを実行するCPUとを有し、該CPUによるプログラムの実行によって、少なくとも該二次記憶装置に対する該RAMディスクイメージの保存処理を行う保存処理部と、該メモリに格納された該RAMディスクに含まれるファイルを管理するファイルシステムを実現し、
該保存処理部は、該RAMディスクの利用を終了する時に、該RAMディスクの無効領域をクリア処理し、該クリア処理された該RAMディスクイメージを圧縮処理して、該二次記憶装置に保存することを特徴とする情報処理システム。 - 前記保存処理部は、該RAMディスクイメージを該二次記憶装置へ保存する前に、該無効領域に所定のデータを連続的に書き込むことを特徴とする請求項7の情報処理システム。
- 前記ファイルシステムと協働して実行するディスクチェッカ部を有し、該ディスクチェッカ部は、該RAMディスクを使用中に、該無効領域を任意の容量ずつ分けて、所定のデータを連続的に書き込むことを特徴とする請求項7の情報処理システム。
- 前記ファイルシステムは、ファイルの削除又はファイルサイズを縮小する時に、該RAMディスクの無効となった領域に対して、所定のデータを連続的に書き込むことを特徴とする請求項7の請求項7の情報処理システム。
- 該RAMディスクは、該ファイルシステムの管理情報を保存するファイルシステム管理領域と、各ファイルの属性情報を記録するファイル管理領域と、各ファイルの内容を保存するデータブロック領域を有し、
前記保存処理部は、該メモリにロードされた該RAMディスク内の、該ファイル管理領域又はデータブロック領域の少なくとも一方の領域に存する無効領域のクリア処理を行うことを特徴とする請求項7乃至10のいずれかの情報処理システム。 - 少なくともファイルを含むRAMディスクイメージを記憶する二次記憶装置から該RAMディスクイメージをロードして使用する情報処理装置において実行されるプログラムであって、該二次記憶装置に該RAMディスクイメージをアンロードする時に、該RAMディスクの無効領域をクリア処理し、該クリア処理された該RAMディスクイメージを圧縮処理することを特徴とするRAMディスクの保存処理用のプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007100823A JP2008257584A (ja) | 2007-04-06 | 2007-04-06 | Ramディスクの処理方法及びシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007100823A JP2008257584A (ja) | 2007-04-06 | 2007-04-06 | Ramディスクの処理方法及びシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008257584A true JP2008257584A (ja) | 2008-10-23 |
Family
ID=39981074
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007100823A Pending JP2008257584A (ja) | 2007-04-06 | 2007-04-06 | Ramディスクの処理方法及びシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008257584A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011039841A (ja) * | 2009-08-12 | 2011-02-24 | Fujitsu Ltd | データ移行方法、及びプログラム |
| JP2012155428A (ja) * | 2011-01-25 | 2012-08-16 | Hitachi Ltd | バックアップ装置、バックアップ方法、データ圧縮方法、バックアッププログラムおよびデータ圧縮プログラム |
| JP2019061654A (ja) * | 2017-09-25 | 2019-04-18 | 株式会社リコー | 情報処理装置及び方法 |
| JP2021131772A (ja) * | 2020-02-20 | 2021-09-09 | 富士通株式会社 | 情報処理装置及びディスクイメージ管理プログラム |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05108429A (ja) * | 1991-10-18 | 1993-04-30 | Chubu Nippon Denki Software Kk | データの圧縮格納方式 |
| JPH11143747A (ja) * | 1997-11-11 | 1999-05-28 | Toshiba Tec Corp | プリアロケ−ションファイルの高圧縮化方法 |
| JP2003122647A (ja) * | 2001-10-11 | 2003-04-25 | Mitsubishi Electric Corp | 情報処理装置 |
-
2007
- 2007-04-06 JP JP2007100823A patent/JP2008257584A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05108429A (ja) * | 1991-10-18 | 1993-04-30 | Chubu Nippon Denki Software Kk | データの圧縮格納方式 |
| JPH11143747A (ja) * | 1997-11-11 | 1999-05-28 | Toshiba Tec Corp | プリアロケ−ションファイルの高圧縮化方法 |
| JP2003122647A (ja) * | 2001-10-11 | 2003-04-25 | Mitsubishi Electric Corp | 情報処理装置 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011039841A (ja) * | 2009-08-12 | 2011-02-24 | Fujitsu Ltd | データ移行方法、及びプログラム |
| US8898394B2 (en) | 2009-08-12 | 2014-11-25 | Fujitsu Limited | Data migration method |
| JP2012155428A (ja) * | 2011-01-25 | 2012-08-16 | Hitachi Ltd | バックアップ装置、バックアップ方法、データ圧縮方法、バックアッププログラムおよびデータ圧縮プログラム |
| JP2019061654A (ja) * | 2017-09-25 | 2019-04-18 | 株式会社リコー | 情報処理装置及び方法 |
| JP7214999B2 (ja) | 2017-09-25 | 2023-01-31 | 株式会社リコー | 情報処理装置及び方法 |
| JP2021131772A (ja) * | 2020-02-20 | 2021-09-09 | 富士通株式会社 | 情報処理装置及びディスクイメージ管理プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11921684B2 (en) | Systems and methods for database management using append-only storage devices | |
| US7069393B2 (en) | Storage system providing file aware caching and file aware remote copy | |
| US8150890B2 (en) | File system that manages files according to content | |
| US8171251B2 (en) | Data storage management method and device | |
| US9087021B2 (en) | Peer-to-peer transcendent memory | |
| JP4809040B2 (ja) | ストレージ装置及びスナップショットのリストア方法 | |
| US9104629B2 (en) | Autonomic reclamation processing on sequential storage media | |
| US8631203B2 (en) | Management of external memory functioning as virtual cache | |
| JP5445463B2 (ja) | 計算機システム、データ保存方法およびプログラム | |
| JP6011349B2 (ja) | ストレージ装置、およびデータ圧縮方法 | |
| US9785547B2 (en) | Data management apparatus and method | |
| JP2003187203A (ja) | メモリカード用のメモリコントローラによるファイルアロケーションテーブル管理 | |
| JP5944502B2 (ja) | 計算機システム及び制御方法 | |
| KR20080097196A (ko) | Fat 볼륨 상의 개별적인 파일들은 압축하고, 그 외의 파일들은 비압축 상태로 유지하기 위한 컴퓨터 구현 방법, 시스템 및 컴퓨터 판독 가능 매체 | |
| CN102939593B (zh) | 无限存储器 | |
| US20080215843A1 (en) | Storage area management method for a storage system | |
| CN109947704B (zh) | 一种锁类型切换方法、装置及集群文件系统 | |
| JP2008257584A (ja) | Ramディスクの処理方法及びシステム | |
| US7451279B2 (en) | Storage system comprising a shared memory to access exclusively managed data | |
| WO2026061107A1 (zh) | 数据备份方法及装置、存储介质、电子设备 | |
| WO2024113543A1 (zh) | 数据处理方法、系统、装置、非易失性可读存储介质及电子设备 | |
| JP2019061654A (ja) | 情報処理装置及び方法 | |
| CN106528447A (zh) | 一种分布式san的缓存同步方法 | |
| CN118131990B (zh) | Ordered日志模式下的数据处理方法及计算设备 | |
| CN119248666A (zh) | 一种固态硬盘垃圾回收方法、装置及相关设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090821 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111115 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120112 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120703 |