JP2010140507A - 分散ファイルシステム及び分散ファイルシステムの作動方法 - Google Patents
分散ファイルシステム及び分散ファイルシステムの作動方法 Download PDFInfo
- Publication number
- JP2010140507A JP2010140507A JP2010035003A JP2010035003A JP2010140507A JP 2010140507 A JP2010140507 A JP 2010140507A JP 2010035003 A JP2010035003 A JP 2010035003A JP 2010035003 A JP2010035003 A JP 2010035003A JP 2010140507 A JP2010140507 A JP 2010140507A
- Authority
- JP
- Japan
- Prior art keywords
- file
- subfile
- mapping
- falls
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
Abstract
【解決手段】 相互接続ネットワークによって接続された、複数の計算ノードと複数のI/Oノードとを有する分散ファイルシステムを提供し、システムに格納されたファイルの物理的及び論理的な区分の両方のための共通のデータ表現を使用するようになっており、この区分は、リニアにアドレス可能である。複数のI/Oノードと複数の計算ノードとを有する分散ファイルシステムの作動方法を提供し、ファイルを複数のI/Oノードに亘って分配された複数のサブファイルに区分し、ファイルをその上にビューを設定することによって論理的に区分し、ファイルの線形空間とサブファイルの線形空間との間のマッピングを計算し、ビュー及びサブファイル間の交差を計算し、データ演算を実行する。
【選択図】図1
Description
従って、それらは、クラスター上のファイルの物理的レイアウトと異なるパターンでアクセスする場合が多い。これは、いくつかの点で性能を阻害する可能性がある。
第1に、レイアウトが悪いと、I/Oノードのディスク上のデータの断片化を引き起こす可能性があり、アクセスの複雑なインデックス計算が必要になる。第2に、データの断片化により、ネットワーク上で少ない大きなメッセージを送る代わりに、多くの小さなメッセージを送ることになる。メッセージの集合化は可能であるが、集めたり分散したりするためのコストは無視できない。第3に、関連する処理のI/Oノードでのコンテンションによって過負荷になる可能性があり、並列処理の妨げになる可能性がある。第4に、I/Oノードのディスク上のデータの空間的局所性が悪いと、ディスクアクセスが順次以外のものに変わる。また、レイアウトが悪いと、ファイルブロック内の間違ったシェアリングの確率が増える。
特定のファイルレイアウトによって並列アプリケーションの性能が改善される場合があるが、同じレイアウトが別々のアクセスパターンによって使用されるべきである。任意のアクセスパターン及びファイルレイアウト間のマッピングの計算は、扱いにくいものになる場合がある。
特に、次のものは本発明を理解するのに関係がある。
Nils Nieuwejaar、David Kotz、Apratim Purakayastha、Carla Schlatter Ellis、Michael L.Best他著「並列科学的ワークロードのファイルアクセス特性」、並列及び分散システムに対する「IEEE」会報、7(10)、1996年10月(Nieuwejaar他)、
Evgenia Smirni及びDaniel A.Reed著「I/O集中並列アプリケーションのワークロード特性」、モデリング技術及びコンピュータ性能評価のためのツールに関する会議議事録、コンピュータ科学の「Springer−Verlag」講演ノート、1997年6月(Smirni他)、及び
Huseyin Simitici及びDaniel A.Reed著「論理的及び物理的並列I/Oパターンの比較」、高性能コンピューティングアプリケーションの国際ジャーナル、特別号(並列アプリケーションにおけるI/O)、12(3)、1998年(Simitici他)。
分散ファイルシステムの設計目標の1つは、記憶リソースをネットワーク全体に亘って効率よく使用することである。アクセス時間が遅いために、ディスクは、非常に多くの場合にシステムの障害になる。「廉価ディスクの冗長アレー(RAID)」と呼ばれるシステムは、ディスクに並列にアクセスすることによってディスクの帯域幅を増すスケーラブルな1つの方法であって、データは、利用可能なディスクに亘って重複して配布され、ディスクの1つが故障した場合にリカバリと利用可能性のために冗長性が使用される。分散ファイルシステムは、高性能ネットワークの利用可能な全てのディスクを利用するためのソフトウエア「RAID」として実行することができる。
残念なことに、局所性を隠すことがローカルと遠隔のアクセス時間の差を隠すことにはならない。この問題を軽減するために、キャッシュ及びプリフェッチという2つの手法が広く使用される。
キャッシュにより、アクセスの時間的局所性を示すアプリケーションの性能が改善され、すなわち、プログラムにおいて、ブロックがアクセスされた状態で、近い将来にそれが再度アクセスされるという可能性が高い。これがほとんどのアプリケーションに当てはまることを性能測定は示している。
クライアントのメモリキャッシュ、
サーバのメモリキャッシュ、
他のクライアントのメモリキャッシュ、及び
クライアントのディスクキャッシュ、
である。高性能ネットワークが使用される場合、実際の技術の条件下においては、アクセス時間は、上述の第1から第4までのキャッシュレベルまで増加することになる。
読取りアクセスの場合は、キャッシュの唯一の制約は、キャッシュサイズである。次に、キャッシュが書き込まれる時、キャッシュの干渉性を確保するために余分の注意が払われるべきであり、すなわち、処理が任意のキャッシュ位置に書き込む場合、それに続くいかなるキャッシュの次の読取りもその変更が分るべきである。
プリフェッチは、近い将来アクセスされる可能性が非常に高いキャッシュデータのブロックにディスクから予め読み取ることを意味する。予測可能なアクセスパターンを有するアプリケーションは、プリフェッチ処理から最も恩恵を受けることができる。
キャッシュ及びプリフェッチの方針の間で最適な妥協点を見出すために、いくつかのアルゴリズムが提案されている。残念ながら、分散ファイルシステム内のキャッシュ間の協力が欠如しているために、それらは広く実行されておらず、試験もまだである。
ログ構造ファイルシステムは、リカバリのためにチェックポイント戦略を使用する。故障の場合は、最後のチェックポイントがロードされて利用可能なログが実行される。
「NFS」サーバはまた、スケーラブルでないことについて批判されてきた。クライアントの数が増加すると、それらが飽和してシステムの障害になる。また、サーバ及びクライアントは無停止型でもない。それらの1つが故障すると、マニュアルで再開しなければならず、変更されたキャッシュの内容は失われる場合がある。
「NFS」は、空間的局所性に基づいて単純なプリフェッチポリシーを使用する(ブロックがアクセスされた時、隣接する次のブロックが近い将来必要になる可能性が非常に高い)。通常、クライアントは、現在アクセスしているブロックが得られた後に、ファイルの次の隣接ブロックを予め読み取る。
ペタルは、任意の構成要素、すなわち、サーバ、ディスク、及びネットワークの故障に耐え、それから透過的に回復することができる。それはまた、スケーラブルであり、システムに対して新しい記憶装置を透過的に追加/削除することができる。
「ゼブラ」は、長構造ファイルシステム及び「RAID」という2つの考えを初めて組み合わせた「DFS」である。各クライアントは、常に自分自身のログに書き込む。ログが一杯になると、それはストライピングされ、このストライプは、別々の記憶マネージャに書き込まれ、マネージャは、次に、それらをディスクに並列に書き込むことができる。
ゼブラは、単一の記憶マネージャの故障に耐え、それから回復することができる。それはまた、システムクラッシュから回復するために、長構造ファイルシステムと同様にチェックポイント戦略を使用する。ファイルサーバは、そのメタデータを記憶マネージャに保ち、クラッシュ時にメタデータをそこから回復することができる。
ゼブラと同様に、「XFS」は、書込みの性能と信頼性を改善するためにログ構造ファイルシステムと「RAID」の考えとの組合せを使用する。ゼブラ と違って、「XFS」は、制御情報をファイルの細分性でシステムに亘って配布し、アクセス特性を改善するために協働キャッシュを使用する。ブロックがローカルキャッシュで発見されない時はいつでも、それは、他のクライアントで探索し、最後の解決手段としてのみディスクから取り込まれる。局所性は、アクセスされる可能性が高いマシンのキャッシュにブロックを保つように試みることによって促進される。キャッシュ交換ポリシーにおいては、複数のコピーを有するブロックには、非複製ブロックに対して、交換される優先権がある。「XFS」は、アプリケーションに対して「Unix」作動を保証するトークンベースのキャッシュ整合性スキームを使用する。
これにより、実行仮定の下で作動していないアプリケーションの性能が犠牲にされることになる。アプリケーションにそれら自体のポリシーを実施する可能性を与えるか、又はポリシーの交換を容易にすると、システムの性能が向上するであろう。外部カーネル及びマイクロカーネルは、実行者がリソース管理をユーザスペースに移動し、モノリシックカーネルと比較して比較的容易なシステム機能性の増強を提供することにより、アプリケーションの必要性に対してポリシーを容易に調整することを可能にする単なる2つの提案である。「DFS」の場合の局所性においては、キャッシュ及びプリフェッチポリシーは、アプリケーションの必要性を考慮に入れた実行から最も利益を得ることができると考えられる。
本システムは、複数のI/Oノードからファイルに関する情報を集め、このI/Oノードを整合性のある状態に保持するようになっているメタデータマネージャを含むことができる。好ましくは、計算ノードは、ファイル作成、ファイルオープン、ファイルクローズ、及びメタデータに関わる要求のリストから選択されたイベントの場合に、メタデータマネージャと接触(通信)するようになっている。
本システムは、好ましくは、各計算ノードが、ファイルの線形空間(リニア空間)とサブファイルの線形空間(リニア空間)との間のマッピングの計算と、ビュー及びサブファイル間の交差アルゴリズムの実行と、データ演算の実行とを含む複数のファイル操作を実行するようにプログラムされるようなシステムである。
「PITFALLS」は、イリノイ州立大学において、効率的アレー再配布(再分配)ルーチンの自動生成のために「PARADIGM」コンパイラに使用されていた。「PITFALLS」表現は、より多くのアクセス形式を表現することができるように拡張される。例えば、全ての「MPI」データ形式は、本発明の表示を使用して表現することができる。
本発明はまた、複数の入力/出力(I/O)ノードと複数の計算ノードとを有する分散ファイルシステムを作動する方法を提供し、本方法は、ファイルをサブファイルに物理的に区分する段階と、ファイルをビューに論理的に区分する段階と、サブファイル及びビュー間のマッピング機能(Mapping Function)を実行する段階と、区分間でデータ再配布(Data Redistribution)を実行する段階とを含む。
ここで、本発明の好ましい実施形態を添付図面を参照して単に例示的に以下に説明する。
図2を参照すると、ラインセグメント(FALLS)18群の例が示されている。ラインセグメント(LS)、例えばラインセグメント20は、一対の数(l,r)によって定義され、lで始まりrで終了するファイルの連続した部分を記述する。
一組のネストされた「FALLS」は、ラインセグメントの集合として見られ、ファイルの部分集合をコンパクトに表す。ファイルのx番目のバイトは、Sのラインセグメントの1つに置かれる場合、一組のネストされた「FALLS」Sに属する。
例えば、一組のネストされた「PITFALLS」を使用して、任意の「MPI」データタイプを表現することができる。これは、極端な場合に、ネストされた「PITFALLS」がn=1及びp=1の単なるラインセグメントであるという事実のためである。従って、一組のネストされた「PITFALLS」は、不規則なパターンも表すことができる。第2に、それらは、複雑で規則的な配布を表現するコンパクトな方法を提供する。例えば、いくつかのI/Oノード又はプロセッサ上の多次元アレー分布は、ネストされた「PITFALLS」として単純に表現することができる。第3に、1つの配布を別の配布に変換する効率のよいアルゴリズムがある。例えば、Ramaswamy他の文献は、「PITFALLS」形式で表現されたデータの効率の良い多次元アレー再配布を実行するアルゴリズムの記述を含む。このアルゴリズムから始め、データ表現としてネストされた「PITFALLS」の組を使用して、任意の再配布を実行するアルゴリズムが設計された。
LENf=rf−lf+1 (1)
例えば、図3のネストされた「FALLS」の外側「FALLS」のブロック長は4であり、内側「FALLS」のブロック長は1である。
ネストされた「FALLS」は、ファイルの部分集合を表す一組のインデックスである。ネストされた「FALLS」fのサイズは、fで定義される部分集合のバイト数である。一組のネストされた「FALLS」Sのサイズは、その要素全てのサイズの総計である。以下に示す2つの相互回帰方程式は、上述の2つの定義を形式的に表すものである。
例えば、図3のネストされた「FALLS」のサイズは4である。
一組の「FALLS」は、lとrの間にホールがない領域を記述する場合は、lとrの間で連続であると呼ばれる。例えば、図2の「FALLS」を含む組は、11と14の間で連続であるが、3と8の間で連続ではない。
好ましい実施形態は、クラスターのノードを計算ノード及びI/Oノードという、重なるか又は重ならなくてもよい二組に区分する。I/Oノードは、ファイルデータを保存する。アプリケーションは、計算ノード上で作動する。また、ファイルのメタデータを集中させるメタデータマネージャも1つある。
この集合は、ファイルの非オーバーラップ領域を記述すべきである。更に、Pは、ファイルの連続領域を記述すべきである。区分パターンは、サブファイル内のサブファイル対の位置上にファイルの各バイトを独特にマッピングし、変位から始めてファイルの線形空間を通して繰り返し適用される。
区分パターンPのサイズをそのネストされた「FALLS」の全てのサイズの総計として定義する。
ネストされた「PITFALLS」を使用する通常の区分の場合、ファイルのそのサブファイル上への区分パターンは、よりコンパクトに表現することができる。図8は、2つの例によってファイル構成を示す。図8(a)の例においては、ファイルは、変位2に対して「PITFALLS」(0,1,−,1,2,3,O)を使用することによって作り出された3つのサブファイルから成る。これは、変位2で3つのサブファイルで構成されたファイルを表す。ファイルは、サブファイル上に円形ロビン状に配置される。
nがファイルに割り当てられたI/Oノードの数で、bがファイルブロックのサイズとすると、ファイルブロックの円形ロビン状配布は、「PITFALLS」(0,b−1,−,1,b,n,O)で表される。この表示は、ファイルをn個のサブファイルに区分する。それらは、各々、別のI/Oノード上にあることができる。
サブファイルの数がI/Oノードの数を超える場合、各サブファイルは、単一のI/Oノードで連続して書き込まれる。サブファイルは、I/Oノードに円形ロビン状に割り当てられる。図9は、4つのサブファイルで構成され、2つのI/Oノードに書き込まれたファイルを示す。サブファイル0と2は、I/Oノード0に割り当てられ、それに対して、サブファイル1と3は、I/Oノード1に割り当てられる。
ビューマッピングは、ネットワークがビューデータを転送するために計算ノードによって使用される、所定のサブファイルに対するビューの線形バッファ上へのマッピングである。サブファイルのマッピングは、サブファイルデータのネットワーク転送のためにI/Oノードによって使用される、所定のビューに対するサブファイルの線形バッファ上へのマッピングである。図10(d)は、図10(c)の直接マッピングがどのようにビューマッピングとサブファイルマッピングとに区分されるかを示すものである。ビューマッピング及びサブファイルマッピングは、ビューが設定された後に計算ノードで計算される。
ビューマッピングは、計算ノードで保存され、サブファイルマッピングは、サブファイルがあるI/Oノードに送られる。
効果的なデータの読取り及び書込みは、ビュー上で行われ、第1段階で予め計算されたマッピングを使用する。アプリケーションがファイルにバッファを書込みたい場合、次の段階が行われる。すなわち、(a)関連する全てのサブファイルに対して、ビューマッピングを使用して単一メッセージのビューからデータを収集する、(b)メッセージがI/Oノードに送られる、(c)I/Oノードは、データをサブファイル上に書き込むためにサブファイルマッピングを使用する。データ読取りの時は、逆の処理が行われる。例えば、図10(d)において、既にビューを設定した計算ノード0は、4つの要素のバッファを1から4までのビューに書き込む。サブファイル0に対するビューマッピングがバイト2及び4をメッセージに融合させるために使用され、これは、サブファイル0のI/Oノードに送られる。サブファイル0のI/Oノードにおいては、ビュー0に対するサブファイルマッピングは、アドレス3及び5においてデータを書き込むために使用される。アドレス0及び2においてサブファイル1に書き込まれるビュー0のバイト1及び3に対して同じ処理が行われる。
好ましい実施形態は、メタデータマネージャ、I/Oサーバ、及びI/Oライブラリの3つの主要な構成要素を有する。クラスターの各ノードは、計算ノード、I/Oサーバ、又はその両方(パートタイムI/Oノード)の役割を果たすことができるが、唯一のノードのみがメタデータマネージャであることができる。
並列ファイルシステムで作動する1つのメタデータマネージャが存在する。このメタデータマネージャは、ファイルに関する情報をI/Oノードから周期的又は要求によって収集し、それらを安定した状態で保存する。それはまた、ファイルのメタデータに関する要求によるサービスを計算ノードに提供する。データ転送には、メタデータマネージャは関わらない。
メタデータマネージャは、ファイル作成、オープン、クローズ、又はファイルのメタデータに関わる任意の要求時に計算ノードによって接触される。
ファイルが作り出され、計算ノードがファイルに対するレイアウトを指定しない場合、デフォルトのレイアウト(全てのI/Oノードに亘って円形ロビン状の形態でファイルブロックをストライピングする)が選択される。ファイルのレイアウトが指定されると、それがメタデータに保存される。それに続く各再オープンは、固有のファイル記述子と共にレイアウト情報を検索することになる。
I/Oサーバの主なタスクは、サブファイルに対するデータの書込み及び読取りである。計算ノード及びI/Oサーバ間の接続は、ビューの設定において、又は予めビューが設定されていない場合は最初のアクセスにおいて確立される。ビューが設定されると、I/Oサーバは、ビューのサブファイルマッピングを受け取り、それは、上述の通り、将来のアクセスのために使用される。I/Oサーバは、メタデータを各サブファイルに関して保存し、要求に応じてそれをメタデータマネージャに配信する。
I/Oライブラリは、「UNIX」標準ファイルシステムインタフェースを実行する。この時、それはユーザレベルで実行される。計算ノードとメタデータマネージャ又はI/Oサーバとの間の通信は、ライブラリによってアプリケーションから隠される。
アプリケーションは、標準「UNIX」の「ioctl」作動のユーザレベルの変形を使用して、ファイルのレイアウトを設定することができる。レイアウトの設定は、「create」コールに従わなければならない。レイアウトは、メタデータマネージャで送られるが、計算ノードでも保存される。
ファイル上へのビューの設定はまた、「ioctl」によって行われる。上述の通り、これは、ビュー及びサブファイルマッピングが計算される時である。サブファイルマッピングは、対応するI/Oノードに送られ、一方、ビューマッピングは、計算ノードで保存される。
MAPS(x)
1:((x−displ) div SIZEP)SIZES+MAP−AUXS((x−displ) mod SIZEP)
MAP−AUXS(x)
1:j←min{k|x>lfk}
MAP−AUXf(x)
1:If If=O then
2:return(x div sf)LENf+x mod sf
3:else
4:return(x div sf)SIZEIf+MAP−AUXIf(x mod sf)
5:end if
MAPS(x)=2((x−2) div 6)+(x−2) mod 6 (6)
MAPS(x)は、xがSのラインセグメントの1つに属する場合のみ、Sによって定義されたサブファイル上へのxのマッピングを計算することに注意すべきである。例えば、図7において、ファイルの5番目のバイトは、サブファイル0上でマップされない。しかし、所定のサブファイル上に直接マップする、ファイルの次の又は以前のバイトのいずれかのマッピングを計算するために、MAP−AUXfを僅かに変更することは可能である。この考えは、xがfの任意のブロックの外側に位置する時に検知し、MAP−AUXfの本体を実行する前に、xを現在のストライドの終端(次のバイトマッピング)か、又は以前のブロックの終端(以前のバイトのマッピング)まで移動させることである。図7の場合、サブファイル0上へのファイルオフセット5の以前のマップは、サブファイルオフセット1であり、次のマップは、サブファイルオフセット2である。
1:If If=O then
2:return(x div LENf)sf+x mod LENf
3:else
5:end if
例えば、図7のネストされた「FALLS」S=(0,1,6,2,O)によって記述されたビューの場合、サブファイル/ファイルマッピングは、次の関数によって計算される。
好ましい実施形態は、ネストされた「FALLS」の組を使用してビュー及びサブファイルの区分の両方を表す。ファイルの線形空間内の一組のインデックスを表すネストされた「FALLS」の各組は、ファイルの部分集合を記述する。ビューを通してファイルデータにアクセスすることにより、アクセスされた領域は、いくつかのサブファイル上にマップされるかもしれない。従って、データを正しいサブファイルに再配布するために、ビューと各サブファイルとの間の交差が演算されるべきである。以下に説明する交差アルゴリズムは、ネストされた「FALLS」の二組の表示に共通するデータを表すのに使用することができるネストされた「FALLS」の組を計算する。ネストされた「FALLS」のインデックスは、ファイルの線形空間において与えられる。これらのインデックスの組は、ビュー又はサブファイルの線形空間上に投影することができる。
図11は、(a)INTERSECT−FALLS((0,7,16,2),(0,3,8,4))=(0,3,16,2)と、(b)INTERSECT−FALLS((0,1,4,1),(0,0,2,2))=(0,0,4,1)という2つの例を示す。
Ramaswamy他の方法においては、アレー再配布に「INTERSECT−FALLS」が使用される。n次元アレーの古い配布及び新しい配布は、各次元上の「FALLS」として表され、各次元上で交差が別々に実行される。好ましい実施形態の狙いが任意の再配布を提供することなので、多次元アレー再配布は適していない。任意の再配布を可能にし、同時に多次元アレー再配布を効率的に実行するアルゴリズムが要求される。
CUT−FALLS(f,l,r)
1:DEF g:FALLS
2:lg←l:rg←r;sg←LENg;ng←1
3:S←INTERSECT−FALLS(f,g)
4:for all h∈S do
5:lh←lh−1
6:rh←rh−1
7:end for
8:return S
それぞれ区分パターンP1及びP2に属する、ネストされた「FALLS」S1及びS2の交差する集合に対するアルゴリズムについて以下に説明する。その集合は、ツリー表示に「FALLS」を含む。このアルゴリズムは、一般性を損なうことなく、ツリーの高さは同じと仮定する。同じでない場合は、低いツリーの高さは、外側「FALLS」を追加して変えることができる。
INTERSECT(S1,S2)
1:SIZEp←lcm(SIZEp1、SIZEp2)
2:for all f∈S1 do
3:nf←nfSIZEp/SIZEp2
4:end for
5:for all f∈S2 do
6:nf←nflcm(SIZEp1、SIZEp2)/SIZEp2
7:end for
8:return INTERSECT−AUX(S1、0、;SIZEp、S2、0、SIZEp)
「INTERSECT−AUX」は、f1∈S1及びf2∈S2であるような可能な全ての対(f1,f2)を最初に考慮する。「FALLS」は、S1及びS2(行4)の外側「FALLS」の交差の左側及び右側インデックスであるl1及びr1の間で切断される。インデックスl1及びr1は、S1の外側「FALLS」に対して計算され、回帰コールのパラメータとして行12から受け取られる。同じ説明がf2(行5)に当てはまる。「CUT−FALLS」は、内側「FALLS」の特性が外側「FALLS」の左側インデックスに対してであることを保証するために使用される。「FALLS」は、切断f1及びf2からもたらされ、続いてペアで交差される(行8)。回帰コールは、サブツリーf1及びf2に下り、その内側「FALLS」の交差を回帰的に計算する(行12)。
1:S←0
2:for all f1∈S1 do
3:for all f2∈S2 do
4:C1←CUT−FALLS(f1、l1、r1)
5:C2←CUT−FALLS(f2、l2、r2)
6:for all g1∈C1 do
7:for all g2∈C2 do
8:S←S∪INTERSECT−FALLS(g1、g2)
9:end for
10:end for
11:for all f∈S do
12:I←INTERSECT−AUX(If1,(lf−lf1) mod sf1,(rf−lf1) mod sf1,If2;(lf−lf2) mod sf2,(rf−lf2) mod sf2)
13:end for
14:end for
15:end for
16:return S
PROJS(R)は、S上へのRの投影を計算する。それは、単に補助手順「PROJ−AUX」を呼び出す。
PROJS(R)
1:PROJ−AUXS(R,0)
PROJ−AUXS(R,オフセット)
1:P←0
2:for all f∈R do
3:P←PROJ−AUXS(f,オフセット)
4:if If≠0 then
5:IP←PROJ−AUXS(If,オフセット+lf)
6:end if
7:P←P∪{p}
8:end for
9:return P
PROJ−AUXS(f,オフセット)
1:DEF g:FALLS
2:lg←MAPS(lf+オフセット)−MAPS(オフセット)
3:rg←MAPS(rf+オフセット)−MAPS(オフセット)
4:sg←MAPS(sf+オフセット)−MAPS(オフセット)
5:ng←nf
6:return g
「INTERSECT」と「PROJS」は、両方とも同じ組のツリーを横切るので単一アルゴリズムにコンパクト化することができる。明確にするために、それらは別々に表されてきた。
一組のネストされた「FALLS」Sと、左及び右の限界l及びrとがそれぞれ与えられると仮定する。Sによって定義された不連続な領域と連続バッファ「buf」(又は、サブファイル)との間のデータをコピーするために2つの手順が実行される。
・GATHER(dest,src,m,M,S)は、Mとmの間のSによって定義されるように、不連続データを「src」バッファから連続バッファ(又は、サブファイル)「dest」にコピーする。例えば、図14(b)において、計算ノードは、FALLS{(0,0,4,2,O)}の組を使用して、m=0及びM=4の間でデータをビューからバッファ「buf2」に収集する。
・SCATTER(dest,src,m,M,S)は、mとMの間のSによって定義されるように、連続バッファ(又は、サブファイル)「src」からバッファ「dest」上に非連続的にデータを配布する。例えば、図14(b)において、I/Oノードは、FALLS{(0,0,4,2,O)}の組を使用して、m=0及びM=4の間で「buf2」からサブファイルにデータを分散する。
計算ノードが現存するファイルを開くと、それは、メタデータマネージャから変位「displ」及び区分パターンPを受け取る。
計算ノードが、変位「displ」及び区分パターンPと共に、開いているファイル上にVによって記述されたビューを設定すると、V及び各サブファイル間の交差が計算される(行2)。V上への交差の投影が計算されて(行3)、計算ノードに保存される。S上への交差の投影が計算されて(行4)、対応するサブファイルのI/Oノードに送られる(行5)。
1:for all S∈P do
2:V∩S←INTERSECT(V,S)
6:end for
図14(b)からの例は、投影に関連して上述の例で計算されたビュー及び1つのサブファイルに対する投影、
を示す。
計算ノードが「displ」及びPによって定義されたファイルを開き、その上にビューVを設定したと仮定する。上述の通り、計算ノードは
を保存し、サブファイルSのI/Oノードは、全てのS∈Pに関して、
を保存する。次に、mVとMV間のビューの連続する部分のバッファ「buf」からファイルへの書込みに関連する段階を示す(図14及び以下の2つの擬似コード部分も参照)。
Sによって記述された各サブファイル(1)と交差V(2)に対して、計算ノードは、mV及びMVのサブファイル上へのマッピングmS及びMSをそれぞれ計算し(3及び4)、次に、それらをサブファイルSのI/Oサーバに送る(5)。続いて、
が、mV及びMV間で連続する場合、I/Oサーバに「buf」が直接送られる(7)。そうでなければ、「buf」の不連続領域がバッファ「buf2」に収集されて(9)、I/Oノードに送られる(10)。
1:for all S∈P do
5:SのI/OサーバにサブファイルSの(mS,MS)を送る。
7:Sによって定義されたサブファイルのI/Oサーバに、mV及びMV間のMV−mV+1バイトを送る。
8:else
10:Sによって定義されたサブファイルのI/Oサーバに、buf2を送る。
11:end if
12:end if
13:end for
I/Oサーバは、mS及びMS間でSによって定義されたサブファイルに対する書込み要求(1)と、バッファ「buf」に書き込まれるデータ(2)とを受け取る。
が連続の場合、「buf」は、連続的にサブファイルに書き込まれる(4)。そうでなければ、データは、「buf」からファイルに分散される(6)。
1:計算ノードからmS及びMSを受け取る。
2:データをbufに受け取る。
4:bufをmS及びMS間でサブファイルSに書き込む。
5:else
7:end if
I/Oノードがそれらのバッファキャッシュ及びそれらのディスクにそれぞれ書き込んでいる時に、書込み及び読取り作動の異なる位相に対するタイミングが計測された。表1は、1つの計算ノードに対する平均的な結果を示し、表2は、1つのI/Oノードに対する平均的な結果を示す。
・物理的及び論理的区分が与えられる時、交差を実行して投影を計算する時間は、マトリックスのサイズによって大きくは変わらない。予想通り、区分が同じであればtiは小さく、区分が適合しないとより大きい。尚、tiがビュー設定時のみに費やす必要があり、何回かのアクセスに亘って償却することができることが分る。
・サブファイルtm上にビューのアクセス間隔の端点をマップする時間は非常に短い。
・収集時間tgは、マトリックスサイズと、物理的及び論理的区分の適合の程度とによって変化する。それは、最適な適合では全てのサイズに対して0である。所定のマトリックスサイズに対しては、区分の適合が不良の場合、再区分によりバッファに集まるデータの小さな部分が多くなるのでtgは最大になる。
・所定のサイズに対しては、
の時間は、計算ノードで測定されるネットワーク及びI/Oサーバの作動の合計を含む。
それらの値は、最も遅いI/Oサーバによって制約される。
・性能は、I/Oノードコンテンション、すなわち、1つのI/Oノードと接触する計算ノードの平均数によって影響される。適合が不良のパターンに対してコンテンションは大きく、従って、計算ノードの並列性,及び暗に拡張容易性を妨げる。例えば、ブロックの列とコラムの列との間のデータの再配布により、4つの計算ノードは、各々、全ての4つのI/Oサーバと接触することになる(表2の4番目のコラムを参照)。最適な適合に対しては、コンテンションは1であり、従って、各計算ノードの要求は、異なるI/Oノードに送られる。
・分散時間、
は、不連続バッファをバッファキャッシュとディスクとにそれぞれ書き込むための時間を含む。ネットワークカードからバッファキャッシュに直接書き込む連続書込みの場合は最適化されなかった。従って、追加の複製が実行される。その結果、配布の全ての3つの異なる対に対する数値は、大きなメッセージに関しては近い値である。しかし、小さなサイズ(256と512)に関しては、バッファキャッシュ,及び特にディスクに対する書込み性能は、最適な配布の適合に対して最良になる。
当業者によって様々な小さな変更及び修正が提案されるかもしれないが、特許請求の範囲は、分散ファイルシステムの分野への本発明の寄与の範囲に無理なく含まれるであろうそのような変更及び修正を含むように意図されていることが理解されるものとする。
12 計算ノード
14 I/Oノード
16 相互接続ネットワーク
Claims (9)
- 相互接続ネットワーク(16)によって接続された、複数の計算ノード(12)と複数の入力/出力(I/O)ノード(14)とを含む分散ファイルシステム(10)であって、前記システムは、
前記システムに保存されたファイルの物理的及び論理的パーティションの両方のために共通のデータ表現を使用するようになっており、
前記パーティションの要素は、リニアにアドレス可能であり、
それぞれの計算ノード(12)は、複数のファイル操作を実行するようにプログラムされ、前記ファイル操作は、
ファイルのリニア空間とサブファイルのリニア空間との間のマッピングを計算する段階と、
ビューのリニア空間とサブファイルのリニア空間との間のマッピングを計算する段階と、
ビュー及びサブファイル間で交差アルゴリズムを実行する段階と、
データ演算を実行する段階と、を含み、
それによって、プロセッサ指標付き標識ラインセグメント群(PITFALLS)が、外側ラインセグメント群(FALLS)を形成する、一組の等間隔で配置されたラインセグメント群(FALLS)を表わすデータ表現のために使用され、それによって、それぞれの外側FALLSは、I/Oノード(14)上へファイルの物理的パーティショニングを、計算ノード(12)上へファイルの論理的パーティショニングを表わすためのネストしたPITFALLSを形成し、それらの間をマッピングする、一組の内側PITFALLSを含み、それによって利用可能な記憶媒体上及び幾つかの計算ノード(12)の中のデータをそれぞれ任意にパーティショニングすることができる
ことを特徴とするシステム。 - 前記複数のI/Oノード(14)からファイルに関する情報を収集し、該I/Oノード(14)を整合性のある状態に維持するようになっているメタデータマネージャを含むことを特徴とする請求項1に記載の分散ファイルシステム(10)。
- 各I/Oノード(14)は、それぞれのI/Oノード(14)上に保存されたサブファイルにデータを書き込み、かつそこからデータを読み取るタスクを実行するI/Oサーバを含むことを特徴とする請求項2に記載の分散ファイルシステム(10)。
- I/Oサーバが、前記I/Oノード(14)で保存されたサブファイルの各々に関するメタデータを維持し、要求に応じてそれを前記メタデータマネージャに配信するようになっていることを特徴とする請求項2に記載の分散ファイルシステム(10)。
- 前記計算ノード(12)は、システムのメタデータに関わる任意のファイル操作のために前記メタデータマネージャと通信するようになっていることを特徴とする請求項2に記載の分散ファイルシステム(10)。
- ファイルがサブファイルに物理的にパーティショニングされている複数のI/Oノード(14)、及びファイルがビューに論理的にパーティショニングされている複数の計算ノード(12)を含む分散ファイルシステム(10)を動作させる方法であって、前記方法は、
(i)前記システムがサブファイルとビューとの間のマッピング機能を実行する段階と、
(ii)前記システムがパーティションの間でデータを再分配する段階であって、
それによって、プロセッサ指標付き標識ラインセグメント群(PITFALLS)が、外側ラインセグメント群(FALLS)を形成する、一組の等間隔で配置されたラインセグメント群(FALLS)を表わすデータ表現のために前記システムによって使用され、それによって、それぞれの外側FALLSは、I/Oノード(14)上へファイルの物理的パーティショニングを、計算ノード(12)上へファイルの論理的パーティショニングを表わすためのネストしたPITFALLSを形成し、それらの間をマッピングする、一組の内側PITFALLSを含み、それによって利用可能な記憶媒体上及び前記システムの幾つかの計算ノード(12)の中のデータをそれぞれ任意にパーティショニングすることができる
ことを特徴とする方法。 - 前記再分配は、前記システムによって、
(a)2つの物理的パーティション間、
(b)2つの論理的パーティション間、及び
(c)論理的パーティション及び物理的パーティション間、
で行うことができる、
ことを特徴とする請求項6に記載の方法。 - (a)ファイルのリニア空間からサブファイルのリニア空間上へのファイルオフセットのマッピングを前記システムによって計算するためのアルゴリズムと、
(b)サブファイルのリニア空間からファイルへのマッピングを前記システムによって計算するためのアルゴリズムと、
(c)サブファイル及びビュー間のマッピングを前記システムによって計算するためのアルゴリズムと、
(d)ネストされたラインセグメント群の組の交差を前記システムによって計算するためのアルゴリズムと、
(e)ラインセグメント群の別の組によって記述されたリニア空間上への一組のラインセグメント群の投影を前記システムによって計算するためのアルゴリズムと、
を含む複数のアルゴリズムが前記システムによって実行される、
ことを特徴とする請求項6に記載の方法。 - 前記方法は、
(a)前記システムが、ビュー設定において、前記ファイルの前記論理的パーティショニングと前記物理的パーティショニングとの間のマッピングの計算を実行する段階と、
(b)前記システムが、計算のアクセスインデックスのオーバーヘッドがビュー設定の時に前記システムによって一度だけ費やされるように、メッセージ内に又はそれからデータを収集/分散するための読取り/書込み演算において前記マッピングを使用する段階と、を含むことを特徴とする請求項6に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01122698.2 | 2001-10-01 | ||
EP01122698A EP1298536A1 (en) | 2001-10-01 | 2001-10-01 | Distributed file system and method of operating a distributed file system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003533157A Division JP2005504396A (ja) | 2001-10-01 | 2002-10-01 | 分散ファイルシステム及び分散ファイルシステムの作動方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010140507A true JP2010140507A (ja) | 2010-06-24 |
JP4799669B2 JP4799669B2 (ja) | 2011-10-26 |
Family
ID=8178688
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003533157A Pending JP2005504396A (ja) | 2001-10-01 | 2002-10-01 | 分散ファイルシステム及び分散ファイルシステムの作動方法 |
JP2010035003A Expired - Lifetime JP4799669B2 (ja) | 2001-10-01 | 2010-02-19 | 分散ファイルシステム及び分散ファイルシステムの作動方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003533157A Pending JP2005504396A (ja) | 2001-10-01 | 2002-10-01 | 分散ファイルシステム及び分散ファイルシステムの作動方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7809774B2 (ja) |
EP (2) | EP1298536A1 (ja) |
JP (2) | JP2005504396A (ja) |
AT (1) | ATE305635T1 (ja) |
DE (1) | DE60206406T2 (ja) |
WO (1) | WO2003030022A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014103386A1 (ja) * | 2012-12-26 | 2014-07-03 | 株式会社 東芝 | 情報処理装置、分散データベースシステム、およびバックアップ方法 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050257827A1 (en) * | 2000-04-27 | 2005-11-24 | Russell Gaudiana | Rotational photovoltaic cells, systems and methods |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
US7953819B2 (en) * | 2003-08-22 | 2011-05-31 | Emc Corporation | Multi-protocol sharable virtual storage objects |
DE102004019854B4 (de) * | 2004-04-23 | 2010-09-16 | Nec Europe Ltd. | Datenspeicher- und Zugriffssystem |
US7634566B2 (en) * | 2004-06-03 | 2009-12-15 | Cisco Technology, Inc. | Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality |
US7389298B2 (en) * | 2004-11-18 | 2008-06-17 | International Business Machines Corporation | Seamless remote traversal of multiple NFSv4 exported file systems |
US8521752B2 (en) * | 2005-06-03 | 2013-08-27 | Osr Open Systems Resources, Inc. | Systems and methods for arbitrary data transformations |
US7870173B2 (en) * | 2005-10-13 | 2011-01-11 | International Business Machines Corporation | Storing information in a common information store |
US8713576B2 (en) * | 2006-02-21 | 2014-04-29 | Silicon Graphics International Corp. | Load balancing for parallel tasks |
JP4175379B2 (ja) * | 2006-04-25 | 2008-11-05 | 日本電気株式会社 | ファイル共有方法およびファイル共有システム |
EP2050002A2 (en) * | 2006-08-01 | 2009-04-22 | Massachusetts Institute of Technology | Extreme virtual memory |
US7512748B1 (en) | 2006-08-17 | 2009-03-31 | Osr Open Systems Resources, Inc. | Managing lock rankings |
US8539228B1 (en) | 2006-08-24 | 2013-09-17 | Osr Open Systems Resources, Inc. | Managing access to a resource |
CN101192227B (zh) * | 2006-11-30 | 2011-05-25 | 阿里巴巴集团控股有限公司 | 一种基于分布式计算网络的日志文件分析方法和系统 |
US8024433B2 (en) * | 2007-04-24 | 2011-09-20 | Osr Open Systems Resources, Inc. | Managing application resources |
US7949693B1 (en) | 2007-08-23 | 2011-05-24 | Osr Open Systems Resources, Inc. | Log-structured host data storage |
US8326897B2 (en) | 2007-12-19 | 2012-12-04 | International Business Machines Corporation | Apparatus and method for managing data storage |
US9565094B2 (en) * | 2009-11-13 | 2017-02-07 | International Business Machines Corporation | I/O routing in a multidimensional torus network |
US9954760B2 (en) | 2010-01-29 | 2018-04-24 | International Business Machines Corporation | I/O routing in a multidimensional torus network |
US9058334B2 (en) * | 2010-02-11 | 2015-06-16 | Emc Corporation | Parallel file system processing |
US8224879B2 (en) * | 2010-02-23 | 2012-07-17 | Hitachi, Ltd. | Management system and management method for storage system |
US8701113B2 (en) | 2010-05-27 | 2014-04-15 | International Business Machines Corporation | Switch-aware parallel file system |
US8903874B2 (en) | 2011-11-03 | 2014-12-02 | Osr Open Systems Resources, Inc. | File system directory attribute correction |
US9122700B2 (en) | 2011-12-20 | 2015-09-01 | Los Alamos National Security, Llc | Parallel log structured file system collective buffering to achieve a compact representation of scientific and/or dimensional data |
US9165014B1 (en) * | 2012-06-28 | 2015-10-20 | Emc Corporation | Methods and apparatus for multi-resolution replication of files in a parallel computing system using semantic information |
US9087075B1 (en) * | 2012-06-28 | 2015-07-21 | Emc Corporation | Storing files in a parallel computing system using list-based index to identify replica files |
US9229657B1 (en) | 2012-11-01 | 2016-01-05 | Quantcast Corporation | Redistributing data in a distributed storage system based on attributes of the data |
US9811529B1 (en) * | 2013-02-06 | 2017-11-07 | Quantcast Corporation | Automatically redistributing data of multiple file systems in a distributed storage system |
US9792295B1 (en) | 2013-02-06 | 2017-10-17 | Quantcast Corporation | Distributing data of multiple logically independent file systems in distributed storage systems including physically partitioned disks |
CN103235754B (zh) * | 2013-04-24 | 2016-10-05 | 曙光信息产业(北京)有限公司 | 分布式文件系统中请求的处理方法和装置 |
US9811530B1 (en) * | 2013-06-29 | 2017-11-07 | EMC IP Holding Company LLC | Cluster file system with metadata server for storage of parallel log structured file system metadata for a shared file |
US9767107B1 (en) * | 2013-06-29 | 2017-09-19 | EMC IP Holding Company LLC | Parallel file system with metadata distributed across partitioned key-value store |
CA2926935C (en) * | 2013-10-21 | 2022-05-31 | Ab Initio Technology Llc | Checkpointing a collection of data units |
US9830329B2 (en) | 2014-01-15 | 2017-11-28 | W. Anthony Mason | Methods and systems for data storage |
US10042682B2 (en) | 2014-01-30 | 2018-08-07 | Hewlett Packard Enterprise Development Lp | Copy message from application buffer to send buffer within kernel |
US9483516B2 (en) * | 2014-03-14 | 2016-11-01 | Sap Se | Multi-version concurrency control across row store and column store |
US10162836B1 (en) * | 2014-06-30 | 2018-12-25 | EMC IP Holding Company LLC | Parallel file system with striped metadata |
CN107305490B (zh) * | 2016-04-22 | 2020-09-11 | 中国移动通信集团湖南有限公司 | 一种元数据分组方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325526A (en) * | 1992-05-12 | 1994-06-28 | Intel Corporation | Task scheduling in a multicomputer system |
-
2001
- 2001-10-01 EP EP01122698A patent/EP1298536A1/en not_active Withdrawn
-
2002
- 2002-10-01 DE DE60206406T patent/DE60206406T2/de not_active Expired - Lifetime
- 2002-10-01 AT AT02800147T patent/ATE305635T1/de not_active IP Right Cessation
- 2002-10-01 JP JP2003533157A patent/JP2005504396A/ja active Pending
- 2002-10-01 WO PCT/EP2002/011021 patent/WO2003030022A2/en active IP Right Grant
- 2002-10-01 US US10/491,459 patent/US7809774B2/en active Active
- 2002-10-01 EP EP02800147A patent/EP1440393B1/en not_active Expired - Lifetime
-
2010
- 2010-02-19 JP JP2010035003A patent/JP4799669B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014103386A1 (ja) * | 2012-12-26 | 2014-07-03 | 株式会社 東芝 | 情報処理装置、分散データベースシステム、およびバックアップ方法 |
JP2014127015A (ja) * | 2012-12-26 | 2014-07-07 | Toshiba Corp | 情報処理装置、分散データベースシステム、およびバックアップ方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1298536A1 (en) | 2003-04-02 |
US20060101025A1 (en) | 2006-05-11 |
US7809774B2 (en) | 2010-10-05 |
DE60206406D1 (de) | 2005-11-03 |
JP2005504396A (ja) | 2005-02-10 |
JP4799669B2 (ja) | 2011-10-26 |
ATE305635T1 (de) | 2005-10-15 |
DE60206406T2 (de) | 2006-06-14 |
WO2003030022A3 (en) | 2003-10-16 |
EP1440393A2 (en) | 2004-07-28 |
WO2003030022A2 (en) | 2003-04-10 |
EP1440393B1 (en) | 2005-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4799669B2 (ja) | 分散ファイルシステム及び分散ファイルシステムの作動方法 | |
Cai et al. | Efficient distributed memory management with RDMA and caching | |
Miller et al. | RAMA: A file system for massively-parallel computers | |
Hwang et al. | Orthogonal striping and mirroring in distributed RAID for I/O-centric cluster computing | |
Isaila et al. | Clusterfile: A flexible physical layout parallel file system | |
Isaila et al. | Integrating collective I/O and cooperative caching into the" clusterfile" parallel file system | |
Nelson et al. | Caching in the Sprite network file system | |
Blas et al. | View-based collective i/o for mpi-io | |
Choudhary et al. | Data management for large‐scale scientific computations in high performance distributed systems | |
Bagrodia et al. | Parallel simulation of parallel file systems and I/O programs | |
Cortes | Cooperative caching and prefetching in parallel/distributed file systems | |
No et al. | Design and implementation of a parallel I/O runtime system for irregular applications | |
Garcia Blas et al. | Implementation and evaluation of file write-back and prefetching for MPI-IO over GPFS | |
Garcia et al. | High performance cache management for parallel file systems | |
Isaila | An overview of file system architectures | |
Ludwig | Research trends in high performance parallel input/output for cluster environments | |
Jin et al. | Adaptive Sector Grouping to Reduce False Sharing in Distributed RAID | |
Isaila | Clusterfile: a parallel file system for clusters. | |
Bordawekar et al. | Issues in compiling I/O intensive problems | |
Buenabad-Chavez et al. | Comparing Two Parallel File Systems: PVFS and FSDDS | |
Thakur et al. | Parallel I/O | |
Cortes et al. | O performance of scientific-parallel applications under PAFS | |
Rosselló | Cooperative caching and prefetching in parallel/distributed file systems | |
Garcia-Carballeira et al. | An adaptive cache coherence protocol specification for parallel input/output systems | |
Shieh et al. | Reducing File-related Network Traffic in TreadMarks via Parallel File Input/Output |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110607 |
|
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: 20110711 |
|
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: 20110802 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4799669 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |