JP2007095064A - コンピュータ実施方法、コンピュータ・プログラム、データ処理システム、機器、方法(ファイル・システムの稠密診断データを取得および送信するための方法および機器) - Google Patents

コンピュータ実施方法、コンピュータ・プログラム、データ処理システム、機器、方法(ファイル・システムの稠密診断データを取得および送信するための方法および機器) Download PDF

Info

Publication number
JP2007095064A
JP2007095064A JP2006261837A JP2006261837A JP2007095064A JP 2007095064 A JP2007095064 A JP 2007095064A JP 2006261837 A JP2006261837 A JP 2006261837A JP 2006261837 A JP2006261837 A JP 2006261837A JP 2007095064 A JP2007095064 A JP 2007095064A
Authority
JP
Japan
Prior art keywords
file system
diagnostic
data
file
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006261837A
Other languages
English (en)
Other versions
JP4965210B2 (ja
JP2007095064A5 (ja
Inventor
Janet Elizabeth Adkins
ジャネット・エリザベス・アドキンス
Mark A Grubbs
マーク・アレン・グラブズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007095064A publication Critical patent/JP2007095064A/ja
Publication of JP2007095064A5 publication Critical patent/JP2007095064A5/ja
Application granted granted Critical
Publication of JP4965210B2 publication Critical patent/JP4965210B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ファイル・システム・メタデータを生成するためのコンピュータ実施方法、コンピュータ使用可能コード、および機器を提供すること。
【解決手段】プロセッサは、ファイル・システム・メタデータを選択する。プロセッサは、ファイル・システムにおいて各データ単位を識別する。プロセッサは、データ単位がファイル・システム・メタデータを含むかどうかを判定する。データ単位がファイル・システム・メタデータを含むと判定された場合、プロセッサは、メタデータのデータ単位を診断ファイルに書き込む。次にプロセッサは、データ単位がユーザ・データを含むかどうかを判定する。データ単位がユーザ・データを含む場合、プロセッサは、スパース・オブジェクトを診断ファイルに書き込む。
【選択図】図1

Description

本発明は一般に、ファイル・システムの整合性を維持および改善することに関する。より詳細には、本発明は、ファイル・システム・メタデータを稠密フォーマットで取得して、そのようなデータが専門家の検査および修復のために現地外に送られ得るようにするための方法、機器、およびコンピュータ使用可能コードに関する。
コンピュータ分野では、ファイル・システムは、ファイルを見つけアクセスし易くするように、コンピュータ・ファイルおよびそれらが含むデータを保存し組織化するための構造である。ファイル・システムは、ハード・ディスクまたはCD−ROMなどの記憶装置を使用することができ、ファイルの物理的ロケーションを維持することを必要とする。代替として、ファイル・システムは、仮想ファイル・システムとすることができる。仮想ファイル・システムは、仮想データまたはネットワークを介したデータへのアクセス方法としてのみ存在する。
ファイル・システムは、2つのタイプのデータから作成される。通常大部分を占める第1のタイプのデータは、ユーザ・データである。ユーザ・データの内容タイプは、例えば、テキスト、グラフィックス、音楽、およびコンピュータ命令とすることができる。第2のタイプのデータは、ファイル・システム・メタデータである。ファイル・システム・メタデータは、ユーザ・データ以外のすべてのデータである。メタデータは、ユーザ・データを含むファイルの統計および構造を処理システムに通知する。
ファイル・システム・メタデータは、スーパーブロックを含み、スーパブロックは、ファイル・システム概要を提供し、その他の情報へのポインタを含む。iノードは、各ファイルに関連付けられたファイル・システム・メタデータである。iノードは、バイト数によるファイル長、関連装置識別子、ユーザ識別子、グループ識別子、一意とし得るiノード番号、ファイル・モード、タイムスタンプ、および参照カウントを示す。
ブロックは、ファイルに割り当てられ得る最小単位のディスク記憶である。例えば、プロセッサは、特定のファイル・システムにおいて、1ブロックを1024バイトに設定することができる。これは、ファイルがほぼ常に1つまたは複数のブロックを満たし、最終ブロックはデータによって部分的にのみ占有されることを意味する。
ファイルの部分は、複数のブロックに存在することができ、時にはディスク・ドライブ内に散在させられる。iノードは、iノード内で複数のブロックを列挙することができる。より大きなファイルの場合、iノードは、間接ブロックを含むことができ、間接ブロックは、さらなるブロックの列挙をポイントすることができる。しばしば、これは、後続のより深いブロックの層をポイントする多数のレベルの間接ブロックからなるツリー状構造を生じさせる。
ファイル・システムは、非常に大きなデータ構造になる傾向にある。プロセッサがファイル・システムに変更を加える場合、プロセッサはしばしば、多くの別個の書き込み操作を必要とする。ときには、エラーまたはその他の障害、例えば、電源障害の発生などは、一連の書き込みを途中で妨げることがある。
こうした状況でプロセッサがエラーに遭遇すると、競合条件が発生することがある。競合条件は、1つの電子装置における2つのイベントが、どちらが装置の状態または出力に影響を与えるかを見るために互いに本質的に競合するときに発生するものであり、その場合、最初に到着したイベントまたは信号が、装置の状態を制御する。ジャーナル・ファイル・システムなどのファイル・システムの文脈では、ファイル・システムを更新する場合、1)ファイルのディレクトリ・エントリを削除し、2)そのファイルのiノードを空きスペース・マップ内で空きスペースとして印付けるという2つのステップが発生する。
電源が障害を起こし、ステップ1がクラッシュの直前に発生した場合、親のないiノードが存在するようになり、実際に割り当てられているよりも多くのブロックが、記憶装置に割り当てられているように見える。ステップ2がクラッシュの直前に発生した場合、まだ削除されていないiノードが空きとして印付けられ、おそらく何か他のものによって上書きされることになる。
特定のタイプのファイル・システムであるジャーナル・ファイル・システムは、さらなる障害モードを有する。上で述べられた2つのステップに加えて、ジャーナル・ファイル・システムは、トランザクションのために行われた変更をコミットする第3のステップを有する。ものごとが正常に機能した場合、プロセッサは、すべてのトランザクションをジャーナル・ログにコミットするが、さもなければ、すべてのトランザクションをジャーナル・ログにコミットしない。ジャーナル・ファイル・システムでは、プロセッサは、メタデータを整合性のある状態に確立するため、ジャーナル・ログを再実行することができる。しかし、ジャーナル・ファイル・システムは、ある書き込みが失敗したのに、プロセッサがトランザクションのその他の部分をジャーナル・ログに書き込んだときに発生するようなI/Oエラー・ハンドリングの失敗が起こると、不整合になることがある。
ファイル・システムの保守および回復を遠隔地にアウトソーシングすることに伴う危険は、送られるファイル・システムの詳細が傍受され得ることである。これは、データがインターネットを介して送信される場合に特に当てはまる。暗号化データであっても、傍受されれば、危険にさらされ得る。
したがって、可能であればインターネットを介した機密情報の送信を回避することが長年にわたって望まれている。
本発明の態様は、ファイル・システム・メタデータを生成するためのコンピュータ実施方法、コンピュータ使用可能コード、および機器を提供する。プロセッサは、ファイル・システムにおいて各データ単位を識別する。プロセッサは、データ単位がファイル・システム・メタデータを含むかどうかを判定する。データ単位がファイル・システム・メタデータを含むと判定された場合、プロセッサは、メタデータのデータ単位を診断ファイルに書き込む。次にプロセッサは、データ単位がユーザ・データを含むかどうかを判定する。データ単位がユーザ・データを含む場合、プロセッサは、スパース・オブジェクト(sparse object)を診断ファイルに書き込む。
本発明の特色と考えられる新規な特徴が、添付の特許請求の範囲において説明される。しかし、本発明自体は、本発明の好ましい使用方法、さらなる目的、および利点と同様、本発明の例示的な実施形態についての以下の詳細な説明を添付の図面と併せて読みながら参照することによって最も良く理解されよう。
ここで図面を、特に図1を参照すると、本発明の実施形態を実施し得るデータ処理システムのブロック図が示されている。示された例では、データ処理システム100は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(MCH)108と、サウス・ブリッジおよび入力/出力(I/O)コントローラ・ハブ(ICH)110とを含むハブ構成を利用する。処理ユニット102、メイン・メモリ104、およびグラフィックス・プロセッサ118は、ノース・ブリッジおよびメモリ・コントローラ・ハブ108に接続する。グラフィックス・プロセッサ118は、アクセラレーテッド・グラフィックス・ポート(AGP)またはグラフィックス・プロセッサ118を介して、ノース・ブリッジおよびメモリ・コントローラ・ハブ108に接続してもよい。
示された例では、ローカル・エリア・ネットワーク(LAN)アダプタ112、オーディオ・アダプタ116、キーボードおよびマウス・アダプタ120、モデム122、読み取り専用メモリ(ROM)124、ユニバーサル・シリアル・バス(USB)ポートおよびその他の通信ポート132、ならびにPCI/PCIeデバイス134が、バス138を介して、サウス・ブリッジおよびI/Oコントローラ・ハブ110に接続する。PCI/PCIeデバイスは、例えば、イーサネット・アダプタ、アドイン・カード、およびノートブック・コンピュータ用のPCカードを含むことができる。PCIはカード・バス・コントローラを使用するが、PCIeは使用しない。ROM124は、例えば、フラッシュ・バイナリ入力/出力システム(BIOS:binary input/output system)とすることができる。
ハード・ディスク・ドライブ126、およびCD−ROMドライブ130は、バス140を介して、サウス・ブリッジおよびI/Oコントローラ・ハブ110に接続する。ハード・ディスク・ドライブ126、およびCD−ROMドライブ130は、例えば、統合ドライブ電子(IDE)またはシリアル・アドバンスト・テクノロジ・アタッチメント(SATA)インタフェースを使用することができる。スーパーI/O(SIO)デバイス136は、サウス・ブリッジおよびI/Oコントローラ・ハブ110に接続されることができる。
オペレーティング・システムは、処理ユニット102上で動作し、図1のデータ処理システム100内の様々なコンポーネントを調整および制御する。オペレーティング・システムは、IBM(IBMはIBM Corporationの商標)コーポレーションから入手可能なアドバンスト・インタラクティブ・エグゼクティブ(AIX(R))などの市販のオペレーティング・システムとすることができる。AIXは、IBM Corporationの登録商標である。
本発明の様々な実施形態は、重荷となるユーザ・データを送信する面倒を伴わずに、ファイル・システム不整合の詳細だけを送信することを可能にする。ユーザ・データは、ファイル・システム・データの大部分をなす傾向にあり、したがって、場所確保形式(place-keeping form)で以外は送信されない。ファイル・システム整合性チェック・プログラムは、ファイル・システム内の複数のデータ単位を識別する。識別するための1つの方法は、ファイル・システム整合性チェック・プログラムが、1つのデータ単位から別のデータ単位に移動しながら、ファイル・システムのツリー状構造を識別することである。いくつかの実施形態は、ブロックと同じ大きさのデータ単位を使用することができる。別の実施形態は、例えば、セクタなど、より大きなデータ単位を使用することができる。データ単位がファイル・システム・メタデータまたはメタデータを含む場合、ソフトウェアは、メタデータの単位を、診断ファイル・システムの一部とすることができる診断ファイルに書き込みまたはコピーする。データ単位がユーザ・データを含む場合、ソフトウェアは、スパース・オブジェクトを診断ファイルに書き込みまたはコピーする。その後、診断ファイルをバックアップまたはその他の方法で統合するステップは、スパース・オブジェクトを、元のユーザ・ファイルのコンパクトではあるが完全に空で何も書き込まれていないバージョンとして扱う。スパース・オブジェクトは、ファイルのメタデータ内のヌル・ポインタとすることができる。このポインタは指示対象をポイントしないので、保存された基となるデータがなく、単に空またはすべてが「0」のデータ単位を表すにすぎない。したがって、そのようなスパース・オブジェクトは、ある意味で、ファイル・システムを構成するディスクまたはその他の媒体上のデータ単位内の「0」領域の代わりに用いられる場所確保データとして動作する。したがって、処理システムは、ソース・ファイル・システムと比べて非常に縮小された形式で各スパース・オブジェクトを送信することができる。
図2は、本発明の例示的な一実施形態に従って、顧客システム201がどのように専門家システム205と対話することができるかを示している。顧客システム201は、例えば、図1の処理システム100を使用して動作することができる。管理者は、ファイル・システムが異常な挙動をしていると断定することができる。それに応じて、管理者は、稠密診断データを含む稠密診断ファイルを生成するために、顧客システム201を操作することができる。
専門家システム205は、顧客システム201から診断ファイル・システムを受信することができる。専門家システム205は、診断ファイル・システムにサービスを提供して、サービス済ファイル・システムを形成する。専門家システム205は、例えば、図1の処理システム100を使用して動作することができる。サービス提供は、例えば、診断ファイル・システム上で保守を実行して、サービス済ファイル・システムを形成することを含むことができる。加えて、サービス提供は、診断ファイル・システム上で回復動作を実行することを含むことができる。請求システム207は、診断ファイル・システム上の動作を監視することができる。請求システム207は、診断ファイル・システムにサービス提供した際に提供されたサービスに対する請求を顧客に行うことができるように、専門家システム205上の動作を監視することができる。専門家システム205は、顧客システム201にサービス済ファイル・システムを返送する。
稠密ファイル・フォーマットは、スパース・ファイルが圧縮されたときに生じる結果である。管理者は、とりわけ、以下で説明されるようにユーザ・データを縮小するファイル整合性チェックを実行するため、コマンド・ライン・エディタでコマンドを入力することができる。プロセッサは、そこに格納されている内容のタイプさえ隠蔽する程度までユーザ・データを縮小することができるので、1つまたは複数の結果のファイルは稠密であり、ファイル・システム・エラーの源泉により直接的に関係するメタデータを有する。したがって、稠密診断データという用語は、本発明の様々な例示的な実施形態から生じる1つまたは複数のコンパクト化されたファイルを示すのに利用される。言い換えると、稠密診断データは、ユーザ・データを除去するかまたはユーザ・データの代わりに場所確保データを使用し、次にその結果の1つまたは複数のファイルを圧縮した後に生成される。
顧客システム201は、例えば、インターネット203などのネットワークを介して、稠密診断データを送信する。稠密診断データは、専門家システム205に到着する。専門家システム205は、データ回復専門家の制御下にあることができる。データ回復専門家は、管理者との確立された信用関係を有していないこともある。加えて、インターネット203は、安全性の欠しいデータ送信手段として知られている。
図3は、本発明の例示的な一実施形態による、ソース・ファイル・システムから診断ファイルへの変換を仲介するオペレーティング・システムの動作を示している。オペレーティング・システム301は、例えば、図1の処理ユニット102などのプロセッサ上で動作することができる。ソース・ファイル・システム303は、例えば、図1のハード・ディスク・ドライブ126などに保存されることができる。管理者は、コマンド・ライン・エディタ311を使用して、コマンドを個々にオペレーティング・システム301に入力することができる。1つまたは複数のコマンドが、診断ファイル305を生成することができる。加えて、ユーティリティ・プログラムが、コマンド・ライン・エディタ311の代わりに使用されることができ、その場合、ユーティリティ・プログラムは、オペレーティング・システムにコマンドを書き込む。
図4は、従来のファイル・フォーマットの一例を示している。シーク・コマンドを使用するとき、ファイル・ポインタが、例えば、「0」ブロック413などの物理ディスク・アドレスを除外するとしても、ファイル411に割り当てられた各ビットは、「0」に設定される。このフォーマットでは、プロセッサは、ファイルのすべての割り当てビットおよびブロックを物理的に書き込み、物理レベルにおいて圧縮は利用されない。
図5は、診断ファイルに関連し得る、スパース・オブジェクトと呼ばれることもある、スパース・ファイル・フォーマットの一例を示している。このフォーマットは、各ビットの論理書き込みを実行するプロセッサを伴うが、実際には、プロセッサは、ファイル・ポインタが指示するデータだけを物理的に保存する。ファイル・ポインタは、次の物理書き込みが生じることになるロケーションである。プロセッサがファイル書き込みの間にギャップが存在することを許可する場合、例えば、ブロック・ポインタ・テーブル414などのメタデータ内に表記が作成される。プロセッサは、「0」からなるブロックが論理的に記録されるヌル・ポインタ415、416、417、および418を設定することによって、ブロック・ポインタ・テーブル414に表記を作成する。言い換えると、各ヌル・ポインタは、さもなければハード・ドライブに物理的に書き込まれていた「0」からなるブロックのための一種の場所確保データとして動作する。「0」からなる大きな領域は後の読み取りにおいて回復され得るので、このフォーマットはスパース(sparse)である。さらに、ファイル・メタデータは、「0」からなる領域をユーザ・データに保存するのではなく、「0」ブロックへの参照が保持される場所である。「0」からなる領域または「0」ブロックは、スパース・オブジェクトによって表され、いくつかのファイル・システムは、例えば、プログラムがオペレーティング・システムに読み取りを要求したときなど、オペレーティング・システムの通常の動作中に、「0」からなる大きな領域をスパース・オブジェクトから読み取ることができる。
稠密ファイル・フォーマットは、スパース・ファイルが圧縮されたときに生じる結果である。プロセッサは、各「0」ブロックを著しく圧縮することができる。いくぶん無秩序な「1」と「0」のシーケンスから構成されるデータも同様に圧縮されるが、おそらくそれほどは圧縮されない。したがって、「0」ブロックは、ファイルのすべてが圧縮形式で物理的に書き込まれるように、いくぶん無秩序なデータと一緒に圧縮される。診断データとして始まった1つまたは複数のファイルは、圧縮が完了すると、稠密診断データになることができる。
図6は、本発明の例示的な一実施形態による、ファイル・システムに関する診断データを取得する最初のステップを示している。管理者は、コマンド・ラインを入力して、各ステップを実行するようオペレーティング・システムに命令することによって、これらのステップを実行するようプロセッサに命令することができる。自動的に次々と実行されるコマンドのスクリプトにすべてのステップを統合することも、等しく適している。オペレーティング・システムは、例えば、図3のオペレーティング・システム301とすることができる。プロセッサは、診断ファイル・システムを生成するためのコマンドを受け取る(ステップ501)。診断ファイル・システムは、図3の診断ファイル305に関連することができる。UNIX(The Open Groupの商標)ライクなシステムでは、新規に生成されたファイル・システムをオペレーティング・システムでアクセス可能にするには、コマンドが必要なことがある。この例示的な実施形態では、そのコマンドは「mount」である。プロセッサは、診断ファイル・システムをマウントするためのmountコマンドを受け取る(ステップ503)。これで、診断ファイル・システムは、データを収集するための準備が整う。プロセッサは、診断ファイルにメタデータを抽出するためのコマンドを受け取る(ステップ505)。そのコマンドは、例えば、ファイル・システム整合性チェックfsckとすることができる。診断ファイルは、スパース・オブジェクトを含むことができる。診断ファイルは、診断ファイル・システムの構成要素であることによって、診断ファイル・システムに関連することができる。
fsckは、多くのデータを生成し、それらは、プロセッサが診断ファイル・システムを生成したときに割り当てられた記憶域を埋め尽くす可能性がある。したがって、プロセッサは、抽出されたメタデータが診断ファイル・システムに収まるかどうかを調べるためにテストを行う(ステップ507)。収まらないという判定を下した場合、プロセッサは、より大きな診断ファイル・システムを生成するためのコマンドを受け取ることができる(ステップ509)。プロセッサは、ステップ509の後、診断ファイル・システムのマウントおよびその他のステップを実行することができる。
プロセッサが抽出されたメタデータは診断ファイル・システムに収まるという判定を下した場合、処理は結合子「A」から図7へと続いて行く。
ファイル・システムを生成し、ファイル・システムをマウントする代替方法が存在する。例えば、診断データを記録する目的で、専用ファイル・システムが存在することができ、稠密診断データを専用ファイル・システムに書き込む動作の前に削除されることができる。
データ処理システムが回復を行う1つの方法は、ファイル・システムのデータ構造全体にわたる完全な歩き(walk)または横断(traverse)を実行することである。横断は、その他のステップと同様、どのような不整合でも検出し、訂正することができる。この修復を実行するのに使用される1つのツールが、ファイル整合性チェックまたはfsckコマンドである。その他のファイル整合性チェック・プログラムは、「チェック・ディスク」プログラムとしても知られるマイクロソフトの「chkdsk」を含む。コンピュータ管理者は、ファイル・システムを有するオペレーティング・システムを利用するコンピュータでfsckを使用する。そのようなオペレーティング・システムは、例えば、操作がUNIXに類似したAIXおよびLinux(LinuxはLinus Torvaldsの商標)を含む。Linuxは、リーナス・トーバルズの登録商標である。UNIXは、オープン・グループの登録商標である。その他のオペレーティング・システムのクラスは、Microsoft(MicrosoftはMicrosoft Corporationの商標)コーポレーションによる様々な世代のWindows(WindowsはMicrosoft Corporationの商標)オペレーティング・システム、およびApple(TM)コーポレーションによるMacOSを含む。ファイル・システムの例は、IBMの拡張ジャーナル・ファイル・システムまたはJFS2などのジャーナル・ファイル・システムを含む。
Unixライクのオペレーティング・システムのファイル・システムは、いくつかの点で冗長データ用に記憶域が割り当てられているかのように振舞う、冗長データを保存するための便利な方法を提供する。その方法は、サイズが少なくとも1ブロックのスパース・オブジェクトを生成することを含む。処理システムが最初にファイルを開くとき、プロセッサは、ファイルの先頭をポイントするファイル・ポインタを生成することができる。ファイル・ポインタは、プロセッサが次にデータを書き込むべき場所を示す場所確保データとして動作し、その場合、プロセッサは、ファイルを線形であるとして扱う。言い換えると、プロセッサは、次に書き込みコマンドを実行するとき、ファイル・ポインタがある場所に書き込みを行う。書き込みコマンドを伴わずにプロセッサがファイル・ポインタを進める場合、ファイル・システムによってファイル用に確保された領域ができるが、ファイルへのブロックの対応する割り当ては行われない。代わりに、ファイル・システム・メタデータは、拡張空ヘッドの存在を数バイトでファイルに保存するが、プロセッサは、どのデータ単位も使用されているとして印付けしない。データ単位は、例えば、ブロックとすることができる。多くのブロックがこの方法で使用されているとして示されれば、数バイトが多くのブロックを表し得るので、実際に使用されるディスク・スペースが大幅に節約される。ファイル・ポインタを前方および反対方向に動かす一般的な方法は、Unixライクなシステムで普通に利用可能なlseekシステム・コールを使用する。その他のシステムでは、その他のファイル・ポインタ移動コマンドが存在する。
ファイル整合性チェックが探すものの1つは、データ構造における不整合である。ファイル整合性チェック・ソフトウェアは、ファイル・システム用のデータ構造を探査することによって不整合を探す。ファイル・システム用のデータ構造は、ルートとルートから延びる1つまたは複数のブランチとを有するツリーから構成される。例えば、ディレクトリ構造は、ルートから始まり、ルートの下に1つまたは複数のディレクトリを有することができる。同様に、各ファイルは、ブロックに保存されたその構成部分を有し、ブロックも、多数のブランチおよび層を有することができ、その場合、ブロックは、各分岐点におけるノードである。さらなるブロックへのポインタまたは参照を含むブロックは、そのようなポインタをメタデータとして保存する。
ファイル整合性チェック・ソフトウェアは、データ単位からデータ単位へ横断することによってツリーを探査し、各データ単位は、ブロックとすることができる。横断とは、ファイル整合性チェック・ソフトウェアが、ブロックをその下のさらなるブランチの存在について検査し、いくつか存在する場合、ソフトウェアが、今度は各ブランチを検査し、すべてのブランチが検査され尽くすまで、それを続けることを意味する。検査とは、多くのことを意味する。一般に、検査とは、プロセッサがさらなるブランチに沿ってさらなる参照またはポインタを探すことを意味する。
整合性のあるファイル・システムでは、各データ単位は、そのデータ単位への参照を正確に1つだけ有し、これは、プロセッサがデータ単位を1回だけ横断することを意味する。やはり、データ単位は、例えば、ブロックとすることができる。しかし、不整合なファイル・システムでは、ブロックが複数回参照されることがある。ソフトウェアは、横断することによってファイルの単位を識別することができる。例えば、ファイル整合性チェック・ソフトウェアは、第1のファイルを横断し、あるブロックが第1のファイルに割り当てられていることを認識することができる。ソフトウェアは、第2のファイルを横断し、その同じブロックが第2のファイルにも割り当てられていることに認識することができる。これは本当は、ファイル・システムが、事故的に同じブロックを2回割り当てたもので、第1のファイルのデータは第2のファイルのデータによって上書きされる可能性がある。すべてのファイルを横断することによって、ファイル整合性チェックは、多くの問題を発見することができる。
ファイル整合性チェックは、質問/回答形式によるユーザとの対話に応じて、問題を修復することができる。しかし、この機能は、非常に複雑かつ専門的なので、ファイル・システムの管理者は、できるだけ多くのデータを回復するため、専門家からの外部支援を求めることがある。多くの専門家は高い適格性を備えているが、残念ながら、ファイル・システムの管理者と専門家の間に確立されたレベルの信用がないこともある。言い換えると、ファイル・システム上のユーザ・データが危険にさらされることから保護する機構が存在することが必要である。
ソフトウェア開発者は、fsckおよびその他のファイル整合性チェッカにコードを追加することができる。追加のコードは、各ファイルに割り当てられたブロックを横断するときに、追加のステップを実行する。不整合を認識するのに加えて、fsckは、各ファイルのある様相のコピーを書き込むことができる。横断および書き込みの処理は、上記の図6のステップ505で実行される。コピーは、プロセッサが診断ファイル・システムを生成したときに割り当てられた記憶域を埋め尽くす可能性がある。
図7は、本発明の例示的な一実施形態による、1つまたは複数のファイル・システムに関する診断データをパッケージ化して送信するステップを示している。図3のオペレーティング・システム301などのオペレーティング・システムは、図7のステップを実行することができる。代替として、図7のステップは、ユーティリティ・プログラムによって実施されることができ、その場合、ユーティリティ・プログラムは、コマンドをオペレーティング・システムに書き込む。一般に、図7のステップは、より小さく、ネットワークまたはその他の手段を介し転送するのがより容易なデータ構造を生成する汎用的機能を達成する。最初、オペレーティング・システムは、診断ファイル・システムを単一のファイルにバックアップまたはその他の方法で統合する(ステップ511)。その後、オペレーティング・システムは、ファイルを圧縮することができる(ステップ513)。オペレーティング・システムが圧縮を行った場合、それは、プロセッサが、繰り返しおよび冗長性を利用してデータを要約し、短縮された要約を保存することを意味する。例えば、4096個の「0」からなるブロックを記述するための、4096個の「0」をすべて示すのとは別の方法は、単に電子的に4096×0を保存することであり、そのほうがはるかに短い。加えて、ヌル・ポインタがすでにメタデータ内に存在していることがあるので、単にヌル・ポインタを保存することが、圧縮として動作する。ヌル・ポインタの大きなシーケンスさえも、圧縮されることができる。例えば、1000個のヌル・ポインタからなるシーケンスを記述するための、物理的に各ヌル・ポインタを保存するのとは別の方法は、電子的に1000×nullを保存することである。その後、オペレーティング・システムは、圧縮されたファイルまたは稠密診断データを送信する(ステップ515)。したがって、オペレーティング・システムは、ユーザ・データを稠密診断データに変換する。推定上、多くの小さなファイルを有する1024ギガバイトの拡張ジャーナル・ファイル・システム(JFS2)ファイル・システムは、約160メガバイトの稠密診断データに変換されることができ、これは6000分の1の圧縮である。
図8は、拡張ファイル整合性チェック・ソフトウェアを使用して診断データを取得する詳細なステップを示している。拡張ファイル整合性チェックは、fsckの変形とすることができる。fsckは、ファイル・システム内の各データ単位を横断する(ステップ621)。fsckを実行するプロセッサは、データ単位がファイル・システム・メタデータを含むかどうかを判定することができる(ステップ623)。「含む」によって、データ単位が、ファイル・システムを構成するすべてのメタデータの少なくとも一部を含むことが意味される。fsckは、データ単位がファイル・システム・メタデータであるとの判定に応答して、メタデータの単位を書き込む(ステップ625)。さもなければ、ステップ623および625は、ステップ627に続く。fsckは、データ単位がユーザ・データを含むかどうかを判定する(ステップ627)。fsckは、データ単位がユーザ・データであるとの判定に応答して、スパース・オブジェクトを診断ファイルに書き込む(ステップ629)。スパース・オブジェクトの書き込みは、プロセッサがヌル・ポインタをメタデータに書き込むことを含むことができる。ヌル・ポインタは、例えば、図5のブロック・ポインタ・テーブル414のヌル415とすることができる。fsckは、横断されるさらなるデータ単位が残っているかどうかを判定する(ステップ631)。ステップ625および629の各書き込みは、診断ファイルへのものとすることができ、その場合、診断ファイルは、図3の診断ファイル・システム305に関連することができる。スパース・オブジェクトは、ブロックが空かまたは有効でないデータで満たされていることを認識する以外、ディスクへの書き込みがデータを変化させない点で、非スパース・オブジェクトとは異なる。ブロック全体を占有する代わりに、fsckは、メタデータに関連するすべてのスパース・オブジェクトのリストを単に作成するにすぎない。代替として、fsckは、lseekシステム・コールを単に使用して、書き込みのために開かれたファイルのファイル・ポジションを進める。lseekシステム・コールは、Unixライクのオペレーティング・システムで利用可能なファイル・ハンドリング・システム・コールである。基本的に、lseekコマンドは、現在のファイル末尾を越えてファイル・ポジションを動かすようにオペレーティング・システムに命令する。lseekシステム・コールがブロック全体を越えてファイル・ポジションを進めた場合、オペレーティング・システムは、記憶域の物理ブロックをディスク・ドライブに割り当てることなく、ブロックがスパース・ブロックまたはスパース・オブジェクトであることを記録する。スパース・オブジェクトは、記憶域の仮想ブロックであるが、物理的記憶域の完全なブロックのスペースを占有しない。むしろ、メタデータは、とりわけ、ファイルに関連するそのようなブロックの数を識別する。それにも関わらず、プロセッサは、ファイルによって占有される全スペースがディレクトリの一覧表示中に決定されるとき、そのようなスパース・オブジェクトを計算に追加する。
図9は、本発明の例示的な一実施形態による、AIXオペレーティング・システムのコマンド・ラインで入力されるコマンドの一例を示している。山括弧<>で括られたテキストは、ユーザ指定の文字列を示す。例えば、<新規ファイル・システム・サイズ> 710は、新規ファイル・システムに割り当てられる512バイトのブロックの個数を指定する数とすることができる。
第1のステートメントは、crfsコマンド701を使用して、ファイル・システムを生成する。フラグは以下の通りである。
-v jfs2 703は、仮想ファイル・システムのタイプを指定する。
-g rootvg 705は、ファイル・システムを作成すべき既存のボリューム・グループを指定する。ボリューム・グループは、1つまたは複数の物理的ボリュームの集まりである。
-m /newfs 707は、ファイル・システムが利用可能にされるディレクトリであるマウント・ポイントを指定する。
-a size=<新規ファイル・システム・サイズ> 709は、512バイトのブロック数でJFS2のサイズを指定し、その際、指定されたサイズが物理的パーティション・サイズで均等に割り切れない場合、プロセッサは、均等に割り切れる最も近い数に切り上げる。
診断ファイル・システムは、図3の診断ファイル・システム305とすることができる。
mount /newfs 721は、ファイル・システムをマウントするようプロセッサに命令する。
次がファイル整合性チェックであり、以下のフラグを含むfsck 722コマンドを使用する。
-n 723は、非対話モードで、すなわち、修復についてユーザに問い合せず、指定されたファイル・システムを変更せずにファイル整合性チェックを実行するようプロセッサに命令する。
-o metacapture=/newfs/out1 725は、メタデータおよびスパース・オブジェクトのコピーをスパース・オブジェクトを有するファイルに書き込むようプロセッサに命令するパラメータを識別し、その場合、ファイルは、/newfs/out1またはユーザ指定のディレクトリに置かれる。
<ファイル・システム・マウント・ポイント> 735は、プロセッサが診断を実行するファイル・システムの識別情報である。
プロセッサは、残りの2つのコマンド・ラインに基づいて統合を行う。backup 739は、fsck 722で生成されたすべてのファイルを単一のファイルに配置するようプロセッサに命令する。すなわち、診断ファイル・システムを単一のファイルに配置する。backup 739は、以下のフラグを含む。
-f <目的ファイル名> 741は、出力を保存する1つまたは複数の装置を識別する。
-0 /newfs 743は、バックアップのためのソース・ファイル・システムを指定する。
compress 751は、スパース・オブジェクトを圧縮トークンで置き換えるステップである。compress 751がとる唯一のパラメータは、稠密診断データが保存されるファイルである<目的ファイル名>である。
統合は、ファイル整合性チェックによって提供された個々のファイルを使い、各ファイルを圧縮することによってもなされ得ることが理解される。その場合、各ファイルが稠密診断データになり、ファイルの集まりに追加される各後続ファイルが、稠密診断データに加わる。
したがって、本発明の態様は、ファイル・システム不整合を修復するために任命された専門家からさえもユーザ・データが保護された方法で、ファイル・システム不整合に関する詳細を取得するためのコンピュータ実施方法、機器、およびコンピュータ使用可能プログラム・コードを提供する。加えて、本発明の態様は、ファイル・システム開発者が、ファイル・システム不整合に寄与するかもしれない開発中のソフトウェアにおいて問題を診断することを可能にする。さらに、スパース・オブジェクトは、スパース・オブジェクトを論理ボリュームに抽出できる、またはスパース・オブジェクトを直接見てファイル・システム問題をデバッグできるサービス・チームに送られることができる。
本発明の実施形態は、完全なハードウェア実施形態、完全なソフトウェア実施形態、またはハードウェア要素とソフトウェア要素の両方を含む実施形態の形を取ることができる。好ましい一実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどの、ただしこれらに限定されないソフトウェアで実施される。
さらに、本発明は、コンピュータもしくは任意の命令実行システムによってまたはそれらに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能またはコンピュータ可読媒体等から取得可能なコンピュータ・プログラムの形を取ることができる。この説明では、コンピュータ使用可能またはコンピュータ可読媒体等は、命令実行システム、機器、または装置によってまたはそれらに関連して使用するためのプログラムを格納、保存、伝達、伝播、または転送することができる任意の機器とすることができる。
媒体は、電子、磁気、光学、電磁気、赤外線、または半導体システム(または機器もしくは装置)、あるいは伝播媒体とすることができる。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、固定磁気ディスク、および光ディスクを含む。光ディスクの現行例は、コンパクト・ディスク−読み取り専用メモリ(CD−ROM)、コンパクト・ディスク−リード/ライト(CD−R/W)、およびDVDを含む。
プログラム・コードを保存または実行し、あるいはその両方を行うのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接的または間接的に結合される少なくとも1つのプロセッサを含む。メモリ要素は、プログラム・コードを実際に実行するときに利用されるローカル・メモリ、大容量ストレージ、実行中に大容量ストレージからコードを取り出さなければならない回数を減らすためにプログラム・コードの少なくとも一部を一時的に記憶するキャッシュ・メモリを含むことができる。
(キーボード、ディスプレイ、ポインティング・デバイスなどを含むが、これらに限定されない)入力/出力またはI/O装置は、直接的にまたは仲介I/Oコントローラを介してシステムに結合されることができる。
データ処理システムが、その他のデータ処理システムまたは遠隔プリンタもしくは記憶装置に仲介私設または公衆ネットワークを介して結合されることができるように、ネットワーク・アダプタもシステムに結合されることができる。モデム、ケーブル・モデム、およびイーサネット・カードは、現在利用可能なタイプのネットワーク・アダプタのうちのほんの2、3の実例である。
本発明の説明は、例示および説明の目的で提示されたもので、網羅的であること、または本発明を開示された形態に限定することは意図されていない。当業者には、多くの変更および変形が明らかであろう。本発明の例示的な実施形態は、本発明の原理および実際的な応用を最も良く説明し、企図される特定の使用に適した様々な変更を有する様々な実施形態について当業者が本発明を理解できるように選択され、説明された。
本発明の実施形態が実施され得るデータ処理システムのブロック図である。 本発明の例示的な一実施形態に従って、顧客システムがどのように専門家システムと対話することができるかを示した図である。 本発明の例示的な一実施形態による、ソース・ファイル・システムから診断ファイルへの変換を仲介するオペレーティング・システムの動作を示した図である。 本発明の例示的な一実施形態による、従来のファイル・フォーマットの一例を示した図である。 本発明の例示的な一実施形態による、スパース・ファイル・フォーマットの一例を示した図である。 本発明の例示的な一実施形態による、ファイル・システムに関する診断データを取得する最初のステップを示した図である。 本発明の例示的な一実施形態による、ファイル・システムに関する診断データをパッケージ化して送信するステップを示した図である。 本発明の例示的な一実施形態による、拡張ファイル整合性チェック・ソフトウェアを使用して診断データを取得する詳細なステップを示した図である。 本発明の例示的な一実施形態による、AIXオペレーティング・システムのコマンド・ラインで入力されるコマンドの一例を示した図である。
符号の説明
100 データ処理システム
102 処理ユニット
104 メイン・メモリ
108 ノース・ブリッジおよびメモリ・コントローラ・ハブ(MCH)
110 サウス・ブリッジおよび入力/出力(I/O)コントローラ・ハブ(ICH)
112 ローカル・エリア・ネットワーク(LAN)アダプタ
116 オーディオ・アダプタ
118 グラフィックス・プロセッサ
120 キーボードおよびマウス・アダプタ
122 モデム
124 読み取り専用メモリ(ROM)
126 ハード・ディスク・ドライブ
130 CD−ROMドライブ
132 ユニバーサル・シリアル・バス(USB)ポートおよびその他の通信ポート
134 PCI/PCIeデバイス
136 スーパーI/O(SIO)デバイス
138 バス
140 バス
201 顧客システム
203 インターネット
205 専門家システム
207 請求システム
301 オペレーティング・システム
303 ソース・ファイル・システム
305 診断ファイル
311 コマンド・ライン・エディタ
411 ファイル
413 「0」ブロック
414 ブロック・ポインタ・テーブル
415 ヌル・ポインタ
416 ヌル・ポインタ
417 ヌル・ポインタ
418 ヌル・ポインタ

Claims (31)

  1. ファイル・システム・メタデータを生成するためのコンピュータ実施方法であって、
    ファイル・システムにおいて複数のデータ単位を識別するステップと、
    前記複数のデータ単位のうちのデータ単位がファイル・システム・メタデータを含むかどうかを判定するステップと、
    前記データ単位が前記ファイル・システム・メタデータを含むとの判定に応答して、前記ファイル・システム・メタデータを前記データ単位から診断ファイル・システムに書き込むステップと、
    前記データ単位がユーザ・データを含むかどうかを判定するステップと、
    前記データ単位がユーザ・データを含むとの判定に応答して、スパース・オブジェクトを前記ファイル・システム・メタデータに関連する診断ファイルに書き込むステップとを含む、ファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  2. 前記診断ファイルを前記診断ファイル・システムに関連付けるステップと、
    前記診断ファイル・システムをマウントするステップとをさらに含む、請求項1に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  3. 前記診断ファイルを稠密診断データに統合するステップをさらに含む、請求項1に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  4. 統合するステップが、
    前記診断ファイルを前記診断ファイル・システムに保存するステップと、
    前記診断ファイル・システムを圧縮するステップとをさらに含む、請求項3に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  5. 前記稠密診断データを送信するステップをさらに含む、請求項3に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  6. 統合するステップが、
    前記診断ファイル・システムをファイルとして保存するステップと、
    前記ファイルを圧縮して前記稠密診断データを形成するステップとをさらに含む、請求項5に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  7. 前記診断ファイル・システムを生成するステップと、
    前記診断ファイル・システムをマウントするステップとをさらに含む、請求項5に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  8. 統合するステップが、
    前記診断ファイル・システムをファイルとして保存するステップと、
    前記ファイルを稠密診断データに圧縮するステップとをさらに含む、請求項7に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  9. データ単位がブロックを含む、請求項8に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  10. 判定する前記ステップと、前記スパース・オブジェクトを書き込む前記ステップとが、前記複数のデータ単位のうちの各データ単位について繰り返される、請求項1に記載のファイル・システム・メタデータを生成するためのコンピュータ実施方法。
  11. バスと、
    前記バスに接続され、コンピュータ使用可能コードが配置される記憶装置と、
    前記バスに接続される通信ユニットと、
    前記バスに接続される処理ユニットであって、ファイル・システム・メタデータを生成するコンピュータ使用可能コードを実行し、さらにファイル・システムにおいて複数のデータ単位を識別し、データ単位がファイル・システム・メタデータを含むかどうかを判定し、前記データ単位が前記ファイル・システム・メタデータを含むとの判定に応答して、前記ファイル・システム・メタデータを前記データ単位から診断ファイル・システムに書き込み、前記データ単位がユーザ・データを含むかどうかを判定し、前記データ単位がユーザ・データを含むとの判定に応答して、スパース・オブジェクトを前記ファイル・システム・メタデータに関連する診断ファイルに書き込むコンピュータ使用可能コードを実行する処理ユニットとを含む、データ処理システム。
  12. 前記処理ユニットがさらに、前記診断ファイルを前記診断ファイル・システムに関連付け、前記診断ファイル・システムをマウントするコンピュータ使用可能コードを実行する、請求項11に記載のデータ処理システム。
  13. 前記処理ユニットがさらに、前記診断ファイルを稠密診断データに統合するコンピュータ使用可能コードを実行する、請求項11に記載のデータ処理システム。
  14. 統合するコンピュータ使用可能コードの実行において、前記処理ユニットがさらに、前記診断ファイルを前記診断ファイル・システムに保存し、前記診断ファイル・システムを圧縮するコンピュータ使用可能コードを実行する、請求項13に記載のデータ処理システム。
  15. 前記処理ユニットがさらに、前記稠密診断データを送信するコンピュータ使用可能コードを実行し、統合するコンピュータ使用可能コードの実行において、前記処理ユニットがさらに、前記診断ファイル・システムをファイルとして保存し、前記ファイルを圧縮して稠密診断データを形成するコンピュータ使用可能コードを実行する、請求項13に記載のデータ処理システム。
  16. 前記処理ユニットがさらに、診断ファイル・システムを生成し、前記診断ファイル・システムをマウントするコンピュータ使用可能コードを実行する、請求項15に記載のデータ処理システム。
  17. 統合するコンピュータ使用可能コードの実行において、前記処理ユニットがさらに、前記診断ファイル・システムをファイルとして保存し、前記ファイルを稠密診断データに圧縮するコンピュータ使用可能コードを実行する、請求項16に記載のデータ処理システム。
  18. 前記処理ユニットがさらに、判定するコンピュータ使用可能コードを前記複数のデータ単位のうちの各データ単位について繰り返し実行し、また前記データ単位が前記ファイル・システム・メタデータを含むとの判定に応答して、ファイル・システム・メタデータを前記データ単位から書き込むコンピュータ使用可能コードを繰り返し実行するコンピュータ使用可能コードを実行する、請求項11に記載のデータ処理システム。
  19. ファイル・システム・メタデータを生成するための機器であって、
    ファイル・システムにおいて複数のデータ単位を識別する手段と、
    横断する手段に結合された、前記データ単位がファイル・システム・メタデータを含むかどうかを判定する手段と、
    前記データ単位が前記ファイル・システム・メタデータを含むと判定した手段に応答して、前記ファイル・システム・メタデータを前記データ単位から診断ファイル・システムに書き込む手段と、
    メタデータの単位を診断ファイルに書き込む前記手段に結合された、前記データ単位がユーザ・データを含むかどうかを判定する手段と、
    前記データ単位がユーザ・データを含むと判定した手段に応答して、スパース・オブジェクトを前記ファイル・システム・メタデータに関連する診断ファイルに書き込む手段とを含む、ファイル・システム・メタデータを生成するための機器。
  20. 前記診断ファイルを前記診断ファイル・システムに関連付ける手段と、
    前記診断ファイル・システムをマウントする手段とをさらに含む、請求項19に記載のファイル・システム・メタデータを生成するための機器。
  21. 前記診断ファイルを稠密診断データに統合する手段をさらに含む、請求項19に記載のファイル・システム・メタデータを生成するための機器。
  22. 統合する手段が、
    前記診断ファイルを前記診断ファイル・システムに保存する手段と、
    前記診断ファイル・システムを前記稠密診断データに圧縮する手段とをさらに含む、請求項21に記載のファイル・システム・メタデータを生成するための機器。
  23. 前記稠密診断データを送信する手段をさらに含む、請求項21に記載のファイル・システム・メタデータを生成するための機器。
  24. 統合する手段が、
    前記診断ファイル・システムをファイルとして保存する手段と、
    前記ファイルを圧縮して前記稠密診断データを形成する手段とをさらに含む、請求項23に記載のファイル・システム・メタデータを生成するための機器。
  25. 前記診断ファイル・システムを生成する手段と、
    前記診断ファイル・システムをマウントする手段とをさらに含み、統合する手段が、
    前記診断ファイル・システムをファイルとして保存する手段と、
    前記ファイルを稠密診断データに圧縮する手段とをさらに含む、請求項23に記載のファイル・システム・メタデータを生成するための機器。
  26. 判定する前記手段と、前記スパース・オブジェクトを書き込む前記手段とを繰り返し利用する手段をさらに含む、請求項19に記載のファイル・システム・メタデータを生成するための機器。
  27. ファイル・システムにサービス提供するための方法であって、
    前記ファイル・システムから診断ファイル・システムを生成するためのコンピュータ使用可能プログラム・コードを顧客に送るステップであって、前記コンピュータ使用可能プログラム・コードは、ファイル・システム・メタデータを前記ファイル・システム・メタデータを含む各データ単位から診断ファイル・システムに書き込み、ユーザ・データを含む各データ単位についてスパース・オブジェクトを診断ファイルに書き込み、診断ファイルは前記ファイル・システム・メタデータに関連するステップと、
    前記診断ファイル・システムを顧客から受け取るステップと、
    前記診断ファイル・システムにサービス提供して、サービス済ファイル・システムを形成するステップと、
    前記サービス済ファイル・システムを前記顧客に返送するステップとを含む、方法。
  28. サービス提供する前記ステップが、
    前記診断ファイル・システムにおいて保守を実行して、前記サービス済ファイル・システムを形成するステップを含む、請求項27に記載の方法。
  29. サービス提供する前記ステップが、
    前記診断ファイル・システムにおいて回復動作を実行して、前記サービス済ファイル・システムを形成するステップを含む、請求項27に記載の方法。
  30. 前記診断ファイル・システムにサービス提供した際に提供されたサービスについて前記顧客に請求を行うステップをさらに含む、請求項27に記載の方法。
  31. ファイル・システム・メタデータを生成するコンピュータ使用可能プログラム・コードを有するコンピュータ使用可能媒体を含むコンピュータ・プログラムであって、
    ファイル・システムにおいて複数のデータ単位を識別するコンピュータ使用可能プログラム・コードと、
    前記データ単位がファイル・システム・メタデータを含むかどうかを判定するコンピュータ使用可能プログラム・コードと、
    前記データ単位が前記ファイル・システム・メタデータを含むとの判定に応答して、前記ファイル・システム・メタデータを前記データ単位から診断ファイル・システムに書き込むコンピュータ使用可能プログラム・コードと、
    前記データ単位がユーザ・データを含むかどうかを判定するコンピュータ使用可能プログラム・コードと、
    前記データ単位がユーザ・データを含むとの判定に応答して、スパース・オブジェクトを前記ファイル・システム・メタデータに関連する診断ファイルに書き込むコンピュータ使用可能プログラム・コードとを含む、コンピュータ・プログラム。
