(57)【要約】【課題】編集時に編集対象ファイルを保存するときに、従来のコンピュータに比べてユーザに待たせる時間が削減されるコンピュータを提供すること。【解決手段】本発明のコンピュータは、汎用エディタ部１０と、仮保存管理部２０とを具備している。汎用エディタ部１０は、第１拡張子が付加された編集対象ファイル３１をオープンして編集し、編集後にクローズする。仮保存管理部２０は、編集時に編集対象ファイル３１を記憶装置３０に保存するときに、編集対象ファイル３１に付加された第１拡張子を最適仮拡張子に置き換え、編集対象ファイル３１がクローズされたときに、編集対象ファイル３１に付加された最適仮拡張子を第１拡張子に置き換える。最適仮拡張子が付加された編集対象ファイル３１を保存するときの保存処理時間は、第１拡張子が付加された編集対象ファイル３１を保存するときの第１保存処理時間よりも短い。【選択図】図６
2008027076.tif 000002
【特許請求の範囲】
【請求項１】
第１拡張子が付加された編集対象ファイルをオープンして編集し、編集後にクローズする汎用エディタ部と、
編集時に前記編集対象ファイルを記憶装置に保存するときに、前記編集対象ファイルに付加された前記第１拡張子を最適仮拡張子に置き換え、前記編集対象ファイルがクローズされたときに、前記編集対象ファイルに付加された前記最適仮拡張子を前記第１拡張子に置き換える仮保存管理部とを具備し、
前記最適仮拡張子が付加された前記編集対象ファイルを保存するときの保存処理時間は、前記第１拡張子が付加された前記編集対象ファイルを保存するときの第１保存処理時間よりも短い
コンピュータ。
【請求項２】
仮拡張子情報データベースを更に具備し、
前記編集対象ファイルに対して初めて編集が行なわれる場合、
前記仮保存管理部は、前記編集対象ファイルに付加された前記第１拡張子である第１仮拡張子と、前記第１仮拡張子が付加された前記編集対象ファイルを前記記憶装置に保存したときの第１保存処理時間とを前記仮拡張子情報データベースに格納し、
前記第１仮拡張子を含む複数の仮拡張子と、前記第１保存処理時間を含む複数の保存処理時間とが前記仮拡張子情報データベースに格納されているときに、前記編集対象ファイルに対して編集が行なわれる場合、
前記仮保存管理部は、前記仮拡張子情報データベースを参照して、前記複数の仮拡張子の中から、保存処理時間が最も短い前記最適仮拡張子を取得する
請求項１に記載のコンピュータ。
【請求項３】
前記第１拡張子とは異なる１番目からＮ番目（Ｎは２以上の整数）までのＮ個の仮拡張子が格納された仮拡張子候補データベースを更に具備し、
前記仮保存管理部は、
前記編集対象ファイルに対して（ｉ＋１）回目の編集が行なわれる場合（ｉは、１≦ｉ≦Ｎを満たす整数）、前記仮拡張子候補データベースに格納されたｉ番目の仮拡張子を第（ｉ＋１）仮拡張子として読み出し、
編集時に前記編集対象ファイルを前記記憶装置に保存するときに、前記編集対象ファイルに付加された前記第１拡張子を前記第（ｉ＋１）仮拡張子に置き換え、前記編集対象ファイルがクローズされたときに、前記編集対象ファイルに付加された前記第（ｉ＋１）仮拡張子を前記第１拡張子に置き換え、
前記第（ｉ＋１）仮拡張子と、前記第（ｉ＋１）仮拡張子が付加された前記編集対象ファイルを前記記憶装置に保存したときの第（ｉ＋１）保存処理時間とを前記仮拡張子情報データベースに格納し、
前記仮拡張子情報データベースには、前記複数の仮拡張子である（Ｎ＋１）個の仮拡張子と、前記複数の保存処理時間である（Ｎ＋１）個の保存処理時間とが格納される
請求項２に記載のコンピュータ。
【請求項４】
前記仮保存管理部は、
前記編集対象ファイルに対して（Ｎ＋２）回目以降の編集が行なわれる場合、前記仮拡張子情報データベースを参照して、前記複数の仮拡張子の中から、保存処理時間が最も短い前記最適仮拡張子を取得し、
編集時に前記編集対象ファイルを前記記憶装置に保存するときに、前記編集対象ファイルに付加された前記第１拡張子を前記最適仮拡張子に置き換え、前記編集対象ファイルがクローズされたときに、前記編集対象ファイルに付加された前記最適仮拡張子を前記第１拡張子に置き換える
請求項３に記載のコンピュータ。
【請求項５】
前記編集対象ファイルに対して（Ｎ＋２）回目の編集が行なわれた場合、前記仮拡張子情報データベースと前記仮拡張子候補データベースとに代えて、前記最適仮拡張子を格納する最適記憶部を具備し、
前記仮保存管理部は、
前記編集対象ファイルに対して（Ｎ＋３）回目以降の編集が行なわれる場合、前記最適記憶部から前記最適仮拡張子を取得し、
編集時に前記編集対象ファイルを前記記憶装置に保存するときに、前記編集対象ファイルに付加された前記第１拡張子を前記最適仮拡張子に置き換え、前記編集対象ファイルがクローズされたときに、前記編集対象ファイルに付加された前記最適仮拡張子を前記第１拡張子に置き換える
請求項４に記載のコンピュータ。
【請求項６】
コンピュータの内部をチェックし、ウィルス感染していないか常に監視するリアルタイムスキャンを含むアンチウィルスソフトウェア
を更に具備する請求項１〜５のいずれかに記載のコンピュータ。
【請求項７】
第１拡張子が付加された編集対象ファイルを保存する記憶装置を具備するコンピュータを用いる方法であって、
前記編集対象ファイルを編集するためにオープンし、編集後にクローズする編集ステップと、
編集時に前記編集対象ファイルを前記記憶装置に保存するときに、前記編集対象ファイルに付加された前記第１拡張子を最適仮拡張子に置き換え、前記編集対象ファイルがクローズされたときに、前記編集対象ファイルに付加された前記最適仮拡張子を前記第１拡張子に置き換える管理ステップとを具備し、
前記最適仮拡張子が付加された前記編集対象ファイルを保存するときの保存処理時間は、前記第１拡張子が付加された前記編集対象ファイルを保存するときの第１保存処理時間よりも短い
保存処理時間の短縮方法。
【請求項８】
請求項７に記載の保存処理時間の短縮方法の各ステップを前記コンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中間／設定ファイルを生成するコンピュータに関する。
【背景技術】
【０００２】
セキュリティ面の強化策の１つとして、コンピュータにアンチウィルスソフトウェアを導入する事例が増えている。そのアンチウィルスソフトウェアの機能の１つに、リアルタイムでウィルス感染をチェックする機能（リアルタイムスキャン）がある。この機能がコンピュータの動作を厳しくチェックする。その結果、コンピュータへの負荷が格段に高まり、様々な問題を引き起こしている。
その問題の１つに、中間／設定ファイルが保存されるときの保存処理時間の増大がある。アンチウィルスソフトウェアの非常駐時に比べ、常駐時は保存処理時間が数倍から数十倍延びる場合がある。
【０００３】
図１は、中間／設定ファイルを生成する従来のコンピュータとして、特開２００５−１８２１７３号公報（特許文献１）に記載されたファイル保存管理装置の構成を示している。従来のコンピュータは、入力装置６と、表示装置７と、制御装置１０８と、記憶ユニット（記憶装置）１３０とを具備している。制御装置１０８は、入力装置６と表示装置７と記憶装置１３０とに接続されている。制御装置１０８は、ハードウエア又はソフトウエアにより実現可能であり、汎用エディタユニット（汎用エディタ部）１１０と、仮保存管理ユニット（仮保存管理部）１２０とを具備している。
汎用エディタ部１１０は、テキストデータ、画像データ等を表すファイルを作成・編集する。テキストデータには、文書、コンピュータプログラム等が記載されている。汎用エディタ部１１０は、上記ファイルを作成したときに、保存指示と上記ファイルとを仮保存管理部１２０に出力する。
仮保存管理部１２０は、保存指示に応じて、上記ファイルを記憶装置１３０に保存する。仮保存管理部１２０は、汎用エディタ部１１０により作成・編集された上記ファイルを記憶装置１３０により管理する。
【０００４】
記憶装置１３０には、複数の上記ファイルがそれぞれ複数の編集対象ファイルとして保存されている。複数の編集対象ファイルのうちの１つの編集対象ファイルである編集対象ファイル３１がユーザにより編集されるとき、記憶装置１３０には、更に、ＴＥＭＰファイル３２と、仮保存管理情報３３とが保存される。ＴＥＭＰファイル３２は、編集対象ファイル３１の編集が行なわれる前のバックアップファイル（中間／設定ファイル）である。仮保存管理情報３３は、その編集対象ファイル３１とＴＥＭＰファイル３２とを対応付ける。
【０００５】
図２は、従来のコンピュータの動作としてファイル編集処理を示すフローチャートである。
【０００６】
ユーザは、表示装置７を閲覧しながら、入力装置６を用いてコンピュータにファイル編集処理を実行させる。
汎用エディタ部１１０は、ユーザによる入力装置６からの指示に応じて、記憶装置１３０に保存された複数の編集対象ファイルの中から、ユーザが編集を行なうための編集対象ファイル３１を指定する（ステップＳ１）。汎用エディタ部１１０は、その編集対象ファイル３１をオープンする（ステップＳ２）。
次に、汎用エディタ部１１０は、ユーザによる入力装置６からの指示に応じて、編集対象ファイル３１の編集を行なう（ステップＳ３）。ユーザによって保存指示が行なわれない場合（ステップＳ４−ＮＯ）、ステップＳ３が実行される。
編集対象ファイル３１の編集を行なっている途中やその編集の終了後に、ユーザが入力装置６を用いて保存指示を行なう（ステップＳ４−ＹＥＳ）。このとき、汎用エディタ部１１０は、保存指示が仮保存指示を表しているのか正式保存指示を表しているのかをユーザに指定させる（ステップＳ５）。汎用エディタ部１１０は、仮保存指示又は正式保存指示を表す保存指示と、編集対象ファイル３１とを仮保存管理部２０に出力する。このとき、仮保存管理部１２０は、保存処理を実行する（ステップＳ６）。
【０００７】
保存処理（ステップＳ６）において、保存指示が仮保存指示を表している。この場合、仮保存管理部１２０は、仮保存指示に応じて、仮保存処理を実行する。仮保存管理部１２０は、編集対象ファイル３１の編集が行なわれる前のバックアップファイル（中間／設定ファイル）をＴＥＭＰファイル３２として生成する。同時に、仮保存管理部１２０は、編集対象ファイル３１とＴＥＭＰファイル３２とを対応付ける仮保存管理情報３３を生成する。仮保存管理部１２０は、ＴＥＭＰファイル３２と仮保存管理情報３３とを記憶装置１３０に保存することにより、編集対象ファイル３１における保存状態を仮保存状態とする。
【０００８】
保存処理（ステップＳ６）において、保存指示が正式保存指示を表している。この場合、仮保存管理部１２０は、正式保存指示に応じて、正式保存処理を実行する。また、仮保存管理部１２０は、編集対象ファイル３１における保存状態が仮保存状態である場合、その仮保存状態を解除するために、編集対象ファイル３１に対応するＴＥＭＰファイル３２及び仮保存管理情報３３を削除する。
【０００９】
次に、仮保存管理部１２０は、上記の編集対象ファイル３１を記憶装置１３０に保存する（ステップＳ７）。ユーザによって終了指示が行なわれない場合（ステップＳ８−ＮＯ）、ステップＳ３が実行される。
【００１０】
ユーザが入力装置６を用いて終了指示を行なう（ステップＳ８−ＹＥＳ）。このとき、汎用エディタ部１１０は、編集対象ファイル３１をクローズする（ステップＳ９）。
【００１１】
このように、従来のコンピュータでは、編集対象ファイルの内容をバックアップファイル（中間／設定ファイル）の内容で復元するか否かをユーザが選択できるようにしている。このため、ユーザがＯＳ上からバックアップファイルをリネームすることなくファイル内容を復元できる。また、ファイルの保存を数回行った後でも、仮保存処理を行った時点のファイルの内容に戻すことが可能となる。
【００１２】
図３は、従来のコンピュータにアンチウィルスソフトウェアを適用したときの構成を示している。従来のコンピュータは、更に、アンチウィルスソフトウェア３と、外部インタフェース４と、バス５とを具備している。バス５には、制御装置１０８と、ディスク装置である記憶装置１３０と、外部インタフェース４と、入力装置６と、ディスプレイである表示装置７とが接続されている。入力装置６は、マウス６−１とキーボード６−２とを含んでいる。制御装置１０８は、ＣＰＵ１０１と、メモリ１０２とを具備している。上記の汎用エディタ部１０、仮保存管理部２０がソフトウエアにより実現可能である場合、メモリ１０２には、ＣＰＵ１０１が実行するための汎用エディタ部１０、仮保存管理部２０を含むコンピュータプログラムが格納されている。
アンチウィルスソフトウェア３は、例えばメモリ１０２に格納されていて、その機能としてリアルタイムスキャンを含んでいる。このリアルタイムスキャンは、メモリ１０２、記憶装置１３０、外部インタフェース４とのデータのやり取りをチェックし、ウィルス感染していないか常に監視している。よって、リアルタイムスキャンの実行中は、上記のステップＳ７の開始から終了までに多くの時間がかかる。
【００１３】
【特許文献１】特開２００５−１８２１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
アンチウィルスソフトウェア３とファイル拡張子（以下、拡張子）の組み合わせにより、保存処理時間が異なることを確認するテストについて、図４を用いて説明する。例えば上記コンピュータがＷｉｎｄｏｗｓ（登録商標）である場合、上記テストはＷｉｎｄｏｗｓ（登録商標）により行われる。また、アンチウィルスソフトウェア３として、種類の異なるアンチウィルスソフトウェア３Ａ、３Ｂ（図示しない）が適用され、上記テストの結果について、図５Ａ、図５Ｂを用いて説明する。
【００１５】
図４は、上記のステップＳ７をコンピュータに実行させるファイル保存用プログラムとして、仮保存管理部１２０がファイル（編集対象ファイル３１）を記憶装置１３０に保存するときのテストプログラムである。
テストプログラムに記載された×××は、編集対象ファイル３１を保存するときのファイル保存回数４１である。設定した回数だけ編集対象ファイル３１が記憶装置１３０に保存される。
テストプログラムに記載されたｔｅｓｔ．○○○は、編集対象ファイル３１を保存する時のファイル名４２である。○○○は、ファイルの種類や形式を表す拡張子である。仮保存管理部１２０は、編集対象ファイル３１に拡張子○○○を付加してファイル名４２を生成し、ファイル名４２を含む編集対象ファイル３１を記憶装置１３０に保存する。
例えば、ファイル保存回数４１を５００、ｔｅｓｔ．○○○の中の○○○をｉｎｉとすると、ｔｅｓｔ．ｉｎｉというファイル名４２を含む編集対象ファイル３１を記憶装置１３０に５００回保存する。
【００１６】
図５Ａ、図５Ｂは、それぞれ、アンチウィルスソフトウェア３Ａ、３Ｂと拡張子の組み合わせにより、図４のテストプログラムを適用したときのテスト結果５１、５６である。
このテスト結果５１、５６では、ファイルの保存方法５２と拡張子名５５とが対応付けられている。ファイルの保存方法５２は、新規ファイル保存方法５３と、上書きファイル保存方法５４の２通りの方法を含んでいる。新規ファイル保存方法５３は、ファイルを新規に保存したときの保存処理時間が計測される。上書きファイル保存方法５４は、ファイル（編集対象ファイル３１）を上書き保存したときの保存処理時間が計測される。
【００１７】
テスト結果５１では、ファイル保存回数４１を１０００とする。ｔｅｓｔ．○○○の中の拡張子○○○をｔｘｔ、ｉｎｉ、ｅｘｅ、ｃｏｍ（アンチウィルスソフトウェア３Ａのリアルタイムスキャンが実行される有効状態）とする。
その場合、図５Ａに示されるように、拡張子ｔｘｔ、ｉｎｉ、ｅｘｅ、ｃｏｍ（有効状態）に対して、新規ファイル保存方法５３における保存処理時間は、それぞれ、２０．９５７秒、０．４７６秒、１９．６９７秒、２１．４１３秒である。また、上書きファイル保存方法５４における保存処理時間は、それぞれ、２８．５７５秒、０．４８４秒、２７．５４１秒、２９．４７６秒である。
その結果、テスト結果５１では、新規ファイル保存方法５３において、拡張子がｔｘｔ、ｅｘｅ、ｃｏｍ（有効状態）である場合の保存処理時間は、拡張子がｉｎｉ（有効状態）である場合の保存処理時間に比べて大幅に長くなった。上書きファイル保存方法５４においても、同様の結果が得られた。
【００１８】
テスト結果５２では、ファイル保存回数４１を２０００とする。ｔｅｓｔ．○○○の中の拡張子○○○をｔｘｔ、ｉｎｉ、ｅｘｅ、ａｖｉ（アンチウィルスソフトウェア３Ｂのリアルタイムスキャンが実行される有効状態）とする。
その場合、図５Ｂに示されるように、拡張子ｔｘｔ、ｉｎｉ、ｅｘｅ、ａｖｉ（有効状態）に対して、新規ファイル保存方法５３における保存処理時間は、それぞれ、１８．７３１秒、１８．６６２秒、４８．７１６秒、１８．９５５秒である。また、上書きファイル保存方法５４における保存処理時間は、それぞれ、１９．３０３秒、２０．１９８秒、５２．８３８秒、２０．７０４秒である。
その結果、テスト結果５２では、新規ファイル保存方法５３において、拡張子がｅｘｅ（有効状態）である場合の保存処理時間は、拡張子がｔｘｔ、ｉｎｉ、ａｖｉ（有効状態）である場合の保存処理時間に比べて大幅に長くなった。上書きファイル保存方法５４においても、同様の結果が得られた。
【００１９】
このような結果から、アンチウィルスソフトウェア３Ａは、ファイル名ｔｅｓｔ．ｉｎｉを含む編集対象ファイル３１に対し、ファイル名ｔｅｓｔ．ｔｘｔ、ｔｅｓｔ．ｅｘｅ、ｔｅｓｔ．ｃｏｍを含む編集対象ファイル３１ではウィルス感染の危険性が高いと判断し、リアルタイムスキャンでチェックする項目を増やし、時間をかけて調査するためではないかと推測される。
同様に、アンチウィルスソフトウェア３Ｂは、ファイル名ｔｅｓｔ．ｔｘｔ、ｔｅｓｔ．ｉｎｉ、ｔｅｓｔ．ａｖｉを含む編集対象ファイル３１に対し、ファイル名ｔｅｓｔ．ｅｘｅを含む編集対象ファイル３１ではウィルス感染の危険性が高いと判断していることになる。
【００２０】
このように、従来のコンピュータでは、第１の問題点として、ユーザは、保存処理時間が長い拡張子が付加されたファイル名を含む編集対象ファイル３１を編集していた場合、編集時に編集対象ファイル３１が保存されるたびに、待つことを強制されてしまう。
【００２１】
そこで、第１の問題点の対策として、アンチウィルスソフトウェア３Ａ、３Ｂは、除外設定機能を更に具備しているものとする。その除外設定機能は、例えば、ある拡張子に対してリアルタイムスキャンが実行されない無効状態に設定することができる。これにより、コンピュータに対してリアルタイムスキャンによる負荷を無くすことができる。
【００２２】
その場合、図５Ａに示されるように、テスト結果５１では、拡張子ｔｘｔ（無効状態）に対して、新規ファイル保存方法５３における保存処理時間は、０．５５０秒である。また、上書きファイル保存方法５４における保存処理時間は、０．４５８秒である。
その結果、テスト結果５１では、新規ファイル保存方法５３において、拡張子がｔｘｔ（無効状態）である場合の保存処理時間は、拡張子がｔｘｔ（有効状態）である場合の保存処理時間に比べて大幅に短くなった。上書きファイル保存方法５４においても、同様の結果が得られた。
【００２３】
また、図５Ｂに示されるように、テスト結果５２では、拡張子ｅｘｅ（無効状態）に対して、新規ファイル保存方法５３における保存処理時間は、４．０２６秒である。また、上書きファイル保存方法５４における保存処理時間は、４．２７１秒である。
その結果、テスト結果５１では、新規ファイル保存方法５３において、拡張子がｅｘｅ（無効状態）である場合の保存処理時間は、拡張子がｅｘｅ（有効状態）である場合の保存処理時間に比べて大幅に短くなった。上書きファイル保存方法５４においても、同様の結果が得られた。
【００２４】
このように、ユーザが、ある拡張子に対してリアルタイムスキャンを無効状態に設定することにより、保存処理時間が短くなる。このため、ユーザは、ある拡張子を含む編集対象ファイル３１をコンピュータ上で使用していて、その編集対象ファイル３１に対する中間／設定ファイルが生成されても、リアルタイムスキャンが有効状態に設定されているときに比べて待たなくてよい。
しかし、第２の問題点として、ユーザが、ある拡張子に対してリアルタイムスキャンを無効状態に設定することにより、その拡張子を含む編集対象ファイル３１に対してリアルタイムスキャンが実行されない。このため、編集対象ファイル３１のセキュリティが低下し、ウィルス感染の可能性が高くなる。したがって、リアルタイムスキャンを無効状態に設定すべきではない。
【課題を解決するための手段】
【００２５】
以下に、［発明を実施するための最良の形態］で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２６】
本発明のコンピュータは、汎用エディタ部（１０）と、仮保存管理部（２０）とを具備している。
前記汎用エディタ部（１０）は、第１拡張子（“．ｌｏｇ”）が付加された編集対象ファイル（３１）をオープンして編集し、編集後にクローズする。
前記仮保存管理部（２０）は、編集時に前記編集対象ファイル（３１）を記憶装置（３０）に保存するときに、前記編集対象ファイル（３１）に付加された前記第１拡張子（“．ｌｏｇ”）を最適仮拡張子（“．ｉｎｉ”）に置き換え、前記編集対象ファイル（３１）がクローズされたときに、前記編集対象ファイル（３１）に付加された前記最適仮拡張子（“．ｉｎｉ”）を前記第１拡張子（“．ｌｏｇ”）に置き換える。
前記最適仮拡張子（“．ｉｎｉ”）が付加された前記編集対象ファイル（３１）を保存するときの保存処理時間は、前記第１拡張子（“．ｌｏｇ”）が付加された前記編集対象ファイル（３１）を保存するときの第１保存処理時間よりも短い。
【発明の効果】
【００２７】
本発明のコンピュータでは、例えばアンチウィルスソフトウェア（３）のリアルタイムスキャンの実行中に、ユーザが編集対象ファイル（３１）に対して編集を行なう場合、編集時に編集対象ファイル（３１）を保存するたびに、編集対象ファイル（３１）のファイル名に付加された第１拡張子を最適仮拡張子に置き換えることにより、従来のコンピュータに比べてユーザに待たせる時間が削減される。
また、本発明のコンピュータでは、編集対象ファイル（３１）をクローズしたときに、そのファイル名に付加された最適仮拡張子を第１拡張子に置き換えること（リネーム）により、編集対象ファイル（３１）の編集内容は確保される。
【発明を実施するための最良の形態】
【００２８】
以下に添付図面を参照して、本発明のコンピュータについて詳細に説明する。
【００２９】
（第１実施形態）
図６は、本発明の第１実施形態によるコンピュータの構成を示している。第１実施形態によるコンピュータは、入力装置６と、表示装置７と、制御装置８と、記憶ユニット（記憶装置）３０とを具備している。制御装置８は、入力装置６と表示装置７と記憶装置３０とに接続されている。制御装置８は、ハードウエア又はソフトウエアにより実現可能であり、汎用エディタユニット（汎用エディタ部）１０と、仮保存管理ユニット（仮保存管理部）２０とを具備している。
汎用エディタ部１０は、テキストデータ、画像データ等を表すファイルを作成・編集する。テキストデータには、文書、コンピュータプログラム等が記載されている。汎用エディタ部１０は、上記ファイルを作成したときに、保存指示と上記ファイルとを仮保存管理部２０に出力する。上記ファイルは、拡張子が付加されたファイル名を含んでいる。
仮保存管理部２０は、保存指示に応じて、上記ファイルとそのファイル名とを記憶装置３０に保存する。仮保存管理部２０は、汎用エディタ部１０により作成・編集された上記ファイルを記憶装置３０により管理する。
【００３０】
記憶装置３０には、複数の上記ファイルがそれぞれ複数の編集対象ファイルとして保存されている。複数の編集対象ファイルのうちの１つの編集対象ファイルである編集対象ファイル３１がユーザにより編集されるとき、記憶装置３０には、更に、ＴＥＭＰファイル３２と、仮保存管理情報３３とが保存される。ＴＥＭＰファイル３２は、編集対象ファイル３１の編集が行なわれる前のバックアップファイル（中間／設定ファイル）である。仮保存管理情報３３は、その編集対象ファイル３１とＴＥＭＰファイル３２とを対応付ける。
【００３１】
記憶装置３０は、仮拡張子情報データベース７１と、仮拡張子候補データベース７６とを具備している。
【００３２】
図７Ａに示されるように、仮拡張子情報データベース７１には、複数の編集対象ファイル拡張子７２が格納される。複数の編集対象ファイル拡張子７２は、それぞれ、複数の編集対象ファイルに含まれるファイル名に付加された拡張子を表している。仮拡張子情報データベース７１には、更に、複数の編集対象ファイル拡張子７２の各々に対応付けて、複数の仮拡張子７３と、複数の総保存処理時間７４と、複数の総書込バイト数７５とが格納される。
複数の仮拡張子７３は、それぞれ、編集対象ファイル３１に対して過去に付加された拡張子を表している。複数の総保存処理時間７４は、それぞれ複数の拡張子が付加された編集対象ファイル３１を記憶装置３０に保存したときの時間を表し、その単位は秒（Ｓｅｃ）である。複数の総書込バイト数７５は、それぞれ複数の拡張子が付加された編集対象ファイル３１を記憶装置３０に保存したときのバイト数を表し、その単位はバイト（Ｂｙｔｅ）である。この仮拡張子７３、総保存処理時間７４、総書込バイト数７５についての詳細は後述する。
【００３３】
図７Ｂに示されるように、仮拡張子候補データベース７６には、１番目からＮ番目（Ｎは２以上の整数）までのＮ個の登録番号７７と、予め設定されたＮ個の拡張子であるＮ個の仮拡張子７８と、予め設定されたユーザ設定変数７９とが格納されている。Ｎ個の仮拡張子７８は、最初から一定量で登録されているが、後からユーザが追加登録・編集が可能である。ユーザ設定変数７９として、Ｎが設定されている。このＮは、仮拡張子候補データベース７６に仮拡張子７８を登録可能な数を表し、例としてＮが２０の場合、仮拡張子７８は２０個まで登録可能である。
【００３４】
図８は、本発明のコンピュータにアンチウィルスソフトウェアを適用したときの構成を示している。本発明のコンピュータは、更に、アンチウィルスソフトウェア３と、外部インタフェース４と、バス５とを具備している。バス５には、制御装置８と、ディスク装置である記憶装置３０と、外部インタフェース４と、入力装置６と、ディスプレイである表示装置７とが接続されている。入力装置６は、マウス６−１とキーボード６−２とを含んでいる。制御装置８は、ＣＰＵ１と、メモリ２とを具備している。上記の汎用エディタ部１０、仮保存管理部２０がソフトウエアにより実現可能である場合、メモリ２には、ＣＰＵ１が実行するための汎用エディタ部１０、仮保存管理部２０を含むコンピュータプログラムが格納されている。
アンチウィルスソフトウェア３は、例えばメモリ２に格納されていて、その機能としてリアルタイムスキャンを含んでいる。このリアルタイムスキャンは、コンピュータの内部（メモリ２、記憶装置３０、外部インタフェース４とのデータのやり取り）をチェックし、ウィルス感染していないか常に監視している。よって、リアルタイムスキャンの実行中は、前述のステップＳ７の開始から終了までに多くの時間がかかる。
そこで、本発明のコンピュータでは、従来のコンピュータにおける動作に対して、前述のステップＳ７に代えて、後述のステップＳ１１〜Ｓ１４を実行する。
【００３５】
図９は、本発明のコンピュータの動作としてファイル編集処理を示すフローチャートである。
ここで、仮拡張子情報データベース７１には、編集対象ファイル３１のファイル名に付加された第１拡張子が編集対象ファイル拡張子７２として格納されているものとする。その第１拡張子は、仮拡張子候補データベース７６に格納されたＮ個の仮拡張子７８とは異なるものとする。
【００３６】
ユーザは、表示装置７を閲覧しながら、入力装置６を用いてコンピュータにファイル編集処理を実行させる。
汎用エディタ部１０は、ユーザによる入力装置６からの指示に応じて、記憶装置３０に保存された複数の編集対象ファイルの中から、ユーザが編集を行なうための編集対象ファイル３１を指定する（ステップＳ１）。汎用エディタ部１０は、その編集対象ファイル３１をオープンする（ステップＳ２）。このとき、汎用エディタ部１０は、編集対象ファイル３１をオープンした旨を表す情報を仮保存管理部２０に出力する。これに応じて、仮保存管理部２０は、仮拡張子決定処理を実行する（ステップＳ１１）。
【００３７】
図１０は、ファイル編集処理の仮拡張子決定処理（ステップＳ１１）を示すフローチャートである。
【００３８】
仮拡張子決定処理（ステップＳ１１）において、編集対象ファイル３１のファイル名に付加された第１拡張子が、編集対象ファイル拡張子７２として仮拡張子情報データベース７１に格納されていない（ステップＳ２１−ＮＯ）。この場合、編集対象ファイル３１はユーザにより初めて編集される。仮保存管理部２０は、第１拡張子を第１仮拡張子として決定する（ステップＳ２２）。
【００３９】
仮拡張子決定処理（ステップＳ１１）において、編集対象ファイル３１のファイル名に付加された第１拡張子が、編集対象ファイル拡張子７２として仮拡張子情報データベース７１に格納されている。また、第１拡張子が、仮拡張子７３として仮拡張子情報データベース７１に格納されている（ステップＳ２１−ＹＥＳ）。この場合、編集対象ファイル３１はユーザにより２回目以上の編集が行なわれるものとする。そこで、仮保存管理部２０は、仮拡張子候補データベース７６に格納されたｉ番目（ｉは、１≦ｉ≦Ｎを満たす整数である）の仮拡張子７８を第（ｉ＋１）仮拡張子として読み出す（ステップＳ２３−ＮＯ）。仮保存管理部２０は、その第（ｉ＋１）仮拡張子を決定仮拡張子として決定する（ステップＳ２４）。
【００４０】
仮拡張子決定処理（ステップＳ１１）において、編集対象ファイル３１のファイル名に付加された第１拡張子が、仮編集対象ファイル拡張子７２として拡張子情報データベース７１に格納されている。また、第１拡張子〜第（Ｎ＋１）拡張子が、仮拡張子７３として仮拡張子情報データベース７１に格納されている（ステップＳ２１−ＹＥＳ）。この場合、編集対象ファイル３１はユーザにより（Ｎ＋１）回目の編集が行なわれるものとする。そこで、仮保存管理部２０は、仮拡張子候補データベース７６に格納された１番目からＮ番目までのＮ個の仮拡張子７８を過去に全て読み出し、編集対象ファイル拡張子７２に対応付けて（Ｎ＋１）個の仮拡張子７３、総保存処理時間７４、総書込バイト数７５を仮拡張子情報データベース７１に格納している（ステップＳ２３−ＹＥＳ）。即ち、編集対象ファイル拡張子７２に対して全ての仮拡張子７８が仮拡張子情報データベース７１に格納されていることになる。
仮保存管理部２０は、それぞれ（Ｎ＋１）個の総書込バイト数７５に（Ｎ＋１）個の総保存処理時間７４を除算して（Ｎ＋１）個の単位当たり総書込バイト数を求め、（Ｎ＋１）個の単位当たり総書込バイト数のうちの最大の単位当たり総書込バイト数を選択する。最大の単位当たり総書込バイト数は、（Ｎ＋１）個の総保存処理時間７４の中で最も短い総保存処理時間７４を表している。仮保存管理部２０は、最も短い総保存処理時間７４に対応する仮拡張子７３を決定仮拡張子（最適仮拡張子）として決定する（ステップＳ２５）。
【００４１】
次に、仮保存管理部２０は、編集対象ファイル３１のファイル名に付加された第１拡張子を退避する（ステップＳ１２）。退避としては、例えばメモリ２の特定領域に第１拡張子と決定仮拡張子とを対応付けて格納しておく。
【００４２】
次に、汎用エディタ部１０は、ユーザによる入力装置６からの指示に応じて、編集対象ファイル３１の編集を行なう（ステップＳ３）。ユーザによって保存指示が行なわれない場合（ステップＳ４−ＮＯ）、ステップＳ３が実行される。
編集対象ファイル３１の編集を行なっている途中やその編集の終了後に、ユーザが入力装置６を用いて保存指示を行なう（ステップＳ４−ＹＥＳ）。このとき、汎用エディタ部１０は、保存指示が仮保存指示を表しているのか正式保存指示を表しているのかをユーザに指定させる（ステップＳ５）。汎用エディタ部１０は、仮保存指示又は正式保存指示を表す保存指示と、編集対象ファイル３１とを仮保存管理部２０に出力する。これに応じて、仮保存管理部２０は、保存処理を実行する（ステップＳ６）。
【００４３】
保存処理（ステップＳ６）において、保存指示が仮保存指示を表している。この場合、仮保存管理部２０は、仮保存指示に応じて、仮保存処理を実行する。仮保存管理部２０は、編集対象ファイル３１の編集が行なわれる前のバックアップファイル（中間／設定ファイル）をＴＥＭＰファイル３２として生成する。同時に、仮保存管理部２０は、編集対象ファイル３１とＴＥＭＰファイル３２とを対応付ける仮保存管理情報３３を生成する。仮保存管理部２０は、ＴＥＭＰファイル３２と仮保存管理情報３３とを記憶装置３０に保存することにより、編集対象ファイル３１における保存状態を仮保存状態とする。
【００４４】
保存処理（ステップＳ６）において、保存指示が正式保存指示を表している。この場合、仮保存管理部２０は、正式保存指示に応じて、正式保存処理を実行する。また、仮保存管理部２０は、編集対象ファイル３１における保存状態が仮保存状態である場合、その仮保存状態を解除するために、編集対象ファイル３１に対応するＴＥＭＰファイル３２及び仮保存管理情報３３を削除する。
【００４５】
次に、仮保存管理部２０は、上記の編集対象ファイル３１のファイル名に付加された第１拡張子を決定仮拡張子に置き換えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１３）。このとき、仮保存管理部２０は、その編集対象ファイル３１を記憶装置３０に保存したときの保存処理時間、バイト数を計測する。
ユーザによって終了指示が行なわれない場合（ステップＳ８−ＮＯ）、ステップＳ３が実行される。
【００４６】
ユーザが入力装置６を用いて終了指示を行なう（ステップＳ８−ＹＥＳ）。このとき、汎用エディタ部１０は、編集対象ファイル３１をクローズする（ステップＳ９）。
このとき、仮保存管理部２０は、退避していた第１拡張子をメモリ２から読み出し、上記の編集対象ファイル３１のファイル名に付加された決定仮拡張子を第１拡張子に置き換えて（リネーム）、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１４）。次に、仮保存管理部２０は、仮拡張子登録処理を実行し（ステップＳ１５）、ファイル編集処理が終了する。
【００４７】
図１１は、ファイル編集処理の仮拡張子登録処理（ステップＳ１５）を示すフローチャートである。
【００４８】
仮拡張子登録処理（ステップＳ１５）において、編集対象ファイル３１のファイル名に付加された第１拡張子と、決定仮拡張子（第１仮拡張子）とが、それぞれ、編集対象ファイル拡張子７２と、仮拡張子７３として仮拡張子情報データベース７１に格納されていない。または、第１拡張子が編集対象ファイル拡張子７２として仮拡張子情報データベース７１に格納されているが、決定仮拡張子｛第（ｉ＋１）仮拡張子｝が仮拡張子７３として仮拡張子情報データベース７１に格納されていない（ステップＳ３１−ＮＯ）。
この場合、仮保存管理部２０は、第１拡張子、決定仮拡張子をそれぞれ編集対象ファイル拡張子７２、仮拡張子７３として仮拡張子情報データベース７１に格納する（ステップＳ３２）。
仮保存管理部２０は、編集対象ファイル拡張子７２と仮拡張子７３とに対応付けて、上記の保存処理時間、バイト数をそれぞれ総保存処理時間７４、総書込バイト数７５として仮拡張子情報データベース７１に格納する（ステップＳ３３、Ｓ３４）。
【００４９】
仮拡張子登録処理（ステップＳ１５）において、編集対象ファイル３１のファイル名に付加された第１拡張子と、決定仮拡張子｛第（ｉ＋１）仮拡張子または最適仮拡張子｝とが、それぞれ、編集対象ファイル拡張子７２と、仮拡張子７３として仮拡張子情報データベース７１に格納されている（ステップＳ３１−ＹＥＳ）。
この場合、仮保存管理部２０は、仮拡張子情報データベース７１を参照して、編集対象ファイル拡張子７２、仮拡張子７３に対応する総保存処理時間７４、総書込バイト数７５に、それぞれ、上記の保存処理時間、バイト数を加算する（ステップＳ３５、Ｓ３６）。
【００５０】
このように、本発明のコンピュータでは、第１の効果として、ステップＳ４〜Ｓ６において、編集対象ファイルの内容をバックアップファイル（中間／設定ファイル）の内容で復元するか否かをユーザが選択できるようにしているため、ユーザがＯＳ上からバックアップファイルをリネームすることなくファイル内容を復元できる。また、ファイルの保存を数回行った後でも、仮保存処理を行った時点のファイルの内容に戻すことが可能となる。この効果は、従来のコンピュータと同じである。
【００５１】
本発明のコンピュータでは、第２の効果として、ユーザが（Ｎ＋１）回目の編集を行なった場合、次にユーザが（Ｎ＋２）回目の編集を行なったときに最適仮拡張子を自動的に取得できる。即ち、本発明のコンピュータでは、ステップＳ１、Ｓ２、Ｓ１１、Ｓ１２、Ｓ３〜Ｓ６、Ｓ１３、Ｓ８、Ｓ９、Ｓ１４、Ｓ１５を（Ｎ＋１）回実行した場合、次にステップＳ１１を実行するときに最適仮拡張子を自動的に取得できる。ここで、本発明のコンピュータは、ユーザが編集対象ファイル３１に対して（Ｎ＋１）回目の編集を行なうまで、編集時に編集対象ファイル３１を保存するたびに、最適ではない仮拡張子を取得する可能性があるが、ユーザが（Ｎ＋２）回目の編集を行なった場合、（Ｎ＋１）個の仮拡張子７３の中から、保存処理時間が最も短い仮拡張子である最適仮拡張子を取得できるようになる。このため、本発明のコンピュータでは、アンチウィルスソフトウェア３のリアルタイムスキャンの実行中に、ユーザが編集対象ファイル３１に対して（Ｎ＋２）回目以降の編集を行なう場合、編集時に編集対象ファイル３１を保存するたびに、編集対象ファイル３１のファイル名に付加された第１拡張子を最適仮拡張子に置き換えることにより、従来のコンピュータに比べてユーザに待たせる時間が削減される。
また、本発明のコンピュータでは、編集対象ファイル３１をクローズしたときに、そのファイル名に付加された最適仮拡張子を第１拡張子に置き換えること（リネーム）により、編集対象ファイル３１の編集内容は確保される。
【００５２】
上記のファイル編集処理について具体的に説明する。そこで、上記のファイル編集処理を、
（動作１）ユーザにより初めて編集が行なわれる場合、
（動作２）ユーザにより２回目の編集が行なわれる場合、
（動作３）ユーザにより３回目の編集が行なわれる場合、
（動作４）ユーザにより４回目の編集が行なわれる場合、
に分ける。
また、編集対象ファイル３１のファイル名に付加された第１拡張子が“．ｌｏｇ”であるものとする。
また、図１２Ａに示されるように、仮拡張子候補データベース７６には、ユーザ設定変数７９として“２”（Ｎは２とする）が格納され、登録番号７７として“１”、“２”が格納されているものとする。この場合、仮拡張子７８として“．ｔｘｔ”、“．ｉｎｉ”が格納されているものとする。
【００５３】
まず、（動作１）ユーザにより初めて編集が行なわれる場合について説明する。
【００５４】
最初に、上述のステップＳ１、Ｓ２、Ｓ１１が実行される。
仮拡張子決定処理（ステップＳ１１）において、仮保存管理部２０は、編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を決定仮拡張子（第１仮拡張子）として決定する（ステップＳ２１−ＮＯ、Ｓ２２）。次に、仮保存管理部２０は、編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”と決定仮拡張子（第１仮拡張子）“．ｌｏｇ”とをメモリ２に退避する（ステップＳ１２）。
【００５５】
次に、上述のステップＳ３〜Ｓ６が実行される。
仮保存管理部２０は、上記の編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を決定仮拡張子（第１仮拡張子）“．ｌｏｇ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１３）。このとき、仮保存管理部２０は、その編集対象ファイル３１を記憶装置３０に保存したときの保存処理時間“２０（ｓｅｃ）”、バイト数“５００（ｂｙｔｅ）”を計測する。
【００５６】
次に、上述のステップＳ８〜Ｓ９が実行される。
このとき、仮保存管理部２０は、退避していた第１拡張子“．ｌｏｇ”をメモリ２から読み出し、上記の編集対象ファイル３１のファイル名に付加された決定仮拡張子（第１仮拡張子）“．ｌｏｇ”を第１拡張子“．ｌｏｇ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１４）。次に、仮保存管理部２０は、仮拡張子登録処理を実行する（ステップＳ１５）。
【００５７】
仮拡張子登録処理（ステップＳ１５）において、図１２Ｂに示されるように、仮保存管理部２０は、第１拡張子“．ｌｏｇ”、決定仮拡張子（第１仮拡張子）“．ｌｏｇ”、上記の保存処理時間“２０（ｓｅｃ）”、上記のバイト数“５００（ｂｙｔｅ）”をそれぞれ編集対象ファイル拡張子７２、仮拡張子７３、総保存処理時間７４、総書込バイト数７５として仮拡張子情報データベース７１に格納する（ステップＳ３１−ＮＯ、Ｓ３２、Ｓ３３、Ｓ３４）。
【００５８】
次に、（動作２）ユーザにより２回目の編集が行なわれる場合について説明する。
【００５９】
最初に、上述のステップＳ１、Ｓ２、Ｓ１１が実行される。
仮拡張子決定処理（ステップＳ１１）において、仮保存管理部２０は、仮拡張子候補データベース７６に格納されたｉ番目（ｉは、１≦ｉ≦Ｎを満たす整数である）の仮拡張子７８“．ｔｘｔ”を第（ｉ＋１）仮拡張子として読み出す（ステップＳ２１−ＹＥＳ、Ｓ２３−ＮＯ）。ここで、ｉは１である。仮保存管理部２０は、その第２仮拡張子“．ｔｘｔ”を決定仮拡張子として決定する（ステップＳ２４）。次に、仮保存管理部２０は、編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”と決定仮拡張子（第２仮拡張子）“．ｔｘｔ”とをメモリ２に退避する（ステップＳ１２）。
【００６０】
次に、上述のステップＳ３〜Ｓ６が実行される。
仮保存管理部２０は、上記の編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を決定仮拡張子（第２仮拡張子）“．ｔｘｔ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１３）。このとき、仮保存管理部２０は、その編集対象ファイル３１を記憶装置３０に保存したときの保存処理時間“３０（ｓｅｃ）”、バイト数“５００（ｂｙｔｅ）”を計測する。
【００６１】
次に、上述のステップＳ８〜Ｓ９が実行される。
このとき、仮保存管理部２０は、退避していた第１拡張子“．ｌｏｇ”をメモリ２から読み出し、上記の編集対象ファイル３１のファイル名に付加された決定仮拡張子（第２仮拡張子）“．ｔｘｔ”を第１拡張子“．ｌｏｇ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１４）。次に、仮保存管理部２０は、仮拡張子登録処理を実行する（ステップＳ１５）。
【００６２】
仮拡張子登録処理（ステップＳ１５）において、図１２Ｃに示されるように、仮保存管理部２０は、編集対象ファイル拡張子７２“．ｌｏｇ”に対応付けて、決定仮拡張子（第２仮拡張子）“．ｔｘｔ”、上記の保存処理時間“３０（ｓｅｃ）”、上記のバイト数“５００（ｂｙｔｅ）”をそれぞれ仮拡張子７３、総保存処理時間７４、総書込バイト数７５として仮拡張子情報データベース７１に格納する（ステップＳ３１−ＮＯ、Ｓ３２、Ｓ３３、Ｓ３４）。
【００６３】
次に、（動作３）ユーザにより３回目の編集が行なわれる場合について説明する。
【００６４】
最初に、上述のステップＳ１、Ｓ２、Ｓ１１が実行される。
仮拡張子決定処理（ステップＳ１１）において、仮保存管理部２０は、仮拡張子候補データベース７６に格納されたｉ番目（ｉは、１≦ｉ≦Ｎを満たす整数である）の仮拡張子７８“．ｔｘｔ”を第（ｉ＋１）仮拡張子として読み出す（ステップＳ２１−ＹＥＳ、Ｓ２３−ＮＯ）。ここで、ｉは２である。仮保存管理部２０は、その第３仮拡張子“．ｉｎｉ”を決定仮拡張子として決定する（ステップＳ２４）。次に、仮保存管理部２０は、編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”と決定仮拡張子（第３仮拡張子）“．ｉｎｉ”とをメモリ２に退避する（ステップＳ１２）。
【００６５】
次に、上述のステップＳ３〜Ｓ６が実行される。
仮保存管理部２０は、上記の編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を決定仮拡張子（第３仮拡張子）“．ｉｎｉ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１３）。このとき、仮保存管理部２０は、その編集対象ファイル３１を記憶装置３０に保存したときの保存処理時間“１０（ｓｅｃ）”、バイト数“５００（ｂｙｔｅ）”を計測する。
【００６６】
次に、上述のステップＳ８〜Ｓ９が実行される。
このとき、仮保存管理部２０は、退避していた第１拡張子“．ｌｏｇ”をメモリ２から読み出し、上記の編集対象ファイル３１のファイル名に付加された決定仮拡張子（第３仮拡張子）“．ｉｎｉ”を第１拡張子“．ｌｏｇ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１４）。次に、仮保存管理部２０は、仮拡張子登録処理を実行する（ステップＳ１５）。
【００６７】
仮拡張子登録処理（ステップＳ１５）において、図１２Ｄに示されるように、仮保存管理部２０は、編集対象ファイル拡張子７２“．ｌｏｇ”に対応付けて、決定仮拡張子（第３仮拡張子）“．ｉｎｉ”、上記の保存処理時間“１０（ｓｅｃ）”、上記のバイト数“５００（ｂｙｔｅ）”をそれぞれ仮拡張子７３、総保存処理時間７４、総書込バイト数７５として仮拡張子情報データベース７１に格納する（ステップＳ３１−ＮＯ、Ｓ３２、Ｓ３３、Ｓ３４）。
【００６８】
次に、（動作４）ユーザにより４回目の編集が行なわれる場合について説明する。
【００６９】
最初に、上述のステップＳ１、Ｓ２、Ｓ１１が実行される。
仮拡張子決定処理（ステップＳ１１）において、仮保存管理部２０は、仮拡張子候補データベース７６に格納されたＮ個の仮拡張子７８“．ｔｘｔ”、“．ｉｎｉ”を過去に全て読み出し、編集対象ファイル拡張子７２に対応付けて（Ｎ＋１）個の仮拡張子７３“．ｌｏｇ”、“．ｔｘｔ”、“．ｉｎｉ”、総保存処理時間７４、総書込バイト数７５を仮拡張子情報データベース７１に格納している（ステップＳ２１−ＹＥＳ、Ｓ２３−ＹＥＳ）。
そこで、仮保存管理部２０は、仮拡張子情報データベース７１を参照して、それぞれ（Ｎ＋１）個の総書込バイト数７５“５００（ｂｙｔｅ）”、“５００（ｂｙｔｅ）”、“５００（ｂｙｔｅ）”に（Ｎ＋１）個の総保存処理時間７４“２０（ｓｅｃ）”、“３０（ｓｅｃ）”、“１０（ｓｅｃ）”を除算して（Ｎ＋１）個の単位当たり総書込バイト数“２５（ｂｙｔｅ／ｓｅｃ）”、“１６（ｂｙｔｅ／ｓｅｃ）”、“５０（ｂｙｔｅ／ｓｅｃ）”を求め、（Ｎ＋１）個の単位当たり総書込バイト数のうちの最大の単位当たり総書込バイト数“５０（ｂｙｔｅ／ｓｅｃ）”を選択する。最大の単位当たり総書込バイト数は、（Ｎ＋１）個の総保存処理時間７４の中で最も短い総保存処理時間７４を表している。この場合、最も短い総保存処理時間７４“１０（ｓｅｃ）”に対応する仮拡張子７３は、“．ｉｎｉ”である。仮保存管理部２０は、仮拡張子７３“．ｉｎｉ”を決定仮拡張子（最適仮拡張子）として決定する（ステップＳ２５）。
【００７０】
次に、仮保存管理部２０は、編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”と決定仮拡張子（最適仮拡張子）“．ｉｎｉ”とをメモリ２に退避する（ステップＳ１２）。
【００７１】
次に、上述のステップＳ３〜Ｓ６が実行される。
仮保存管理部２０は、上記の編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を決定仮拡張子（最適仮拡張子）“．ｉｎｉ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１３）。このとき、仮保存管理部２０は、その編集対象ファイル３１を記憶装置３０に保存したときの保存処理時間“１０（ｓｅｃ）”、バイト数“５００（ｂｙｔｅ）”を計測する。
【００７２】
次に、上述のステップＳ８〜Ｓ９が実行される。
このとき、仮保存管理部２０は、退避していた第１拡張子“．ｌｏｇ”をメモリ２から読み出し、上記の編集対象ファイル３１のファイル名に付加された決定仮拡張子（最適仮拡張子）“．ｉｎｉ”を第１拡張子“．ｌｏｇ”に代えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ１４）。次に、仮保存管理部２０は、仮拡張子登録処理を実行する（ステップＳ１５）。
【００７３】
仮拡張子登録処理（ステップＳ１５）において、図１２Ｅに示されるように、仮保存管理部２０は、編集対象ファイル拡張子７２“．ｌｏｇ”と仮拡張子７３（最適仮拡張子）“．ｉｎｉ”とに対応する総保存処理時間７４、総書込バイト数７５に、それぞれ、上記の保存処理時間“１０（ｓｅｃ）”、上記のバイト数“５００（ｂｙｔｅ）”を加算する（ステップＳ３１−ＹＥＳ、Ｓ３５、Ｓ３６）。
【００７４】
以上の説明により、本発明のコンピュータでは、ユーザが３回目の編集を行なった場合、次にユーザが４回目の編集を行なったときに最適仮拡張子“．ｉｎｉ”を自動的に取得できる。即ち、本発明のコンピュータでは、ステップＳ１、Ｓ２、Ｓ１１、Ｓ１２、Ｓ３〜Ｓ６、Ｓ１３、Ｓ８、Ｓ９、Ｓ１４、Ｓ１５を３回実行した場合、次にステップＳ１１を実行するときに最適仮拡張子“．ｉｎｉ”を自動的に取得できる。ここで、本発明のコンピュータは、ユーザが編集対象ファイル３１に対して３回目の編集を行なうまで、編集時に編集対象ファイル３１を保存するたびに、最適ではない仮拡張子を取得する可能性があるが、ユーザが４回目の編集を行なった場合、３個の仮拡張子７３“．ｌｏｇ”、“．ｔｘｔ”、“．ｉｎｉ”の中から、保存処理時間が最も短い仮拡張子である最適仮拡張子“．ｉｎｉ”を取得できるようになる。このため、本発明のコンピュータでは、アンチウィルスソフトウェア３のリアルタイムスキャンの実行中に、ユーザが編集対象ファイル３１に対して４回目以降の編集を行なう場合、編集時に編集対象ファイル３１を保存するたびに、編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を最適仮拡張子“．ｉｎｉ”に置き換えることにより、従来のコンピュータに比べてユーザに待たせる時間が削減される。
また、本発明のコンピュータでは、編集対象ファイル３１をクローズしたときに、そのファイル名に付加された最適仮拡張子“．ｉｎｉ”を第１拡張子“．ｌｏｇ”に置き換えること（リネーム）により、編集対象ファイル３１の編集内容は確保される。
【００７５】
（第２実施形態）
本発明の第２実施形態によるコンピュータでは、前述と同じ説明を省略する。
【００７６】
前述の第１実施形態によるコンピュータでは、編集対象ファイル３１に対して（Ｎ＋２）回目の編集が行なわれたときに、仮拡張子情報データベース７１を参照して、最適仮拡張子“．ｉｎｉ”を取得する。そこで、（Ｎ＋２）回目以降の編集が行なわれた場合でも、仮拡張子情報データベース７１を参照して、最適仮拡張子“．ｉｎｉ”を取得する。この場合、仮保存管理部２０は、最適仮拡張子“．ｉｎｉ”を認識していればよい。そこで、本発明の第２実施形態によるコンピュータとして、仮拡張子情報データベース７１と仮拡張子候補データベース７６とに代えて、最適仮拡張子“．ｉｎｉ”を格納する最適記憶部を具備している。最適記憶部としては、前述のメモリ２の特定領域が例示される。第２実施形態によるコンピュータでは、編集対象ファイル３１に対して（Ｎ＋３）回目の編集が行なわれたときに、メモリ２から最適仮拡張子“．ｉｎｉ”を取得する。
【００７７】
本発明の第２実施形態によるコンピュータの動作としてファイル編集処理について説明する。
ここで、メモリ２の特定領域には、更に、フラグ（後述）が格納されているものとする。
【００７８】
最初に、上述のステップＳ１、Ｓ２が実行されたとき、上述のステップＳ１１が実行されない。次に、仮保存管理部２０は、編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を最適仮拡張子“．ｉｎｉ”に対応付けてメモリ２に退避する（ステップＳ１２）。
【００７９】
次に、上述のステップＳ３〜Ｓ６、Ｓ１３、Ｓ８〜Ｓ９が実行される。このとき、上述のステップＳ１４、Ｓ１５が実行されずに、ファイル編集処理が終了する。
【００８０】
図１３は、ファイル編集処理のファイル保存処理（ステップＳ１３）を示すフローチャートである。これは、図９のフローチャートでデータベースを使わない応用例であり、一般的なファイル上書き保存処理とファイル保存失敗時の復元処理とを本発明に適用したものである。
【００８１】
ファイル保存処理（ステップＳ１３）において、仮保存管理部２０は、フラグを初期化する。ここで、フラグは“新規”モードに設定される（ステップＳ４１）。フラグは“新規”と“上書き”の２種類のモードがある。このとき、仮保存管理部２０は、編集対象ファイル３１を上書きするか否かをユーザに問い合わせる（ステップＳ４２）。
編集対象ファイル３１を上書きする場合（ステップＳ４２−ＹＥＳ）、仮保存管理部２０は、フラグを設定する。ここで、フラグは“上書き”モードに設定される（ステップＳ４３）。仮保存管理部２０は、ファイル障害時に編集対象ファイル３１の内容を元に戻すために使用する別名バックアップファイルを生成し、メモリ２の特定領域に格納する（ステップＳ４４）。別名バックアップファイルの内容は、編集対象ファイル３１の内容と同じであるが、別名バックアップファイルのファイル名は、編集対象ファイル３１のファイル名（元のファイル名）とは異なる。
ステップＳ４４が実行された場合、または、編集対象ファイル３１を上書きしない場合（ステップＳ４２−ＮＯ）、仮保存管理部２０は、上記の編集対象ファイル３１のファイル名に付加された第１拡張子“．ｌｏｇ”を最適仮拡張子“．ｉｎｉ”に置き換えて、その編集対象ファイル３１を記憶装置３０に保存する（ステップＳ４５）。
【００８２】
ステップＳ４５を実行したときに、ディスク障害など、予期しないトラブルにより編集対象ファイル３１の保存ができない（ステップＳ４６−ＮＯ）。そこで、フラグが“上書き”を表している場合（ステップＳ４７−ＹＥＳ）、仮保存管理部２０は、別名バックアップファイルをメモリ２から読み出し、別名バックアップファイルに元のファイル名を付加して編集対象ファイル３１を復元する。フラグが“新規”を表している場合（ステップＳ４７−ＮＯ）、別名バックアップファイルを作成していないので、処理を終了する。
【００８３】
ステップＳ４５を実行したときに、編集対象ファイル３１の保存が正しく行われる（ステップＳ４６−ＹＥＳ）。そこで、フラグが“上書き”を表している場合（ステップＳ４９−ＹＥＳ）、仮保存管理部２０は、別名バックアップファイルは不要なので削除する。そして、仮保存管理部２０は、第１拡張子“．ｌｏｇ”をメモリ２から読み出し、上記の編集対象ファイル３１のファイル名に付加された最適仮拡張子“．ｉｎｉ”を第１拡張子“．ｌｏｇ”に代えて、その編集対象ファイル３１を記憶装置３０に保存し（ステップＳ５１）、処理を終了する。
【００８４】
以上の説明により、本発明の第２実施形態によるコンピュータでは、仮拡張子情報データベース７１と仮拡張子候補データベース７６との２つのデータベースが不要になる。その結果、それを作成するためのコストを削減できる。また、コンピュータ内に２つのデータベースが実装されるスペースも削減できる。さらに、本発明の第２実施形態によるコンピュータでは、データベースを参照しない分だけ処理速度が速くなる。
【図面の簡単な説明】
【００８５】
【図１】図１は、中間／設定ファイルを生成する従来のコンピュータとして、特開２００５−１８２１７３号公報に記載されたファイル保存管理装置の構成を示している。（従来の技術）
【図２】図２は、従来のコンピュータの動作としてファイル編集処理を示すフローチャートである。（従来の技術）
【図３】図３は、従来のコンピュータにアンチウィルスソフトウェアを適用したときの構成を示している。（従来の技術）
【図４】図４は、ステップＳ７をコンピュータに実行させるファイル保存用プログラムとして、仮保存管理部１２０がファイル（編集対象ファイル３１）を記憶装置１３０に保存するときのテストプログラムである。（従来の技術）
【図５Ａ】図５Ａは、アンチウィルスソフトウェア３Ａと拡張子の組み合わせにより、図４のテストプログラムを適用したときのテスト結果５１である。（従来の技術）
【図５Ｂ】図５Ｂは、アンチウィルスソフトウェア３Ｂと拡張子の組み合わせにより、図４のテストプログラムを適用したときのテスト結果５６である。（従来の技術）
【図６】図６は、本発明のコンピュータの構成を示している。（第１実施形態）
【図７Ａ】図７Ａは、仮拡張子情報データベース７１を示している。（第１実施形態）
【図７Ｂ】図７Ｂは、仮拡張子候補データベース７６を示している。（第１実施形態）
【図８】図８は、本発明のコンピュータにアンチウィルスソフトウェアを適用したときの構成を示している。（第１実施形態）
【図９】図９は、本発明のコンピュータの動作としてファイル編集処理を示すフローチャートである。（第１実施形態、第２実施形態）
【図１０】図１０は、ファイル編集処理の仮拡張子決定処理（ステップＳ１１）を示すフローチャートである。（第１実施形態）
【図１１】図１１は、ファイル編集処理の仮拡張子登録処理（ステップＳ１５）を示すフローチャートである。（第１実施形態）
【図１２Ａ】図１２Ａは、仮拡張子候補データベース７６を示している。（第１実施形態）
【図１２Ｂ】図１２Ｂは、仮拡張子情報データベース７１を示している。（第１実施形態）
【図１２Ｃ】図１２Ｃは、仮拡張子情報データベース７１を示している。（第１実施形態）
【図１２Ｄ】図１２Ｄは、仮拡張子情報データベース７１を示している。（第１実施形態）
【図１２Ｅ】図１２Ｅは、仮拡張子情報データベース７１を示している。（第１実施形態）
【図１３】図１３は、ファイル編集処理のファイル保存処理（ステップＳ１３）を示すフローチャートである。（第２実施形態）
【符号の説明】
【００８６】
１、１０１    ＣＰＵ
２、１０２    メモリ
３    アンチウィルスソフトウェア
４    外部インタフェース
５    バス
６    入力装置
６−１    マウス
６−２    キーボード
７    表示装置（ディスプレイ）
８、１０８    制御装置
１０、１１０    汎用エディタ部
２０、１２０    仮保存管理部
３０、１３０    記憶装置（ディスク装置）
３１    編集対象ファイル
３２    ＴＥＭＰファイル（バックアップファイル）
３３    仮保存管理情報
４１    テストプログラムに記載されたファイル保存回数
４２    テストプログラムに記載されたファイル名
７１    仮拡張子情報データベース
７２    編集対象ファイル拡張子
７３    仮拡張子
７４    総保存処理時間
７５    総書込バイト数
７６    仮拡張子候補データベース
７７    登録番号
７８    仮拡張子
７９    ユーザ設定変数
【図１】
2008027076.tif 000003
【図２】
2008027076.tif 000004
【図３】
2008027076.tif 000005
【図４】
2008027076.tif 000006
【図５Ａ】
2008027076.tif 000007
【図５Ｂ】
2008027076.tif 000008
【図６】
2008027076.tif 000009
【図７Ａ】
2008027076.tif 000010
【図７Ｂ】
2008027076.tif 000011
【図８】
2008027076.tif 000012
【図９】
2008027076.tif 000013
【図１０】
2008027076.tif 000014
【図１１】
2008027076.tif 000015
【図１２Ａ】
2008027076.tif 000016
【図１２Ｂ】
2008027076.tif 000017
【図１２Ｃ】
2008027076.tif 000018
【図１２Ｄ】
2008027076.tif 000019
【図１２Ｅ】
2008027076.tif 000020
【図１３】
2008027076.tif 000021