JP4965210B2 - ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法 - Google Patents

ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法 Download PDF

Info

Publication number
JP4965210B2
JP4965210B2 JP2006261837A JP2006261837A JP4965210B2 JP 4965210 B2 JP4965210 B2 JP 4965210B2 JP 2006261837 A JP2006261837 A JP 2006261837A JP 2006261837 A JP2006261837 A JP 2006261837A JP 4965210 B2 JP4965210 B2 JP 4965210B2
Authority
JP
Japan
Prior art keywords
file
file system
data
diagnostic
processor
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.)
Expired - Fee Related
Application number
JP2006261837A
Other languages
English (en)
Other versions
JP2007095064A (ja
JP2007095064A5 (ja
Inventor
ジャネット・エリザベス・アドキンス
マーク・アレン・グラブズ
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)

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:basic 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は、診断ファイル・システムにサービス提供した際に提供されたサービスに対する請求を顧客に行うことができるように、専門家システム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オペレーティング・システムのコマンド・ラインで入力されるコマンドの一例を示している。山括弧<>で括られたテキストは、ユーザ指定の文字列を示す。例えば、<新規ファイル・システム・サイズ> 71は、新規ファイル・システムに割り当てられる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オペレーティング・システムのコマンド・ラインで入力されるコマンドの一例を示した図である。
01 顧客システム
203 インターネット
205 専門家システム
207 請求システム
301 オペレーティング・システム
303 ソース・ファイル・システム
305 診断ファイル
311 コマンド・ライン・エディタ
411 ファイル
413 「0」ブロック
414 ブロック・ポインタ・テーブル
415 ヌル・ポインタ
416 ヌル・ポインタ
417 ヌル・ポインタ
418 ヌル・ポインタ

Claims (1)

  1. ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法であって、
    (a)診断ファイル・システムを生成するステップと、
    (b)前記診断ファイル・システムをマウントするステップと、
    (c)前記ファイル・システムのファイル・システム・メタデータを前記診断ファイル・システムに書き込むステップとを有し、
    前記ステップ(c)が、
    (c1)前記ファイル・システムにおいて複数のデータ単位を識別するステップと、
    (c2)前記複数のデータ単位のうち一のデータ単位をトラバースして、当該一のデータ単位が前記ファイル・システム・メタデータを含むかどうかを判定するステップと、
    (c3)前記一のデータ単位が前記ファイル・システム・メタデータを含むとの判定に応答して、前記ファイル・システム・メタデータを前記一のデータ単位から前記診断ファイル・システムに書き込むステップと、
    (c4)前記一のデータ単位がユーザ・データを含むかどうかを判定するステップと、
    (c5)前記一のデータ単位がユーザ・データを含むとの判定に応答して、スパース・ファイルを前記診断ファイル・システムに書き込むステップと、
    (c6)前記複数のデータ単位のうち他のデータ単位がトラバースされていないとの判定に応答して、当該他のデータ単位の各々ごとに、前記ステップ(c2)ないしステップ(c5)を繰り返すステップとを有し、
    (d)前記ステップ(c)が完了した段階で、前記診断ファイル・システムを圧縮して稠密診断データを形成するステップと、
    (e)前記稠密診断データをオフサイトのシステムに送信するステップとをさらに有する、方法。
JP2006261837A 2005-09-27 2006-09-27 ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法 Expired - Fee Related JP4965210B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
US11/236450 2005-09-27

Publications (3)

Publication Number Publication Date
JP2007095064A JP2007095064A (ja) 2007-04-12
JP2007095064A5 JP2007095064A5 (ja) 2009-01-15
JP4965210B2 true 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
US8214404B2 (en) * 2008-07-11 2012-07-03 Avere Systems, Inc. Media aware distributed data layout
US9323681B2 (en) 2008-09-18 2016-04-26 Avere Systems, Inc. File storage system, cache appliance, and method
JP6274724B2 (ja) 2010-02-18 2018-02-07 マウイ イマギング,インコーポレーテッド 多開口超音波撮像を用いた点音源送信及び音速補正
JP6092109B2 (ja) 2010-10-13 2017-03-08 マウイ イマギング,インコーポレーテッド 凹面超音波トランスデューサ及び3dアレイ
US9265484B2 (en) 2011-12-29 2016-02-23 Maui Imaging, Inc. M-mode ultrasound imaging of arbitrary paths
CN104135937B (zh) 2012-02-21 2017-03-29 毛伊图像公司 使用多孔超声确定材料刚度
US8615500B1 (en) * 2012-03-29 2013-12-24 Emc Corporation Partial block allocation for file system block compression using virtual block metadata
CN104620128B (zh) 2012-08-10 2017-06-23 毛伊图像公司 多孔径超声探头的校准
US9710340B2 (en) * 2013-01-31 2017-07-18 Hewlett-Packard Development Company, L.P. Replacement of a corrupt driver variable record
US9883848B2 (en) 2013-09-13 2018-02-06 Maui Imaging, Inc. Ultrasound imaging using apparent point-source transmit transducer
MX2017004065A (es) * 2014-09-29 2017-07-24 Zogenix Int Ltd Sistema de control para el control de distribucion de medicacion.
CN113729764A (zh) 2016-01-27 2021-12-03 毛伊图像公司 具有稀疏阵列探测器的超声成像
US10417193B2 (en) * 2016-05-24 2019-09-17 Vmware, Inc. Distributed file system consistency check

Family Cites Families (16)

* 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
US7475098B2 (en) * 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4965210B2 (ja) ファイル・システムの稠密診断データを取得および送信するためにコンピュータに実施させる方法
CN110531940B (zh) 视频文件处理方法及装置
JP4256851B2 (ja) ファイル・システム・スナップショットの永続性のための方法および装置
JP4199993B2 (ja) スナップショット取得方法
US6738863B2 (en) Method for rebuilding meta-data in a data storage system and a data storage system
US9280578B1 (en) Combining transactions in a metadata transaction log
US20040078641A1 (en) Operating system-independent file restore from disk image
US7716445B2 (en) Method and system for storing a sparse file using fill counts
US20140059376A1 (en) Recovering a volume table and data sets from a corrupted volume
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
US20070112895A1 (en) Block-based incremental backup
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
JP2005532611A (ja) 仮想記憶装置
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
US20070174353A1 (en) Method and apparatus to proactively capture and transmit dense diagnostic data of a file system
JP5581776B2 (ja) バックアップ装置,バックアップ方法およびバックアッププログラム
US20130232380A1 (en) Diagnostic data set component
JP3407628B2 (ja) 計算機システム
US7526622B1 (en) Method and system for detecting and correcting data errors using checksums and replication
US11487428B2 (en) Storage control apparatus and storage control method
JP2007323380A (ja) メモリ管理装置及びメモリ管理方法及びプログラム
JP5146357B2 (ja) データ診断装置、データ診断システム、データ診断方法及びデータ診断プログラム
JP2004152284A (ja) ボリュームグループおよび論理ユニットに関する情報の抽出
US7603568B1 (en) Method and apparatus for self-validating checksums in a file system
JPH0784727A (ja) ファイルシステム

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