(57)【特許請求の範囲】
【請求項１】
以下のステップ(a)から(c)を設け、一次記憶装置と二次記憶装置のいずれからもアクセス可能な複数のコンピュータデータファイルを前記一次記憶装置と二次記憶装置の間で動的に移動する方法：
(a) 前記複数のコンピュータデータファイルの各々について、あらかじめ定められた時間期間の間の使用度値を判定する：前記複数のコンピュータデータファイルは前記一次記憶装置と二次記憶装置中の全てのコンピュータデータファイルの選択された部分集合である；
(b) 前記予め定められた時間期間の間の使用度値が予め定められた値の集合にない場合に、前記一次記憶装置と二次記憶装置の間で前記複数のコンピュータデータファイルのうちの一つのファイルを移動する：前記複数のコンピュータデータファイルのうちの前記一つのファイルについての前記予め定められた値の集合は前記複数のコンピュータデータファイルのうちの他のいずれのファイルについての前記予め定められた値の集合からも独立しており、前記移動は以下のサブステップ(b-1)から(b-3)を含む：
(b-1) 前記複数のコンピュータデータファイルのうちの一つのファイルを、当該ファイルの前記使用度値が前記予め定められた値の集合中の第１の予め定められた値よりも大きい場合に、前記二次記憶装置から前記一次記憶装置へ直ちに移動する；
(b-2) 前記複数のコンピュータデータファイルのうちの前記一つのファイルを、前記予め定められた時間期間の間における当該ファイルの前記使用度値が前記予め定められた値の集合中の第２の予め定められた値よりも小さい場合に、前記一次記憶装置から前記二次記憶装置へ移動するようにスケジュールする：前記第１の予め定められた値は前記第２の予め定められた値よりも大きい；
(b-3) 前記複数のコンピュータデータファイルのうちの一つのファイルを、前記予め定められた時間期間の間における当該ファイルの前記使用度値が前記予め定められた値の集合中の前記第２の予め定められた値以上で前記予め定められた値の集合中の前記第１の予め定められた値以下の場合に、前記二次記憶装置と前記一次記憶装置の間で移動しない；
(c) 前記複数のコンピュータデータファイル中の各々のファイルについて前記ステップ(b)を繰り返す。
【請求項２】
前記ステップ(a)は以下のサブステップ(a-1)及び(a-2)を含むことを特徴とする請求項１記載の方法：
(a-1) 前記複数のコンピュータデータファイルの各々のファイルについて使用度値を生成する；
(a-2) 前記使用度値をそれに対応する前記コンピュータデータファイルがアクセスされる毎に更新する。
【請求項３】
前記ステップ(a)はさらに以下のサブステップ(a-3)及び(a-4)を含むことを特徴とする請求項２記載の方法：
(a-3) 前記複数のコンピュータデータファイルの各々に対応する前記使用度値のレコードを含むコンピュータデータベースファイルを生成する；
(a-4) 前記使用度値の各々を読み出し、ある使用度値のレコード中の使用度値を更新する：該使用度値のレコードは、該使用度値が生成された、前記複数のコンピュータデータファイルの一つに対応する。
【請求項４】
前記ステップ(b)は以下のサブステップ(b-４)を含むことを特徴とする請求項３記載の方法：
(b-４) 前記コンピュータデータベースファイルを読み、対応する前記使用度値のレコード中の使用度値を前記使用度値として使用する。
【請求項５】
前記ステップ(a)が以下のサブステップ(a-1)を含むことを特徴とする請求項１記載の方法：
(a-1) 前記方法の開始に当たって、予め定められたファイルの集合を前記二次記憶装置から前記一次記憶装置へコピーする。
【請求項６】
以下の(a)から(d)を設け、一次記憶装置と二次記憶装置のいずれからもアクセス可能な複数のコンピュータデータファイルを前記一次記憶装置と二次記憶装置の間で動的に移動するシステム：
(a) 前記複数のコンピュータデータファイルの各々について、あらかじめ定められた時間期間の間の使用度値を判定する手段；
(b) 前記複数のコンピュータデータファイルのうちの一つのファイルを、当該ファイルの使用度値が第１の予め定められた値よりも大きい場合に、前記二次記憶装置から前記一次記憶装置へ直ちに移動する手段；
(c) 前記複数のコンピュータデータファイルのうちの一つのファイルを、当該ファイルの前記使用度値が第２の予め定められた値よりも小さい場合に、前記一次記憶装置から前記二次記憶装置へ移動するようにスケジュールする第１の手段；
(d) 前記複数のコンピュータデータファイルのうちの一つのファイルを、当該ファイルの前記使用度値が前記第２の予め定められた値以上で前記第１の予め定められた値以下の場合に、前記二次記憶装置と前記一次記憶装置の間で移動させないようにする第２の手段。
【請求項７】
前記判定する手段は以下の(a-1)及び(a-2)を含むことを特徴とする請求項６記載のシステム：
(a-1) それぞれ前記複数のコンピュータデータファイルの一つに対応する複数の使用度値手段；
(a-2) パス参照ルーチンに結合され、前記コンピュータデータファイルがアクセスされたとき、該コンピュータデータファイルに対応する前記使用度値手段を更新する手段。
【請求項８】
前記判定する手段は以下の(a-3)及び(a-4)を含むことを特徴とする請求項７記載のシステム：
(a-3)それぞれ前記複数のコンピュータデータファイルの一つに対応する複数の使用度値のレコードを含むコンピュータデータベースファイル手段；
(a-4) 前記複数の使用度値手段の各々にアクセスして、前記使用度値手段からの使用度値から、前記コンピュータデータベースファイル中の、前記複数の使用度値のレコードのうちの当該使用度値手段に対応する前記コンピュータデータファイルに対応する使用度値のレコードを更新する手段。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はコンピュータシステムに関し、より詳細にはかかるコンピュータシステムにおけるオペレーティングシステムソフトウエアに関する。さらに詳細には、本発明はコンピュータシステムの二次記憶装置と主記憶装置の間、あるいはネットワーク上のコンピュータ間でファイルを動的に移動するためのオペレーティングシステムソフトウエアに関する。
【０００２】
【従来技術及びその問題点】
オペレーティングシステムの新版が出る度にソフトウエアの機能が増大することにともなって、ソフトウエアの全体的なサイズも増大する。このサイズの増大からいくつかの問題が発生している。
【０００３】
ソフトウエアが大きくなることによって発生する第１の問題は、ディスクスペースに要求される最小容量が増大することである。システムの使用可能な最小構成でも、もはやエントリシステム、すなわちユーザが最初に購入するシステム、に設けたディスクに簡単に収容することはできない。従来技術ではこの問題をエントリレベルのシステムのディスクのサイズを大きくすることによって解決してきた。もちろん、これによってシステムのコストが高くなり、ユーザが１台目のコンピュータシステムを購入することがますます困難になっている。
【０００４】
第２の問題は、システムソフトウエアをあるリリースから次のリリースに更新する間のそのシステムのダウン時間の問題である。オペレーティングシステムが大きくなるにつれて、このダウン時間も長くなる。これはユーザにとっては時間のロスであり、そのためユーザはアップグレードを行うのに必要な時間を最小限とすることを望む。この問題に対する従来の解決策は、より高速なコンピュータを使用することであり、これによってもコンピュータシステムの価格が高くなる。さらに、この従来の解決策は設置済みの既存のコンピュータシステムには何ら効果がない。
【０００５】
このソフトウエアのサイズの増大に起因する第３の問題はディスクの効率の問題である。必要とされるソフトウエアの量は大きいが、常に使用されるのはそのごく一部である。ファイルの大部分は週に数回も使用されず、一週間あるいはもっと長い期間にわたって全く使用されないこともある。この問題に対する従来の解決策は、希にしか使用されないファイルを消しておき、それが必要とされるときにバックアップ装置からロードするというものであった。このやり方では、ユーザ側の仕事がかなり多くなり、したがってあまり実際的な解決策ではない。
【０００６】
【目的】
本発明の目的は、コンピュータシステムに必要な高速ディスク記憶装置のサイズを少なくするシステムを提供することである。本発明の他の目的は、あるシステムを新しいリリースのソフトウエアに更新するのに要する時間を短縮するようなシステムを提供することである。さらに、コンピュータシステム上での高速記憶装置の全体的な効率を向上させるようなシステムを提供することも目的とする。本発明はこれらの要望、さらにその他の要望に応えるものである。
【０００７】
【概要】
本発明の一側面は、一次記憶装置と二次記憶装置の間でファイルを動的に移動させることである。
【０００８】
本発明の他の側面は、一次記憶装置上でのファイルの使用に関する統計を取っておくことである。
【０００９】
本発明の他の側面は、ある期間内のアクセス回数に基いてファイルを動的に移動させることである。
【００１０】
本発明の他の側面は、所定の期間中のアクセス頻度から得られた累積値に基いてファイルを動的に移動させることである。
【００１１】
さらに、本発明の他の側面は二次記憶装置として低速のディスク装置あるいはネットワークファイルサーバのいずれかを利用することである。
【００１２】
さらに、本発明の他の側面は、ファイルの新しいバージョンが二次記憶装置に入っていることを検出し、ユーザの選択でユーザの一次記憶装置を更新することである。
【００１３】
本発明の以上の側面および他の側面は、オペレーティングシステムのパス探索処理中に統計収集ルーチンを置いているシステムで達成される。この統計収集ルーチンはファイルがアクセスされる度にそれを追跡する。統計要約プロセスがオペレーティングシステムのタスクとして実行され、統計収集ルーチンによって収集された統計に周期的にアクセスする。この統計要約プロセスは、各ファイルのアクセス頻度を示す情報を保持するデータベースを更新する。
【００１４】
ファイル移動プロセスのスケジューリングは、このプロセスが周期的に実行されデータベース情報を調べるようになされている。この期間中の使用頻度の非常に低いファイルはユーザの判断基準に基いて高速の一次記憶装置から低速の二次記憶装置に移動して追い出すことができる。ファイルが追い出されたときには、一次記憶装置と二次記憶装置の間にそのファイルについてシンボリックリンクが定義される。このシンボリックリンクは、オペレーティングシステムが二次記憶装置上にあるこのファイルへの透過的なアクセスを提供するのに用いられる。また、あるファイルが非常に頻繁にアクセスされていた場合、このファイルを二次記憶装置から一次記憶装置に移動させて、シンボリックリンクをこのファイルのコピーに置き換えることができる。
【００１５】
二次記憶装置はＣＤＲＯＭ光学式記憶装置等の読み出し専用装置でもよい。この種の装置が二次記憶装置に用いられている場合、ファイルをその使用頻度が高いときに二次記憶装置から主記憶装置に移動させることだけが可能である。このシステムは読み出し専用装置への書き込みができないため、ファイルを一次記憶装置から二次記憶装置にコピーすることはできない。ファイルが変更されている場合、ファイルは使用の程度にかかわらず一次記憶装置に残される。ファイルが変更されていない場合、単にこのファイルを一次記憶装置から削除し、二次記憶装置上のこのファイルへのシンボリックリンクを定義することによって、二次記憶装置への移動が達成される。
【００１６】
また、二次記憶装置はローカルエリアネットワークに設置されたネットワークファイルサーバとすることもできる。ネットワークファイルサーバを二次記憶装置として用いるときは、一次記憶装置にないファイルはシンボリックリンクを介してネットワーク上で直接に読み出される。また、ファイルの使用頻度が高い場合は、このファイルは一次記憶装置に移動させられる。
【００１７】
オペレーティングシステムのローディング（ブートストラップ）中、オペレーティングシステムは二次記憶装置上のファイルのバージョンを一次記憶装置上のファイルのバージョンと比較し、二次記憶装置上のファイルが新しいバージョンに更新されている場合、ユーザは一次記憶装置のファイルの置換えを選択することができる。これによってオペレーティングシステムを簡単にアップグレードすることができる。アップグレードしなければならないファイルは全体のごく一部に過ぎないため、アップグレード時間が短縮される。
【００１８】
【実施例】
以下の説明は本発明の現在考えられる最良の実施態様について行うものである。この説明は限定的な意味に解するべきではなく、本発明の一般的原理を説明するためにのみ行うものである。本発明の範囲は特許請求の範囲を参照して判断すべきものである。
【００１９】
以下の用語が実施例の説明において用いられる。＊一次記憶装置：コンピュータシステムの主ディスク記憶装置として用いられる１台あるいは複数台の高速ディスク。典型的な例は高速磁気ハードディスクである。＊二次記憶装置：通常大きな記憶容量を有する１台あるいは複数台のより低速のディスク記憶装置。これらの装置はローカルエリアネットワーク（ＬＡＮ）を介してアクセスされるファイルサーバコンピュータシステム中に設けることができる。二次記憶装置の典型的な例はＣＤ−ＲＯＭ光学式記憶装置である。＊シンボリックリンク：一次装置上のファイル名と二次装置上の実際のファイルの間のリンク。一次装置上のファイルへのアクセスは、このシンボリックリンクを介することにより、ユーザに知らせることなく二次装置上の実際のファイルに自動的に向け直される。＊移動：一次記憶装置と二次記憶装置の間のファイルの移動。＊移入：二次記憶装置から一次記憶装置にファイルをコピーしてシンボリックリンクに置き換えること。＊移出：一次記憶装置からファイルを消去し、シンボリックリンクを設定して二次記憶装置上のそのファイルのコピーを指示すること。＊パス検索：オペレーティングシステムにファイル名が与えられたときオペレーティングシステムによって実行される機能。この機能は一組のディレクトリを調べてそのファイルを見つけ出す。＊使用度値：ファイルの使用頻度を表すのに用いられる数。＊非復帰ファイル：内容が変更された後では移出することのできないファイル。
【００２０】
図１は本発明を採用したコンピュータシステムのブロック図を示す。図１において、コンピュータシステム１００は処理要素１０２を含む。処理要素１０２はシステムバス１０４を介してシステムの他の要素と通信する。キーボード１０６はこのコンピュータシステムのユーザがコンピュータシステム１００に情報を入力できるようにするために使用され、またディスプレイ１０８はコンピュータシステム１００がユーザに情報を表示するのに用いられる。一次ディスク記憶装置１１０は、典型的には、１台あるいは複数台の高速磁気ハードディスクであり、このコンピュータシステムによって頻繁に用いられるファイルを記憶するのに用いられる。二次記憶装置１１２は、典型的には、１台あるいは複数台のＣＤＲＯＭ光学式記憶装置であり、典型的には、オペレーティングシステムの新しいリリースがインストールされるとき更新されるシステムソフトウエアを記憶するのに用いられる。通信インターフェース１１４はコンピュータシステム１００をローカルエリアネットワーク１１５に接続するのに用いられる。ローカルエリアネットワーク１１５はまたファイルサーバ１３０にも接続されており、ファイルサーバ１３０は二次記憶装置１１２の代わりに用いることができる。
【００２１】
記憶装置１１６はオペレーティングシステム１１８を記憶している。オペレーティングシステム１１８においては、ファイル検索ルーチン１２６が一次記憶装置１１０上のファイルの使用の統計を収集する統計収集ルーチン１２４を呼び出す。統計要約プロセス１２０は統計収集ルーチン１２４によって収集された統計を周期的に総合するオぺレーティングシステム１１８のタスクとして実行される。統計要約プロセス１２０は統計を収集した後、その統計を一次記憶装置１１０のデータベースファイルに書き込む。また、ファイル移動プロセス１２２もオペレーティングシステム１１８のタスクとして実行される。ファイル移動プロセス１２２は一次記憶装置１１０上の統計データベースを調べて、ファイルを一次記憶装置１１０と二次記憶装置１１２の間で動的に移動させるべきかどうかを判定する。こうするかわりにファイル移動プロセス１２２はまた通信インターフェース１１４とローカルエリアネットワーク１１５を用いて一次記憶装置１１０とファイルサーバ１３０の間でファイルを移動させることもできる。
【００２２】
オペレーティングシステム１１８が最初にロードされた後、オペレーティングシステム１１８中の初期化動作によってオペレーティングシステム１１８のバージョンを二次記憶装置上のバージョンと突き合わせる。二次記憶装置上のバージョンの方が新しい場合、ユーザには、一次記憶装置のファイルに二次記憶装置の新しいファイルを上書きすることによって一次記憶装置上のバージョンの更新を行うという選択肢が与えられる。
【００２３】
図２には統計収集ルーチン１２４（図１）のフローチャートを示す。図２の統計収集ルーチンは、典型的には、ファイルがアクセスされるとき常にパス検索ルーチンによって呼び出される。すなわち、ファイルがオペレーティングシステム１１８中のタスクによってアクセスされるたびに、パス検索ルーチンを用いてファイルの位置の判定が行われる。ファイルを発見した後、パス検索ルーチンは統計収集ルーチン１２４を呼び出し、統計収集ルーチン１２４はファイルの使用に関する情報を更新する。
【００２４】
図２において、ここに入った後、ブロック２０２でパス検索ルーチンから、ファイルの識別に必要なファイル名その他の情報を得る。ブロック２０４でこのファイルを含むファイルシステムがモニタされているかどうかを判定する。多数のファイルセットあるいはファイルシステムをこの統計収集ルーチンに対して指定することができ、これらのファイルセットあるいはシステム内のファイルだけがモニタされる。このファイルがモニタされていない場合、プロック２０４はそのまま呼出元に戻る。ファイルがモニタされている場合、ブロック２０４からブロック２０６に移り、ファイルの使用度をメモリバッファ内の記録にログする。このバッファは次に説明する統計要約ルーチンによって読み出される。
【００２５】
図３は統計要約プロセス１２０（図１）のフローチャートを示す。このプロセスは統計収集ルーチン１２４によって収集された統計を周期的に要約するようにスケジューリングされている。この統計要約プロセスがスケジューリングされているとき制御が図３に移る。図３において、ここに入った後、ブロック３０２では、ブロック２０６（図２）でセーブされたメモリバッファレコードのコピーをオペレーティングシステムに要求し、このデータを統計要約プロセスのローカルメモリに入れる。次に、ブロック３０４で、このメモリバッファをクリアすべきかどうかが判定され、クリアすべきであるときはブロック３０４はブロック３０６に制御を移し、ブロック３０６でオペレーティングシステムがメモリバッファから全てのレコードをクリアするように要求し、統計収集を再開できるようにする。あるいは、このメモリバッファはクリアを必要としない循環リストとして実現することもできる。次にブロック３０７でこのローカルメモリに処理すべきレコードがまだあるかどうかを判定し、なければ呼出し元に戻る。
【００２６】
ローカルメモリバッファにまだレコードがある場合、ブロック３０７からブロック３０８に移りブロック３０８で次のレコードを獲得して、このレコード中のファイルがモニタされているこかどうかを判定する。ブロック３０８はユーザが供給したルーチンを呼び出してモニターされているファイルをフィルタすることができる。ファイルがモニタされている場合、ブロック３０８からブロック３０９に移り、ブロック３０９でこのファイルが統計要約プロセスが維持しているデータベースに含まれているかどうかを判定する。このファイルが最近アクセスされていない場合、このファイルはこのデータベース中にはないかも知れない。このファイルにいてのデータベースレコードが存在しない場合、ブロック３０９からブロック３１０に移って、ブロック３１０でこのファイルについてのデータベースレコードを生成する。制御は次にブロック３１２に移り、このデータベースレコード中のこのファイルがアクセスされたことを示す使用度値を更新する。
【００２７】
この使用度値はいくつかの方法で維持管理することができる。第１の方法は１日１度といった一定の時間間隔でこの使用度値を更新することである。この方法を用いるときは、使用度値は当日のこのファイルへのアクセス回数を示す簡単なカウンタである。このカウンタを更新（図４を参照して次に説明する）した後、ファイル移動プロセスが実行され、すべてのファイルのカウンタがクリアされる。この実施例においてこの方法を用いるときは、ファイルは、その使用度が２４時間の期間に１回もなかった場合に移出される。ファイルはその使用度が２４時間に３回よりも多かった場合に移入される。これらの値はこのシステムのユーザが簡単に変更することができる。
【００２８】
この使用度値を維持管理する別の方法としては、現在の時刻と統計要約プロセスが前回実行された時刻との間の時間間隔中のファイルへのアクセス回数から得られる変化分値で使用度値をインクリメントあるいはデクリメントする方法がある。たとえば統計要約プロセスが１時間ごとに実行され、またこの時間の間にファイルがアクセスされなかった場合、使用度値は１だけデクリメントされる。ファイルが１時間に１回アクセスされた場合、使用度値は変わらない。ファイルが２回アクセスされた場合、使用度値は１だけインクリメントされる。ファイルが３回アクセスされた場合、使用度値は２だけインクリメントされる。ファイルが４回アクセスされた場合、使用度値は３だけインクリメントされる。ファイルが５回以上アクセスされた場合、使用度値は４だけインクリメントされる。当該技術に精通する者には上の例に示したような変化分値の作成には多くの方法があることが理解されよう。ファイルが違えば、変化分値の決定方法も違い、また移動を開始させるしきい値も違ってくる。
【００２９】
この使用度値を更新した後、ブロック３１４で使用度がある高側しきい値レベルを越えるものであるかどうかが判定され、そうであればブロック３１４からブロック３１６に移って、ブロック３１６でこのファイルが一次記憶装置にあるかどうか判定する。このファイルが一次記憶装置にない場合、ブロック３１６からブロック３１８に移って、ブロック３１８でこのファイルを一次記憶装置に移動させる。使用度がこの高側しきい値を越えない場合、プロック３１４からブロック３２０に移って、ブロック３２０でこの使用度がある低側しきい値レベル未満であるかどうかが判定される。この使用度がこの低側しきい値レベル未満である場合、ブロック３２０からブロック３２２に移って、ブロック３２２でこのファイルが非復帰ファイルであるかどうかが判定される。このファイルが非復帰ファイルでない場合、ブロック３２２からブロック３２４に移って、ブロック３２４でデータベースからこのファイルエントリを削除する。
【００３０】
これらのしきい値レベルはシステムのユーザによって決められ、ディスクあるいはネットワーク装置に記憶されたファイルについてのこれらのしきい値はＣＤＲＯＭ二次記憶装置に記憶されたファイルとは違ったレベルである場合がある。この実施例では過去２４時間以内にファイルが１０回よりも多く使用された場合、緊急移入が起り、また過去２４時間以内にファイルが１回も使用されていなかった場合データベースからそのエントリが削除される。
【００３１】
使用度が両しきい値から外れている場合、あるいはファイルの移入あるいはデータベースのエントリの削除の後、制御はブロック３０７に戻って次のファイルが処理される。図３の終了後、このディスクデータベースにはファイルアクセスの収集された現在の履歴が含まれる。
【００３２】
図４はファイル移動プロセス１２２（図１）のフローチャートを示す。このプロセスはオペレーティングシステム１１８によって周期的にスケジューリングされる。図４において、ここに入った後、ブロック４０２でデータベースをオープンし、ブロック４０４で例外リストファイルをオープンして読み出す。例外リストファイルはこのファイル移動プロセスが動的に移動してはならないファイルのリストが入っている。このファイルを用いることによって、ユーザはシステムのどのファイルを移動し、どのファイルをそのままにしておくかを制御することができる。また、データベースの各レコードには、ファイルに変更を加えた後はそれを移動してはならないことを示すフラグバイトが保持されている。
【００３３】
例外リストファイルをオープンした後、ブロック４０４からブロック４０６に移って、ブロック４０６でまだ読み出すべきデータベースレコードがあるかどうかが判定される。もうデータベースレコードがない場合はプロセスが終了したのでそのままリターンする。まだレコードがある場合には、ブロック４０６からプロック４０８に移って、ブロック４０８で次のデータベースレコードを獲得する。次に、ブロック４１０でそのレコード内のファイルが例外リスト中に入っているかどうかを判定し、入っている場合、ブロック４１０からブロック４０６に戻る。これは、このファイルを移動してはならないためである。このファイルが例外リスト中にない場合、ブロック４１０からブロック４１２に移って、ブロック４１２で過去の所定の時間内に発生したこのファイルへのアクセスの回数が判定される。このシステムのユーザはファイルの移動を制御するための基準を指定することができる。たとえば、ユーザは過去２４時間のあるファイルへのアクセスが０あるいは１回であった場合、このファイルを一次記憶装置から二次記憶装置に移動してもよいと指定できる。また、ユーザは過去２４時間のあるファイルへのアクセスが３回以上であった場合、このファイルを一次記憶装置に移動しなければならないと指定できる。これは一例にすぎない。なぜなら、ユーザは動的に移動させるべきファイルを選択するための基準を任意に指定することができるからである。
【００３４】
ブロック４１２で、ファイルへのアクセスが、二次記憶装置へファイルの動的移動を行うべくユーザが設定した回数より少なかったかどうかが判定される。ファイルへのアクセスがユーザの指定した”Ｘ”回より少なかった場合、次に説明するようにブロック４１２からブロック４２０に移行する。
【００３５】
ファイルへのアクセスが移出を発生させるのに必要な最小回数より多い場合、ブロック４１２からブロック４１４に移って、ブロック４１４でファイルへのアクセス回数がユーザがファイルの一次記憶装置への移入を発生させる回数として指定した値
”Ｙ”より大きいかどうかが判定される。ファイルへのアクセス回数が”Ｙ”より大きい場合、ブロック４１４からブロック４１６に移って、ブロック４１６でこのファイルがすでに一次記憶装置中にあるかどうかを判定する。このファイルがすでに一次記憶装置中にある場合、ブロック４１６からブロック４０６に移って、次のデータベースレコードを処理する。このファイルが一次記憶装置中にない場合、制御をブロック４１６からブロック４１８に移して、ブロック４１８でこのファイルを二次記憶装置から一次記憶装置へ移動させてからブロック４０６へ移って次のデータベースレコードを処理する。
【００３６】
ファイルアクセスの回数がこのファイルを一次記憶装置に保持しておくのに必要な回数よりも少なかった場合、ブロック４１２からブロック４２０に移って、このファイルを移出すべきかどうかが判定される。ブロック４２０ではこのファイルが現在一次記憶装置上にあるかどうかを判定する。このファイルが一次記憶装置上になければこのファイルを移出する必要はなく、ブロック４２０からブロック４０６に移って、次のデータベースレコードが処理される。このファイルが一次記憶装置上にある場合、ブロック４２０からブロック４２２に移って、ブロック４２２で二次記憶装置がＣＤＲＯＭのような読み出し専用装置であるかどうかが判定される。二次記憶装置が読み出し専用装置である場合、ブロック４２２からブロック４２４に移って、ブロック４２４で二次記憶装置上のコピーが一次記憶装置上のこのファイルのコピーと同一であるかどうかを判定する。両者が一致しなければこのファイルは一次記憶装置から削除することができず、制御はブロック４２４からブロック４０６に移る。両ファイルが一致した場合、ブロック４２４からブロック４３２に制御が移り、ブロック４３２で単にこのファイルを一次記憶装置から削除し、二次記憶装置上のファイルを指示するためのシンボリックリンクをセットアップすることによってこのファイルを移出する。このシンボリックリンクは、ユーザがこのファイルにアクセスしようとしたときにこのアクセスを二次記憶上のファイルに振り向けるためにオペレーティングシステムが使用する。
【００３７】
二次記憶装置が書き込み可能である場合、ブロック４２２からブロック４２６に移り、ブロック４２６で二次記憶装置上のこのファイルのコピーが一次記憶装置上のコピーと一致するかどうかを判定する。この二つのファイルが一致する場合、ブロック４２６からブロック４３２に移って、ブロック４３２でこのファイルを二次記憶装置に移動させる。両ファイルが一致しない場合、ブロック４２６からブロック４２８に移り、ブロック４２８でこのファイルが非復帰ファイルであるかどうかを判定する。ファイルの種類はシステムのユーザがデータベースに記憶しておく。非復帰ファイルは、変更が加えられた場合移出してはならないファイルとしてユーザが定義したものである。このファイルが非復帰ファイルである場合、ブロック４２８からブロック４２９に移って、ブロック４２９でこのファイルを例外リストに追加し、またこれをデータベースから削除してからブロック４０６に戻り、次のレコードを処理する。このファイルが非復帰ファイルでない場合、ブロック４２８からブロック４３０に移って、ブロック４３０このファイルを一次記憶装置から二次記憶装置にコピーする。ブロック４３０は次にブロック４３２に移り、移出プロセスの残りが実行される。
【００３８】
図３および図４を参照して説明した統計要約プロセス１２０とファイル移動プロセス１２２は結合して一つのプロセスにすることもできる。
【００３９】
図５はオペレーティングシステム１１８（図１）中の初期化プロセスのフローチャートを示す。図５のルーチンはオペレーティングシステムが前回ロードされて以来オペレーティングシステムのアップグレードがなされたかどうかを判定する。二次記憶装置上のオペレーティングシステムファイルの取り替え、あるいはネットワークファイルサーバへの新しいオペレーティングシステムファイルのローディング等を行うことによってオペレーティングシステムのアップグレードが行なわれている場合、この初期化プロセスは今回アップグレードを希望するかどうかをユーザにたずねる。
【００４０】
図５において、ここに入った後、ブロック５０２で二次記憶装置にオペレーティングシステム配布媒体が入っているかどうかを判定する。次にブロック５０４で二次記憶装置上のオペレーティングシステムのバージョンが比較され、二次記憶装置に新バージョンが入っているかどうかを判定する。一次記憶装置が現行版である場合、すなわち二次記憶装置のデータが一次記憶装置のファイルより新しくない場合、制御はブロック５０４から呼出し元に戻る。一次記憶装置が現行版ではないと判定された場合、ブロック５０４からブロック５０６に移って、ブロック５０６でユーザがオペレーティングシステムの更新を希望するかどうかをユーザに照会する。ユーザがオペレーティングシステムの更新を希望する場合、ブロック５０８からブロック５１２に移って、ブロック５１２でオペレーティングシステムを一次記憶装置にコピーし、次にブロック５１４でハードウエアに対して新しいオペレーティングシステムをリブートするように指示する。ユーザが更新を希望しない場合、ブロック５０８からブロック５１０に移り、ユーザに新しいバージョンが二次記憶装置にあることを警告する。図５は次にその呼出し元に戻る。
【００４１】
以上、本発明の実施例を説明したが、本発明の各側面が充分に達成されたことが理解されるであろう。また、当業者には、本発明の精神と範囲から離れることなく本発明の構成に対する多くの変更や多岐にわたる実施態様および応用が可能であることは自明であろう。以上の開示内容および説明は例示であり、いかなる意味でも本発明を限定するものではない。本発明の範囲は特許請求の範囲によって適切に定義される。
【００４２】
【効果】
以上詳細に説明したように、本発明によれば高速のファイル記憶装置の容量を少なくすることができるとともに、システムプログラム等のアップデートもほとんど自動的に行なうことができる。
【図面の簡単な説明】
【図１】本発明を採用したコンピュータシステムのブロック図。
【図２】統計収集ルーチンのフローチャート。
【図３】統計要約プロセスのフローチャート。
【図４】ファイル移動プロセスのフローチャート。
【図５】オペレーティングシステムの初期化プロセスのフローチャート。
【符号の説明】
１００：コンピュータシステム
１０２：処理要素
１０４：システムバス
１０６：キーボード
１０８：ディスプレイ
１１０：一次記憶装置
１１２：二次記憶装置
１１４：通信インターフェース
１１５：ローカルエリアネットワーク
１１６：メモリ
１１８：オペレーテイングシステム
１２０：統計要約プロセス
１２２：ファイル移動プロセス
１２４：統計収集ルーチン
１２６：ファイル検索ルーチン
１３０：ファイルサーバ
【図１】
0003545428.tif 000002
【図２】
0003545428.tif 000003
【図３】
0003545428.tif 000004
【図４】
0003545428.tif 000005
【図５】
0003545428.tif 000006