(57)【特許請求の範囲】
【請求項１】
複数のファイルを保存することが可能な記録媒体に対するファイル入出力を管理する計算機システムにおいて、
前記記録媒体に格納されているファイルの中で相互に変換可能な内容を持つ非圧縮のファイルとその圧縮ファイルとの関係を示すファイル内容対応情報を作成する手段と、
前記記録媒体の空き領域に基づいて、前記記録媒体のファイルを消去する必要性があるか否かを判別する手段と、
この判別手段によってファイル消去の必要性があることが判定されたとき、前記ファイル内容対応情報を参照して、前記記録媒体に格納されているファイルの中から他のファイルの内容から復元可能なファイルを優先的に消去対象ファイルとして選択する消去ファイル選択手段と、
この消去ファイル選択手段によって選択されたファイルを消去するための手続きを行うファイル消去手段とを具備することを特徴とする計算機システム。
【請求項２】
計算機システムの記録媒体の空き領域を管理するファイル管理方法であって、
前記記録媒体に格納されているファイルの中で相互に変換可能な内容を持つ非圧縮のファイルとその圧縮ファイルとの関係を示すファイル内容対応情報を作成するステップと、
前記記録媒体の空き領域に基づいて、前記記録媒体のファイルを消去する必要性があるか否かを判別するステップと、
この判別ステップによってファイル消去の必要性があることが判定されたとき、前記ファイル内容対応情報を参照して、前記記録媒体に格納されているファイルの中から他のファイルの内容から復元可能なファイルを優先的に消去対象ファイルとして選択する消去ファイル選択ステップと、
この消去ファイル選択ステップによって選択されたファイルを消去するための手続きを行うファイル消去ステップとを具備することを特徴とするファイル管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、計算機システムおよびそのシステムで使用されるファイル管理方法に関する。
【０００２】
【従来の技術】
一般に、計算機システムにて永続的に所有するデータは、ファイルという論理的な単位でディスクのような不揮発性記憶媒体に格納される。物理的な不揮発性記憶媒体の各々の記憶部位にファイルという論理的なデータ単位を割り当てるソフトウェアをファイルシステムと呼ぶ。
【０００３】
ファイルシステムは物理的な記憶媒体を活用してデータを格納しているため、記憶容量には限界がある。新たにファイルを作成したいが空き領域がなくなったときには、従来では、ユーザ自身が消去すべきファイルを明示的に指定してファイル消去のプログラムを実行することにより空き領域を作る必要があった。プログラムはオペレーティングシステムに対しファイルを指定して消去要求を出し、オペレーティングシステムはこれを受理すると、ファイルシステムに記憶されている該当ファイルを無効化し、空き領域を作っていた。つまり、ファイルシステムに格納するファイルのサイズが増え、空き領域がなくなったり少なくなったりした場合には、ユーザが消去すべきファイルを選び、プログラムを起動することにより明示的にオペレーティングシステムに対して消去要求を行いファイルを消すことにより空き領域を作らなければならなかった。
【０００４】
【発明が解決しようとする課題】
上述のように、従来では、記憶媒体に十分な空き領域がないときに、ユーザ自身が明示的に消去要求を発生してファイルの消去を行わなければならなかった。
【０００５】
このため、ユーザが消去すべきファイルを選択するという操作を行ったり、消去するためのプログラムの使用法を覚えなければならず、計算機の使い勝手を悪くする一因となっていた。
【０００６】
また、ネットワークなどを介して外部からデータが転送されてくる場合には、空き領域がなくなったことに使用者が気がつかないと転送データをファイルシステムに格納することができず、結果としてデータの受信を失敗する原因となっていた。
【０００７】
この発明はこのような点に鑑みてなされたものであり、ユーザが明示的に消去要求などを発生しなくともファイルを格納する記憶媒体に自動的に必要な空き領域を確保できるようにし、限られた物理的な記憶媒体の記憶容量を効率良く利用することができる計算機システムおよびファイル管理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明は、複数のファイルを保存することが可能な記録媒体に対するファイル入出力を管理する計算機システムにおいて、前記記録媒体に格納されているファイルの中で相互に変換可能な内容を持つ非圧縮のファイルとその圧縮ファイルとの関係を示すファイル内容対応情報を作成する手段と、前記記録媒体の空き領域に基づいて、前記記録媒体のファイルを消去する必要性があるか否かを判別する手段と、この判別手段によってファイル消去の必要性があることが判定されたとき、前記ファイル内容対応情報を参照して、前記記録媒体に格納されているファイルの中から他のファイルの内容から復元可能なファイルを優先的に消去対象ファイルとして選択する消去ファイル選択手段と、この消去ファイル選択手段によって選択されたファイルを消去するための手続きを行うファイル消去手段とを具備することを特徴とする。
【０００９】
この計算機システムにおいては、記録媒体の空き領域の大きさに応じてファイルの自動消去を行うか否かが判断される。この場合、例えば、記録媒体の空き領域が所定値以下になった時や、書き込み対象のファイルサイズよりも記録媒体の空き領域が少ない時などには、ファイル自動消去による空き領域確保処理の実行が必要であると判断される。ファイル自動消去による空き領域確保処理が必要であると判断されると、記録媒体に格納されているファイルの中で相互に変換可能な内容を持つ非圧縮のファイルと圧縮ファイルとの関係を示すファイル内容対応情報を用いて、記録媒体に格納されているファイルの中から他のファイルの内容から復元可能なファイルが優先的に消去対象ファイルとして選択され、その消去対象のファイルが自動的に削除される。
【００２２】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態について説明する。
【００２３】
図１には、この発明の第１実施形態に係る計算機システムで使用されるファイルシステムの構成が示されている。このファイルシステム２は、記録媒体の空き容量を自動的に確保するための機能として、ファイル自動消去およびファイル自動圧縮の何れか一方を実現するための機能を有している。このファイルシステム２は、オペレーティングシステムの一部として実現されている。このファイルシステム２が適用される計算機システムは、ＣＰＵ、メモリ、補助記憶装置、および各種Ｉ／Ｏ装置などのハードウェア資源を持つ通常のコンピュータから構成されるものであるが、ファイルシステム２のファイル自動消去／圧縮機能は、例えば携帯型端末など、ファイル記憶のための補助記憶装置の容量が比較的少ない電子情報機器に好適であるので、以下では、計算機システムがＰＤＡやサブノートパソコンなどの携帯型の電子情報機器である場合を例示して説明する。
【００２４】
図１に示されているように、この実施形態１の電子情報機器は、その機器のＣＰＵによって実行されるアプリケーションプログラムなどのユーザプログラム１と、そのプログラム１からファイル操作に関する要求を受けてファイルの入出力を管理するファイルシステム２と、ファイルを記憶するための補助記憶装置として使用されるハードディスクやフラッシュメモリカードなどの不揮発性の記憶媒体３とから構成される。
【００２５】
ファイルに関する操作はユーザプログラム１からだけでなく、ユーザからのキー入力操作に応じて発行されるＯＳレベルのコマンドによって要求される場合もあるが、どちらの場合でもファイルシステム２から見ると他のプログラムから要求される事になる。したがって、ここでは、ユーザからの要求についてもプログラム１からの要求として扱うことにする。
【００２６】
ファイルシステム２は、ファイル消去またはファイル圧縮による自動空き領域確保機能の実現のために、図示のように、要求受理部２１、消去／圧縮条件判別部２２、消去／圧縮ファイル選択部２３、ファイル消去部２４、およびファイル入出力部２５を備えている。
【００２７】
要求受理部２１は、ユーザプログラム１からファイル読み出しや書き込みなどの通常のファイル操作要求を受け付ける。消去／圧縮条件判別部２２は、記録媒体３の空き領域に基づいて、記録媒体３のファイルを消去または圧縮して空き領域を確保する必要性があるか否か、つまりファイル消去または圧縮によって空き領域確保処理を行う条件（消去／圧縮条件）が満たしているかどうかを判別するためのものであり、要求受理部２１にファイル書き込みなどのファイル操作要求が発行される度、あるいはある一定の時間間隔で定期的に起動されて、消去／圧縮条件を満たすか否かの判別処理を行う。
【００２８】
消去／圧縮ファイル選択部２３は、消去／圧縮条件を満たすと判断された時に起動され、記憶媒体３に格納されているファイル（データファイル、プログラムファイルを含む）の中から、それらファイルそれぞれの優先度などに従って消去または圧縮処理の対象となるファイルを選択する。ここで、優先度とは、そのファイルに対して消去または圧縮の処理を施したときにユーザにどの程度の影響を及ぼすかを示す指標であり、及ぼす影響が大きいファイル程、優先度が高いファイルである。
【００２９】
ファイル消去／圧縮部２４は、選択されたファイルに対して消去または圧縮の何れか一方の処理を施すものであり、自動消去機能を有する場合には、選択された消去対象ファイルを記憶媒体３から消去する処理を行い、自動圧縮機能を有する場合には、選択された圧縮対象ファイルを圧縮する処理を行う。ここで、ファイルの消去とはファイル削除と同義であり、オペレーティングシステムによっては用語「ファイル消去」の代わりに「ファイル削除」を使用することもある。
【００３０】
ファイル消去を行う場合には、消去対象ファイルの実体を記録媒体３から消去（削除）してもよいが、通常のファイルシステムにおけるファイル消去と同様に、そのファイルに関するディレクトリエントリなどの管理データだけを無効化して、ファイルの実体をそのまま残したり、いわゆる「ゴミ箱」と称される専用の記憶領域に移動させるなどの手法を用いてもよい。もちろん、バックアップ用の外部記憶装置を携帯型端末に接続して使用できる場合には、その消去対象ファイルを記録媒体３から消去して外部記憶装置にバックアップファイルとして移してもよい。
【００３１】
このファイルシステム２で管理されるファイル構造を図２に示す。
【００３２】
この実施形態では、ファイルを木構造で管理するものとする。すなわち、あるノードの下に複数の子ノードを持ち、各ノードから見た親ノードは一意に定まる。子ノードを持たないノードがファイルでありデータを所有する。子ノードを持つノードはディレクトリと呼ばれる。木構造の最も上位のディレクトリはルートと呼ばれ、親ノードは自分自身である。
【００３３】
図２においては、“ｎｅｗｓ”ディレクトリの子ノードとしてファイル名「６１６．１」〜「６１６．４」の４個のファイルが存在し、“ｓｃｈｅｄｕｌｅ”ディレクトリの子ノードとしてファイル名「９５．１」〜「９５．３」の３個のファイルが存在している様子が示されている。
【００３４】
図３には、図２に対応する実際のファイル管理構造の一例が示されている。
【００３５】
図３において、各ノードの第１フィールドは、ノードの種類を表す。Ｄはディレクトリ、Ｆはファイルである。第２フィールドは、ファイルまたはディレクトリの名前である。ディレクトリの場合、第３フィールド以降は子ノードへのポインタである。また、図中の斜線は終了を示し、通常はポインタとして使用されない値が登録される。例えばポインタとしてノードの番地を使用し、終了の記しとしてマイナス１を使えば良い。
【００３６】
ファイルの場合、第３フィールドにそのファイルの重要度を示す値が格納される。この重要度の値は、前述したファイル優先度として用いられ、消去対象ファイルまたは圧縮対象ファイルを選択する時に参照される。図３では、重要度は１から１０までの数値で表現され、数値が大きいほど重要度が大きい。この重要度の値は、そのファイルの作成／保存時にユーザによって指定されるものである。また、第４フィールドは実際のデータの大きさを示し、第５フィールドはデータへのポインタである。
【００３７】
図４には、ファイルシステム２のファイル管理処理の手順を示すアルゴリズムが示されている。
【００３８】
まず、ファイルシステム２の要求受理部１が、ユーザプログラム１からのファイル操作要求を受け付ける（ステップＳ１１）。そのファイル操作要求がファイル書き込み要求でなければ（ステップＳ１２）、そのファイル操作要求によって指定されたファイル操作（ファイル読み出し、ファイル消去、ディレクトリ参照など）が通常通り行われる（ステップＳ１３）。
【００３９】
一方、ユーザプログラム１からのファイル操作要求が書き込み要求であるならば（ステップＳ１２）、消去／圧縮条件判別部２２は記憶媒体３の空き容量に従って、所定の消去／圧縮条件が成立しているか否かを判断する（ステップＳ１４）。この場合、書き込み要求されたファイルサイズと記憶媒体３の現在の空き容量とが比較され、空き領域のサイズが書き込み要求されたファイルサイズよりも小さい時に消去／圧縮条件が成立すると判別される。また、書き込み要求されたファイルサイズとは無関係に、記憶媒体３の現在の空き容量が規定値以下であれば消去／圧縮条件が成立すると判別してもよい。
【００４０】
記憶媒体３の現在の空き容量の値はファイルシステム２内で保持されている。すなわち、ファイルシステム２は、そのファイルシステム２に割り当てられた記憶媒体３の全記憶容量の値をファイル書き込みを行う度にそのファイルサイズ分だけ減算して行き、その結果を記憶媒体３の現在の空き容量として保持している。
【００４１】
十分な空き容量があって消去または圧縮の条件が成立しないならば（ステップＳ１５）、要求されたファイルの書き込みが直ぐに実行される（ステップＳ１６）。一方、十分な空き容量がなく消去／圧縮条件が成立したならば（ステップＳ１５）、消去／圧縮ファイル選択部２３によってファイル選択処理が実行される（ステップＳ１７）。
【００４２】
すなわち、消去／圧縮ファイル選択部２３は、記憶媒体３に格納されているファイルの中で、それら各ファイルに与えられた優先度（図３の重要度）に従って、重要度の値が基準値以下のファイルを選択する。そして、その選択されたファイルは、ファイル消去／圧縮部２４によって消去または圧縮される（ステップＳ１８）。
【００４３】
この後、消去／圧縮条件判別部２２によって再び消去／圧縮の条件が成立しているかどうかの判別処理が行われ（ステップＳ１４）、成立しなくなるまでステップＳ１７、Ｓ１８の処理が繰り返し実行される。そして、消去／圧縮の条件が成立しなくなった時点で、ステップＳ１６のファイル書き込み処理が実行される。
【００４４】
図５には、要求受理部２１にファイル書き込み要求を行う場合のユーザプログラム１の例が示されている。
【００４５】
まず、プログラム１にて新規ファイルの生成（ファイルクリエイト）が要求される。この場合、図５の（１）のようにファイル名（“／ｓｃｈｅｄｕｌｅ／９５．６”）が指定されて、新たなファイル生成のためのシステムコールがファイルシステム２に送られる。ファイル生成が成功すると、ファイルシステム２からプログラム１にファイル識別子（ｆｄ）が返される。つぎに、プログラム１によってファイルへの書き込み要求が行われる。（２）は、ファイル識別子により指定したファイルｆｄに対して、変数ｂｕｆで特定されるプログラム中の位置から始まる２５６バイトを書き出す要求である。つまり、書き込み要求は、書き込み対象のファイルと書き込みバイト数を指定して行われる。要求受理部２１はこの要求を受理し、書き込み対象のファイルと、書き込みバイト数を得る。
【００４６】
次に、消去／圧縮条件判別部２２があらかじめ定められた消去／圧縮条件が成立しているかどうかを判別する。この場合、前述したように、記憶媒体３の空き領域が書き込み要求されたファイルサイズを下回るとき、あるいは空き領域があらかじめ定められた大きさを下回っているときに消去／圧縮条件が成立したと判断される。
【００４７】
図６には、消去／圧縮条件判別部２２による後者の判別方式の具体例が示されている。
【００４８】
この判別処理では、ファイルシステム２による記憶媒体３の使用率が一定値ＳＵ  を越えている時に書き込み要求を受理した場合に別の一定値ＳＬ  を下回るまでファイル消去または圧縮の空き容量確保処理が繰り返される。記憶媒体３の使用率はファイル書き込みを行えば増え、消去や部分的な削除、または圧縮を行えば減る。図６においては、時刻ｔ１，ｔ２にて、書き込み要求を受理した際にＳＵ  を越えているため、消去を行いＳＬ  まで減らした様子が示されている。
【００４９】
図７に、図６の消去判別処理に対応するアルゴリズムを示す。
【００５０】
消去／圧縮条件判別部２２は、記憶媒体３の現在の使用率ＳＲ  を計算し（ステップＳ２１）、これがＳＵ  以上であるか否かを調べる（ステップＳ２２）。ＳＲ  ≧ＳＵ  であれば、消去／圧縮ファイル選択部２３が実行されて、消去または圧縮すべきファイルが選択される（ステップＳ２３）。次いで、その選択されたファイルがファイル消去／圧縮部２４にて消去または圧縮された後、再び使用率ＳＲ  が消去／圧縮条件判別部２２によって計算される（ステップＳ２４）。そして、ＳＲ  ≧ＳＬ  であるか否かが消去／圧縮条件判別部２２によって調べられ、ＳＲ  がＳＬ  を下回るまでステップＳ２３，Ｓ２４が繰り返えされる。一般にＳＬ  ＜ＳＵ  である。
【００５１】
なお、消去／圧縮判別部２２が消去／圧縮条件が成立していないと判別した場合には、書き込み要求は通常通りに処理される。すなわち、書き込み権限などをチェックの上、問題がなければ書き込みを行う。
【００５２】
消去／圧縮判別部２２が消去／圧縮条件が成立していると判別した場合、消去／圧縮ファイル選択部２３が消去または圧縮すべきファイルを選択するが、この選択のためにはいくつものアルゴリズムが考えられる。
【００５３】
例えばファイルシステムに存在するファイルのうち最も重要度の低いファイルから一つを選択する。重要度が最低のファイルが複数ある場合には、任意の一つを選んでも良いし、そのなかで最もファイルサイズの大きいファイルを選んでも良いし、ファイルサイズ最小のファイルを選んでも良い。あるいは書き込み要求されているファイルサイズを下回らない範囲内で、最小ファイルサイズのファイルを選んでも良い。
【００５４】
特定のファイルについては消去または圧縮の対象にしたくない場合には、消去／圧縮ファイル選択部２３はある値を越える重要度のファイルは消去または圧縮対象としないことにしておき、消去または圧縮対象にしたくないファイルには設定した値を越える重要度を与えればよい。例えば重要度９を越えるファイルは消去や圧縮の対象としないものとすれば、図３に示すファイルのうち、「９５．１」、「９５．２」、「９５．３」は消去や圧縮の対象とされない。これにより、特定のファイルは消去または圧縮対象から除くことができる。なお、この値は固定的なものでなく、変更できることにしても良い。
【００５５】
消去／圧縮条件判別部２２により消去または圧縮が必要と判別された場合でも、消去／圧縮ファイル選択部２３にて消去または圧縮対象ファイルが選択できないこともある。この場合には、例えば次のように対処することが好ましい。
【００５６】
（１）消去／圧縮ファイル選択部２３は、該当するファイルがないことをプログラム１に返したり使用者に通知し、ファイルの消去や圧縮はしない。
【００５７】
（２）消去／圧縮ファイル選択部２３が、あらかじめ設定した値を越える重要度のファイルは選択しないという方式をとっている場合に、ファイルが選択できないならば、その設定値を変更して低くする、あるいはあらかじめ設定した値を越える重要度のファイルの中から最も重要度の低いファイルを選ぶ。これらの場合には、ユーザにその旨を通知し、許諾を得てから行うことが好ましい。
【００５８】
図８には、この発明の第２の実施形態に係る電子情報機器のシステム構成が示されている。
【００５９】
ここでは、ファイルシステム２に消去／圧縮通知部２６が追加されており、これによって消去または圧縮対象として選択されたファイルがユーザに通知されるように構成されている。
【００６０】
すなわち、消去／圧縮ファイル選択部２３にて選択されたファイルは消去／圧縮通知部２６により消去／圧縮通知プログラム４に渡されて、ユーザに通知される。これにより、ユーザは、ファイルが自動消去または圧縮されること、及びどのファイルが消去または圧縮されたかを知ることができる。消去／圧縮通知部２６による通知のタイミングは、ファイル消去／圧縮部２４によるファイル消去または圧縮の前でも、後でも構わない。
【００６１】
図９には、この発明の第３の実施形態に係る電子情報機器のシステム構成が示されている。
【００６２】
ここでは、実施形態２の構成に加え、ファイルシステム２に諾否受理部２７が設けられている。
【００６３】
すなわち、消去／圧縮ファイル選択部２３にて選択されたファイルは消去／圧縮通知部２６により消去／圧縮通知プログラム４に渡され、使用者に通知される。使用者は消去／圧縮通知プログラム４に対して消去または圧縮を認めるか認めないかを入力する。この諾否は諾否受理部２７により受理され、消去／圧縮ファイル選択部２４に入力される。もし使用者がそのファイルの消去または圧縮による空き領域確保処理の実行を認めれば、このファイルは消去または圧縮される。認めなければ消去／圧縮ファイル選択部２３は別のファイルを選択する。これにより、重要度の低いファイルといえども使用者の知らない間に消去や圧縮がなされることはなく、使用者の許可を受けた上で消去や圧縮が行われる。図１０に図９に対応するフローチャートを示す。
【００６４】
まず、ファイルシステム２の要求受理部１が、ユーザプログラム１からのファイル操作要求を受け付ける（ステップＳ３１）。そのファイル操作要求がファイル書き込み要求でなければ（ステップＳ３２）、そのファイル操作要求によって指定されたファイル操作（ファイル読み出し、ファイル消去、ディレクトリ参照など）が通常通り行われる（ステップＳ３３）。
【００６５】
一方、ユーザプログラム１からのファイル操作要求が書き込み要求であるならば（ステップＳ３２）、消去／圧縮条件判別部２２は記憶媒体３の空き容量に従って、所定の消去／圧縮条件が成立しているか否かを判断する（ステップＳ３４）。この場合、前述したように、書き込み要求されたファイルサイズと記憶媒体３の現在の空き容量とが比較され、空き領域のサイズが書き込み要求されたファイルサイズよりも小さい時に消去／圧縮条件が成立すると判別される。また、書き込み要求されたファイルサイズとは無関係に、記憶媒体３の現在の空き容量が規定値以下であれば消去／圧縮条件が成立すると判別してもよい。空き領域としては、前述した使用率ＳＲ  を利用することができる。
【００６６】
十分な空き容量があって消去／圧縮条件が成立しないならば（ステップＳ３５）、要求されたファイルの書き込みが直ぐに実行される（ステップＳ３６）。一方、十分な空き容量がなく消去／圧縮条件が成立したならば（ステップＳ３５）、消去／圧縮ファイル選択部２３による消去または圧縮対象ファイルの選択処理が実行される（ステップＳ３７）。すなわち、消去／圧縮ファイル選択部２３は、記憶媒体３に格納されているファイルそれぞれについて順番に優先度（図３の重要度）を調べ、重要度の値が基準値以下のファイルを選択する。
【００６７】
そして、その選択されたファイルは、消去／圧縮通知部２６により消去／圧縮通知プログラム４に渡され、使用者に通知される（ステップＳ３８，Ｓ３９）。使用者は消去／圧縮通知プログラム４に対してそのファイルに消去または圧縮の処理を施すことを認めるか認めないかを入力する。この諾否は諾否受理部２７により受理され（ステップＳ４０）、消去／圧縮ファイル選択部２４に入力される。もし使用者がファイル消去やファイル圧縮を認めれば（ステップＳ４１）、このファイルはファイル消去／圧縮部４２にて消去または圧縮される（ステップＳ４２）。認めなければ、再び、ステップＳ３７〜Ｓ４１が行われ、消去／圧縮ファイル選択部２３は別のファイルを選択する。
【００６８】
図１１には、各ファイルの優先度管理の他の例が示されている。
【００６９】
すなわち、図３では各ファイルの中に重要度のフィールドを設け、その中にファイルの重要度を示す値を格納したが、ファイルの名前と重要度の対からなる表を図１１のように作成し、それを別個のファイルなどとして格納してもよい。この表は、ファイルの生成、削除及び重要度の変更に伴って更新される。
【００７０】
また、新規ファイルの作成／保存時にそのファイルにユーザが付与するファイル名そのものによって優先度を管理しても良い。また、ファイル拡張子を優先度として使用することも出来、この場合には、プログラムファイル、システムファイル、テキストファイル、圧縮ファイル、画像ファイルなどのファイルの種類や、そのファイルを扱うプログラムとの関係などに応じた優先度付けが可能となる。
【００７１】
以上、ファイルシステム２がオペレーティングシステムにファイル管理部として組み込まれている場合を想定して実施形態１〜３を説明したが、ファイルシステム２のファイル自動消去／圧縮機能はオペレーティングシステムの外でユーザレベルで動くプログラムとして実現することもできる。図１２にその場合の携帯型端末のシステム構成例を示す。
【００７２】
すなわち、図１２においては、実施形態１〜３で説明したファイルシステム２のファイル自動消去／圧縮機能がオペレーティングシステム外で動作するファイル管理プログラム６として実装されており、一般のユーザプログラム１と別個に動作し、直接一般のプログラム１からの要求を受理しない。オペレーティングシステム５から見ると、ファイル管理プログラム６は一般のプログラム１と同様のユーザプログラムに見える。
【００７３】
図１３に、ファイル管理プログラム６の機能構成を示す。
【００７４】
図１３における消去／圧縮条件判別部３１、消去／圧縮ファイル選択部３２、ファイル消去／圧縮部３３は、それぞれ図１の消去／圧縮条件判別部２２、消去／圧縮ファイル選択部２３、ファイル消去／圧縮部２４に相当するが、図１３の入出力部３４はオペレーティングシステム５とのインタフェースとして機能する。
【００７５】
消去／圧縮条件判別部３１により消去／圧縮条件が成立していると判別されると、消去／圧縮ファイル選択部３２が実行されて、消去または圧縮すべきファイルが選択される。選択されたファイルを消去または圧縮すべく、ファイル消去／圧縮部３３が消去要求と圧縮要求の何れかを発生する。これは入出力部３４を介して、システムコールとしてオペレーティングシステム５に対して送られる。オペレーティングシステム５はこれを受理し、ファイルを消去あるいは圧縮する。消去／圧縮条件判別部３１および消去／圧縮ファイル選択部３２によって実行される具体的な処理内容は、図６、図７で説明した処理と同じである。
【００７６】
以上説明したように、実施形態１〜３の電子情報機器で使用されるファイルシステム２（ファイル管理プログラム６を含む）によれば、それにファイル自動消去機能あるいはファイル自動圧縮機能の何れか一方を設けることにより、ユーザが明示的に消去要求や圧縮要求を発生しなくともファイルを格納する記憶媒体３に自動的に空き領域を生成できるようになり、物理的な記憶媒体３の限られた記憶容量を効率良く利用することが可能となる。よって、空き領域が少ない場合でも、ユーザが消去すべきファイルを選択したり、消去するためのプログラムの使用法を覚える必要がなく、使い勝手の良い計算機システムを実現できる。また、ネットワークや他の計算機からデータが転送されてくる場合に、ユーザが空き領域を作らなくても転送データを失わず保存することができる。
【００７７】
なお、以上の説明では、ユーザプログラム１からファイル書き込み要求が発行されたときに消去／圧縮条件の成立の有無を判定したが、この判定処理はある時間間隔で定期的に行ってもよい。これは、ユーザプログラム１と独立している図１３の構成に好適である。
【００７８】
次に、図１４乃至図２１を参照して、この発明の第４の実施形態を説明する。
【００７９】
前述したように実施形態１〜３ではファイルごとに固定的に決められた重要度の値を消去／圧縮ファイル選定のための優先度として使用したが、実施形態４では、各ファイルの入出力に関する履歴、すなわちユーザによるファイルの使用状況を、消去／圧縮ファイル選定のための優先度として使用する構成である。このような優先度を使用するのは、以下の理由によるものである。
【００８０】
すなわち、通常、計算機システムでは、頻繁に参照されるファイルとあまり頻繁に参照されないファイルとが存在する。頻繁に参照されるファイルを消してしまうと、ユーザが再びそのファイルを参照しようとしてもファイルが見つからない、という問題が生じる可能性が高い。同様に、頻繁に参照されるファイルを圧縮してしまうと、そのファイルの読み出しの度に伸張処理が必要とされ、ファイル読み出しに要する時間が長くなるという問題が発生する。
【００８１】
また、これとは逆に、ネットワークなどからダウンロードしたニュースなどの文書ファイルについては一旦読み出されたことがあるものはユーザにとって重要度が低いファイルであると想定する事ができるので、ユーザがすでに一度参照したファイルは消してもよいが、まだ参照していないファイルは消してはならない、という用途もある。
【００８２】
したがって、実施形態４では、このような状況に対応するために、ファイルの読み出しに関する履歴情報が優先度として使用される。以下、実施形態４の機能構成を説明する。
【００８３】
この実施形態４の電子情報機器は、前述した実施形態１〜３のシステム構成と同様に、アプリケーションプログラムなどのユーザプログラム１０と、そのプログラム１０からファイル操作に関する要求を受けてファイルの入出力を管理するファイルシステム２０と、ファイルを記憶するための補助記憶装置として使用されるハードディスクやフラッシュメモリカードなどの不揮発性の記憶媒体３０とから構成される。
【００８４】
ファイルシステム２０は、ファイル入出力部２０１、ファイル読み出し部２０２、ファイル読み出し履歴作成部２０３、消去／圧縮ファイル選択部２０４、およびファイル消去／圧縮部２０５から構成されている。
【００８５】
ファイルの読み出し時には、ファイル読み出し部２０２はファイル入出力部２０１を介して記憶媒体３０のファイル記憶部３１からファイルを読み出すほか、ファイル読み出し履歴作成部２０３に該当ファイルのファイル名とそのファイルの読み出しがあった旨を通知する。ファイル読み出し履歴作成部２０３は、ファイル読み出し部２０２からの通知に従って、ファイル読み出しの有無、読み出し回数、最終読み出し日時などをファイル毎に示すファイル読み出し履歴情報を作成する。このファイル読み出し履歴情報は、ファイル入出力部２０１を介して記憶媒体３０のファイル読み出し履歴記憶部３２に格納される。
【００８６】
消去／圧縮ファイル選択部２０４は、ファイル入出力部２０１を介してファイル読み出し履歴記憶部３２のファイル読み出し履歴情報を参照し、ファイル記憶部３１に格納されているファイルの中からユーザにとって重要でないと想定されるファイルを消去または圧縮対象ファイルとして選択し、そのファイル名をファイル消去／圧縮部２０５に通知する。この消去／圧縮ファイル選択部２０４の消去／圧縮ファイル選択処理は、実施形態１〜３と同様に、プログラム１０からファイル書き込みなどのファイル操作要求が発行された時、あるいは定期的に行われる。
【００８７】
ファイル消去／圧縮部２０５は、選択されたファイルを消去または圧縮する。この場合、ファイルの消去や圧縮は、実施形態１〜３と同様の方式で行われる。
【００８８】
次に、図１５〜図１７を参照して、ファイル読み出し履歴情報を具体的に説明する。
【００８９】
図１５の例では、ファイル読み出し履歴情報はディレクトリ内にファイル管理情報の１つとして保持されている。ファイル読み出し履歴情報は、“０”または“１”のフラグによって表され、フラグ“０”は読み出されたことがないファイルであることを示し、フラグ“１”は読み出されたことがあるファイルであることを示す。
【００９０】
図１６の例では、ファイル読み出し履歴情報として、ファイル読み出しの有無を示すフラグではなく、ファイル読み出し回数を示す値が利用されており、それが図１５と同様に各対応するファイルのディレクトリエントリに保持されている。
【００９１】
これら図１５または図１６のファイル読み出し履歴情報は、図１７に示されているように、ディレクトリとは別個に、読み出し履歴ファイルとして保存することもできる。ファイルの最終読み出し日時についても、ファイル読み出しの有無や読み出し回数と同様にして管理することができる。また、オペレーティングシステムによってはそれ自体にファイル毎の最終読み出し日時を管理する機能を持つものがあるので、それを利用してもよい。
【００９２】
次に、図１８を参照して、ファイル読み出し履歴を利用したファイル自動消去／圧縮動作を説明する。ここでは、参照頻度の低いファイルを優先して削除あるいは圧縮する場合を想定する。
【００９３】
まず、実施形態１〜３と同じ手法で記憶媒体３０のファイル記憶部３１に十分な空き領域があるか否か、すなわち消去／圧縮条件が成立しているか否かが調べられる（ステップＳ５１）。消去／圧縮条件が成立したならば、消去／圧縮ファイル選択部２０４の処理が開始される。すなわち、まず、消去／圧縮ファイル選択部２０４は、ファイル読み出し履歴記憶部３２から１つのファイルに関する読み出し履歴情報を読み出し（ステップＳ５３）、そのファイルが読み出されたことがない、あるいは読み出し回数が所定値以下のファイルであるか否かを調べる（ステップＳ５４）。読み出されたことがない、あるいは読み出し回数が所定値以下のファイルであれば、消去／圧縮ファイル選択部２０４は、そのファイル名をファイル消去／圧縮部２０５に伝えて消去または圧縮させる（ステップＳ５５）。
【００９４】
この後、再度、消去／圧縮条件が成立するか否かが調べられ（ステップＳ５１）、消去／圧縮条件が成立しなくなるか、あるいは全てのファイルについての読み出し履歴情報の読み出しが終了するまで、ステップＳ５３〜Ｓ５５が繰り返される。
【００９５】
このように、読み出し履歴を用いて消去や圧縮を行うファイルを決定することによって、頻繁に読み出され、これからも読み出されることが予想されるファイルをなるべく消去あるいは圧縮しないようにすることができる。よって、ファイル消去／圧縮によってユーザに与える影響を大幅に低減する事ができる。
【００９６】
図１９には、ファイル読み出し履歴情報の他の例が示されている。
【００９７】
ここでは、ファイル読み出し履歴情報として各ファイルの最終読み出し日時情報が用いられている。この場合、ファイルの読み出し時には、ファイル読み出し部２０２はファイル記憶部３１からファイルを読み出すほか、ファイル読み出し履歴作成部２０３に該当ファイルのファイル名を通知する。ファイル読み出し履歴作成部２０３は、通知されたファイル名と現在の日時とを対応させてファイル読み出し履歴記憶部３２に記憶する。
【００９８】
次に、図２０を参照して、ファイル読み出し履歴を利用したファイル自動消去／圧縮動作を説明する。ここでは、基本的には、最終読み出し日時が古いファイル程優先して削除または圧縮される。
【００９９】
まず、実施形態１〜３と同じ手法で記憶媒体３０のファイル記憶部３１に十分な空き領域があるか否か、すなわち消去／圧縮条件が成立しているか否かが調べられる（ステップＳ６１）。消去／圧縮条件が成立したならば、消去／圧縮ファイル選択部２０４の処理が開始される。すなわち、まず、消去／圧縮ファイル選択部２０４は、ファイル読み出し履歴記憶部３２から１つのファイルに関する読み出し履歴情報を読み出し（ステップＳ６３）、最終読み出し日時が予め決められた所定の日時よりも古いファイルであるか否かを調べる（ステップＳ６４）。最終読み出し日時が所定の日時よりも古いファイルであれば、消去／圧縮ファイル選択部２０４は、そのファイル名をファイル消去／圧縮部２０５に伝えて消去あるいは圧縮させる（ステップＳ６５）。
【０１００】
この後、再度、消去／圧縮条件が成立するか否かが調べられ（ステップＳ６１）、消去／圧縮条件が成立しなくなるか、あるいは全てのファイルについての読み出し履歴情報の読み出しが終了するまで、ステップＳ６３〜Ｓ６５が繰り返される。
【０１０１】
このように、最終の読み出し日時を記録することによって、より最近に参照されたファイルをなるべく消去あるいは圧縮しなくすることができるため、効率的な空き領域確保が行える。また、最終の読み出し日時を前述した読み出し回数と組み合わせて使用すれば、読み出し回数か少なくても最終の読み出し日時が新しいものについては消去／圧縮対象から除外することかできるようになり、さらに効率的な空き領域確保が可能になる。
【０１０２】
次に、図２１を参照して、図１５の読み出し履歴情報（読み出しの有無）を利用したファイル自動消去／圧縮動作の別の例を説明する。ここでは、読み出されたことがあるファイルを優先的に消去あるいは圧縮するようにしたものである。
【０１０３】
まず、実施形態１〜３と同じ手法で記憶媒体３０のファイル記憶部３１に十分な空き領域があるか否か、すなわち消去／圧縮条件が成立しているか否かが調べられる（ステップＳ７１）。消去／圧縮条件が成立したならば、消去／圧縮ファイル選択部２０４の処理が開始される。すなわち、まず、消去／圧縮ファイル選択部２０４は、ファイル読み出し履歴記憶部３２から１つのファイルに関する読み出し履歴情報を読み出し（ステップＳ７３）、そのファイルが読み出されたことがあるファイルであるか否かを調べる（ステップＳ７４）。読み出されたことがあるファイルであれば、消去／圧縮ファイル選択部２０４は、そのファイル名をファイル消去／圧縮部２０５に伝えて消去あるいは圧縮させる（ステップＳ７５）。
【０１０４】
この後、再度、消去／圧縮条件が成立するか否かが調べられ（ステップＳ７１）、消去／圧縮条件が成立しなくなるか、あるいは全てのファイルについての読み出し履歴情報の読み出しが終了するまで、ステップＳ７３〜Ｓ７５が繰り返される。
【０１０５】
このように、ユーザがすでに一度参照したことがあるファイルを優先的に消去または圧縮するというアルゴリズムは、電話回線やネットワーク、あるいは電波などの媒体を通じてニュースや天気予報などの文書ファイルを携帯型端末などの電子情報機器にダウンロードし、ユーザがそれらダウンロードしたファイルを必要に応じて参照するという用途において特に有効であり、記憶容量の少ない電子情報機器の記憶媒体を効率良く利用することが可能となる。
【０１０６】
図２２には、この発明の第５の実施形態に係る電子情報機器のシステム構成が示されている。
【０１０７】
このシステムは、概略的には実施形態４のファイルシステム２０に対して、ファイル書き込み時にファイル読み出し履歴記憶部３２の対応する情報を消去する機能を追加したものである。すなわち、この実施形態５で使用されるファイルシステム２０は、ファイル読み出し履歴情報を参照して消去または圧縮の対象となるファイルを選択するという点は実施形態４と同じであるが、そのファイル読み出し履歴情報の信頼性を高めるために、ファイル書き込み部２０６が追加されている。このファイル書き込み部２０６を利用したファイル読み出し履歴情報の消去動作を図２３に示す。
【０１０８】
図２３のフローチャートに示されているように、ファイル書き込み時においては、ファイル書き込み部２０６は、まず、ファイル記憶部３１へファイルを書き込みと共に、ファイル読み出し履歴作成部２０３に該当ファイルのファイル名を通知する（ステップＳ８１，Ｓ８２）。ファイル読み出し履歴作成部２０３は、そのファイル名で指定されるファイルのファイル読み出し履歴情報を消去、あるいは初期値にリセットする（ステップＳ８３）。
【０１０９】
例えば、図２４に示されているように、読み出しの有無を示すファイル読み出し履歴情報を使用している場合においては、ファイル名ｆ３のファイルについての書き込みが行われたとき、そのファイル名ｆ３のファイルに対応する読み出し履歴情報が“０”にリセットされ、これによってそのファイルは読み出されたことがないファイルとして扱われる。
【０１１０】
このようにファイル書き込みに応じて該当するファイル読み出し履歴情報を初期化する事により、ユーザがすでに一度参照したデータは消してもよいが、まだ参照していないデータは消してはならない、という用途において、更新後のデータをユーザが読み出したかどうかまでを考慮して消去対象のファイルを選択できるようになる。
【０１１１】
図２５には、この発明の第６の実施形態に係る電子情報機器のシステム構成が示されている。
【０１１２】
このシステムで使用されるファイルシステム２０は、ファイル自動消去またはファイル自動圧縮による空き領域確保機能の実現のために、図示のように、ファイル入出力部３０１、ファイル書き込み部３０２、ファイルサイズ情報作成部３０３、消去／圧縮ファイル選択部３０４、およびファイル消去／圧縮部３０５を備えている。
【０１１３】
ファイルの書き込み時には、ファイル書き込み部３０２は、ファイル入出力部３０１を通じてファイル記憶部３１にファイルを書き込むほか、該当ファイルのファイル名およびファイルサイズをファイルサイズ情報作成部３０３に通知する。ファイルサイズ情報作成部３０３は、ファイル名とファイルサイズとの対応を示す表を生成し、それをファイル入出力部３０１を通じてファイルサイズ情報記憶部３３に記憶する。このファイルサイズ情報は、各ファイルのディレクトリエントリの一部に格納する事もできる。ファイル消去または圧縮の際には、消去／圧縮ファイル選択部３０４が、ファイルサイズ情報記憶部３３を参照して、各ファイルのサイズを得る。そして、サイズがある決められた値を超えるファイルを選択し、それらのファイルのファイル名をファイル消去／圧縮部３０５に伝える。ファイル消去／圧縮部３０５は消去／圧縮ファイル選択部３０４から得たファイル名のファイルをファイル記憶部３１から消去する。
【０１１４】
次に、図２６を参照して、ファイルサイズ情報を利用したファイル自動消去／圧縮動作を説明する。ここでは、サイズの大きなファイルが優先的に消去または圧縮される。
【０１１５】
まず、実施形態１〜３と同じ手法で記憶媒体３０のファイル記憶部３１に十分な空き領域があるか否か、すなわち消去／圧縮条件が成立しているか否かが調べられる（ステップＳ９１）。消去／圧縮条件が成立したならば、消去／圧縮ファイル選択部３０４の処理が開始される。すなわち、まず、消去／圧縮ファイル選択部３０４は、ファイルサイズ情報記憶部３３から１つのファイルに関するサイズ情報を読み出し（ステップＳ９３）、そのファイルサイズが予め決められた基準サイズを越えているか否かを調べる（ステップＳ９４）。基準サイズよりもファイルサイズが大きいファイルであれば、消去／圧縮ファイル選択部３０４は、そのファイル名をファイル消去／圧縮部３０５に伝えて消去または圧縮させる（ステップＳ９５）。
【０１１６】
この後、再度、消去／圧縮条件が成立するか否かが調べられ（ステップＳ９１）、消去／圧縮条件が成立しなくなるか、あるいは全てのファイルについてのサイズ情報の読み出しが終了するまで、ステップＳ９３〜Ｓ９５が繰り返される。
【０１１７】
このように、サイズが大きなファイルを優先的に消去または圧縮することによって、ファイル記憶部３１の容量を空けるために消去または圧縮するファイルの個数を抑えることができ、ユーザが読もうとしたファイルがすでに消去されている、あるいは圧縮されておりその読み出しに時間がかかる、という問題の発生確率を低減することができる。
【０１１８】
また、このようにサイズが大きなファイルを優先的に消去または圧縮するという処理は、実施形態４および５で説明したファイル読み出し履歴情報と組み合わせて使用することもできる。この場合には、まず、ファイル読み出し履歴情報を参照することによって複数の候補ファイルを選定し、その中でサイズが大きなファイルを優先的に消去または圧縮するという方法を採用することが好ましい。
【０１１９】
図２７には、この発明の第７の実施形態に係る電子情報機器のシステム構成が示されている。
【０１２０】
このシステムで使用されるファイルシステム２０は、ファイル自動消去または圧縮による空き領域確保機能の実現のために、図示のように、ファイル入出力部４０１、ファイル変換部４０２、ファイル内容対応関係部４０３、消去／圧縮ファイル選択部４０４、およびファイル消去／圧縮部４０５を備えている。
【０１２１】
ファイル変換部４０２は、ファイル記憶部３１からあるファイルｆａの内容を読み出し、その内容に変換（ファイルデータの圧縮／伸張、文書ファイル形式の変換など）を加えた上で変換後のファイルをファイル記憶部３１中の別のファイルｆｂとして格納する。この場合、ファイル変換部４０２は、ファイルｆａとｆｂが互いに変換可能な内容を持ちデータ形式だけが異なるファイルであることを、ファイル内容対応関係作成部４０３に通知する。
【０１２２】
ファイル内容対応関係作成部４０３は、ファイル変換部４０２からの通知に基づき、ファイル記憶部３１に格納されているファイルの中で相互に変換可能な内容を持つファイル同士の関係を示すファイル内容対関係応情報を生成し、それをファイル内容対応関係記憶部３４に格納する。
【０１２３】
ファイル内容対関係応情報としては、各ファイルのディレクトリエントリに登録されるファイル拡張子などを利用する事もできる。すなわち、例えばあるファイルｆａを圧縮する事によって得られた圧縮ファイルｆｂに対してファイルｆａと同じファイル名を付与し、そのファイルタイプを示す拡張子としてデータ圧縮形式を示す情報を付与すれば、ファイルｆａ，ｆｂそれぞれのファイル名と拡張子の関係から、ファイルｆａ，ｆｂが相互に変換可能な内容を持つファイルであることを認識できる。したがって、この方式を採用すれば、ファイル内容対応関係記憶部３４をディレクトリの一部として実現する事ができる。
【０１２４】
ファイル消去または圧縮の際には、まず、消去／圧縮ファイル選択部４０４がファイル内容対応関係記憶部３４を参照して、他のファイルの内容から復元可能なファイルを選択し、そのファイルのファイル名をファイル消去／圧縮部４０５に伝える。ファイル消去／圧縮部４０５は消去／圧縮ファイル選択部４０４から得たファイル名のファイルをファイル記憶部３１から消去または圧縮する。
【０１２５】
次に、図２８を参照して、ファイル内容対応関係記憶情報を利用したファイル自動消去／圧縮動作を説明する。ここでは、他のファイルからの変換によって内容が復旧できるファイルが優先的に消去または圧縮される。
【０１２６】
まず、実施形態１〜３と同じ手法で記憶媒体３０のファイル記憶部３１に十分な空き領域があるか否か、すなわち消去／圧縮条件が成立しているか否かが調べられる（ステップＳ１０１）。消去／圧縮条件が成立したならば、消去／圧縮ファイル選択部４０４の処理が開始される。すなわち、まず、消去／圧縮ファイル選択部４０４は、ファイル内容対応関係記憶部３４から１つのファイルに関する情報を読み出し（ステップＳ１０３）、そのファイルが他のファイル内容から復元可能なファイルであるか否かを調べる（ステップＳ１０４）。復元可能なファイルであれば、消去／圧縮ファイル選択部４０４は、そのファイル名をファイル消去／圧縮部４０５に伝えて消去または圧縮させる（ステップＳ１０５）。
【０１２７】
この後、再度、消去／圧縮条件が成立するか否かが調べられ（ステップＳ１０１）、消去／圧縮条件が成立しなくなるか、あるいは全てのファイルについての対応関係情報の読み出しが終了するまで、ステップＳ１０３〜Ｓ１０５が繰り返される。
【０１２８】
このように、他のファイルからの変換によって内容が復元できるようなファイルを優先的に消去または圧縮し、復元ができないファイルに対しては消去や圧縮の処理を行わないようにする制御は、空き領域確保のための自動ファイル消去を採用した場合に特に有効であり、ユーザが読もうとしたファイルがすでに消去されていて読めない、という問題の発生を減らすことができる。また、このように復旧可能なファイルを優先的に消去するという処理は、実施形態４および５で説明したファイル読み出し履歴情報と組み合わせて使用することもできる。この場合には、まず、ファイル読み出し履歴情報を参照することによって複数の消去対象候補を選定し、その中で復旧可能なファイルを優先的に消去するという方法を採用することが好ましい。
【０１２９】
図２９には、この発明の第８の実施形態に係る電子情報機器のシステム構成が示されている。
【０１３０】
このシステムで使用されるファイルシステム２０は、ハイパーテキストのように他のファイルとの間で参照関係を持つファイルに好適な空き領域自動確保機能の実現のために、図示のように、ファイル入出力部５０１、参照関係読み出し部５０２、消去／圧縮ファイル選択部５０３、およびファイル消去／圧縮部５０４を備えている。
【０１３１】
ファイル消去または圧縮の際には、まず、消去／圧縮ファイル選択部５０３からの指示により参照関係読み出し部５０２が動作を開始し、ファイル記憶部３１の各ファイルについて他のファイルからの参照数が検出される。参照数は、他のファイルそれぞれの内容を解析して、該当ファイルへのポインタの数を調べる事によって検出される。消去／圧縮ファイル選択部５０３は、他のファイルからの参照数がある一定数よりも少ないファイルを選択し、そのファイルのファイル名をファイル消去／圧縮部５０４に伝える。ファイル消去／圧縮部５０４は消去／圧縮ファイル選択部５０３から得たファイル名のファイルをファイル記憶部３１から消去する。
【０１３２】
次に、図３０を参照して、ファイル参照数を利用したファイル自動消去／圧縮動作を説明する。ここでは、他のファイルからそのファイルへの参照の個数の少ないファイルが優先的に消去または圧縮される。
【０１３３】
まず、実施形態１〜３と同じ手法で記憶媒体３０のファイル記憶部３１に十分な空き領域があるか否か、すなわち消去／圧縮条件が成立しているか否かが調べられる（ステップＳ１１１）。消去／圧縮条件が成立したならば、消去／圧縮ファイル選択部５０３の処理が開始される。すなわち、まず、消去／圧縮ファイル選択部５０３は、ファイル記憶部３１から１つのファイルを読み出し（ステップＳ１１３）、そのファイルについての他のファイルからの参照数を参照関係読み出し部５０２に調べさせる。参照関係読み出し部５０２は、他のファイルそれぞれの内容を解析して、該当ファイルへのポインタの数を調べる事によって参照数を検出し、その結果を消去／圧縮ファイル選択部５０３に渡す。消去／圧縮ファイル選択部５０３は、そのファイルに対応する参照数が予め定められた基準値よりも少ないか否かを調べる（ステップＳ１１４）。他のファイルからの参照数が基準値よりも少ないファイルであれば、消去／圧縮ファイル選択部５０３は、そのファイル名をファイル消去／圧縮部５０４に伝えて消去または圧縮させる（ステップＳ１１５）。
【０１３４】
この後、再度、消去／圧縮条件が成立するか否かが調べられ（ステップＳ１１１）、消去／圧縮条件が成立しなくなるか、あるいは全てのファイルについての他のファイルからの参照数が調べられるまで、ステップＳ１１３〜Ｓ１１５が繰り返される。
【０１３５】
このように、他のファイルからの参照が少ないファイルを優先的に消去または圧縮し、参照が多いファイルをそのままの形で保存することによって、特に空き領域確保機能のためにファイル消去を採用した場合には、ユーザが他のファイルからの参照経由で読もうとしたファイルがすでに消去されている、という問題の発生を減らすことができる。また、このように参照数の少ないファイルを優先的に消去するという処理は、実施形態４および５で説明したファイル読み出し履歴情報と組み合わせて使用することもできる。この場合には、まず、ファイル読み出し履歴情報を参照することによって複数の消去対象候補を選定し、その中で他のファイルからの参照数の少ないファイルを優先的に消去するという方法を採用することが好ましい。
【０１３６】
なお、実施形態４〜８のファイルシステム２０のファイル自動消去／圧縮機能は、実施形態１〜３のファイルシステム２の場合と同様に、オペレーティングシステムの外でユーザレベルで動くプログラムとして実現することもできる。この場合、図１４、図２２、図２５、図２７、図２９それぞれのファイル入出力部だけがオペレーティングシステムにファイル管理部として実装され、他の部分はオペレーティングシステム外で動作するファイル管理プログラムとして実装されることになる。
【０１３７】
以上説明したように、実施形態４〜８の電子情報機器によれば、ファイルの参照履歴・大きさ・内容の対応関係・参照の個数などが消去または圧縮ファイル選定のための優先度として使用されることにより、静的な優先度だけを使用する場合よりもユーザに与える影響の少ないファイル自動消去を行う事ができる。
【０１３８】
なお、実施形態４〜８の電子情報機器においても、実施形態２、３で説明したように、消去／圧縮ファイル選択部により選択されたファイルをユーザに通知し、消去／圧縮の許可を得た上でそのファイルを消去または圧縮するという機能を適宜組み合わせて使用することが好ましい。
【０１３９】
次に、この発明の第９の実施形態を説明する。
【０１４０】
この実施形態９の電子情報機器は、前述した実施形態１〜３のシステム構成と同様に、アプリケーションプログラムなどのユーザプログラム１００と、そのプログラム１００からファイル操作に関する要求を受けてファイルの入出力を管理するファイルシステム２００と、ファイルを記憶するための補助記憶装置として使用されるハードディスクやフラッシュメモリカードなどの不揮発性の記憶媒体３００とから構成される。
【０１４１】
ファイルシステム２００は、記録媒体３００の空き容量を自動的に確保するための機能として、ファイル自動消去機能とファイル自動圧縮機能の双方を有しており、それらファイル自動消去機能とファイル自動圧縮機能を選択的に使用する構成である。
【０１４２】
ファイルシステム２００は、プログラム１００からの要求を受理する要求受理部６０１と、消去すべきファイルを選択する消去ファイル選択部６０２と、ファイルを消去するファイル消去部６０３と、圧縮すべきファイルを選択する圧縮ファイル選択部６０４と、ファイルを圧縮するファイル圧縮部６０５と、記憶媒体３００に記憶されるファイルを入出力するファイル入出力部６０６と、これらを司る制御部６０７とからなる。
【０１４３】
図３２はファイルシステム２００で管理されるファイル構造を示している。
【０１４４】
各々のノードの第１フィールドはノードの種類を表す。Ｄはディレクトリ、Ｆはファイルである。第２フィールドはファイルまたはディレクトリの名前である。ディレクトリの場合、第３フィールド以降は子ノードへのポインタである。斜め線は終了を示し、ポインタとして使用されない値を使えば良い。例えばポインタとしてノードの番地を格納し、終了の記しとしてマイナス１を使えば良い。ファイルの場合、第３フィールドに最終更新日時を、第４フィールドに最終参照日時を示す。／は参照されていないことを示す。第５フィールドはデータへのポインタである。
【０１４５】
図３３はファイル管理方式のアルゴリズムを示すフローチャートである。本実施形態ではファイルの最終参照日時を圧縮や消去ファイルを選択するための属性として使用する。
【０１４６】
まず、ファイルシステム２００の要求受理部６０１が、ユーザプログラム１００からのファイル操作要求を受け付ける（ステップＳ２０１）。そのファイル操作要求がファイル書き込み要求でなければ（ステップＳ２０２）、そのファイル操作要求によって指定されたファイル操作（ファイル読み出し、ファイル消去、ディレクトリ参照など）が通常通り行われる（ステップＳ２０３）。
【０１４７】
一方、ユーザプログラム１００からのファイル操作要求が書き込み要求であるならば（ステップＳ２０２）、制御部６０７は記憶媒体３００の空き容量に従って、所定の消去／圧縮条件が成立しているか否かを判断する（ステップＳ２０４）。この場合、書き込み要求されたファイルサイズと記憶媒体３００の現在の空き容量とが比較され、空き領域のサイズが書き込み要求されたファイルサイズよりも小さい時に消去／圧縮条件が成立すると判別される。また、書き込み要求されたファイルサイズとは無関係に、記憶媒体３００の現在の空き容量が規定値以下であれば消去／圧縮条件が成立すると判別してもよい。
【０１４８】
十分な空き容量があって消去または圧縮の条件が成立しないならば（ステップＳ２０５）、要求されたファイルの書き込みが直ぐに実行される（ステップＳ２０６）。一方、十分な空き容量がなく消去／圧縮条件が成立したならば（ステップＳ２０５）、制御部６０７によって、記憶媒体３００に圧縮してもよいと判断される圧縮可能ファイルが存在するか否かが判断される（ステップＳ２０７）。この判断は、例えば、全てのファイルが圧縮済みか否かを調べることなどによって行うことができる。この場合には、非圧縮ファイルが残っていれば圧縮可能ファイルが存在すると判断され、残っていなければ圧縮可能ファイルが存在しないと判断される。また、ディレクトリやファイル拡張子などによって予め圧縮してはいけないファイルと圧縮してもよいファイルをユーザによる明示的な指定などによって固定的に決めておき、それに基づいて圧縮可能ファイルが存在するか否かを判断する事もできる。
【０１４９】
記憶媒体３００に圧縮してもよいと判断される圧縮可能ファイルが残っているならば、圧縮ファイル選択部６０４は、圧縮してもよいファイルの中で最終参照日時の最も古いもの（参照されたことのないファイルの最終参照時刻は最も古いと解釈される）を圧縮対象ファイルとして選択し、これがファイル圧縮部６０５によって圧縮される（ステップＳ２０８，Ｓ２０９）。この後、再び消去／圧縮の条件が成立しているかどうかの判別処理が行われ（ステップＳ２０４，Ｓ２０５）、成立しなくなるまでは、圧縮してもよいファイルが残っている限り、ステップＳ２０８，Ｓ２０９が繰り返し実行される。
【０１５０】
一方、圧縮してもよいファイルが無い場合には、今度は、空き領域確保のために行われる処理が、ファイル圧縮からファイル消去に切り替えられる。
【０１５１】
この場合、消去ファイル選択部６０２は、全てのファイルの中で最終参照日時の最も古いものを消去対象ファイルとして選択し、これがファイル消去部６０３によって消去される（ステップＳ２１０，Ｓ２１１）。
【０１５２】
この後、再び消去／圧縮の条件が成立しているかどうかの判別処理が行われ（ステップＳ２０４，Ｓ２０５）、成立しなくなるまで、ステップＳ２１０，Ｓ２１１が繰り返し実行される。
【０１５３】
このように、この実施形態では、ファイル自動圧縮処理がファイル自動消去処理もよりも優先して実行するように制御されるので、空き領域の自動確保機能の実行によってユーザに与える影響をより少なく抑えることができる。
【０１５４】
参照されたことのないファイルの最終参照時刻は最も古いと解釈すればよい。これを繰り返せば、書き込むファイルに同等以上の空き領域を作ることができる。
【０１５５】
なお、ここでは、圧縮と消去の対象ファイルを選択する際に、どちらも最終参照時刻という同一の属性を用いたが、必ずしもこの限りではない。圧縮は最終参照時刻の最も古いものを選択し、消去はファイルサイズの大きいものを選択する、というように異なる属性を使用しても良い。
【０１５６】
図３４はファイル管理方式の別のアルゴリズムを示すフローチャートである。図３３に示す例では、例えば全ての非圧縮ファイルを圧縮してから消去をするため、引き続いて使用される可能性の高いファイルも圧縮されてしまう恐れがある。ファイルの圧縮にはＣＰＵ時間や電力を消費すること、また空き領域がない状態にすぐに戻ってしまうことにより、すぐに使われるファイルを圧縮するのは得策ではない。これを改善するためには、すぐに使用される可能性が高いファイルは非圧縮状態であっても圧縮せずに、むしろ使用される可能性の低いファイルを消去した方がよい。一般に使用されるか否かの判定は困難であるため、時間的局所性を仮定し、最終参照日時が新しいものほど使用される可能性が高いと判定することが多い。本アルゴリズムでもこれを利用する。
【０１５７】
まず、ファイルシステム２００の要求受理部６０１が、ユーザプログラム１００からのファイル操作要求を受け付ける（ステップＳ３０１）。そのファイル操作要求がファイル書き込み要求でなければ（ステップＳ３０２）、そのファイル操作要求によって指定されたファイル操作（ファイル読み出し、ファイル消去、ディレクトリ参照など）が通常通り行われる（ステップＳ３０３）。
【０１５８】
一方、ユーザプログラム１００からのファイル操作要求が書き込み要求であるならば（ステップＳ３０２）、制御部６０７は記憶媒体３００の空き容量に従って、所定の消去／圧縮条件が成立しているか否かを判断する（ステップＳ３０４）。この場合、書き込み要求されたファイルサイズと記憶媒体３００の現在の空き容量とが比較され、空き領域のサイズが書き込み要求されたファイルサイズよりも小さい時に消去／圧縮条件が成立すると判別される。また、書き込み要求されたファイルサイズとは無関係に、記憶媒体３００の現在の空き容量が規定値以下であれば消去／圧縮条件が成立すると判別してもよい。
【０１５９】
十分な空き容量があって消去または圧縮の条件が成立しないならば（ステップＳ３０５）、要求されたファイルの書き込みが直ぐに実行される（ステップＳ３０６）。一方、十分な空き容量がなく消去／圧縮条件が成立したならば（ステップＳ３０５）、圧縮してもよいファイルである例えば非圧縮ファイルの中から最も最終参照日時の古いものを選びＦｃとし、そのＦｃの最終参照日時をｔ（Ｆｃ）とする（ステップＳ３０７）。次に、全ての管理対象ファイルの中から最も最終参照日時の古いものを選びＦｄとし、そのＦｄの最終参照日時をｔ（Ｆｄ）とする（ステップＳ３０７）。
【０１６０】
次に、現在の日時をｔとするとき、｜ｔ（Ｆｄ）−ｔ｜と｜ｔ（Ｆｃ）−ｔ｜の比があらかじめ定めた定数ｐを越えるか否か、つまり
｜ｔ（Ｆｄ）−ｔ｜  ／  ｜ｔ（Ｆｃ）−ｔ｜  ＞  ｐ
が成立するか否かが調べられる（ステップＳ３０９）、成立しているとき、つまり圧縮対象ファイルＦｃの最終参照日時よりもＦｄが著しく古いファイルであれば、Ｆｄの消去が行われる（ステップＳ３１１）。一方、ステップＳ３０９の条件が成立していないときは、圧縮対象ファイルＦｃの圧縮が行われる（ステップＳ３１０）。
【０１６１】
最終変更日時を圧縮や消去の属性として使用する場合には、圧縮によりできたファイルの最終変更日時は非圧縮状態の最終変更日時を継承するものとすればよい。また、最終参照日時を圧縮や消去の属性として使用する場合には、圧縮や消去の対象とするために行ったファイルの属性へのアクセスは参照とはみなさず最終参照日時は変更されないものとする。
【０１６２】
なお、以上の実施形態１〜９では、ファイル管理の対象を特に記述しなかったが、管理の対象は限定されても良い。例えばあるドライブのファイルシステムだけが当該ファイルの管理対象になる、あるドライブ内の特定のファイルシステムだけが当該ファイルの管理対象になる、あるディレクトリの下だけが当該ファイルの管理対象になる、あるアプリケーションが使用するファイルだけが当該ファイルの管理対象になる、などの管理方法を使用して圧縮または削除対象となりうるファイルを制限してもよい。また、前述したようにファイル管理は必ずしもＯＳの一部である必要はない。別のモジュールとして実現されても良い。あるいは、あるアプリケーションの使用するファイルだけが当該ファイルの管理対象になる場合はそのアプリケーションが当該ファイル管理を行っても良い。
【０１６３】
また、実施形態１〜９のファイル管理方法はコンピュータによって実行可能なプログラムとして実現されているため、フロッピーディスクやＣＤ−ＲＯＭなどの記録媒体にそのプログラムを格納して配布することにより、それら媒体からそのプログラムをコンピュータにインストールするだけで、簡単にディスクなどの２次記憶装置の空き領域を管理することが可能となる。
【０１６４】
【発明の効果】
以上説明したように、この発明によれば、ファイルシステムが管理する記憶媒体の空き領域に応じてファイル消去あるいは圧縮による空き領域確保処理が自動的に行われるため、ユーザが消去すべきファイルを選択したり、消去するためのプログラムの使用法を覚える必要がなく、使い勝手の良い計算機システムを提供することができる。また、外部からデータが転送されてくる場合に、ユーザが空き領域を作らなくても転送データを失わずファイルシステムに格納することができる。さらに、ファイルの参照履歴、内容の対応関係、参照の個数を利用して消去を行うことにより、ユーザが参照する可能性が低いファイルを消去できるようになり、自動消去の利便性を向上することができる。
【図面の簡単な説明】
【図１】この発明の第１実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図２】同第１実施形態のシステムで扱われるファイルの階層構造を示す図。
【図３】同第１実施形態のシステムで扱われるファイルの内部構成を示す図。
【図４】同第１実施形態のシステムにおけるファイル自動消去処理の手順を示すフローチャート。
【図５】同第１実施形態のシステムに対して書き込み要求を行うプログラムの一例を示す図。
【図６】同第１実施形態のシステムにおけるファイル自動消去処理で用いられる消去条件判定処理を説明するための図。
【図７】同第１実施形態のシステムにおけるファイル自動消去処理で実行される消去条件判定処理および消去ファイル選択処理の手順を示すフローチャート。
【図８】この発明の第２実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図９】この発明の第３実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図１０】同第３実施形態のシステムにおけるファイル自動消去処理の手順を示すフローチャート。
【図１１】同第３実施形態のシステムにおいて消去対象ファイルを選択するための参照されるファイルの重要度の一例を示す図。
【図１２】同第１実施形態のファイルシステムをオペレーティングシステムと独立したユーザプログラムとして実現した様子を示す図。
【図１３】同第１実施形態のファイルシステムをユーザプログラムとして実現した場合におけるそのファイルシステムの機能構成を示すブロック図。
【図１４】この発明の第４実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図１５】同第４実施形態のシステムで管理されるファイル読み出し履歴情報の一例を示す図。
【図１６】同第４実施形態のシステムで管理されるファイル読み出し履歴情報の他の例を示す図。
【図１７】同第４実施形態のシステムで管理されるファイル読み出し履歴情報のさらに他の例を示す図。
【図１８】同第４実施形態のシステムにおけるファイル自動消去処理の手順を示すフローチャート。
【図１９】同第４実施形態のシステムで管理されるファイル読み出し履歴情報のさらに別の例を示す図。
【図２０】同第４実施形態のシステムにおける他のファイル自動消去処理の手順を示すフローチャート。
【図２１】同第４実施形態のシステムにおけるさらに他のファイル自動消去処理の手順を示すフローチャート。
【図２２】この発明の第５実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図２３】同第５実施形態のシステムにおけるファイル読み出し履歴情報の消去処理の手順を示すフローチャート。
【図２４】同第５実施形態のシステムにおいてファイル読み出し履歴情報が消去される様子を示す図。
【図２５】この発明の第６実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図２６】同第６実施形態のシステムにおけるファイル自動消去処理の手順を示すフローチャート。
【図２７】この発明の第７実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図２８】同第７実施形態のシステムにおけるファイル自動消去処理の手順を示すフローチャート。
【図２９】この発明の第８実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図３０】同第８実施形態のシステムにおけるファイル自動消去処理の手順を示すフローチャート。
【図３１】この発明の第９実施形態に係る計算機システムで使用されるファイルシステムの機能構成を示すブロック図。
【図３２】同第９実施形態のシステムで使用されるファイル管理構造の一例を示す図。
【図３３】同第９実施形態のシステムにおいてファイル自動消去処理とファイル自動圧縮処理とを選択的に使用した空き領域確保処理の手順を示すフローチャート。
【図３４】同第９実施形態のシステムにおいてファイル自動消去処理とファイル自動圧縮処理とを選択的に使用した空き領域確保処理の別の手順を示すフローチャート。
【符号の説明】
１，１０…ユーザプログラム、２，２０…ファイルシステム、３，３０…記憶媒体、４…許可通知プログラム、５…オペレーティングシステム、６…ファイル管理プログラム、２１…要求受理部、２２…消去／圧縮条件判別部、２３…消去／圧縮ファイル選択部、２４…ファイル消去／圧縮部、２５…ファイル入出力部、２６…消去／圧縮通知部、２７…諾否受理部、３２…ファイル読み出し履歴記憶部、３３…ファイルサイズ情報記憶部、３４…ファイル内容対応関係記憶部、２０１…ファイル入出力部、２０２…ファイル読み出し部、２０３…ファイル読み出し履歴作成部、２０４…消去／圧縮ファイル選択部、２０５…ファイル消去部、２０６…ファイル書き込み部、３０３…ファイルサイズ情報作成部、４０３…ファイル内容対応関係作成部、５０２…参照関係読み出し部。
【図１】
0003595073.tif 000002
【図２】
0003595073.tif 000003
【図３】
0003595073.tif 000004
【図４】
0003595073.tif 000005
【図５】
0003595073.tif 000006
【図６】
0003595073.tif 000007
【図７】
0003595073.tif 000008
【図８】
0003595073.tif 000009
【図９】
0003595073.tif 000010
【図１０】
0003595073.tif 000011
【図１１】
0003595073.tif 000012
【図１２】
0003595073.tif 000013
【図１３】
0003595073.tif 000014
【図１４】
0003595073.tif 000015
【図１５】
0003595073.tif 000016
【図１６】
0003595073.tif 000017
【図１７】
0003595073.tif 000018
【図１８】
0003595073.tif 000019
【図１９】
0003595073.tif 000020
【図２０】
0003595073.tif 000021
【図２１】
0003595073.tif 000022
【図２２】
0003595073.tif 000023
【図２３】
0003595073.tif 000024
【図２４】
0003595073.tif 000025
【図２５】
0003595073.tif 000026
【図２６】
0003595073.tif 000027
【図２７】
0003595073.tif 000028
【図２８】
0003595073.tif 000029
【図２９】
0003595073.tif 000030
【図３０】
0003595073.tif 000031
【図３１】
0003595073.tif 000032
【図３２】
0003595073.tif 000033
【図３３】
0003595073.tif 000034
【図３４】
0003595073.tif 000035