JP2006261837A 2005-09-27 2006-09-27 ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法 Expired - Fee Related JP4965210B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/236450 2005-09-27
US11/236,450 US7464114B2 (en) 2005-09-27 2005-09-27 Method and apparatus to capture and transmit dense diagnostic data of a file system

Publications (3)

Publication Number Publication Date
JP2007095064A true JP2007095064A (ja) 2007-04-12
JP2007095064A5 JP2007095064A5 (ja) 2009-01-15
JP4965210B2 JP4965210B2 (ja) 2012-07-04

Family

ID=37895429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006261837A Expired - Fee Related JP4965210B2 (ja) 2005-09-27 2006-09-27 ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法

Country Status (3)

Country Link
US (3) US7464114B2 (ja)
JP (1) JP4965210B2 (ja)
CN (1) CN100452052C (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464114B2 (en) * 2005-09-27 2008-12-09 International Business Machines Corporation Method and apparatus to capture and transmit dense diagnostic data of a file system
US8874517B2 (en) * 2007-01-31 2014-10-28 Hewlett-Packard Development Company, L.P. Summarizing file system operations with a file system journal
US7818302B2 (en) * 2007-03-09 2010-10-19 Emc Corporation System and method for performing file system checks on an active file system
US7716531B2 (en) * 2007-06-29 2010-05-11 International Business Machines Corporation System and method for fault mapping of exceptions across programming models
US7814375B2 (en) * 2007-08-29 2010-10-12 International Business Machines Corporation Fault discovery and selection apparatus and method
US9323681B2 (en) 2008-09-18 2016-04-26 Avere Systems, Inc. File storage system, cache appliance, and method
US8214404B2 (en) * 2008-07-11 2012-07-03 Avere Systems, Inc. Media aware distributed data layout
KR102121040B1 (ko) 2010-02-18 2020-06-09 마우이 이미징, 인코포레이티드 초음파 이미지를 구성하는 방법 및 이를 위한 다중-개구 초음파 이미징 시스템
JP6092109B2 (ja) 2010-10-13 2017-03-08 マウイ イマギング,インコーポレーテッド 凹面超音波トランスデューサ及び3dアレイ
KR20140107648A (ko) 2011-12-29 2014-09-04 마우이 이미징, 인코포레이티드 임의의 경로들의 m-모드 초음파 이미징
EP2816958B1 (en) 2012-02-21 2020-03-25 Maui Imaging, Inc. Determining material stiffness using multiple aperture ultrasound
US8615500B1 (en) * 2012-03-29 2013-12-24 Emc Corporation Partial block allocation for file system block compression using virtual block metadata
IN2015DN00556A (ja) 2012-08-10 2015-06-26 Maui Imaging Inc
CN104969181B (zh) * 2013-01-31 2019-08-02 惠普发展公司,有限责任合伙企业 用于损坏的驱动器变量记录的修复系统、方法及存储设备
US9883848B2 (en) 2013-09-13 2018-02-06 Maui Imaging, Inc. Ultrasound imaging using apparent point-source transmit transducer
JP6774402B2 (ja) * 2014-09-29 2020-10-21 ゾゲニクス インターナショナル リミテッド 薬物供給管理用の管理システム
US10856846B2 (en) 2016-01-27 2020-12-08 Maui Imaging, Inc. Ultrasound imaging with sparse array probes
US10417193B2 (en) * 2016-05-24 2019-09-17 Vmware, Inc. Distributed file system consistency check

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182301A1 (en) * 2002-03-19 2003-09-25 Hugo Patterson System and method for managing a plurality of snapshots

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758145A (en) * 1995-02-24 1998-05-26 International Business Machines Corporation Method and apparatus for generating dynamic and hybrid sparse indices for workfiles used in SQL queries
US5564037A (en) * 1995-03-29 1996-10-08 Cheyenne Software International Sales Corp. Real time data migration system and method employing sparse files
US6018779A (en) * 1997-12-15 2000-01-25 Emc Corporation System for encapsulating a plurality of selected commands within a single command and transmitting the single command to a remote device over a communication link therewith
JP2000047897A (ja) * 1998-07-27 2000-02-18 Pfu Ltd 診断システムおよび記録媒体
CN1283029A (zh) * 1999-07-29 2001-02-07 神基科技股份有限公司 远端系统诊断方法
US6564228B1 (en) * 2000-01-14 2003-05-13 Sun Microsystems, Inc. Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network
US6584582B1 (en) * 2000-01-14 2003-06-24 Sun Microsystems, Inc. Method of file system recovery logging
US6804719B1 (en) * 2000-08-24 2004-10-12 Microsoft Corporation Method and system for relocating files that are partially stored in remote storage
US20020196744A1 (en) * 2001-06-26 2002-12-26 O'connor Michael A. Path discovery and mapping in a storage area network
US7085785B2 (en) * 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature
US6829688B2 (en) * 2002-06-20 2004-12-07 International Business Machines Corporation File system backup in a logical volume management data storage environment
US20040268068A1 (en) * 2003-06-24 2004-12-30 International Business Machines Corporation Efficient method for copying and creating block-level incremental backups of large files and sparse files
US20050081099A1 (en) 2003-10-09 2005-04-14 International Business Machines Corporation Method and apparatus for ensuring valid journaled file system metadata during a backup operation
US7440966B2 (en) 2004-02-12 2008-10-21 International Business Machines Corporation Method and apparatus for file system snapshot persistence
US7464114B2 (en) * 2005-09-27 2008-12-09 International Business Machines Corporation Method and apparatus to capture and transmit dense diagnostic data of a file system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182301A1 (en) * 2002-03-19 2003-09-25 Hugo Patterson System and method for managing a plurality of snapshots
JP2004038929A (ja) * 2002-03-19 2004-02-05 Network Appliance Inc 複数のスナップショットを管理するシステム及び方法

Also Published As

Publication number Publication date
US20090049068A1 (en) 2009-02-19
CN1940927A (zh) 2007-04-04
US8019733B2 (en) 2011-09-13
US7464114B2 (en) 2008-12-09
CN100452052C (zh) 2009-01-14
JP4965210B2 (ja) 2012-07-04
US20080222211A1 (en) 2008-09-11
US8121986B2 (en) 2012-02-21
US20070073781A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
JP4965210B2 (ja) ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法
JP4256851B2 (ja) ファイル・システム・スナップショットの永続性のための方法および装置
US6738863B2 (en) Method for rebuilding meta-data in a data storage system and a data storage system
JP4199993B2 (ja) スナップショット取得方法
US20040078641A1 (en) Operating system-independent file restore from disk image
US20070061447A1 (en) Automatic tracking of user progress in a software application
US7567994B2 (en) Method and apparatus to proactively capture and transmit dense diagnostic data of a file system
US8234317B1 (en) Auto-committing files to immutable status based on a change log of file system activity
US10133618B2 (en) Diagnostic data set component
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
US20070112895A1 (en) Block-based incremental backup
US9305049B2 (en) Addressing cross-allocated blocks in a file system
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
US7047390B2 (en) Method, system, and program for managing a relationship between one target volume and one source volume
US20140279943A1 (en) File system verification method and information processing apparatus
US20040260870A1 (en) Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships
CN100365601C (zh) 仿真系统和仿真方法
Kuts et al. Deleted Data Recovery on Solid-State Drives by Software Based Methods
Yuan et al. Comprehensive evaluation of file systems robustness with SPIN model checking
JP2007323380A (ja) メモリ管理装置及びメモリ管理方法及びプログラム
CN111414335B (zh) 一种数据文件查找方法和装置
JP5146357B2 (ja) データ診断装置、データ診断システム、データ診断方法及びデータ診断プログラム
JP3614886B2 (ja) ファイルシステム
US7603568B1 (en) Method and apparatus for self-validating checksums in a file system
EP0725343A1 (en) Error prevention in computer systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111102

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120127

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees