(57)【要約】  本発明はコンピューターの使用中にコンピューターハードディスクに保存されたシステムデータが故意または間違いによる操作に損傷される場合、これを保護/復旧するようにするコンピューターハードディスクシステムデータ保護装置及びその方法を開示する。本発明によるコンピューターハードディスクシステムデータ保護装置は、システム変更データをシステム領域内でノンプリエンプティブに管理する。
2008501183.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターシステムのハードディスク領域にシステム領域とメタバッファー領域を分割して設定して、メタバッファー領域内にメタ情報テーブル、システム領域情報テーブル及びマッピングテーブルのための領域を予約する設置部と、
ボリュームビットマップまたはＦＡＴテーブルの情報からシステム領域内の各クラスタの“原本”、“保護”及び“非保護”を表示するシステム領域情報テーブルとシステム領域内でファイルシステムが認識するクラスタ位置と実際保存されたクラスタ位置の間のマッピング関係を保存するマッピングテーブルを初期化する初期化/復旧部と、
システム領域内のクラスタに対する書き込み動作に対して、ファイルシステムの指定した位置がシステム領域情報テーブルで“原本”と表示された場合にマッピングテーブルによって指定されるシステム領域に前記クラスタに対する書き込み動作を遂行するが、マッピングテーブルによって指定された値が初期化状態である場合システム領域内の空き領域を確保して前記クラスタに対する書き込み動作を遂行して、“保護”と表示された場合システム領域内の空き領域を確保して書き込み要請された位置のクラスタを読んで確保された空き領域に保存した後書き込み要請された位置に前記クラスタに対する書き込み動作を遂行して、それ以外の場合ファイルシステムが指定したシステム領域内の位置に前記クラスタに対する書き込み動作を遂行する書き込み動作処理部と、
システム領域内のクラスタに対する読み取り動作に対して、マッピングテーブルによって指定されるデータ保存領域で前記クラスタに対する読み取り動作を遂行するが、マッピングテーブルによって指定された値が初期化状態である場合ファイルシステムが指定したシステム領域内の位置で前記クラスタに対する読み取り動作を遂行する読み取り動作処理部と、
マッピングテーブルの各項目を順に読んで、マッピングテーブルによって指定された位置がファイルシステムによって指定された位置と異なる位置を示す項目に対してマッピングテーブルによって指定された位置のクラスタをファイルシステムによって指定された位置に保存した後、前記初期化/復旧部による初期化を遂行する現在状態バックアップ部と、及び
前記設置部によって設定されたメタバッファー領域をシステム領域に統合してメタバッファー領域をとり除く除去部と、を含むことを特徴とするシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護装置。
【請求項２】
前記書き込み動作処理部は、
前記クラスタがシステム領域情報テーブルで“原本”と表示された場合マッピングテーブルによって指定されるシステム領域に前記クラスタに対する書き込み動作を遂行するがマッピングテーブルによって指定された値が初期化状態である場合にシステム領域内の空き領域を確保して前記クラスタに対する書き込み動作を遂行して、“保護”と表示された場合システム領域内の空き領域を確保して書き込み要請された位置のクラスタを読んで確保された空き領域に保存した後に書き込み要請された位置に前記クラスタに対する書き込み動作を遂行して、それ以外の場合ファイルシステムが指定したシステム領域内の位置に前記クラスタに対する書き込み動作を遂行することを特徴とする請求項１に記載のシステム変更データをシステム領域内でノンプリエンプティブに管理するハードディスクシステムデータ保護装置。
【請求項３】
原本変更モードを管理して、
原本変更モードが設定された場合に前記書き込み動作処理部はファイルシステムが指定したシステム領域内の位置で書き込み動作を遂行して、前記読み取り動作処理部はファイルシステムが指定したシステム領域内の位置に読み取り動作を遂行することを特徴とする請求項１または２に記載のシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護装置。
【請求項４】
(a)コンピューターシステムのハードディスク領域にシステム領域とメタバッファー領域を分割して設定して、メタバッファー領域内にメタ情報テーブル、システム領域情報テーブル及びマッピングテーブルのための領域を予約する設置段階と、
(b)ボリュームビットマップまたはＦＡＴテーブルの情報からシステム領域内の各クラスタの“原本”、“保護”及び“非保護”を表示するシステム領域情報テーブルとシステム領域内でファイルシステムが認識するクラスタ位置と実際保存されたクラスタ位置の間のマッピング関係を保存するマッピングテーブルを初期化する初期化段階と、
(c)システム領域内のクラスタに対する書き込み動作に対して、ファイルシステムの指定した位置がシステム領域情報テーブルで“原本”と表示された場合マッピングテーブルによって指定されるシステム領域に前記クラスタに対する書き込み動作を遂行するが、マッピングテーブルによって指定された値が初期化状態である場合システム領域内の空き領域を確保して前記クラスタに対する書き込み動作を遂行して、“保護”と表示された場合システム領域内の空き領域を確保して書き込み要請された位置のクラスタを読んで確保された空き領域に保存した後に書き込み要請された位置に前記クラスタに対する書き込み動作を遂行して、それ以外の場合ファイルシステムが指定したシステム領域内の位置に前記クラスタに対する書き込み動作を遂行する書き込み動作処理段階と、
(d)システム領域内のクラスタに対する読み取り動作に対して、マッピングテーブルによって指定されるデータ保存領域で前記クラスタに対する読み取り動作を遂行するが、マッピングテーブルによって指定された値が初期化状態である場合ファイルシステムが指定したシステム領域内の位置で前記クラスタに対する読み取り動作を遂行する読み取り動作処理段階と、
(e)ボリュームビットマップまたはＦＡＴテーブルの情報からシステム領域内の各クラスタの“原本”、“保護”及び“非保護”を表示するシステム領域情報テーブルを生成して、システム領域内でファイルシステムが認識するクラスタ位置と実際保存されたクラスタ位置の間のマッピング関係を保存するマッピングテーブルを初期化する復旧段階と、及び
(f)前記設置段階で設定されたメタバッファー領域をシステム領域に統合してメタバッファー領域をとり除く除去段階と、を含むことを特徴とするシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護方法。
【請求項５】
前記(e)復旧段階以前に、
(g)マッピングテーブルの各項目を順に読んで、マッピングテーブルによって指定された位置がファイルシステムによって指定された位置と異なる位置を示す項目に対してマッピングテーブルによって指定された位置のクラスタをファイルシステムによって指定された位置に保存した後、前記初期化段階による初期化を遂行する現在状態バックアップ段階と、をさらに含むことを特徴とする請求項４に記載のシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護方法。
【請求項６】
前記(c)書き込み動作処理段階は、
前記クラスタがシステム領域情報テーブルで“原本”と表示されて、マッピングテーブルによって指定された値が初期化状態である場合にシステム領域内の空き領域を確保して前記クラスタに対する書き込み動作を遂行して、システム領域情報テーブルで確保された保存空間に対する保護状態を“保護”と表示して、“保護”と表示された場合システム領域内の空き領域を確保して書き込み要請された位置のクラスタを読んで確保された空き領域に保存した後書き込み要請された位置に前記クラスタに対する書き込み動作を遂行して、システム領域情報テーブルで確保された空き領域に対する保護状態は“保護”と、マッピングテーブルから読んで来た領域に対する保護状態は“使用”に変えて、マッピングテーブルでマッピング情報を確保された空き領域に対するインデックスを記録する段階を具備することを特徴とする請求項４に記載のシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護方法。
【請求項７】
原本変更モードを管理して、
原本変更モードが設定された場合に前記(c)書き込み動作処理段階はファイルシステムが指定したシステム領域内の位置で書き込み動作を遂行して、前記(d)読み取り動作処理段階はファイルシステムが指定したシステム領域内の位置に読み取り動作を遂行することを特徴とする請求項４に記載のシステム変更データをシステム領域内で先行獲得的に管理するコンピューターハードディスクシステムデータ保護方法。
【請求項８】
請求項４ないし７のうちいずれか一つに記載の請求項によるシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護方法をコンピューターに機能させるプログラムを記録したコンピューターで読める記録媒体。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
〔技術分野〕
本発明はコンピューターハードディスクに保存されたシステムデータを保護する装置及びその方法に関し、さらに詳細には、コンピューターの使用中でコンピューターハードディスクに保存されたシステムデータが故意または間違いによる操作に損傷される場合、これを保護/復旧するようにするコンピューターハードディスクシステムデータ保護装置及びその方法に関する。
【０００２】
〔背景技術〕
一般的に、コンピューターシステムではそのコンピューターのハードウェアを駆動させるための多様な種類のプログラム(ソフトウェア)が設置されて、ハードウェアとソフトウェアが有機的に結合して作動することで使用者が願う作業を遂行することができるようになる。
【０００３】
一方、使用者らがコンピューターを使用していると、各種ウイルスプログラムの攻撃、使用者の不注意や間違いまたは悪意的な使用者の行為によってハードディスクに保存されたシステムデータが致命的な損傷を被ることがたびたび発生する。この外にも予想できない事態や特定プログラムの設置、あるいは削除によってコンピューターシステムが正常な動作ができなくなる場合がある。
【０００４】
コンピューターシステムに発生されるこのような問題に対応してコンピューターハードディスクに保存されたシステムデータを保護するために従来には次のような技術が使用された。
【０００５】
第一、ウイルスプログラムからコンピューターシステムを保護するか、または治療するためには対応するワクチンプログラムを使用した。しかし、この方法はすでに知られたウイルスプログラムからコンピューターシステムを保護するためには有用であるが、新たに作られたウイルスプログラムに対しては何らの役に立たない。また、すでに知られたウイルスプログラムと言ってもすでに損傷されてしまったシステムデータは元の状態に復旧されることができずに削除するしかない場合も多い。このようなシステムデータの削除は運営体制に致命的な損傷を与えて運営体制の正常な動作が不可能な状態に作ることもある。
【０００６】
第二、コンピューターシステムに必要なプログラムを設置した後、ハードディスクのイメージを他の記録媒体(例えば、ＣＤ-ＲＯＭ)に保存してから、コンピューターシステムに問題が発生すると記録媒体に保存されたイメージをハードディスクでコピーすることで損傷されたデータを復旧する方法が使用されることができる。この方法によると、使用者はハードディスクに新しいプログラムを設置/削除するか、または重要なデータを記録した後にはその度にハードディスクのイメージのバックアップを受けなければならない。ところが、ハードディスクのイメージを記録媒体にバックアップを受けてバックアップされたハードディスクイメージを利用してコンピューターシステムを復旧する作業は別途の記録媒体が必要であるだけでなく、非常に煩わしくて多くの作業時間を要求する。
【０００７】
第三、ハードディスク上のシステムデータ原本はそのまま維持した状態で変更された内容のみに対して別途のシステム変更領域に保存して、ウイルスプログラムまたは使用者の不注意によってシステム保護領域に誤った変更がなされる場合にはシステム変更領域に保存された内容のみを削除することでコンピューターシステムを復旧する方法が提案されて来た。ところが、この方法によるとハードディスク分割部によって設定されたシステム保護領域のすべてのデータ(使用された領域と空き空間すべて)を保護するからシステムデータを保護するために多くのバッファー領域(システム変更領域)を要する。すなわち、バッファー領域の大きさがシステム保護領域の大きさと同じであってこそ、復旧動作なしにシステム保護領域に保存されたシステムデータを保護することができる。例えば、１２０ギガバイトのシステム保護領域を保護するためにはシステム保護領域に反映されるすべてのシステムデータのための１２０ギガバイトとその他の情報らを保存する空間を要する。
【０００８】
一方、上の三番目の方法はシステム保護領域に含まれた空き空間も保護することでハードディスク保護プログラムを設置後にシステムデータに対するアクセスに負荷を与えてコンピューターの速度を著しく遅くして、システム保護領域の空き空間を全然使用することができないという大きい問題点を抱いている。また、復旧原本を変更するためには必ずシステム復旧過程を経った後に管理者モードで起動してプログラムを再設置しなければならないから、復旧原本を変更することが不便であるだけでなく、新しい復旧原本を作るために多くの時間を消費するようになる。この問題以外にも復旧原本を変更するために管理者モードで起動した状態でウイルスの攻撃を受けるか、または使用者の間違いでプログラムを誤って設置した時にはシステムを正常に戻すことができない問題点を抱いている。
【０００９】
〔発明の詳細な説明〕
本発明は前記問題点らを解決するために創案されたものであり、システム領域情報テーブルを置いてシステム保護領域のデータ中で保護対象をクラスタ単位で設定するようにして、マッピングテーブルを置いてシステム領域に保存された原本システムデータとシステム変更データとの対応関係を駆逐して、システム変更データをシステム領域内でノンプリエンプティブ(Nonpreemptive)に管理して全体ディスク領域をより效率的に使用するようにして、窮極的にはコンピューターシステムの使用中でシステムデータの損傷が発生した場合に保護が必要なシステムデータに対して速かに修復するようにするコンピューターハードディスクシステムデータ保護装置及びその方法を提供することを第１及び第２の目的とする。
【００１０】
また、コンピューターが前記方法を機能させるようにするプログラムを記録したコンピューターで読める記録媒体を提供することを第３の目的とする。
【００１１】
前記目的らを達成するために、本発明によるシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護装置はコンピューターシステムのハードディスク領域にシステム領域とメタバッファー領域を分割して設定して、メタバッファー領域内にメタ情報テーブル、システム領域情報テーブル及びマッピングテーブルのための領域を予約する設置部と、ボリュームビットマップまたはＦＡＴテーブルの情報からシステム領域内の各クラスタの“原本”、“保護”及び“非保護”を表示するシステム領域情報テーブルとシステム領域内でファイルシステムが認識するクラスタ位置と実際保存されたクラスタ位置の間のマッピング関係を保存するマッピングテーブルを初期化する初期化/復旧部と、システム領域内のクラスタに対する書き込み動作に対して、ファイルシステムの指定した位置がシステム領域情報テーブルで“原本”と表示された場合マッピングテーブルによって指定されるシステム領域に前記クラスタに対する書き込み動作を遂行するが、マッピングテーブルによって指定された値が初期化状態である場合システム領域内の空き領域を確保して前記クラスタに対する書き込み動作を遂行して、“保護”と表示された場合システム領域内の空き領域を確保して書き込み要請された位置のクラスタを読んで確保された空き領域に保存した後書き込み要請された位置に前記クラスタに対する書き込み動作を遂行して、それ以外の場合ファイルシステムが指定したシステム領域内の位置に前記クラスタに対する書き込み動作を遂行する書き込み動作処理部と、システム領域内のクラスタに対する読み取り動作に対して、マッピングテーブルによって指定されるデータ保存領域で前記クラスタに対する読み取り動作を遂行するが、マッピングテーブルによって指定された値が初期化状態である場合ファイルシステムが指定したシステム領域内の位置で前記クラスタに対する読み取り動作を遂行する読み取り動作処理部と、マッピングテーブルの各項目を順に読んで、マッピングテーブルによって指定された位置がファイルシステムによって指定された位置と異なる位置を示す項目に対してマッピングテーブルによって指定された位置のクラスタをファイルシステムによって指定された位置に保存した後、前記初期化/復旧部による初期化を遂行する現在状態バックアップ部と、及び前記設置部によって設定されたメタバッファー領域をシステム領域に統合してメタバッファー領域をとり除く除去部を含んで構成される。
【００１２】
前記他の目的を達成するために、本発明によるシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護方法は、(a)ボリュームビットマップまたはＦＡＴテーブルの情報からシステム領域内の各クラスタの“原本”、“保護”及び“非保護”を表示するシステム領域情報テーブルを生成して、システム領域内でファイルシステムが認識するクラスタ位置と実際保存されたクラスタ位置の間のマッピング関係を保存するマッピングテーブルを初期化する初期化段階と、(b)システム領域内のクラスタに対する書き込み動作に対して、復旧原本変更モードが設定されていなければ、ファイルシステムの指定した位置がシステム領域情報テーブルで“原本”と表示された場合マッピングテーブルによって指定されるシステム領域に前記クラスタに対する書き込み動作を遂行するがマッピングテーブルによって指定された値が初期化状態の場合システム領域内の空き領域を確保して前記クラスタに対する書き込み動作を遂行して、“保護”と表示された場合システム領域内の空き領域を確保して書き込み要請された位置のクラスタを読んで確保された空き領域に保存した後に書き込み要請された位置に前記クラスタに対する書き込み動作を遂行して、それ以外の場合ファイルシステムが指定したシステム領域内の位置に前記クラスタに対する書き込み動作を遂行する書き込み動作処理段階と、(c)システム領域内のクラスタに対する読み取り動作に対して、復旧原本変更モードが設定されていなければ、マッピングテーブルによって指定されるデータ保存領域で前記クラスタに対する読み取り動作を遂行するが、マッピングテーブルによって指定された値が初期化状態である場合、ファイルシステムが指定したシステム領域内の位置で前記クラスタに対する読み取り動作を遂行する読み取り動作処理段階と、(d)ボリュームビットマップまたはＦＡＴテーブルの情報からシステム領域内の各クラスタの“原本”、“保護”及び“非保護”を表示するシステム領域情報テーブルを生成して、システム領域内でファイルシステムが認識するクラスタ位置と実際保存されたクラスタ位置との間のマッピング関係を保存するマッピングテーブルを初期化する復旧段階と、を含んで構成される。
【００１３】
前記また他の目的を達成するために、本発明によるコンピューターで読める記録媒体はシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護方法をコンピューターに機能させるプログラムを記録することを特徴とする。
【００１４】
〔実施例〕
以下、本発明によるシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護装置に対する望ましい実施例を添付された図面に基づいて詳細に説明する。
【００１５】
図１によると、本発明によるコンピューターハードディスクシステムデータ保護装置(以下で、“ハードディスク保護装置１”と称する)と言う初期化/復旧部１０、書き込み動作処理部２０、読み取り動作処理部３０、現在状態バックアップ部４０、設置部５０及び除去部６０、を含んで構成される。ここで、ハードディスク保護装置１を構成する各構成要素はハードディスク５を具備したコンピューターシステム(図示せず)のハードウェア及びソフトウェアの結合体で具現される。ところが、本発明が具現されたコンピューターシステムは通常的な意味のコンピューターシステムであり、そのハードウェア構成は当業者に自明であるので、これに対する具体的な説明は略する。
【００１６】
設置部５０は使用者からメタバッファー領域７の大きさを含んだメタ情報(これに対しては後述することにする)の入力を受けて(ここで、メタバッファー領域の大きさはシステム的にあらかじめ決めた方式で決めることができることは勿論である)、書き込み動作処理部２０、読み取り動作処理部３０及び現在状態バックアップ部４０を構成するソフトウェア及びデバイスドライバーをハードディスク５に設置する。以後、設置部５０はシステム領域６内で別途のメタバッファー領域７を予約して、予約されたメタバッファー領域７で使用中であるクラスタらをメタバッファー領域７外のシステム領域に移動させる。その次、設置部５０は図２に示すようにメタバッファー領域７にメタ情報テーブル７１、システム領域情報テーブル７２及びマッピングテーブル７３のための領域を予約しておく。設置部５０は最終的に初期化/復旧部１０を呼び出して初期化を遂行する。
【００１７】
システム領域情報テーブル７２は図３に示すように、システム領域６の各クラスタを識別するシステム領域インデックス別にシステムデータの保護状態(“原本”、“保護”、“使用”及び“非保護”)を表示するためのテーブルである。ここで、“原本”と表示されたクラスタらは以下で説明する初期化過程でシステム領域６ですでに使用されているクラスタらとして、初期化過程以後これらクラスタらに対する変更データは該当のクラスタに直接反映しないでシステム領域６内の空き空間(すなわち、システム領域情報テーブル７２の保護状態が“非保護”と表示された空間)を割り当てを受けて別に保存するようになる。このように変更データが保存される部分はファイルシステムでは使用されない空間に認識されている部分であるので、ファイルシステムが他のデータを保存することから保護するためにシステム領域情報テーブル７２の保護状態を“保護”と表示する。また、ファイルシステムが“保護”と表示された空間にデータを保存しようとする場合(ファイルシステムは“保護”と表示された空間は空き領域で認識している)、“保護”と表示された空間に保存されたデータを他の空き空間に保存して、ファイルシステムが書こうとするデータはファイルシステムが指定した位置にノンプリエンプティブに保存する。この時、ファイルシステムがデータを保存した位置は“使用”と表示される(実施例によって“使用”の代りに“非保護”と表示することも可能である)。
【００１８】
マッピングテーブル７３は図３に示すように、システム領域６のシステム領域インデックス別に変更されたデータが保存されたシステム領域６内での位置を示すマッピング情報(または、マッピングインデックス)を保存するためのテーブルである。図３はシステム領域インデックス１と２のクラスタに対してそれぞれ３と７のクラスタがマッピングされていることを例示的に示す。一方、システム領域インデックス２に対応する変更データがクラスタ５に保存されている状態でファイルシステムがクラスタ５に新しいデータを保存しようとする場合、クラスタ５に保存されたデータを新しい空間であるクラスタ７に避けらせて、クラスタ５にはファイルシステムが書こうとするデータがノンプリエンプティブに掌握するようになる。よって、ファイルシステムはいつも自分が願う位置に新しいデータを保存することができるようになるし、原本データから変更されたデータはファイルシステムが自分の位置を要求する時にその位置をファイルシステムが書こうとするデータに譲って新しい空間で待避するようになる。
【００１９】
マッピングテーブル７３のマッピングインデックスには初期化過程でシステム領域情報テーブル７２の“原本”に対応する部分はシステム領域インデックスと同一な値が、そうではない部分はNULL値が初期化値で割り当てされる。図４は初期化されたシステム領域情報テーブル７２とマッピングテーブル７３を例示的に示すものである。
【００２０】
メタ情報テーブル７１は本願発明によるハードディスク保護装置１を具現するソフトウェア(以下で、“ハードディスク保護プログラム”と称する)が使用するための各種情報をテーブル化したものである。このようなメタ情報には運営体制を構成するファイルシステムがファイルを構成するクラスタらのシステム領域６での保存位置を示すＦＡＴテーブル(ＦＡＴ３２ファイルシステムの場合)または、ボリュームビットマップ(Volume Bitmap、ＮＴＦＳファイルシステムの場合)が含まれる。また、メタ情報にはハードディスク保護プログラムが動作するために要する各種環境変数、例えばメタバッファー領域７の使用量、メタバッファー領域７の開始点、クラスタ大きさ、自動復旧週期、パスワードなどが含まれることができる。
【００２１】
初期化/復旧部１０はシステムデータをシステム領域６に保存した後ハードディスク保護装置１がシステムデータを保護するための環境を作るために遂行されるか、またはハードディスク５に保存されたシステムデータに損失があってあらかじめ設定された元の状態に復旧するために使用されるモジュールである。このために初期化/復旧部１０は図２に示すようにシステム領域６の一部領域にメタバッファー領域７を設定して、メタバッファー領域７にメタ情報テーブル７１、システム領域情報テーブル７２及びマッピングテーブル７３を保存して管理する。より具体的には、初期化/復旧部１０はボリュームビットマップまたはＦＡＴテーブルの情報からシステム領域６内ですでに使用されている空間を把握して、システム領域情報テーブル７２にシステム領域インデックス別に使用されている空間に対しては“原本”と表示して、そうではない空間に対しては“非保護”と表示する。また、初期化/復旧部１０はメタバッファー領域７内のマッピングテーブル７３を初期化して、各種メタ情報によってメタ情報テーブル７１を初期化する。
【００２２】
書き込み動作処理部２０と読み取り動作処理部３０はコンピューターシステムが遂行される中に運営体制によってファイルにデータを書いて読む動作をインターセプトして処理するモジュールである。本願発明によるハードディスク保護装置１は原本変更モードをメタ情報として管理する。より詳しく説明すると、ハードディスク保護装置１は初期化/復旧部１０が遂行された後に使用者から原本変更モードへの転換の要請を受けると、原本変更モードに切り替えて使用者がシステム領域のデータを直接変更するようにする。以後、使用者から原本変更モード解除の要請を受けると、再び原本保護モードに転換されて初期化/復旧部１０による初期化が遂行される。
【００２３】
先ず、書き込み動作処理部２０はファイルシステムからシステム領域６内のクラスタに対する書き込み(Write)動作を遂行するシステム領域インデックスの伝達を受けて、原本変更モードによってその処理を異にする。すなわち、原本変更モードが設定されていると書き込み動作処理部２０はファイルシステムが指定したシステム領域内の位置に書き込み動作を遂行する。しかし、原本変更モードが設定されていなければ書き込み動作処理部２０はシステム領域情報テーブル７２でそのインデックスに対応する保護情報が“原本”と表示された場合、書き込み動作処理部２０はマッピングテーブル７３によって指定されるシステム領域６に与えられたクラスタに対する書き込み動作を遂行するが、マッピングテーブル７３によって指定された値が初期化状態(すなわち、マッピングインデックスがシステム領域インデックスと同一な値や"NULL"の場合)である場合システム領域６で空き空間を確保して、確保された空き空間に与えられたクラスタに対する書き込み動作を遂行して、システム領域情報テーブル７２で新しいデータが保存されたクラスタの保護状態を“保護”と記録して、マッピングテーブル７３の対応項目に新しいデータが保存された位置を記録するようになる。システム領域情報テーブル７２でそのインデックスに対応する保護情報が“保護”と表示された場合、書き込み動作処理部２０はシステム領域６内の空き空間を確保して、書き込み要請された位置のクラスタを読んで確保された空き空間に保存した後、マッピングテーブル７３で書き込み要請されたマッピング情報を有した項目を捜してその項目のマッピング情報として新しいデータが保存された位置を記録するようになる。このようにあらかじめ保存されたデータを避けらせた後、書き込み動作処理部２０は書き込み要請された位置に与えられたクラスタに対する書き込み動作を遂行して、書き込み要請されたインデックスに対応する保護情報を“使用”と修正する。システム領域情報テーブル７２でそのインデックスに対応する保護情報が“使用”または“非保護”と表示された場合、書き込み動作処理部２０はファイルシステムが指定したシステム領域６内の位置(すなわち、システム領域インデックスが表示する位置)に与えられたクラスタに対する書き込み動作を遂行する。一方、書き込み動作処理部２０によってＦＡＴテーブルまたはボリュームビットマップが変更される場合、変更された内容はメタ情報テーブル７１に含まれたＦＡＴテーブルまたはボリュームビットマップに反映される。
【００２４】
読み取り動作処理部３０はファイルシステムからシステム領域６内のクラスタに対する読み取り(Read)動作を遂行するシステム領域インデックスを受けて、復旧原本変更モードによってその処理を異にする。すなわち、原本変更モードが設定されていると読み取り動作処理部３０はファイルシステムが指定したシステム領域内の位置で読み取り動作を遂行する。しかし、原本変更モードが設定されていなければ、読み取り動作処理部３０はマッピングテーブル７３でそのインデックスに対応するマッピング情報を利用してデータバッファー領域７４で該当のクラスタに対する読み取り動作を遂行する。この時、マッピングテーブル７３によって指定された値が初期化状態(NULL)である場合、読み取り動作処理部３０はファイルシステムが指定したシステム領域６内の位置(すなわち、システム領域インデックスが表示する位置)で該当のクラスタに対する読み取り動作を遂行する。
【００２５】
現在状態バックアップ部４０は初期化過程以後に現在までシステムデータに対する変更内容をすべて反映して、新しい原本システムデータを構成するモジュールである。よって、現在状態バックアップ部４０はマッピングテーブル７３の各項目を順に読んで、マッピングテーブル７３によって指定された位置がファイルシステムによって指定された位置と異なる位置を示す項目(すなわち、システム領域インデックスとマッピングインデックスがお互いに異なる項目)に対してポインタ(マッピングインデックス)によって指定されたデータを原位置に反映して保存した後、初期化/復旧部１０による初期化を遂行する。一方、現在状態バックアップ部４０は初期化を遂行する以前に、メタ情報テーブル７１に保存されたボリュームビットマップ、またはＦＡＴテーブルをシステム領域６に反映することで、変更されたデータだけでなくシステム領域６に新たに加えられたデータを新しい原本システムデータに含ませることが可能である。
【００２６】
除去部６０は設置部５０によって設定されたメタバッファー領域７をシステム領域６に統合してメタバッファー領域７をとり除く。また、除去部６０は使用者に現在状態バックアップ可否の確認を受けて、使用者が希望する場合に現在状態をバックアップした以後にメタバッファー領域７をとり除く作業を遂行することができるし、設置部５０によってハードディスク５に設置されたソフトウェア及びデバイスドライバーを自動で削除するように構成されるのが望ましい。
【００２７】
以下で、本発明によるシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護過程を図５を参照して詳しく説明する。
【００２８】
先ず、ハードディスク保護プログラムの設置モジュールはコンピューターシステムのハードディスク領域を分割してシステム領域６とメタバッファー領域７を設定する(Ｓ５０)。図６は設置段階(Ｓ５０)をより詳しく説明する。
【００２９】
設置モジュールは使用者からメタバッファー領域７に対する大きさの入力を受けて(Ｓ１０)、書き込み動作処理モジュール、読み取り動作処理モジュール、現在状態バックアップモジュールなどを構成するソフトウェア及びデバイスドライバーをハードディスク５に設置する(Ｓ２０)。以後、設置モジュールはシステム領域内で別途のメタバッファー領域７を予約して、予約されたメタバッファー領域７で使用中のクラスタらをメタバッファー領域７外のシステム領域に移動させる(Ｓ３０)。その次、設置モジュールはハードディスク領域にシステム領域６とメタバッファー領域７を分割して設定して(Ｓ４０)、メタバッファー領域７にメタ情報テーブル７１、システム領域情報テーブル７２及びマッピングテーブル７３のための領域を予約しておく(Ｓ４５)。このように設定されたメタバッファー領域７は使用者から隠された領域であり、使用者は自分が願うファイルを保存するためにメタバッファー領域７を使用することはできない。設置モジュールは最終的に初期化モジュールを呼び出して初期化を遂行する(Ｓ１００)。
【００３０】
次に、ハードディスク保護プログラムの初期化モジュールはシステム領域情報テーブル７２にシステム領域６内の各クラスタに対する保護可否を表示して、メタバッファー領域７内のマッピングテーブル７３を初期化する(Ｓ１００)。図７は初期化段階(Ｓ１００)をより詳しく説明する。
【００３１】
初期化モジュールはＦＡＴテーブルまたはボリュームビットマップからシステム領域６の使用情報を収集して(Ｓ１１０)、システム領域情報テーブル７２を生成してシステム領域インデックス別に使用されている空間に対しては“原本”と表示して、そうではない空間に対しては“非保護”と表示する(Ｓ１２０)。以後、初期化モジュールはマッピングテーブル７３のマッピングインデックスに対してシステム領域情報テーブル７２の“原本”に対応する部分はシステム領域インデックスと同一な値を、そうではない部分はNULL値を割り当てて初期化して(Ｓ１３０)、各種メタ情報を収集してメタ情報テーブル７１を生成する(Ｓ１４０)。
【００３２】
以後、ハードディスク保護プログラムの書き込み動作処理モジュールと読み取り動作処理モジュールはコンピューターシステムが遂行される途中に運営体制によってハードディスク５にデータを書いて読む動作をインターセプトして書き込み動作と読み取り動作を処理する(Ｓ２００、Ｓ３００)。図８はシステム領域６に書き込み動作処理段階(Ｓ２００)を、図９はシステム領域６での読み取り動作処理段階(Ｓ３００)をより詳しく説明する。
【００３３】
書き込み動作処理モジュールはファイルシステムからシステム領域６内のクラスタに対する書き込み(Write)動作を遂行するシステム領域インデックスを受けて(Ｓ２０５)、原本変更モードが設定可否を確認する(Ｓ２０７)。原本変更モードが設定されていると書き込み動作処理モジュールはファイルシステムが指定したシステム領域内の位置に書き込み動作を遂行する(Ｓ２９５)。これに比べて、原本変更モードが設定されていなければ書き込み動作処理モジュールはシステム領域情報テーブル７２でそのインデックスに対応する保護情報を読む(Ｓ２０７、Ｓ２１０)。保護情報が“原本”と表示された場合、書き込み動作処理モジュールはマッピングテーブル７３でシステム領域インデックスに対応するマッピング情報を読む(Ｓ２１５、Ｓ２２０)。Ｓ２２０段階で読んだマッピング情報が初期化状態の値(すなわち、マッピングインデックスがシステム領域インデックスと同一な値や"NULL"の場合)ではない場合(例えば、図３でシステム領域インデックスが１であり、マッピングインデックスが３である場合)、書き込み動作処理モジュールはその値によって指定されるシステム領域６に与えられたデータに対する書き込み動作を遂行する(Ｓ２２５、Ｓ２３０)。しかし、Ｓ２２０段階で読んだマッピング情報が初期化状態の値である場合には(例えば、図３でシステム領域インデックスが０であり、マッピングインデックスが０である場合)、書き込み動作処理モジュールはシステム領域情報テーブル７２を利用してシステム領域６で空き空間を確保して、確保された空き空間に与えられたクラスタに対する書き込み動作を遂行する(Ｓ２２５、Ｓ２３５、Ｓ２４０)。以後、書き込み動作処理モジュールはシステム領域情報テーブル７２で新しいデータが保存されたクラスタの保護状態を“保護”と記録して、マッピングテーブル７３の対応項目に新しいデータが保存された位置を記録するようになる(Ｓ２４５、Ｓ２５０)。
【００３４】
保護情報が“保護”と表示された場合(例えば、図３でシステム領域情報テーブルのシステム領域インデックス５に対応する保護状態が“保護”に、マッピングテーブルのシステム領域インデックス３に対応するマッピングインデックスが５に記録されていて、ファイルシステムからクラスタ５に書き込み動作が要請された場合)、書き込み動作処理モジュールはシステム領域５でシステム領域インデックス５に対応したデータを読んで、システム領域情報テーブル７２を利用してシステム領域６で空き空間(例えば、システム領域インデックス７)を確保して、確保された空き空間に読んだデータを保存する(Ｓ２５５、Ｓ２６０、Ｓ２６５、Ｓ２７０)。以後、書き込み動作処理モジュールはシステム領域情報テーブル７２で新しいデータが保存されたクラスタ(システム領域インデックス７)の保護状態を“保護”と記録して、マッピングテーブル７３で書き込み要請されたマッピング情報を有した項目(システム領域インデックス２)を検索して、その項目のマッピング情報を新しいデータが保存された位置(マッピングインデックス７)を記録するようになる(Ｓ２７５、Ｓ２８０)。以後、書き込み動作処理モジュールはシステム領域インデックス５の位置に書き込み要請されたデータに対する書き込み動作を遂行して、そのシステム領域インデックスに対応する保護情報を“使用”に訂正する(Ｓ２８５、Ｓ２９０)。
【００３５】
一方、Ｓ２１０段階で読んだ保護情報が“使用”または“非保護”と表示された場合、書き込み動作処理モジュールはファイルシステムが指定したシステム領域６内の位置(すなわち、システム領域インデックスが表示する位置)に与えられたクラスタに対する書き込み動作を遂行する(Ｓ２５５、Ｓ２９５)。この時、書き込み動作処理モジュールはＦＡＴテーブルまたはボリュームビットマップでの変更内容を原本のＦＡＴテーブルまたはボリュームビットマップではなく、メタ情報テーブル７１に含まれたＦＡＴテーブルまたはボリュームビットマップに反映する。
【００３６】
読み取り動作処理モジュールはファイルシステムからシステム領域６内のクラスタに対する読み取り(Read)動作を遂行するシステム領域インデックスを受けて(Ｓ３１０)、原本変更モードが設定可否を確認する(Ｓ３１５)。原本変更モードが設定されていると読み取り動作処理モジュールはファイルシステムが指定したシステム領域内の位置に読み取り動作を遂行する(Ｓ３４０)。これに比べて、原本変更モードが設定されていなければ読み取り動作処理モジュールはマッピングテーブル７３でシステム領域インデックスに対応するマッピング情報を読む(Ｓ３１０、Ｓ３２０)。この時、読み取り動作処理モジュールはマッピングテーブル７３によって指定された値が"NULL"の場合にはファイルシステムが指定したシステム領域６内の位置(すなわち、システム領域インデックスが表示する位置)で該当のクラスタに対する読み取り動作を遂行して、そうではない場合にはマッピングテーブル７３によって指定されるシステム領域６内の位置(すなわち、マッピングインデックスが表示する位置)で該当のクラスタに対する読み取り動作を遂行する(Ｓ３３０、Ｓ３４０、Ｓ３５０)。
【００３７】
ハードディスク保護プログラムは使用者から現在状態バックアップ要請がある場合、または環境変数によって設定された現在状態バックアップ周期に至った場合、現在状態バックアップモジュールによってシステムデータに対する現在の状態を新しい原本システムデータを維持する作業を遂行する(Ｓ４００)。図１０は現在状態バックアップ段階(Ｓ４００)をより詳しく説明する。
【００３８】
現在状態バックアップモジュールはマッピングテーブル７３を構成する各項目の情報を順に読んでマッピングテーブル７３によって指定された位置がファイルシステムによって指定された位置と異なる位置を示す項目らに対してマッピングインデックスによって指定されたデータをシステム領域インデックスが指定する位置に反映して保存する(Ｓ４１０、Ｓ４２０)。マッピングテーブル７３に含まれたすべての項目に対するバックアップ作業が完了すると、メタ情報テーブル７１に保存されたボリュームビットマップまたはＦＡＴテーブルをシステム領域６に反映する作業を遂行することが必要である。バックアップ作業を完了した後、初期化モジュールによって初期化を遂行することで新しい原本システムデータが維持される(Ｓ１００)。
【００３９】
ハードディスク保護プログラムは使用者から復旧要請がある場合、または環境変数によって設定された復旧周期に至った場合、復旧モジュールによって初期化以後システム領域で発生したすべての変更内容を削除する作業を遂行する(Ｓ５００)。このために復旧モジュールは図７に示す初期化モジュールと同一な手続きを進行する。
【００４０】
原本復旧が遂行された以後に、ハードディスク保護プログラムは使用者から原本変更モードへの転換の要請を受けると、システムモードを原本変更モードに切り替えて原本変更段階を遂行する(Ｓ６００)。原本変更モードでは図８で説明されたところのように使用者がシステム領域のデータを直接変更することができる。以後、使用者から原本変更モード解除の要請を受けると、再び図７に示すような初期化が遂行されて原本保護モードに転換される。
【００４１】
使用者からハードディスク保護プログラムをとり除こうとする要請を受けた場合、除去モジュールはシステム領域６とメタバッファー領域７を統合して、ハードディスク保護プログラムをハードディスクでとり除く(Ｓ７００)。図１１は除去モジュールの処理過程を説明する。
【００４２】
除去モジュールはハードディスク保護プログラムをとり除く前に先に使用者にとって現在状態バックアップ可否の確認を受けて(Ｓ５１０)、使用者が願えば現在状態バックアップモジュールを呼び出して現在状態バックアップ過程を先に進行する(Ｓ４００)。以後、除去モジュールは設置モジュールによって設定されたメタバッファー領域７をとり除いてシステム領域６とメタバッファー領域７を統合してシステム領域に置く(Ｓ５２０、Ｓ５３０)。また、除去モジュールは設置モジュールによってハードディスク５に設置されたハードディスク保護プログラムを構成するソフトウェア及びデバイスドライバーをハードディスク５で自動に削除する(Ｓ５４０)。
【００４３】
一方、上述した本発明の実施例はコンピューターで実行されることができるプログラム(ハードディスク保護プログラム)で作成可能である。そして、コンピューターで使用される記録媒体を利用してハードディスク保護プログラムを動作させる汎用デジタルコンピューターで具現されることができる。前記記録媒体はマグネチック保存媒体(例えば、ロム(Read Only Memory)、フロッピー（登録商標）、ハードディスクなど)、光学的判読媒体(例えば、ＣＤ-ＲＯＭ、ＤＶＤなど)及びキャリアウエーブ(例えば、インターネットを通じる送信)のような送信媒体を含む。
【００４４】
今まで本発明に対してその望ましい実施例らを中心に説明した。本発明が属する技術分野で通常の知識を有した者は本発明が本発明の本質的な特性から脱しない範囲で変形された形態に具現されることができることを理解することができる。それで、開示された実施例らは限定的な観点ではなく、説明的な観点で考慮されなければならない。本発明の範囲は前述した説明ではなく、特許請求範囲に現われているし、それと同等な範囲内にいるすべての差異は本発明に含まれたことに解釈されなければならない。
【００４５】
〔産業上の利用可能性〕
本発明によると、初期化作業以後原本に設定されたシステムデータは全然変更しないことで、システムデータに損傷を被った場合に新しい初期化過程だけで速かに復旧することができるし、システム領域情報テーブルとマッピングテーブルを使用することでシステム領域全体ではなく、システム領域中で保護する必要がある部分だけ選別的に管理することで、システムデータに対するアクセス時間を減らしてシステムの速度低下を最小化した。
【００４６】
また、システム領域を保護して復旧するために変更されたデータをシステム領域内の空き空間にバックアップして管理することで、変更されたシステムデータを保存する別途のデータバッファー領域を要しないでメタ情報テーブル、システム領域情報テーブル、マッピングテーブルを保存することができるメタバッファー領域のみを要するから、大きいシステム領域を保護するために要するバッファー空間を画期的に減らすことができる。
【００４７】
また、マッピングテーブルとシステム領域情報テーブルを利用して現在使用中のシステムデータらを自動で復旧原本に反映することができる方法を提供することで、使用者が復旧原本を手軽く変更することができる方法を提供して、復旧原本を変更する時にウイルスの攻撃や使用者の間違いによってシステムデータが致命的な損傷を受けて復旧することができない事態を防止する。
【００４８】
また、システム領域から別途の領域を分割しないで、システム領域の空き空間に変更されたデータをバックアップしておくことで、ディスク空間を柔軟に活用することができる。
【００４９】
また、システム領域での読み取り動作と現在状態バックアップの場合マッピングテーブルのみを利用するように構成することで、付加的な処理時間を最小化する。
【００５０】
また、現在状態バックアップ過程で必ず順に処理されなければならないマッピングチェーンが長く形成されなくて、作業中間に障害が発生しても単純にはじめから再び繰り返せば良いだけでなく、原本に反映しなければならないシステムデータを最小化して現在状態をバックアップする時間を最小化する。
【図面の簡単な説明】
【００５１】
【図１】図１は本発明によるシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護装置の全体的な構成を示すブロック図である。
【図２】図２は本発明によるシステム領域の構成を概念的に示すものである。
【図３】図３は本発明で使用されるシステム領域情報テーブル及びマッピングテーブルの構成を例示的に示すものである。
【図４】図４は本発明で使用されるシステム領域情報テーブル及びマッピングテーブルの初期化された内容を例示的に示すものである。
【図５】図５は本発明によるシステム変更データをシステム領域内でノンプリエンプティブに管理するコンピューターハードディスクシステムデータ保護方法を示す流れ図である。
【図６】図６は図５での設置段階をより詳しく説明する流れ図である。
【図７】図７は図５での初期化段階及び復旧段階をより詳しく説明する流れ図である。
【図８】図８は図５での書き込み動作処理段階をより詳しく説明する流れ図である。
【図９】図９は図５での読み取り動作処理段階をより詳しく説明する流れ図である。
【図１０】図１０は図５での現在状態バックアップ段階をより詳しく説明する流れ図である。
【図１１】図１１は図５での除去段階をより詳しく説明する流れ図である。
【図１】
2008501183.tif 000003
【図２】
2008501183.tif 000004
【図３】
2008501183.tif 000005
【図４】
2008501183.tif 000006
【図５】
2008501183.tif 000007
【図６】
2008501183.tif 000008
【図７】
2008501183.tif 000009
【図８】
2008501183.tif 000010
【図９】
2008501183.tif 000011
【図１０】
2008501183.tif 000012
【図１１】
2008501183.tif 000013
【国際調査報告】
2008501183.tif 000014