(57)【要約】外部記憶装置における物理セクタに基づいたパーティションを単位として分割管理を行うオペレーティングシステムにおいて、前記パーティションを任意のサイズに変更する工程と、前記オペレーティングシステムに予め備えられた標準の手段により前記変更後のパーティションを新規のパーティションとして作成する工程と、前記新規のパーティションの作成情報に基づいて、前記パーティションの全てのデータの新たな物理的位置を決定する工程と、前記新たな物理的位置に基づいて置換すべき物理セクタの位置を得て、元の位置情報と新たな位置情報との差異情報を生成する工程と、の各工程によって新たな仮想ドライブ（パーティション）を生成する。
2002056179.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置における物理セクタに基づいたパーティションを単位として分割管理を行うオペレーティングシステムにおいて、
前記パーティションを任意のサイズに変更する工程と、
前記オペレーティングシステムに予め備えられた標準の手順により、前記変更後のパーティションを新規のパーティションとして作成する工程と、
前記新規のパーティションの作成情報に基づいて、前記パーティションの全てのデータの新たな物理的位置を決定する工程と、
前記新たな物理的位置に基づいて置換すべき物理セクタの位置情報を得て、元の位置情報と新たな位置情報との差異情報を生成する工程と、
前記生成された差異情報に基づき前記パーティションを再生成する工程と、
前記再生成処理の進捗点を逐次記録及び更新する工程と、
の各工程によって仮想ドライブを作成し、以って、ファイルシステムの内部構造に依存せずパーティションの内容を維持したままでパーティションの再生成を行うことを特徴とする仮想ドライブを使用したパーティションの再生成方法。
【請求項２】
前記仮想ドライブは、ターゲット・ドライブとミラー・ドライブを含み構成されていることを特徴とする請求項１に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項３】
前記ターゲット・ドライブには、外部記憶装置の物理的なセクタの位置から前記変更後の位置とサイズが記録されていることを特徴とする請求項２に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項４】
前記ミラー・ドライブには、前記再生成対象のパーティションの構造が記録されていることを特徴とする請求項２に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項５】
前記変更は、前記パーティションのサイズと位置を前記仮想ドライブに作成することにより前記パーティションの内容にかかわらず自由に指定することが出来ることを特徴とする請求項１に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項６】
前記パーティションの物理的な位置を決定する工程は、ファイルアクセスの際のオペレーティングシステムによるディスクアクセスのデータを記録し、ファイルとその物理的な構成要素であるセクタとを直接結び付け、その物理的位置を確定することを特徴とする請求項１に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項７】
前記物理的位置の確定は、ファイルの最小単位である物理セクタの位置の情報をオペレーティングシステムの情報から得てファイルロケータにより行われることを特徴とする請求項６記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項８】
前記ファイルロケータは、オペレーティングシステムへの高水準と低水準の標準の割り込みによって、オペレーティングシステムが生成するアドレスを取得し、元のセクタのアドレスと比較して新しいセクタの位置を決定することを特徴とする請求項７記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項９】
前記ファイルロケータは、仮想デバイスドライバを含み構成されていることを特徴とする請求項７記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１０】
前記仮想デバイスドライバは、前記ファイルロケータにより取得された低水準の書き込み情報を蓄積することを特徴とする請求項９記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１１】
前記仮想ドライブ手段は、対応する外部記憶装置と同じデータ構造をメモリ領域上に生成して保持され、読み出し、書き込み等の処理を選択して動作を変更できる仮想ドライブであることを特徴とする請求項７に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１２】
作成された前記仮想ドライブの消去は、ファイルシステムより独立した処理として、切り離して行うことを特徴とする請求項１１に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１３】
前記仮想ドライブに生成した仮想パーティションは、対応する実データに影響を及ぼすこと無く初期化処理されることを特徴とする請求項１に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１４】
前記位置情報による差異情報の生成は、外部記憶装置上の置換すべき一連の物理セクタの位置情報と、元の位置と移動先の位置情報との対応関係から生成することを特徴とする請求項１に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１５】
前期対応関係の記録は、前記ファイルロケータにより前記ミラー・ドライブと前記ターゲット・ドライブに記録されている各々対応する全てのセクタに対して、元の位置と再生成後の位置情報の対応表であることを特徴とする請求項１４に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１６】
前記対応表を使用し、パーティションに記録されている全てのファイル及びセクタを仮想ドライブに記録されているままの状態で入替を行ないセクタの再配置をすることを特徴とする請求項１５に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１７】
前記処理の進捗点の逐次記録及び更新は、処理したインデックスのエントリを逐一、若しくは、一定周期でファイルに記録及び更新することを特徴とする請求項１に記載の仮想ドライブを使用したパーティションの再生成方法。
【請求項１８】
コンピュータ・システムの外部記憶装置に記憶された情報に対するアクセス及び変更を制御する装置が設けられ、前記外部記憶装置における、物理セクタに基づいたパーティションを単位として分割管理を行うオペレーティングシステムを有するデータ処理装置において、
仮想ドライブ手段により、ファイルシステムの内部構造に依存せず、前記パーティションの内容を維持したままで、前記パーティションの再生成を行う処理装置であって、
前記パーティションを任意のサイズに変更する手段と、
前記オペレーティングシステムに予め備えられた標準の手順により、前記変更後のパーティションを新規のパーティションとして作成する手段と、
前記新規のパーティションの作成情報に基づいて、前記パーティションの全てのデータの新たな物理的位置を決定する手段と、
前記新たな物理的位置に基づいて置換すべき物理セクタの位置情報を得て、元の位置情報と新たな位置情報との差異情報を生成する手段と、
前記生成された差異情報に基づき前記パーティションを再生成する手段と、
前記再生成処理の進捗点を逐次記録及び更新する手段と、
の各手段を含み、以って、パーティションの内容を維持し新たなパーティションによって生成された仮想ドライブ手段を有するように構成されたデータ処理装置。
【請求項１９】
コンピュータ・システムの外部記憶装置に記憶された情報に対するアクセス及び変更を制御する装置であって、前記パーティションの物理的な位置を決定する手段は、ファイルアクセスの際のオペレーティングシステムによりディスクアクセスのデータを記録し、ファイルとその物理的な構成要素であるセクタとを直接結び付け、その物理的位置を確定することを特徴とする請求項１８に記載のデータ処理装置。
【請求項２０】
前記仮想ドライブ手段は、対応する外部記憶装置と同じデータ構造をメモリ領域上に生成して保持され、読み出し、書き込み等の処理を選択して動作を変更できる仮想ドライブであることを特徴とする請求項１８に記載のデータ処理装置。
【請求項２１】
コンピュータ・システムの外部記憶装置に記憶された情報に対するアクセス及び変更を制御する装置が設けられ、前記外部記憶装置における、物理セクタに基づいたパーティションを単位として分割管理を行うオペレーティングシステムを格納した記憶装置において、
前記パーティションを任意のサイズに変更する手段と、
前記オペレーティングシステムに予め備えられた標準の手順により、前記変更後のパーティションを新規のパーティションとして作成する手段と、
前記新規のパーティションの作成情報に基づいて、前記パーティションの全てのデータの新たな物理的位置を決定する手段と、
前記新たな物理的位置に基づいて置換すべき物理セクタの位置情報を得て、元の位置情報と新たな位置情報との差異情報を生成する手段と、
前記生成された差異情報に基づき前記パーティションを再生成する手段と、
前記再生成処理の進捗点を逐次記録及び更新する手段と、
の各工程から構成され、以って、ファイルシステムの内部構造に依存せずパーティションの内容を維持したままで新たなパーティションの再生成を行う仮想ドライブを使用したパーティションの再生成手段を記憶したデータ記憶装置。
【請求項２２】
コンピュータ・システムの外部記憶装置に記憶された情報に対するアクセス及び変更を制御する装置が設けられた装置であって、前記パーティションの物理的な位置を決定する手段は、ファイルアクセスの際のオペレーティングシステムによるディスクアクセスのデータを記録し、ファイルとその物理的な構成要素であるセクタとを直接結び付け、その物理的位置を確定する手段を記憶したことを特徴とする請求項２１に記載のデータ記憶装置。
【請求項２３】
前記装置であって、前記装置前記仮想ドライブ手段は、対応する外部記憶装置と同じデータ構造をメモリ領域上に生成して保持され、読み出し、書き込み等の処理を選択して動作を変更できる仮想ドライブ手段を記憶したことを特徴とする請求項２１に記載のデータ記憶装置。
【発明の詳細な説明】
技術分野
稼動中のコンピュータのディスク装置上に既に確保されているパーティションを変更するために、内容を維持したまま、新規パーティションとしてディスク上の新たな位置に形成された仮想ドライブを使用したパーティションの再生成方法及び装置に関する。
背景技術
一般に、データベース等の情報を蓄積するハードディスクの管理は、オペレーティングシステムで行われている。このハードディスクを使用したアプリケーションプログラムにおいて、特定のハードディスクへのアクセスが偏っている場合は、システムで期待する性能が十分発揮されない。この偏りを解消するためには、アプリケーションプログラムで使用するハードディスクのパーティション構成を変更しなければならない。ハードディスクのパーティション構成の変更は、使用するハードディスクのパーティション構成を変更した後データベースの再構築を行い、さらにシステム構成の登録を変更する必要がある。
このように、従来の手法では、通常オペレーションシステムが提供しない、パーティション内のファイルシステムの実装についての知識を得ることが不可欠である。すなわち本来オペレーティングシステムが管理している外部記憶装置に対して、オペレーティングシステムとは別個に、ファイルシステム毎に新規にファイルそのものを解析し、ファイルを直接操作するための技術開発を行う必要がある。
また、一般的なコンピュータとその上で動作する従来のソフトウエア動作概念では、パーティション内部情報を直接取得して、編集変更するというものである。本発明と類似している従来技術として特表平１０−５１２３７９では、パーティションとファイルシステムの構造に着目し、その内部構造に沿って、空き領域を確保しパーティション情報を書き換えることで、サイズの変更その他の処理を行っている。すなわち検証、サイズ変更等は、実装の際に必然的に要請される設計上の問題であって、特定のファイルシステムに依存しており、またファイルシステム上でのデータの配置などに依存している。
発明の開示
これまで述べてきたように、ハードディスクのパーティション構成を変更するためには、次のような問題点がある。パーティションの構成変更のためには、他社の開発したオペレーティングシステムの内部に関連した情報を解析し、その結果判明した問題を解決するために、オペレーティングシステムを直接操作するための新規技術開発を行う必要がある。さらに、例え，同一のオペレーションシステムが提供するファイルシステムであっても、オペレーティングシステム更新時には、新たに別個のものとして新規技術開発を行う必要がある。
さらに、新規開発による機能そのものが、理論的にオペレーティングシステムの提供する機能とは実装が異なるため、重大な非互換性が生じる可能性がある。
このように、従来のシステムにおいては、与えられたファイルシステムの各々に対して、新規の開発が必要である。そして、これらの開発作業の重複は、互換性の問題のみならず資源とコストの面でも重大な問題を抱えている。
このことから、本発明においては、他社の開発したオペレーティングシステムの内部に関連した情報の解析に拠らず、標準のオペレーティングシステム機能に基づいて、既存のパーティションを内容を維持し、ディスク上の新たな位置に、新たなサイズと特性で作成し直すパーティション再生成方法を提供することを目的とする。
かかる目的を達成するために本発明は、外部記憶装置における物理セクタに基づいたパーティションを単位として分割管理を行うオペレーティングシステムにおいて、前記パーティションを任意のサイズに変更する工程と、前記オペレーティングシステムに予め備えられた標準の手順により、前記変更後のパーティションを新規のパーティションとして作成する工程と、前記新規のパーティションの作成情報に基づいて、前記パーティションの全てのデータの新たな物理的位置を決定する工程と、前記新たな物理的位置に基づいて置換すべき物理セクタの位置情報を得て、元の位置情報と新たな位置情報との差異情報を生成する工程とを有する。
さらに、前記生成された差異情報に基づき前記パーティションを再生成する工程と、前記再生成処理の進捗点を逐次記録及び更新する工程と、の各工程によって仮想ドライブを作成し、以って、ファイルシステムの内部構造に依存せずパーティションの内容を維持したままでパーティションの再生成を行うことである。
前記仮想ドライブは、ターゲット・ドライブとミラー・ドライブを含み構成されており、前記ターゲット・ドライブには、外部記憶装置の物理的なセクタの位置から前記変更後の位置とサイズが記録されている。そして、ミラー・ドライブには、前記再生成対象のパーティションの構造が記録されている。
前記変更は、前記パーティションのサイズを前記仮想ドライブに作成することにより自由に指定することが出来る。前記パーティションの物理的な位置を決定する工程は、ファイルアクセスの際のオペレーティングシステムによるディスクアクセスのデータを記録し、ファイルとその物理的な構成要素であるセクタとを直接結び付け、その物理的位置を確定する。その前記物理的位置の確定は、ファイルの最小単位である物理セクタの位置の情報をオペレーティングシステムの情報から得てファイルロケータにより行われる。
さらに、前記ファイルロケータは、オペレーティングシステムへの高水準と低水準の標準の割り込みによって、オペレーティングシステムが生成するアドレスを取得し、元のセクタのアドレスと比較して新しいセクタの位置を決定する。
そして、前記ファイルロケータは、仮想デバイスドライバを含み構成されており、前記仮想デバイスドライバは、前記ファイルロケータにより取得された低水準の書き込み情報を蓄積する機能を持つ。
前記仮想ドライブ手段は、対応する外部記憶装置と同じデータ構造をメモリ領域上に生成して保持され、読み出し、書き込み等の処理を選択して動作を変更できる仮想ドライブである。
そして、作成された前記仮想ドライブの消去は、ファイルシステムより独立した処理として、切り離して行うことが出来る。
前記仮想ドライブに生成した仮想パーティションは、対応する実データに影響を及ぼすこと無く初期化処理される。さらに、前記位置情報による差異情報の生成は、外部記憶装置上の置換すべき一連の物理セクタの位置情報と、元の位置と移動先の位置情報との対応関係から生成する。
前記対応関係の記録は、前記ファイルロケータにより前記ミラー・ドライブと前記ターゲット・ドライブに記録されている各々対応する全てのセクタに対して、元の位置と再生成後の位置情報の対応表である。そして、前記対応表を使用し、パーティションに記録されている全てのファイル及びセクタを仮想ドライブに記録されているままの状態で入替を行ないセクタの再配置をする。
さらに、前記処理の進捗点の逐次記録及び更新は、処理したインデックスのエントリを逐一、若しくは、一定周期でファイルに記録及び更新することが出来る。
コンピュータ・システムの外部記憶装置に記憶された情報に対するアクセス及び変更を制御する装置が設けられ、前記外部記憶装置における、物理セクタに基づいたパーティションを単位として分割管理を行うオペレーティングシステムを有するデータ処理装置において、仮想ドライブ手段により、ファイルシステムの内部構造に依存せず、前記パーティションの内容を維持したままで、前記パーティションの再生成を行う処理装置である。
そして、前記パーティションを任意のサイズに変更する手段と、前記オペレーティングシステムに予め備えられた標準の手順により、前記変更後のパーティションを新規のパーティションとして作成する手段と、前記新規のパーティションの作成情報に基づいて、前記パーティションの全てのデータの新たな物理的位置を決定する手段と、前記新たな物理的位置に基づいて置換すべき物理セクタの位置情報を得て、元の位置情報と新たな位置情報との差異情報を生成する手段と、前記生成された差異情報に基づき前記パーティションを再生成する手段と、前記再生成処理の進捗点を逐次記録及び更新する手段と、の各手段を含んでいる。
これを以って、パーティションの内容を維持し新たなパーティションによって生成された仮想ドライブ手段を有するように構成されたデータ処理装置である。
コンピュータ・システムの外部記憶装置に記憶された情報に対するアクセス及び変更を制御する装置であって、前記パーティションの物理的な位置を決定する手段は、ファイルアクセスの際のオペレーティングシステムによりディスクアクセスのデータを記録し、ファイルとその物理的な構成要素であるセクタとを直接結び付け、その物理的位置を確定することである。
前記仮想ドライブ手段は、対応する外部記憶装置と同じデータ構造をメモリ領域上に生成して保持され、読み出し、書き込み等の処理を選択して動作を変更できる仮想ドライブである。
さらに、コンピュータ・システムの外部記憶装置に記憶された情報に対するアクセス及び変更を制御する装置が設けられ、前記外部記憶装置における、物理セクタに基づいたパーティションを単位として分割管理を行うオペレーティングシステムを格納した記憶装置において、前記パーティションを任意のサイズに変更する手段と、前記オペレーティングシステムに予め備えられた標準の手順により、前記変更後のパーティションを新規のパーティションとして作成する手段とを有する。
さらに、前記新規のパーティションの作成情報に基づいて、前記パーティションの全てのデータの新たな物理的位置を決定する手段と、前記新たな物理的位置に基づいて置換すべき物理セクタの位置情報を得て、元の位置情報と新たな位置情報との差異情報を生成する手段と、前記生成された差異情報に基づき前記パーティションを再生成する手段と、前記再生成処理の進捗点を逐次記録及び更新する手段と、の各工程から構成され、以って、ファイルシステムの内部構造に依存せずパーティションの内容を維持したままで新たなパーティションの再生成を行う仮想ドライブを使用したパーティションの再生成手段を記憶したデータ記憶装置である。
そして、前記パーティションの物理的な位置を決定する手段は、ファイルアクセスの際のオペレーティングシステムによるディスクアクセスのデータを記録し、ファイルとその物理的な構成要素であるセクタとを直接結び付け、その物理的位置を確定することであり、前記装置であって、前記装置前記仮想ドライブ手段は、対応する外部記憶装置と同じデータ構造をメモリ領域上に生成して保持され、読み出し、書き込み等の処理を選択して動作を変更できる仮想ドライブである。
発明を実施するための最良の形態
次に、本発明の仮想ドライブ技術によるパーティションの生成とファイルの作成と削除の実施の形態について添付の図を参照して詳細に説明する。
本発明は、再生成後のパーティションに相当するパーティション情報をオペレーティングシステムの標準手続きにより作成する。その情報に基づき、パーティション上の全てのデータの「移動後」の位置を決定し、その結果通りに全ての情報を並べ直して、実際のパーティションサイズを変更するものである。
また、ファイルアクセスの際に、オペレーティングシステム（ＯＳ）によりディスクにアクセスされたデータを記録し、ファイルとその物理的な要素であるセクタを直接結びつけることで、ファイルシステムに依存せずに、そのディスク上での物理的配置を確定する技術も併用する。
上述した２つの主要技術は、オペレーティングシステムが標準的に提供する機能を使用するものであって、その標準のオペレーティングシステムが構成するパーティション構造そのものには関与しない。従って、本発明は、特定のファイルシステムに依拠せずに実施することが出来る。
ここで、本発明で使用されるコンピュータについて説明する。
現在ではコンピュータは広い分野で使用されており、その扱うデータ量も膨大なものとなっている。そのため記憶するデータの量も膨大になり効率的な運用が求められている。図１は、コンピュータを構成する基本要素を示す図である。
図１に示すようにコンピュータの基本構成は、プロセッサ部１、メモリ部２，３、入出力制御部６、入出力機器、及び入出力インタフェースである。本体内のプロセッサ部、メモリ部、入出力制御部等の各装置はバス５で接続され、メモリ２，３や各種入出力制御部の接続及び増設が容易に行える構成となっている。
プロセッサはマイクロプロセッサが使用されている。一般的なビジネス用には、処理速度の速い１６ビットまたは３２ビット以上のマイクロプロセッサが使用されている。
メモリは、読み出し専用メモリ２（以下ＲＯＭという。）と読み出し／書き込み用メモリ３（以下ＲＡＭという）の２種類が用意されている。ＲＯＭ２には、コンピュータ全体の制御を行うモニタなどが格納される。ＲＡＭ３には、補助記憶装置などから入力されたプログラム、データ及び実行中のプログラムの中間結果が格納される。一般的にメモリの記憶容量は６４ＭＢ程度である。
入出力制御部６は、プロセッサからの指示に基づきメモリ部２，３と入出力機器又は入出力インタフェース間のデータ転送を制御する。そしてこれらの制御部はＬＳＩ化され、プロセッサの動作とは独立にデータ転送を行うダイレクトメモリアクセス方式（ＤＭＡ）と、プロセッサ上のプログラム制御により１バイトまたは１ワードずつデータ転送を行うプログラム制御方式とがある。ハードディスク制御部、フレキシブルディスク制御部、ディスプレイ制御部では、高速データ転送が必要なためダイレクトメモリアクセス方式（ＤＭＡ）が、またプリンタ制御部、キーボード制御部、ＲＳ─２３２Ｃ制御部等ではプログラム制御方式が採用されている。入出力機器としての補助記憶装置は、データ、プログラムを蓄積しておくためのもので、ハードディスク４、フレキシブルディスク、ＣＤ−ＲＯＭ等、各種のものが用意されている。特にハードディスク４は記憶容量が大きく、アクセス時間が短いことから、ビジネス用のコンピュータでは一般的に使用されている。入力装置としてはキーボード並びに種々のポインティングディバイスが使用されている。その他ディスプレイ装置、プリンタが用意されている。さらに、入出力インタフェースとしては、通信インタフェース、ユーザ機器接続インタフェースが準備されている。
そして、このようにして構成されているコンピュータを機能させるために、オペレーティングシステムが開発され搭載されている。代表的なオペレーティングシステムとしてマイクロソフト社のＭＳ−ＤＯＳがよく知られている。その機能は各種モニタ、ファイル管理、フレキシブルディスク管理、各種プログラム及びデータの交換等であり、さらにマルチタスク機能、マルチウインドウ機能なども提供されている。また、近年益々リアルタイム処理向けのオペレーティングシステムが通信機能を強化したシステムとして開発され提供されている。
汎用の独立したオペレーティングシステムとして各種のものが開発されて来ているが、これらのオペレーティングシステムはそれぞれに固有のインタフェースを持っているため利用者にとっても、オペレーティングシステム提供者にとってもソフトウエアの生産性や流通性などの点で問題がある。
オペレーティングシステムではファイルの用途に応じて、ファイル管理が扱う装置や記録媒体上のレコードの配列の方法すなわち編成を、いく種類か提供している。利用者は利用目的によってその中から選択して使用することが出来る。代表的なファイル編成は、順編成、直接編成、索引編成、区分編成及び仮想記憶編成である。本発明で取り扱う仮想記憶編成は、直接アクセス装置に対して利用者が直接記録媒体の属性を意識しないで処理できるように、コントロールインタバル（ＣＩ）という概念を取り入れたファイル編成をいう。仮想記憶編成にはレコードを書き出した順に格納するエントリ順データセット（ＥＳＤＳ）、レコードを相対番号でアクセスできるようにする相対レコードデータセット、およびキー順番にレコードを格納し、インデックスと合わせてキーでアクセスできるようにするキー順データセット（ＫＳＤＳ）の３種類がある。コントロールインタバル（以下ＣＩという。）は、１つのファイルの中では固定の長さで制御情報はデータセットの種類によって、レコードの長さ、空きの管理などを行っている。そして、利用者はＣＩだけを意識すればよく、ＣＩと記録媒体上との関係は全てファイル管理によって制御される。さらに、連続したＣＩは、コントロールエリア（以下ＣＡという。）と呼ばれる単位で管理される。またＣＩが連続的につながっていると考え、各レコードの位置をファイルの先頭からの相対バイトアドレス（ＲＢＡ）で表すことが出来る。エントリーデータセットでは、レコードの長さを可変とすることが出来るが、相対レコードデータセットでは、レコードの長さは一定でなければならず、空きのレコードが遭ってもよい構造となっている。キー順データセットは、データ用のコントロールインタバル（ＣＩ）だけで一つのＣＡを構成し、ＣＡ対応にシーケンスセットと呼ばれる一つのインデックス用のＣＩが対応している。そしてこれらのシーケンスセットを、さらに上位のインデックス用ＣＩで管理する構成となっている。このためレコードの挿入によって、データ用ＣＩにレコードが入らなくなった時、データ用ＣＩ中のレコードの半分を空きのＣＩへ移してから挿入処理を行なうようにしている。これをＣＩの分割と呼ぶ。またＣＩを分割しようとしたとき、ＣＡ内に空きのＣＩがない場合は、同様の分割を行う。
レコードをファイルと主記憶との間で転送する操作について、利用者が容易に行えるようにした方法には、順アクセス法、直接アクセス法、索引順アクセス法、区分アクセス法、及び仮想アクセス法がある。
各アクセス法は、上述したレコードの編成ファイルに略対応して処理できるように構成されている。その中にあって、本発明で取り扱う仮想記憶アクセス法（ＶＳＡＭ）は、仮想記憶編成のファイルに対するアクセス法で、エントリ順データセットに対しては、エントリ順及び相対バイトアドレス（ＲＢＡ）指定によるアクセスができる。相対レコードデータセットに対しては、相対レコード番号指定および相対レコード番号順のアクセスが出来る。キー順データセットに対しては、キー指定、キー順の他、相対バイトアドレス（ＲＢＡ）指定によるアクセスが出来る。
本発明で取り扱う外部記憶装置の代表的なものは、「ハードディスクドライブ」と呼ばれ、原理的には磁性を帯びた金属板（若しくはその代替品）に磁気ヘッドにより磁場の変化を生成し記録再生する装置がある。但し、次に述べる特徴を備える同等機能を提供するものは全て含むものである。
「ハードディスクドライブ」は、一連の記録識別可能な単位をまとめた「セクタ」と呼ばれる物理的単位に分割される。
また、「ハードディスク」を接続したコンピュータは、「オペレーティングシステム」（ＯＳ）と呼ばれるソフトウエア機構によって抽象化され、その物理的実在細部を隠蔽したまま、各内部、外部装置の制御が可能となっている。そのために、開発者（デベロッパ）や利用者（ユーザ）は、ソフトウエアを稼働させるに際しても、実際に稼働する各コンピュータ毎の物理的な構成の差異に依存する事無く、オペレーティングシステム上で統一した手順で処理を行わせることが可能である。
近代のオペレーティングシステムは、情報の管理単位を「ファイル」と言う抽象化された単位として、実際に外部記憶装置に記録管理されるセクタとの関連は、オペレーティングシステムが司る。また、ファイルを管理するための抽象化されたこの構造を「ファイルシステム」と総称する。
そこで、図２は本発明によるハードディスク上のドライブ構成の１例を示す。図２に示すように、ここまでで定義されたセクタは、基本的には情報の出し入れを行う最小単位であるため、ファイルシステムは非常に多くのセクタを含むハードディスクドライブに対して、さらに多数のセクタから構成されるパーティションと言う単位を導入し、効率的な管理が行えるようになっている。
次に、本発明における仮想ドライブを用いたパーティション操作について説明する。
以下の説明では、「パーティションのリザイズ」及び「リサイズ」という用語で、本発明により実現される仮想ドライブを用いたパーティションの再生成の過程を表すこととする。また、下記では、１つの実装例として、上述したオペレーティングシステムに基づいて説明することとする。
リサイズの対象となるパーティションを含むディスクに対して、リサイズ後のディスクを実現するターゲットと呼ぶ仮想ドライブを作成する。ここから以降、実際にはリサイズ対象のパーティションにしかアクセスが発生しない。そのため、実装上重要な要素として、対象パーティションへの操作を仮想化して仮想ドライブ「ミラー」を作成使用するが、本発明の以下の説明では、「ミラー」にリサイズ対象のパーティション構造がそのまま入っていると見なされるため、実装上の煩雑な細部を省きリサイズ対象分のみに限ることとするため、ミラーへの言及は行はない。
ここで、図３に基づき、マイクロソフト社のウインドウズ・オペレーティングシステムを例に取って説明する。
図１は仮想デバイスのドライバとの関係を示す図である。図に示す「マスタ・ブーツセクタ」１０、「ユーザインタフェース１１」、「機能的　動的リンク・ライブラリ」１２等は、ＩＢＭ−ＰＣ互換機の使用に従って設計製造されたコンピュータシステム上で動作する。そして、マイクロソフト社製のウインドウズ・オペレーティングシステムを例に取った際の動作を記述するための、マイクロソフト社の用語に基づくものであり、他のシステム構成／オペレーティングシステムでは等価な代替物と置き換えることが可能である。図中、（ＭＳ）とある部分はウインドウズの構成要素である。また、矢印は処理の流れを表す。最下段にある「実ディスクファイル」１４は現実の外部記憶装置を表し、「仮想ディスクファイル」１５は本発明のターゲット・ドライブ及びミラー・ドライブを含む仮想ドライブを構成ファイルを表す。
「インストーラブル・ファイルシステム・マネジャ」１３が通常の高水準のファイルアクセスを処理し、「Ｉ／Ｏ　スーパバイザ」１６が低水準のファイルアクセス処理を行う。（実際には、ハードウエアに依存した「タイプスペシフィック・ドライバ」及び「ポート・ドライバ」に処理を依頼する。）
この情報／指示の入りと出を監視するために、高水準／低水準の２つのソフトウエアコンポーネント（「ファイルロケータ１７，１８」）で挟み、各々の情報（「入り」はファイルへのアクセス、「出」はセクタへのアクセス）を比較することで、「抽象化されたファイル」と「実際のデータ保管場所であるセクタ」を結び付け、前述したセクタ位置確定の機能を実現するが出来る。
ここで、本発明の詳細な説明をする。
図４は通常の処理の流れを示し、図５は仮想ドライブでの書き込み時の流れを示す。図６は仮想ドライブでの読み出し時の処理の流れを示す。（図中での同じソフトウエアは、図３、図４、図５、及び図６においても同じ符号とする。）
オペレーティングシステム、またはアプリケーションソフトウエアからファイルへのアクセスが発生すると、通常インストローラブル・ファイルシステム・マネジャ１３へ引き渡される処理が一度ファイルロケータ・高水準１７を経由する。その際、ファイルロケータ・高水準１７は、実ドライブ１４であるか、仮想ドライブ１５であるか判別する。実ドライブであれば、図２に示す通りの通常処理を行う流れの処理を行ない、仮想ドライブであると判別され、読み出しの処理の場合は，図４に示す通り、読み出しは通常のドライブから行なう。書き込み処理の場合は、図３に示す通りの処理を行う。すなわち、書き込み時にアクセスするアドレスは、仮想ドライブへのアクセスを指示して得られたアドレスを取得後、ファイル属性の記録だけ主記憶上に保持し、ディスクドライブへの実際の書き込みは行わない。
図７は、書き込み、読み出しの状態を説明するファイルを示す図である。
図７において、Ｄ３０ドライブを再生成する場合を想定して、Ｄ３０はＥ３１の直前まで領域を確保しているものとする。尚、斜線の部分は使用済領域を示し、線のない部分は、空き領域を示す。Ｄ３０ドライブのコピーを行う場合、Ｆへのアクセスは、仮想デバイスドライバが読み出しをＤ３０から読み出たし、書き込みを仮想ドライバ情報へのセクタ位置の更新で置き換え実際の書き込みは行わない。Ｆはセクタ位置の決定や、アクセス保護されたファイルへの間接的なアクセスを提供する純粋に技術的な手法である。新規に指定した位置に生成された仮想ドライブのＧ３３にＤ３０ドライブの全てのデータを仮想的にコピーする。
図８はドライブのコピーの状態を説明した図である。Ｆ３２（実際にはＤ３０）からＧ３３に通常のコピーを実行することで高水準、低水準の両方のファイルアクセスが発生する。この両方のアクセスに割り込み、セクタ単位で位置を特定する。更に詳しく説明すると、仮想ドライブへのアクセスは、本発明の一部をなすファイルロケータ１７，１８と呼ぶ機能によって、全て、実際のドライブへのアクセスに置き換えられる。ファイルロケータ１７，１８は、オペレーティングシステムへの標準の割り込み処理によって実装され、オペレーティングシステムの提供するファイルへの高水準インターフェースと低水準インターフェースの両方に対して処理を割り込ませる。この機能は、読み出し時には、初めに全ての仮想ドライブ上のファイルへのアクセスを、対応する実際のドライブ上のファイルへのアクセスに置き換える。又同時に、仮想ドライブへの書き込み時には実際の書き込みは行わず、その低水準での書き込み情報を取得する処理に置き換える。その情報は仮想デバイスドライバが貯える。つまり、仮想ドライブからのデータの読み出しアクセスは、本発明に基づき実装される仮想デバイスドライバを経由し、実際のドライブ上のパーティションのデータの読取に置き換えられ、また、書き込みは仮想ドライブ上の位置決定だけで完了とする。
そして、その高水準と低水準の両方の割り込みによって、オペレーティングシステムが生成するアドレスを直接比較できるので、ファイル単位で指示されたディスクへのアクセスを「セクタ」単位で割り出せる。これにより、既存の、全ての先行技術とは異なりファイルシステムそのものの解析を必要とせず、オペレーティングシステムだけの機能を利用して、任意のファイルに属する全セクタの位置が決定できる。上述のように取得した各パーティション上の全ファイルを構成する全セクタの絶対位置を突き合わせ、そのセクタの移動先を決定し、主記憶上に確保した領域を対応表に格納する。
対象パーティション上の全ファイルの位置を決定するために、更には、Ｗｉｎｄｏｗｓオペレーティングシステムでのファイルのアクセス権の衝突をも防ぐため、前述の技術により、対象パーティションから「ミラー」ドライブを作成する。「ミラー」ドライブは、ウインドウズ・オペレーティングシステムのドライブマウントポイントに新規に対象パーティションと同じ属性値のエントリを作成することで容易に作成される。
但し、このままでは内容が存在しないばかりでなく、どんな意味でもアクセスできないので、仮想ドライブに対して、標準的なコマンドである「ＦＤＩＳＫ」コマンドと「ＦＯＲＭＡＴ」コマンドでオペレーティングシステムにファイルシステムを生成させる。この際、前述のファイルロケータを適用することで、読取は対応する実ドライブからなされ、書き込みは、「実処理せずに」、その情報を仮想ドライブを構成するデバイスドライバが記録するだけで終了処理を行うことで、オペレーティングシステムの正規のディスクとして整備された外部記憶装置としてその動作が完備したものとなる。
次に「ターゲット」ドライブを、リサイズ後のサイズと位置を備えるように、対象の外部記憶装置上の、各セクタ位置により決定された仮想ドライブを生成し、ミラーと同様に、ファイルロケータを構成する仮想デバイスドライバにより「ＦＤＩＳＫとＦＯＲＭＡＴ」を行い、オペレーティングシステムの機能でファイルシステムを生成する。
そして、対象パーティションのミラーから、ターゲットに全てのファイルのコピーを、ファイルロケータを構成する「仮想デバイスドライバを経由して」仮想的に行う。この際行われる処理を詳述すると、ミラーディスク上のファイルシステムを適切に順序付けた後（標準的なファイルシステムは循環しない単方向の階層グラフ構造であるため、必ず順序付けが可能である。）、先頭ファイルからその順序に従って順次ターゲットディスクに対して、仮想デバイス経由でファイルのコピーを行う。
さらに、コピーの際に、ミラー上のファイルは、その構成要素であるセクタに分解され、ファイルロケータに読取られ、ターゲットに書き込む際には、書き込まれるべき位置の情報をファイルロケータがターゲットディスク上の各セクタの位置の情報として蓄積する。
図９は位置情報の対応表の例を示す。全ての順序を尽くした後、ファイルロケータはミラーとターゲット上にある対応する全てのファイルを構成するセクタに対して、その新旧の位置情報の対応表を生成する。
この作業により、オペレーティングシステムが、ターゲットディスクに読み出しを実行すると、セクタ位置情報はファイルロケータが返し、ファイル内容は，ファイルロケータを構成する仮想デバイスドライバを経由して、ミラー上の当該セクタを探し出し、その内容を返すことが出来るようになる。その結果、操作対象となったパーティション上の全てのディレクトリに対してはディレクトリ構造がコピーされ、ファイルに対してはその属性とともに、その位置が（ミラーを介して）セクタ単位で決定し、ターゲット上での全セクタの位置と大きさを確保することが出来る。この作業が終わると、ターゲットは「見掛上」対象パーティションと全く同じファイルで満たされ、しかもパーティションとしては、指定の属性を備えたものとなっている。（但し、その全てが位置と大きさ、属性だけからなる仮想的なファイルだけであり、ファイルとしての実体は、ファイルロケータを介してミラー上のファイルを参照して、実際のパーティション上のファイルを指定するものである。）
以上の手順による対象パーティションに対する「読み出し」と「仮想的な書き込み」アクセスにより、現在のファイルのセクタごとの位置を決定でき、同様にファイルロケータを経由したターゲットに対するアクセスにより移動先のセクタの位置を確定できる。
そこで最終的なセクタの移動について説明する。
図１０は、ファイルコピーの状態を説明する図である。図１０での上段は、実際のパーティション１上に、ファイル（本実施の形態例では説明を簡略化するために、１ファイル１セクタと仮定する。）が配置されている状態を示し、下段は指定の位置に新規に作成した仮想ドライブ上に全ファイルを仮想的にコピーした状態を示している。このとき、パーティション１上の、ファイル、セクタを全て仮想ドライブ上の配置のままに再配置すると、パーティション１が、新規に作成された仮想ドライブと同じになり、パーティション１を再編成したことになる。この時の手法としては、主記憶装置上に作業領域を設け、パーティション１上のセクタを仮想ドライブ上の状態のままに順次入れ替えることで、その全体を目的の位置に移動再配置を行う。
図１１は、パーティション上のセクタの入替を説明する図である。
この図の例で示すように、作業領域を経由して次のように入替を実行する。
この例では（Ａ，Ｂ）により、Ａ番目のセクタとＢ番目のセクタと入れ替える処理を示している。
最終手続きとして、ここまでに得られたセクタの位置に従って、全セクタを対応するターゲット上の位置に移動することでパーティションの再生成が完了する。
このセクタ単位での移動の際には、オペレーティングシステムの機能により、対象となっているパーティションが含まれるディスクをロックし、オペレーティングシステムに付随する副次的な処理を停止させる。その上で、対応表に従ってセクタの移動が迅速に行われるよう、キャッシュ機構を取り入れた実装上の開発がなされている。また、この部分は、当該オペレーティングシステム、ハードウエアに依存する部分が顕著であるため、種々のハードウエアプラットホームに合わせた調整が可能である。
尚、本発明においては、次のような複数の技術を併用することが可能であり、本発明においても重要である。
実装の際には、全セクタ位置をメモリ上で保持しセクタ移動の処理を行うことが可能である。この場合必要になるのは、ミラーとターゲットを比較して得られる、移動・交換すべきセクタを、各々記した表だけである。従って、この表の順にセクタを置き換えればよい。この対応表を作成する手順をターゲットへのコピー処理と同時に行うことで、手順の省略とメモリ領域の節約が可能である。
また、実装技術として特記すべきは、実装対象となるオペレーティングシステムによっては、ファイル実体を含むパーティションを操作する場合、そのオペレーティングシステムの実装の制限のため、「任意の位置には移動させられない」一群のファイルが存在する。これらの「例外的な」ファイル群に対しては、「優先されたファイル」としてコピーの順位を人為的に上げて、事前に移動することでその移動先を制御することが可能である。
また、この場合、現実の装置では、全セクタの位置を保持したために全体的にメモリが不足し、セクタを移動するために用い得る種々の既知の高速アルゴリズムを採用することが出来ない可能性がある。この問題を回避するために、ミラー，ターゲット共に、実パーティション上にその全セクタのインデックスファイルをコピーに先立って作成し、コピーの進捗に従ってインデックスを更新し（インデックス自体は処理の間は移動しない。）、ファイル単位の処理をインデックスを介した全体処理に置き換えて、処理全体の高速化を図ることが出来る。
さらに、処理したインデックスのエントリを一定周期（逐一記録することも可能）で記録更新することで、電源断絶等の外的な障害発生時に備えることが可能となる。
逐一記録更新した場合は、確実に再開すべき地点が判明するため、ハードウエア的な損失が発生していなければ、常に障害発生地点より処理を再開させることが可能になる。但し、その反面外部記憶装置への書き込みが常時発生しているため、若干の処理速度の低下が予測される。
それに対して、一定間隔で記録更新した場合は、速度低下は逐一の更新に比べて軽減されるものの、ある範囲のセクタが置換されたかどうかの判別が出来ない場合には、対応のファイルが失われる可能性がある。なお、ターゲットから見たインデックスは、ファイル毎に並べ替えられたものとなるため、損失をファイル毎に押えることが出来る。このことが出来ない場合、ファイルシステムとして不整合が発生し、全てが失われることもあり得る。この観点から見ても本発明は十分な安全対策がある。
パーティションの再生成において、オペレーティングシステムそのものによりファイルシステムを生成するため、新たなシステムを開発する事無く、互換性を維持しつつ高機能なパーティション管理機能を実現できる。
産業上の利用可能性
稼動中のコンピュータのディスク装置上に既に確保されているパーティションを変更が必要な時、その内容を維持したまま、仮想ドライブ技術により、ディスク上の新たな位置に新たなサイズと特性でパーティションの再生成が出来るパーティション管理機能をもったソフトウエアの提供。
【図面の簡単な説明】
図１は、本発明に係る、コンピュータを構成する基本要素を示す図である。
図２は、本発明に係る、ハードディスク上のドライブ構成の１例を示す。
図３は、本発明に係る、仮想デバイスのドライバとの関係を示す図である。
図４は、本発明に係る、仮想ドライブを使用しない通常の処理の流れを示す。
図５は、本発明に係る、仮想ドライブでの書き込み時の流れを示す。
図６は、本発明に係る、仮想ドライブでの読み出し時の処理の流れを示す。
図７は、本発明に係る、書き込み読み出しの状態を説明するファイルを示す図である。
図８は、本発明に係る、ドライブのコピーの状態を説明した図である。
図９は、本発明に係る、位置情報の対応表の例を示す。
図１０は、本発明に係る、ファイルコピーの状態を説明する図である。
図１１は、本発明に係る、パーティション上のセクタの入替を説明する図である。
【図１】
2002056179.tif 000003
【図２】
2002056179.tif 000004
【図３】
2002056179.tif 000005
【図４】
2002056179.tif 000006
【図５】
2002056179.tif 000007
【図６】
2002056179.tif 000008
【図７】
2002056179.tif 000009
【図８】
2002056179.tif 000010
【図９】
2002056179.tif 000011
【図１０】
2002056179.tif 000012
【図１１】
2002056179.tif 000013
【国際調査報告】
2002056179.tif 000014
2002056179.tif 000015