JP5254611B2 - 固定内容分散データ記憶のためのメタデータ管理 - Google Patents

固定内容分散データ記憶のためのメタデータ管理 Download PDF

Info

Publication number
JP5254611B2
JP5254611B2 JP2007523797A JP2007523797A JP5254611B2 JP 5254611 B2 JP5254611 B2 JP 5254611B2 JP 2007523797 A JP2007523797 A JP 2007523797A JP 2007523797 A JP2007523797 A JP 2007523797A JP 5254611 B2 JP5254611 B2 JP 5254611B2
Authority
JP
Japan
Prior art keywords
copy
area
node
backup
region
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.)
Active
Application number
JP2007523797A
Other languages
English (en)
Other versions
JP2008518284A (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.)
Hitachi Data System Corp
Hitachi Vantara Corp
Original Assignee
Hitachi Data System Corp
Hitachi Vantara 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 Hitachi Data System Corp, Hitachi Vantara Corp filed Critical Hitachi Data System Corp
Publication of JP2008518284A publication Critical patent/JP2008518284A/ja
Application granted granted Critical
Publication of JP5254611B2 publication Critical patent/JP5254611B2/ja
Active 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Description

本発明は、分散型コンピュータ・ネットワークにおける利用可能度、信頼性及び持続性の高いデータ記憶技術に係わる。
公知技術の説明
従来のテープまたは光メモリに代わる、またはこれを補足する、高度の利用可能度、信頼性及び持続性を有する「固定内容」のアーカイバルメモリに対する需要が高まっている。「固定内容」とは参照またはその他の目的で不変の状態で保管されることが期待されるあらゆるタイプのディジタル・アセットを意味する。このような固定内容としては、特に、e‐メール、文献、診断用画像、検査画像、音声記録、フィルム、ビデオなどが挙げられる。従来の独立ノード冗長アレイ(RAIN)記憶アプローチはこのような固定内容情報アセットを記憶するための大容量オンライン・アーカイブを作成するための選択アーキテクチュアとして登場した。必要に応じてクラスタにノードを加えたり除外したりすることによって、RAINアーキテクチュアはストーレッジ・クラスタを1つまたは2つ以上のノードの故障から保護することができる。複数のノードにデータを複製することによって、RAIN‐タイプのアーカイブはノードの故障または欠損を自動的に補償することができる。通常、RAINシステムは閉システム内の共通コンポーネントから設計されたハードウェア装置として広く供給される。
従来のアーカイバル記憶システムは典型的にはファイル毎にメタデータ及びその内容を記憶する。多くの場合、メタデータはシステムに記憶されている実データの内容、品質、状態、及びその他の特徴を記述する。分散記憶の場合、ファイルに関するメタデータは、例えば、ファイルの構成要素が記憶されているファイル名、ファイルの作成日時、保持データなどを含む。記憶システムの信頼性とファイルの利用可能度を達成するには信頼できるファイル記憶が必要であるが、メタデータのインテグリティもまたシステムの重要な部分である。ところが、公知の技術では、潜在的に信頼性に欠けるノードの分散システムにメタデータを分散させることは不可能であった。本発明はこの問題に取り組むものである。
発明の概要
好ましくは対称的なノードから成るアーカイバル記憶クラスタは好ましくはメタデータ・オブジェクトの形態を取る所与のメタデータに対するアクセスを組織し、提供するメタデータ管理システムを含む。それぞれのメタデータ・オブジェクトは固有の名前を有することができ、メタデータ・オブジェクトは領域として組織される。領域は1つまたは2つ以上のオブジェクト属性(例えば、オブジェクト名)をハッシュし、得られたハッシュ値のビット数を抽出することによって選択することが好ましい。ビット数は設定パラメータによってコントロールすることができる。それぞれの領域は冗長に記憶される。領域は領域コピー群から成る。具体的には、1つの認証の領域コピーがあり、バックアップ・コピーが幾つか存在するか、または全く存在しない。バックアップ・コピーの数は「許容可能な不具合点」(TPOF)数と呼称されることがある設定パラメータによってコントロールすることができる。即ち、代表的な実施態様として、領域は認証領域コピーとそのTPOFバックアップ・コピーから成る。領域コピーは、ノード毎の認証領域コピーの数とノード毎の領域コピーの総数がバランスするようにクラスタ・ノードに分散させる。
本発明の特徴として、それぞれの領域のそれぞれのコピーに関与するノードを領域「マップ」が識別する。領域マップはメタデータ管理システムを構成するプロセスによってアクセスすることができる。領域マップにおける領域はハッシュ値群を表し、この領域群全体が対応のすべてのハッシュ値をカバーする。上述したように、領域はハッシュ値のビット数を抽出することによって導き出される数によって識別される。領域マップ中の領域を画定し、所与の領域のオーナーシップを管理するためにネームスペース区分スキーマが使用される。この区分スキーマはデータベースにおいて実行することが好ましい。
領域コピーは3つの状態:「認証」、[バックアップ」及び「不完全」のいずれか1つの状態にある。も領域コピーが認証のものであれば、領域に対するリクエストはすべてこのコピーに向けられ、それぞれの領域に1つの認証コピーが存在することになる。もし領域コピーがバックアップ・コピーなら(または不完全コピーなら)このコピーは(認証領
域管理プロセスから)更新リクエストを受信する。メタデータがロードされつつあっても、(典型的には、認証領域コピーに対して)未だ同期化されていない間は不完全コピーである。同期化が完了するまでは不完全コピーは他の状態に昇格する資格は与えられず、同期化が完了した時点で初めてバックアップ・コピーとなる。
本発明では、バックアップ領域コピーを認証領域コピーと同期化する。同期化は更新リクエストの処理中に認証領域コピーとそのTPOFバックアップ・コピーとの間のプロトコルまたは「契約」を実行することによって保証される。例えば、ローカル更新を行った後、認証領域管理プロセスは(多くの場合、他のノードに存在する)そのTPOFバックアップ・コピーのそれぞれに対して更新リクエストを発信する。更新リクエストが受信されると、所与のバックアップ・コピーに関連する領域管理プロセスが確認を発信するか、または発信しようとするのが通常の手順である。確認はプロセスがそのローカル・データベースに更新を書き込んだかどうかとは無関係である。更新が適切になされたことを指示する前に認証領域管理プロセスはTPOFバックアップ・コピーのすべてからの確認を待つ。但し、この更新プロセスが上手く行かない場合が幾つか考えられる。例えば、(確認待っている間に)認証領域管理プロセスがバックアップ管理プロセスの不作動を示す異議に遭遇する、確認を発信下にもかかわらず、バックアップ管理プロセスが更新リクエストの処理を局所的に失敗する、確認を発信したものの、バックアップ領域管理プロセスが認証領域管理プロセスの不作動を示す異議に遭遇する、などがそれである。バックアップ領域管理プロセスが更新を処理できなければ、このバックアップ管理プロセスはシステムから排除される。バックアップ領域管理プロセスも認証領域管理プロセスも機能しなくなれば、新しい領域マップが提供される。このように同期化を確保することによって、それぞれのバックアップ・コピーを認証コピーに対して「ホット・スタンバイ」の状態に維持することができる。このようなバックアップ・コピーは、もし認証領域コピーが消えた場合、または負荷分散の必要上、現在の認証領域コピーを降格(いずれかのバックアップ領域コピーを昇格)させねばならない場合、昇格して認証コピーとなることができる。
このようにデザインしたから、たとえ多数のノードが同時に故障しても、メタデータの高い利用可能度を確保することができる。
本発明の比較的重要な構成要件を以上に述べたが、これらの構成要件は飽くまでも説明の便宜上選択下に過ぎず、本発明の開示内容を多様な態様で適用するか、または以下に説明するように本発明を部分的に変更することによって上記以外の多くの好ましい成果を達成することができる。
本発明の詳細及びその利点を添付の図面を参照して以下に説明する。
本発明は規模拡張可能なディスク−ベースのアーカイバル記憶装置管理システムとして実施することが好ましく、このシステムは独立ノード冗長アレイの基づくシステム構造であることが好ましい。ノードは種々のハードウェアを含むことがあるから、「混成」と考えることができる。ノードは多くの場合、1つまたは2つ以上の記憶ディスクへのアクセスを有し、記憶ディスクは物理記憶ディスクの場合もあれば、記憶領域ネットワーク(SAN)において見られるような仮想記憶ディスクの場合もある。それぞれのノードにおけるアーカイブ・クラスタ・アプリケーション(及び、場合によっては、アプリケーションを実行する内在オペレーション・システム)は同じか、または殆ど同じである。1つの実施態様として、それぞれのノードにおける(オペレーション・システムを含む)ソフトウェア・スタックが対称性であるのに対して、ハードウェアは混成的であってもよい。図1に示すようなシステムを利用することによって、企業は多様な種類に亘る、例えば、文書、e-メール、衛星画像、診断画像、検査画像、音声記録、ビデオなどのための恒久的な記憶装置を作成することができる。以上に列挙した種類はほんの一部の例に過ぎないことは云うまでもない。独立サーバー、またはいわゆる記憶装置ノードにおけるデータを複製することによってハイレベルの信頼度が達成される。それぞれのノードはそのピアと対称であることが好ましい。即ち、いずれのノードもすべての機能を行うことができるから、いずれかのノードが呼称しても、アーカイブの利用可能度には殆ど影響しない。
同時係属出願第10/974,443号に記述されているように、それぞれのノードにおいて実行される分散ソフトウェア・アプリケーションはディジタル・アセットを補足、保存、管理および検索する。図2の実施態様において、個々のアーカイブの物理境界をクラスタと呼称する。多くの場合、クラスタは単一のデバイスではなく、デバイスの集合である。これらのデバイスは均一であっても混成であってもよい。典型的なデバイスは、例えば、Linuxのようなオペレーティング・システムを運営するコンピュータまたはマシンである。コモディティ・ハードウェアにおける主役であるLinux−系システムのクラスタは、小は数個の記憶装置ノード・サーバから大は数千テラバイトのデータを記憶する多数のノードまで規模を拡張できるアーカイブを提供する。このような構造であれば、組織の増大するアーカイブ需要に合せていつでも記憶容量を増強することができる。アーカイブが常にデバイスの故障から保護されるように、クラスタ全体に亘ってデータを複製することが好ましい。ディスクまたはノードが故障すると、クラスタは同じデータの複製を維持しているクラスタ内の他のノードが自動的に肩代わりする。
図示のクラスタは好ましくは大別して下記のコンポーネントから成る:ノード202、1対のネットワーク・スイッチ204、電力配分装置(PDU)206、及び無停電電源(UPS)208。ノード202は通常、1つまたは2つ以上の商品サーバー、CPU(例えば、Intelx86)、適当なランダムアクセスメモリ(RAM)、1つまたは2つ以上のハードドライブ(例えば、標準的なIDE/SATA、SCSIなど)、及び2つまたは3つ以上のネットワークインターフェース・カード(NIC)を含む。典型的なノードは2.4GHzチップ、512MB RAM、及び6つの200GBハードドライブを含む2Uラックマウント方式ユニットである。但し、これは1例に過ぎない。ネットワーク・スイッチ204は通常、ノード間のピア・ツ・ピア交信を可能にする内部スイッチ205と、エキストラ・ノードからそれぞれのノードへのアクセスを可能にする外部スイッチ207を含む。それぞれのスイッチはクラスタ中のすべてのノードを扱うのに充分なポートを必要とする。この必要性を満たすには、イーサネットまたはGigEを作用すればよい。PDUs206はすべてのノード及びスイッチへの給電に使用され、UPSs
208はすべてのノード及びスイッチを保護するのに使用される。多くの場合、クラスタは公衆インターネット、企業内ネットワーク、またはその他の広域または構内ネットワークなどのネットワークに接続可能である。図示例の場合、クラスタは企業環境内に実施されている。クラスタには、例えば、企業のドメイン・ネーム・システム(DNS)ネーム・サーバーを検索することによって到達することができる。即ち、例えば、クラスタのドメインが既存のドメインの新しいサブ‐ドメインである場合が考えられる。図示例では、このサブ‐ドメインが企業DNSサーバーによってクラスタ自体のネーム・サーバーに委託される。エンドユーザーは公知のインターフェースまたはアクセス・ツールを利用してクラスタにアクセスする。クラスタへのアクセスは、例えば、APIを介して、または公知または新規に開発されたアクセス方法、サービス、プログラムまたはツールを介して、IP−ベースのプロトコル(HTTP、FTP、NFS、AFS、SMB、ウェブ・サービスなどを利用することでよって行うことができる。
クライント・アプリケーションは1つまたは2つ以上のタイプの外部ゲートウェイ、例えば、UNIXファイル・プロトコル、またはHTTP APIなどを介してクラスタにアクセスする。アーカイブは必要に応じて標準的なUNIXファイル・プロトコル‐ベースの設備下に作用する仮想ファイル・システムを介して可視化できることが好ましい。例えば、NFS、FTP、SMB/CIFSなどである。
1つの実施態様では、アーカイブ・クラスタ・アプリケーションは(例えば、Ethernetを介して)全体としてネットワークを形成する独立ノード冗長アレイ(H−RAIN)においてアーカイブ・クラスタ・アプリケーションが実行される。ノード毎のハードウェアは異質であってもよい。但し、最大限の利用可能度を達成するためには、それぞれのノードが図3に示すように、幾つかの実行時コンポーネントから成る分散アプリケーションの全インスタンス300を実行することが好ましい。即ち、ハードウェアは異質であっても、(少なくとも本発明に関する限り)ノードにおけるソフトウェア・スタックは同じである。これらのソフトウェアコンポーネントはゲートウェイ・プロトコル層302、アクセス層304、ファイルのトランザクション及び管理層306、及びコア・コンポーネント層308から成る。「層」と呼称するのは飽くまでも説明の便宜上であって、当業者には周知のように、もっと有意義な方法でその機能を特徴付けることができる。層(またはこれに含まれるコンポーネン)の1つまたは2つ以上が一体化されていてもよい。幾つかのコンポーネントを複数の層で共用させることもできる。
ゲートウェイ・プロトコル層302におけるゲートウェイ・プロトコルは既存のアプリケーションを透過的にする。特に、ゲートウェイはネイティブ・ファイル・サービス、例えば、NFS310、SMB/CIFS312、及びウェブ・サービスを提供することによってカスタム・アプリケーションを形成する。HTTPサポート314も提供される。アクセス層304はアーカイブへのアクセスを可能にする。特に、本発明では、固定内容ファイル・システム(FCFS)316がネイティブ・ファイル・システムをエミュレートすることによってアーカイブ・オブジェクトへの完全なアクセスを可能にする。FCFSはあたかも普通のファイルであるかのようにアプリケーションを直接アーカイブ内容にアクセスさせる。好ましくは、アーカイブ内容を元のフォーマットにレンダリングする一方、メタデータをXMLファイルとして表現する。FCFS316はディレクトリ、パーミッション及びルーチン・ファイル‐レベルのコールを型通りに表示するから、マネジャーは慣れた態様で固定内容データを提供することができる。ファイル・アクセス・コールはユーザ・スペース・デーモンによってインターセプトされ、(層308における)該当のコア・コンポーネントに転送され、このコア・コンポーネントが呼出しアプリケーションに対する適切な表示を動的に形成する。詳しくは後述するように、FCFSコールをアーカイブ・ポリシーによって制約することによって自律的アーカイブ管理を容易にすることが好ましい。従って、1例として、マネジャーまたはアプリケーションは(所与のポリシーである)保持期間が未だ有効なアーカイブ・オブジェクトを消去することはできない。
アクセス層304はウェブ・ユーザ・インターフェース(UI)318及びSNMPゲートウェイ320をも含むことが好ましい。ウェブ・ユーザ・インターフェース318はファイルのトランザクション/管理層306における管理エンジン322への対話型アクセスを可能にする管理コンソールとして実施することが好ましい。管理コンソール318はアーカイブ・オブジェクト及び個別ノードを含むアーカイブを動的に表示する、パスワードで保護されたウェブ‐ベースのGUIであることが好ましい。SNMPゲートウェイ320は管理エンジン322へのストレージ管理アプリケーションのアクセスを容易にし、クラスタのアクティビティを確実にモニターし且つ管理することを可能にする。管理エンジンはシステム及びポリシー・イベントを含むクラスタのアクティビティをモニターする。ファイルのトランザクション/管理層306はリクエスト・マネジャー・プロセス324をも含む。リクエスト・マネジャー324は(アクセス層304を介しての)外界からのすべてのリクエストと、コア・コンポーネント層308におけるポリシー・マネジャー326からの内部リクエストを統合する。ポリシー・マネジャー326の動作については詳しく後述する。
ポリシー・マネジャー326のほかに,コア・コンポーネントはメタデータ・マネジャー328、及びストレージ・マネジャー330の1つまたは2つ以上のインスタンスをも含む。メタデータ・マネジャー328はそれぞれのノードにインストールすることが好ましい。全体として、クラスタにおけるメタデータ・マネジャーはすべてのアーカイブ・オブジェクトを管理する分散データベースとして作用する。所与のノードにおいて、メタデータ・マネジャー328はアーカイブ・オブジェクトのサブセットを管理し、好ましくはそれぞれのオブジェクトが外部ファイル(「EF」、記憶させるためアーカイブに入力されるデータ)とアーカイブ・データが物理的に配置されている内部ファイル・セット(それぞれが「IF」)との間に位置する。同じメタデータ・マネジャーが他のノードから複製されたアーカイブ・オブジェクトのセットをも管理する。従って、それぞれの外部ファイルの現状を幾つかのノードにおける複数のメタデータ・マネジャーが常に利用することができる。ノードに故障が発生した場合、他のノードにおけるメタデータ・マネジャーがそれまで故障ノードによって管理されていたデータに直ちにアクセスする。ストレージ・マネジャー330は分散アプリケーションにおける他のすべてのコンポーネントが利用できるファイル・システム層を提供する。好ましくはこのファイル・システム層がノードのローカル・ファイル・システムにデータ・オブジェクトを記憶させる。所与のノードにおけるそれぞれのドライブは好ましくはそれ自体のストレージ・マネジャーを有する。これにより、ノードは個々のドライブを除去してスループットを最適化することができる。ストレージ・マネジャー330はシステム情報、データに関する完全性チェックをも提供するとともに、ローカル構造に直接アクセスすることもできる。
図3に示すように、クラスタは通信ミドルウェア層332及びDNSマネジャー334を介して内部及び解部通信を管理する。インフラストラクチャ332はアーカイブ・コンポーネント間の通信を可能にする効率的で、しかも信頼度の高いメッセージに基づくミドルウェア層である。図示例では、この層がマルチキャスト/ポイント・ツー・ポイント通信を支援する。DNSはすべてのノードを企業サーバーに接続する分散ネーム・サービスを実行する。DNSマネジャーはリクエスト負荷がすべてのノードにおいて均等になるように作用して、クラスタのスループット及び利用可能度を最大限に維持することが好ましい。
図示例において、ArCアプリケーションは、例えば、Red Hat Linux9.0のようなベース・オペレーティング・システム336で実行される。通信ミドルウェアとしては、Spreadグループ通信またはその他の分散型通信機構に基づくものを使用できる。公知のように、Spreadは高性能のメッセージ・サービスを可能にするツールキットであり、外部または内部ネットワークに発生する障害に対して柔軟に対応することができる。Spreadは分散アプリケーションのための一体化されたメッセージ・バスとして機能し、高度に同調されたアプリケーション‐レベルのマルチキャスト通信及びグループ通信を可能にする。その他のコンポーネントとして、固定内容ファイル・システム(FCFS)316のために使用できるFUSE(USErspaceにおけるファイル・システム)が挙げられる。NFSゲートウェイ310は標準的なnfsd Linux Kernel NFSドライバーのユーザー・スペース版であるUnfsdによって実施することができる。それぞれのノードにおけるデータベースは、例えば、オブジェクト‐関連データベース管理システム(ORDBMS)であるPostgreSQLによって実施することができる。ノードはJava HTTPサーバー及びサーブレット・コンテナであるJettyのようなウェブ・サーバーを含む。但し、以上に挙げた機構は飽くまでも説明の便宜上列記したものであり、本発明がこれらの機構に制限されるものではない。
所与のノードにおけるストレージ・マネジャー330は物理的記憶装置を管理する。それぞれのストレージ・マネジャー・インスタンスは並列アルゴリズムに従ってすべてのファイルが配置されている単一のルート・ディレクトリを担当することが好ましい。同時に複数のストレージ・マネジャー・インスタンスが1つのノードにおいて機能し、それぞれのインスタンスがシステム内の異なる物理的ディスクを表す。ストレージ・マネジャーがドライブを取除き、システムの残り部分からのインターフェース技術が利用される。ファイルへの書込みを要求されると、ストレージ・マネジャーは対応の表示を行うため、フルパス及びフルネームを形成する。代表的な実施態様では、ストレージ・マネジャーに記憶させるべきそれぞれのオブジェクトが記憶させるべき生データの形で受信され、記憶させるファイルにストレージ・マネジャーが自らのメタデータを加えることにより、異なるタイプの情報をトラックできるようにする。例えば、このメタデータは以下に列記する内容を含む:EF長さ(外部ファイルの長さ(バイト))、IFセグメントのサイズ(内部ファイルのこの部分のサイズ)、EF保護表示(EF保護モード)、IF保護任務(この内部ファイルの表示)、EF作成時刻印(外部ファイル時刻印)、シグネチャ(シグネチャのタイプを含む、書込み時(PUT)における内部ファイルのシグネチャ)及びEFファイルネーム(外部ファイルのファイルネーム)。内部ファイルのデータとともにこの追加メタデータを記憶させることによって、保護効果のレベルがさらに向上する。特に、スキャベンジングは、内部ファイルに記憶されているメタデータから、データベース中に外部ファイルを作成することを可能にする。その他のポリシーは内部ファイルに対して内部ファイル・ハッシュを有効化することにより、内部ファイルがそのままであることを有効化することができる。
上述したように、内部ファイルはアーカイブ・オブジェクト中のオリジナル「ファイル」の一部を表す「大量の」データであることが好ましく、ストライピング及び保護ブロック達成するため異なるディスクに配置することが好ましい。通常、それぞれのアーカイブ・オブジェクト毎に1つのファイル記述項がメタデータ・マネジャーに存在し、それぞれの外部ファイル記述項ごとに多数の内部ファイル記述項が存在する。多くの場合、内部ファイルのレイアウトはシステムに応じて異なる。実施態様によっては、ディスク上におけるこのデータの物理的フォーマットが一連の可変長記録の形で記憶される。
リクエスト・マネジャー324はシステム内の他のコンポーネントと相互作用することによってアーカイブ作用を行うのに必要な一連のオペレーションを実行する。リクエスト・マネジャーは多様な同時作用を可能にし、途中に故障が発生したトランザクション処理を無効化することができ、実行に長時間を要する可能性があるトランザクションをサポートする。リクエスト・マネジャーはまた、アーカイブにおける読取り/書込みオペレーションが適正に行われ、リクエストがすべて常に既知の状態にあることを保証する。さらにまた、所与のクライント・リクエストを満たすように、複数ノードにおいて同時に行われる複数の読取り/書込みオペレーションを整合させるべくトランザクション管理を可能にする。また、リクエスト・マネジャーは最近使用されたファイルに対応するメタデータ・マネジャー記述項をキャッシュし、セッション及びデータブロックのためのバッファリングを提供する。
クラスタの最も重要な機能はディスクに無制限の数のファイルを確実に記憶させることにある。何らかの理由でアクセス不能であるか、または利用不能であれば、所与のクラスタを「信頼できない」と考えられる。本発明の目的はこのような信頼できないノードを回収して信頼できる、利用可能度の高いストレージを作成することにある。記憶させる必要がある情報は2つのタイプに大別される。即ち、ファイル自体とファイルに関するメタデータである。
メタデータ管理
本発明では、所与のメタデータ、例えば、システム・データへのアクセスを編成し、提供するのがメタデータ管理システムである。システム・メタデータはアーカイブ中に存在するファイルに関する情報、構成情報、管理UIに表示される情報、メトリックス、取り消し不能なポリシー違反などを含む。詳しくは図示しないが、(例えば、アーカイブ・ファイルと関連するユーザ・メタデータのような)その他のタイプのメタデータも、以下に説明するメタデータ管理システムを利用することによって管理することができる。
クラスタの代表的な実施態様において、下記オブジェクト・タイプの1つまたは2つ以上を含むことがある一連のメタデータ・オブジェクトの持続性を可能にする:
・ExternalFile:アーカイブのユーザによって読取られるファイル;
・InternalFile:ストレージ・マネジャーによって記憶されているファイル;尚、External FilesとInternal Filesの間には1つまたは2つ以上の関係が存在するのが普通である。
・ConfigObject:クラスタの構成に使用される名前/値ペア;
・AdminLogEntry:管理UIに表示されるメッセージ;
・MetricsObject:ある時点における(例えば、ファイル数のような)アーカイブの大きさを表す時刻印されたキー/値ペア;
・PolicyState:あるポリシーの違反。
云うまでもなく、上記オブジェクトは説明の便宜上挙げた例であり、本発明の範囲を制限するものではない。
それぞれのメタデータ・オブジェクトは固有のネームを有し、このネームは変わらないことが好ましい。領域は認証領域コピーとTPOF数(0以上)バックアップ領域コピーを有する。0コピーでも、メタデータ管理システムはその規模を拡張できるが、利用可能度が高いとは云えない。領域は1つまたは2つ以上のオブジェクト属性(例えば、完全なパスネームまたはその一部)をハッシュ処理し、所与のハッシュ値ビット数を抽出することによって選択される。これらのビットが領域数を構成する。選択されたビットは低位ビット、高位ビット、中位ビットまたは個々のビットの組み合わせである。代表的な実施態様では、所与のビットがハッシュ値の低位ビットである。オブジェクトの属性は公知のハッシュ関数を使用してハッシュすればよい。ハッシュ関数としては、例えば、java.lang.string.hashCodeのようなJava−系のハッシュ関数がある。領域数を構成するビット数はregionMapLevelと呼称される設定パラメータによってコントロールされる。例えば、この設定パラメータを6にセットすると、結果は2=64領域となる。領域の数がもっと多くても良いことは云うまでもなく、詳しくは後述するように、ネームペース区分スキーマを利用することによって自動的に領域の数を調節することができる。
それぞれの領域は冗長に記憶させればよい。上述のように、領域には1つの認証コピーとゼロまたは1つ以上のバックアップ・コピーがある。バックアップ・コピーの数は上記メタデータTPOF(または「TPOF」)設定パラメータによってコントロールされる。好ましくは、領域コピーをクラスタのすべてのノードに分散させることによってノード毎の認証領域コピーの数をバランスさせるとともに、ノード毎の領域総数をバランスさせる。
メタデータ管理システムはそれぞれのノードにおけるデータベースにメタデータ・オブジェクトを記憶させる。このデータベースを利用して領域マップをサポートする。1つの実施態様として、PostgreSQLを使用してデータベースを実施するが、このデータベースはオープンソースとして利用することができる。領域コピー毎にスキーマが存在し、それぞれのスキーマにメタデータ・オブジェクトのタイプ毎のテーブルが存在することが好ましい。スキーマは簡単に云えば、テーブル、索引、手続、及びその他のデータベース・オブジェクトを有することができるネームスペースである。それぞれの領域が独自のスキーマを持つことが好ましい。それぞれのスキーマはメタデータ・オブジェクト毎に1つずつのテーブルから成るテーブル一式を有する。これらのテーブルのそれぞれにおける1行は単一のメタデータ・オブジェクトに対応する。データベースとしてはPostgresが好ましいが、(例えば、Oracle、 IBM DB/2などのような)適当な関係型データベースを使用してもよい。
図4に示すように、それぞれのノード400は一連のプロセスまたはコンポーネントを有する:即ち、1つまたは2つ以上の領域マネジャー(RGM)402a‐n、メタデータ・マネジャー(MM)404、少なくとも1つのメタデータ・マネジャー・クライ
ト(MMC)406、及び1つまたは2つ以上のスキーマ410a‐nを有するデータベース408。RGM、MM及びMMCコンポーネントはJavaバーチャル・マシンのようなバーチャル・マシン412で実行する。領域コピー毎に1つのRGMが存在する。従って、認証領域コピー毎にRGM、バックアップ領域コピー毎にRGM、不完全領域コピー毎にRGMが存在する。また、RGM402毎にデータベース・スキーマ410が存在し、RGM402がこのスキーマを実行する。データベースはまた領域マップ405を記憶する。本発明では、後述するように、それぞれのノードが領域マップの同じグローバル・ビューを持つことが好ましく、この条件は同期化スキーマによって強制される。領域マネジャーRGM402は(認証、バックアップ、不完全の別なく)領域コピーに作用し、メタデータ・マネジャー・クライント406及びその他の領域マネジャー402からのリクエストを実行する。リクエストは適当な手段、例えば、図3に示すような通信ミドルウェアまたはその他のメッセージ層を介して所与のRGMへ送信される。領域マネジャーが提供する実行環境において、これらのリクエストは、例えば、このRGMの管理下にあるスキーマに作用するようにデータベースと接続することによって実行される。それぞれの領域マネジャーはそのデータをデータベース408に記憶させる。メタデータ・マネジャー404はノードにおいてメタデータ管理を行うトップレベルのコンポーネントであり、領域マネジャー(RGM)の創成及び破壊、さらには、RGMが必要とする資源、例えば、クラスタ構成情報やデータベース・コネクションのプールの編成を行う。好ましくは、(所与のノードにおける)所与のメタデータ・マネジャーがリーダーをして作用し、(ノードのセットまたはサブセット)のうち、どのメタデータ・マネジャーがどの領域コピーに作用するかを判定する。メタデータ・リーダーを選択するにはブリ・アルゴリズム(bully algorithm)またはその変形アルゴリズムを使用すればよい。それぞれのノードは単一のメタデータ・マネジャーを有することが好ましいが、それぞれのノードが複数のMMsを実行することも可能である。(詳しくは後述するような)ネームスペース区分スキーマによって領域オーナーシップが確立したら、それぞれのメタデータ・マネジャーは1つまたは2つ以上の領域マネジャーのセットを調整する。(例えば、管理エンジン、ポリシー・マネジャーなどのような)システム・コンポーネントはメタデータ・マネジャー・クライントを介してメタデータ・マネジャーMMと相互作用する。MMCは(領域マップを利用して)所与のリクエストを実行するRGMを位置検出し、選択されたRGMに対してリクエストを発信し、選択されたRGMが(例えば、ノード故障のため)利用不能であれば、リクエストに再試行する。この場合、ノードが新しい領域マップを受信すれば、再試行は成功する。
上述のように、領域マップはそれぞれの領域のコピーに寄与するノードを同定する。バーチャル・マシン412(及びこれに含まれるそれぞれのRGM、MM及びMMCコンポーメント)は領域マップ405へのアクセスを有する;JVMへのコピー後、領域マップのコピー420も図4に示した。従って、所与のノードにおけるJVM及びデータベースが領域マップを利用することができる。本発明を制限するものではない図示の実施例においては、それぞれのメタデータベースが(例えば、ネームのような)属性を有し、この属性をハッシュ処理することによって0×0乃至0×3ffffffの整数、即ち、30−ビット値が得られる。これらの値は符号付きの32−ビット整数で表わすことができ、(例えば、値域のハイエンドに1を加える場合のように)オーバーフローの問題に遭遇することはない。30ビットなら大規模クラスタにも充分な約10億領域にも対応できる。1つの領域はハッシュ値群を表し、全領域から成るセットは考えられるすべてのハッシュ値をカバーする。領域毎にビット位置が異なり、異なるビット位置が一定の法則に従うことが好ましい。従って、それぞれの領域は好ましくはハッシュ値のRegionLevelMapビットを抽出することによって導き出される数によって同定される。設定パラメータが6にセットされ、64領域が可能な場合、得られるハッシュ値は数0×0乃至0×3fとなる。
既に述べたように、領域コピーは3つの状態のうちのいずれか1つの状態にある:即ち、「認証」、「バックアップ」及び「不完全」の状態である。もし領域コピーが認証コピーなら、領域に対するリクエストはすべてこのコピーに向けられ、領域毎に1つの認証コピーが存在する。領域コピーがバックアップなら、このコピーは(認証領域マネジャー・プロセスから)バックアップ・リクエストを受信する。メタデータをロード中であるが未だコピーが(多くの場合、他のバックアップ・コピーと)同期化されていなければ、領域コピーは不完全である。同期化が完了し、この時点でコピーがバックアップ・コピーになるまで、不完全領域コピーは他の状態へ昇格することができない。それぞれの領域は1つの認証コピーと(メタデータTPOF設定パラメータによってセットされる)所与の数のバックアップまたは不完全コピーを有する。
認証領域コピーとそのTPOFバックアップ・コピーとの間の所与のプロトコル(または「契約」)を行使することによってバックアップ領域コピーを認証領域コピーと同期させる。このプロトコルを以下に説明する。
これまでの経緯として、MMCにおいて更新リクエストが受信されると、MMCはローカル領域マップを検索することによって認証領域コピーの場所を発見する。MMCは認証領域コピーと連携するRGMに対して更新リクエストを送信し、このRGMがこれをコミットする。更新は(認証領域コピーと連携するRGMによって)TPOFバックアップ・コピーのそれぞれのRGMにも送信される。但し、認証RGMは成功を指示するために、バックアップ領域コピーと連携するそれぞれのRGMが更新をコミットするのを待つ必要はなく;バックアップ領域コピーと連携するRGMが更新を受信すると、このRGMは直ちに(認証RGMに対して)確認を返信するか、または返信しようとする。この確認はバックアップ・リクエストが受信され、実行される前に発信される。不具合が生じない限り、認証RGMがすべての確認を受信すれば、このことがMMCに通告され、MMCは手続呼び出し側に成功したことを返信する。但し、所与の不具合事象が起こると、プロトコルに従って、(バックアップRGMか、認証RGMかに関係なく)問題のRGM(及びその影響下にあるノード)が運用から除外され、MMリーダーによって新しい領域マップが発行される。適当な技術を利用してもよいが、好ましくはJVMを停止させることによってRGMを運用から除外する。新しいマップは失われた領域コピーの代替コピーとなる。このように、それぞれのバックアップ領域コピーは認証領域コピーに対する「ホット・スタンバイ」であり、(認証RGMの故障、負荷バランスのためなどの理由で)必要に応じて認証領域コピーに昇格することができる。
更新プロセスが失敗する幾つかの態様がある。例えば、(確認を待っている時に)認証領域マネジャーが(確認を待っている時に)、バックアップ・マネジャー・プロセスが作用しなかったという異議に遭遇することがあり、あるいはまた、確認を送信したにも拘わらず、バックアップ・マネジャー・プロセスが更新リクエストの処理を局所的に失敗する場合があり、さらにまた、バックアップ・マネジャー・プロセスが確認を送信している最中に、認証領域マネジャー・プロセスが作用しなかったという異議に遭遇するなどの場合もある。上述したように、もし所与のバックアップRGMが更新を処理できなければ、運用から除外される。また、バックアップRGMまたは認証RGMが作用不能になれば、新しい領域マップが発行される。
同期化が維持されていることを検証する手段として、起こり得る幾つかの故障シナリオを以下に説明する。第1のシナリオでは、更新リクエストを確認した後、それぞれのバックアップRGMが関連のデータベースにおいて局所的にこのリクエストを成功裏に実施すると仮定する。この場合、認証スキーマとバックアップ・スキーマは同期している。第2のシナリオでは、認証RGMがバックアップRGMからの(例えば、Java IOExceptionのような)異議に遭遇すると仮定する。このことはバックアップRGMが故障状態にある可能性を意味する。この場合、MMリーダーが新しいマップを送信するか、またはバックアップ・ノードが故障したことに気付いて自ら新しいマップの創成を開始することを認証RGMがリクエストする。(「新しいマップ」が単に現在のマップの更新バージョンであってもよいことは云うまでもない)。このプロセスの一部として、この時点においても認証RGMから入手可能な中断された更新が残余のバックアップ領域コピー及び新しい不完全領域コピーに適用される。第3のシナリオでは、認証RGMに対するバックアップ・リクエストを確認している最中に、バックアップRGMが異議に遭遇すると仮定する。このことは認証RGMが故障状態にある可能性を意味する。この場合、認証領域コピーを含むノードの故障は知らされているから、MMリーダーは新しいマップを送信する。もしこの更新がいずれかのバックアップRGMによって行われたとしたら、新しいマップが分散させられる時点ですべての領域コピーがこの更新を利用できることになる。呼び出し側に対しては更新が失敗であったと報告されるが、実際には更新が成功したのであるから、偽ネガティブという結果になる(但し、これは許容し得る挙動である)。いずれのバックアップRGMによっても更新が行われなかった場合、更新は消失し、呼び出し側に対して失敗であったと報告される。第4のシナリオでは、バックアップRGMが確認受信後、バックアップ・リクエストの処理に失敗すると仮定する。この場合には、上述したように、失敗と同時にバックアップRGMがシャットダウンする。このシャットダウンを確実にするため、予期せぬ事態が発生すると同時にシャットダウンを実施する(例えば、Java SQLExceptionなど)。これにより、同期化関係を確保できなくなると、バックアップ領域は確実に運用から除外される。このような場合、ノーマル・マップ再編成プロセスが別のノードに新しいバックアップ領域コピーを創成する。少なくとも認証領域コピーにおいて更新がなされ、従って、新しいバックアップ領域コピーは認証領域コピーと同期化される。第5のシナリオでは、局所的にコミットする前に認証RGMが故障すると仮定する。このような場合、メタデータ更新は存在せず、リクエストは失敗する。
上記以外にも種々のシナリオが想定されるが、上記シナリオから、本発明が認証領域コピーとそのTPOFバックアップ領域コピーとの間の同期化を保証する態様が理解されるであろう。
既に述べたように、領域マップはそれぞれの領域のそれぞれのコピーのオーナーシップを記述する。例えば、図5はメタデータTPOF=2の4−ノード・クラスタに関する領域マップを示す。この例において、領域0に関してはノード1が認証であり、ノード2及び3がバックアップ、領域1に関してはノード2が認証、ノード3及び4がバックアップというように順次指定されている。本発明では、クラスタの拡張に合せて、特定領域の管理(オーナーシップ)を変化させるためネームスペース区分スキーマを利用する。ダイナミックな拡張を可能にする方法の1つはハッシュ値数を構成するビット数を決定するregionMapLevel設定パラメータを増分することである。クラスタの拡張に伴い、領域マップの1つまたは2つ以上の区分が「スプリット」される。スプリット操作にはハッシュ値のもう1つのビットが利用され、これに合せてメタデータの再分散が行われる。例えば、レベル6におけるマップと、ハッシュ値が0×1000002a及び0×1000006aである2つのメタデータ・オブジェクトを考察されたい。これらのハッシュ値(16進法 0×2a、「2」は2進「0010」、「6」は2進「0110」)の最後の6ビットは同じである;従って、双方のオブジェクトは領域0×2aに該当する。もしマップ・レベルが7にまで上昇すると、領域は0乃至0×7fとなり、双方のオブジェクトは別々の領域、即ち、0×2aと0×6aに分けられる。
このアプローチを使用してもよいが、すべての領域を同時にスプリットされねばならない。この方法よりも好ましい方法は領域を増分的にスプリットすることである。このため、ネームスペース区分スキーマが領域を順次、即ち、領域0に始まり、現時点レベルの最終領域で終わるようにスプリットする。領域はハッシュ値のもう1つのビットを使用してスプリットする。図6はこのプロセスを示す。この実施例においては、マップ・レベル1に2つの領域602(ノード0)及び604(ノード1)が存在する。ノード番号が2進法で示されている。マップの拡張が必要な場合、区分スキーマがハッシュ値のもう1つのビットを使用して領域0をスプリットする。その結果、3つの領域606、608及び610が創成される。新しいビットが0であるオブジェクトは領域606(ノード00)にとどまり、残余のオブジェクトが新しい最終領域610(ノード10)に移る。スプリットの結果として付加されるビットをイタリック文字で示す。即ち、00及び10である。尚、最初と最後の領域606及び610は2つのビットを使用するのに対して、中央(スプリットされていない)領域は1つだけのビットを使用する;それでも、ナンバリング・スキーマは正しく作用する。即ち、左から右へ見て、{0、1、2}となる。さらに拡張させるには、領域1をスプリットして4つの領域612(ノード00)、614(ノード1)、616(ノード10)及び618(ノード11)を創成する。これによってレベル2が完成する。領域マップが再び拡張しなければならない場合、スキーマが00乃至000をスプリットし(即ち、ハッシュ値のもう1つのビットを加えることによる)、末尾に新しい領域を加える(同様にハッシュ値のもう1つのビットを加えることによる)。結果として領域マップは図示のように5つの領域620、622、624、626及び628を有する。
領域数がノード数と一致しなくてもよい。換言すれば、独立ノード・アレイにおいて、領域数はノード数と相関関係にはない。
従って、1つの実施態様として、メタデータ・オブジェクトを領域に配置し、領域を増分的にスプリットすることによって領域を管理する。領域コピーは(認証、バックアップ、不完全の別なく)それぞれのノードにおけるデータベースに記憶される。既に述べたように、メタデータ操作は認証RGMによって行われる。しかし、ノードが故障すると、幾つかの領域コピーが失われる。既に述べたように、領域のバックアップ・コピーの1つを認証領域コピーに昇格させることによって利用可能度を回復することができ、これには数秒もあれば充分である。バックアップを昇格させるこの短いインターバルの間、MMCから領域へ送信されるリクエストは失敗に終わる。この失敗は意義としてMMCによって認識され、MMCは遅れてリクエストを再試行する。但し、リクエストが再試行されるまで、更新されたマップは定位置にあるから、MMCユーザに対するサービスが中断されることはない。上述したように、このアプローチは領域のコピー(好ましくはコピーのすべて)が同期関係にあることを前提とする。
従って、メタデータ管理システムは領域のコピーを同期化された状態に維持する。認証領域コピー中のオブジェクトに対して行われる更新はそのままバックアップ領域コピーにおいて複製される。認証RGMによって更新が行われると、これと同じ更新がすべてのバックアップ領域コピーに適用される。これとは対照的に、汎用分散データベースでは異なるサイトにおいて異なる更新が行われることがあり、特定の更新サイトがロールバックを必要とするような問題に遭遇することがある。本発明では、1つの領域の1つのコピー内で、他のすべてのコピーにおいて実行されるのと同じ順序で1つずつリクエストを実行することが好ましい。例えば、デッドロックまたはうっかりのロック忘れがあってもトランザクションを中断する必要はない。典型的には、リクエストの実行が失敗する原因は例えばディスクのクラッシュ、データベースの容量不足などのようなノード故障に限られる。しかし、メタデータ管理システムは(ノード・レベル、領域管理レベルなど、レベルに関係なく)このような故障があれば、故障ノードにおける領域コピーを配置換えするように作用する;従って残余の領域コピーのインテグリティが保証される。詳しく後述するように、本発明では、もし認証RGMを含むノードが故障しても、アックアップRGMは(更新実行中であるか否かに関係なく)同期関係を保つか、または中断された更新によってのみ同期状態から逸脱する。後者の場合、同期関係の回復は容易である。バックアップ領域は認証領域と同期化された状態に維持されるから、(バックアップから認証への)昇格は一瞬で行われる。
ノードの故障はバックアップ領域の消失につながり易い。バックアップ領域は他のノードに新しい不完全領域を創成することによって回復される。不完全領域が創成されるや否や、記録更新が開始され、認証領域からのデータ複写が開始される。複写が完了すると、累積更新が当てはめられ、更新されたバックアップが形成される。新しいバックアップ領域はMMリーダーに対して、最新バージョンであることを通告し、これに応答してMMリーダーは領域の(不完全からバックアップへの)昇格を含むマップを送信する。
本発明によるバックアップ領域維持に関するさらなる詳細を以下に説明する。
既に述べたように、バックアップ・スキーマは同期関係にある領域のバックアップ・コピーの1つまたは2つ以上(好ましくはすべて)に依存するから、それぞれのバックアップ・コピーは「ホット・スタンバイ」である。バックアップ領域は下記のように維持される。メタデータ・オブジェクトは認証RGMに対してリクエストを送信することによって創成または変更される。リクエストの実行は多くの場合下記のように進められる:
それぞれのバックアップ領域マネジャーのためにローカル・データベースを更新し、
データベース更新をコミットし、
バックアップ領域マネジャーに対してバックアップ・リクエストを送信し、
バックアップ・リクエストの確認を待ち、
管理を呼び出し側に戻す
バックアップ・リクエストに時間切れの規定はない。バックアップRGMからの異議が遠隔ノードが故障したことを示唆する。管理エンジンがこの異議に気付き、MMリーダーにこの故障を知らせる。その結果、他の場所に新しい不完全領域コピーが創成される。次いで、この不完全領域コピーを記述する新しい領域マップが分散させられる。従って、認証RGMはこの異議を無視することができる。
バックアップ・リクエストの受信側はこのリクエストを確認し、リクエストされた更新をローカル・データベースに適用する。最も新しく受信されたバックアップ・リクエストはバックアップ領域の回復に利用される。最新のリクエストだけが必要とされるから、新しいバックアップ・リクエストが受信され、実行される時、先行のリクエストは廃棄してもよい。
バックアップ領域コピーがホット・スタンバイとして使用されるためには、認証領域コピーと同期関係に維持されていなければならない。既に述べたように、領域コピーが(バックアップから認証へ)昇格する前に最新の更新と同期化させる方法がスキーマによって可能になる。従って、バックアップ・リクエストの受信を確認した後(可能なら)、バックアップRGMはこの更新をローカル・データベースにコミットするか、または運用から撤退する。図示実施例の場合、バックアップRGMは所与のプロセス、例えば、JVMを停止させるか、または適当な領域を消去することによって運用から撤退することができる。従って、このスキーマによれば、もしバックアップRGMが存在するなら、認証RGMと同期化される。
本発明のメタデータ管理システムの実施態様のさらなる詳細を以下に説明する。
ノード内及びノード間通信は片方向リクエスト・パターン、確認リクエスト・パターンまたはリクエスト/レスポンス・パターンに基づいて行うことができる。片方向リクエスト・パターンの場合、リクエストは1つまたは2つ以上の受信側に向かって送信される。それぞれの受信側がこのリクエストを実行する。送信側は確認または回答を期待しない。確認リクエスト・パターンの場合、リクエストは1つまたは2つ以上の受信側に向かって送信される。それぞれの受信側は受信を確認してからリクエストを実行する。リクエスト/レスポンス・パターンの場合、1つまたは2つ以上の受信側に向かって送信される。それぞれの受信側がリクエストを実行し、送信側に対して回答を送信する。回答が組み合わされ、リクエストの実行を集約するオブジェクトを生む。バックアップ領域コピーの正当性を保証したい場合に確認リクエスト・パターンが使用される。これらの通信パターンはMMC及びRGM間の、RGM間の、MM間の、及びシステム・コンポーネントとMMC間の種々の相互作用に利用される。
上述したように、MMリーダーは、ノードがクラスタから離脱するか、ノードがクラスタと結合するか、または不完全領域コピーがローディングを完了すると、領域マップを創成する。第1のケース、即ち、ノードがクラスタから一時的にせよ恒久的にせよ離脱すると、このノードにおいてMMによって管理される領域は配置換えされねばならない。第2のケースは、ノードが再び運用されるか、またはノードが初めてクラスタと結合する場合であり、この場合、他のMMsの負担を軽くするように領域が配置される。新しいノードにおいて創成される領域はすべて不完全である。これらの領域はデータ・ローディングが完了するとバックアップに昇格する。第3のケースは不完全領域がデータ・ローディングを完了すると同時に発生する状況である。この時点で領域はバックアップに昇格する。マップ創成アルゴリズムは、所与のノードが領域のコピーを2つ以上含まず、クラスタ全体に亘って認証領域がバランス良く配分され、すべての領域がクラスタ全体に亘ってバランス良く配分されるようにするアルゴリズムであることが好ましい。すべてのRGMがすべてのメタデータ更新を処理し、従って、クラスタ全体に配分されねばならないから、上記第2及び第3の条件が必要になる。
マップ創成アルゴリズムに関するさらなる詳細を以下に説明する。
MMリーダーが新しいマップの創成を必要とする場合、先ずは領域の調査を行う。そのためには、リクエスト/レスポンス・メッセージ・パターンを利用して、現時点においてクラスタ中に存在するそれぞれのノードにおけるMMに対してリクエストを送信する。リクエスト/レスポンス・パターンは好ましくは、すべてのレスポンスを組み合わせて、如何なる領域がアーカイブ中に存在するかを示す完全な画像を形成する集合ステップを含む。領域調査によって得られる情報は領域コピー毎に下記の要項を含むことが好ましい:領域コピーを所有するノード、(もし存在するとして)領域マネジャーによって処理された最新の更新、及び領域のデータベース・スキーマに記憶されている時刻印。領域時刻印は調査から削除された、もはや使用されることのない領域を同定するのに利用される。これによって、廃用の領域が創成中のマップから除外され、廃用領域スキーマが削除されることになる。多くの場合、廃用領域コピーは創成中の領域コピーのマップ・バージョン・ナンバーよりも低位のマップ・バージョン・ナンバーを持つことになる。但し、常にこのようになるとは限らない。ノード・クラッシュのため、新しいマップの創成が必要になった場合、領域調査が残余の領域を発見し、新しいマップを形成する。もし、不成功に終わったノードが時間内に再起動して領域調査に応答すると、ノードは何事もなかったかのようにその領域を報告することになる。しかし、これらの領域はいずれも、ノードがダウンしている間は更新されなかったから、廃用領域である。この問題を解決する方法は領域調査に伴う領域時刻印を調査することである。それぞれの領域コピーは最近行われた更新の時刻印を表す領域時刻印を報告する。或る領域の最大時刻印が(v,u)であると仮定する。領域コピーは同期化されているから、有効な時刻印は(v,u)と(v,u-1)である。このことから、不成功に終わった領域が最新のマップ・バージョン・ナンバーを有していようと廃用マップ・バージョン・アンバーを有していようと、廃用領域が同定される。ノードが失敗し、速やかにサービスに復帰し、廃用領域に基づいてリクエスト処理を開始する恐れはない。その理由は、このノードは再起動時には領域マップを持たず、マップが受信されるまでRGMは存在しないからである。MMCからのリクエストはRGMが創成されるまでは処理不能である。即ち、失敗したノードが迅速に再起動しても、新しいマップを得るまではリクエストを処理することはできず、新しいマップが得られると、モードはその古い領域を廃棄する。
領域調査後、下記のように初期領域が形成される。もし、領域調査の結果、領域が全く発見されない場合にクラスタは初めて起動する。この場合、先ず認証領域オーナーが配置される。それぞれの配置には、アルゴリズムは最もビジーでないノードを選択する。最もビジーでないノードは領域コピーが最も少ないノードである。所有される認証コピーの数に基づいて問題が解決される。認証コピーのオーナーを割当てたら、バックアップ領域のオーナーを割当て、認証領域のオーナーと総量域のオーナーをバランスさせる。新しいマップがすべてのMMに送信され、MMはマップによって記述される領域を創成する。
クラスタが起動すると、下記の順序でマップ変形を行うことよってマップを変化させることが好ましい:(1)(ノードの故障が原因で)領域が認証コピーを持たない場合にはバックアップを昇格させ;(2)領域がTPOF以上のバックアップを有する場合には余計なバックアップを削除し;(3)(ノードの故障または認証への昇格のせいで、領域がTPOFよりも少ないバックアップを有する場合、新しい不完全領域コピーを創成し;(4)オーナーシップを再バランスさせ;(5)認証オーナーシップを再バランスさせる;(5)認証オーナーシップを再バランスさせる。ステップ(4)では最もビジーなノードを発見し、その領域の1つを、オーナーシップ・カウントが少なくとも2だけ低いノードに配置換えする。(もしターゲット・ノードのオーナーシップ・カウントが1だけ低ければ、配置換えはワークロードのバランスを助けることにはならない。)好ましくは、新しい不完全領域を創成することによってこれを行うことが好ましい。ステップ(5)では、最大数の認証領域を発見し、認証オーナーシップ・カウントが少なくとも2だけ低いバッ
クアップを発見する。このステップは、例えば、バックアップを昇格させ、認証を降格させることによって応答性を交換する。ノードが所有する認証領域の最大数を減らしている間は、このオペレーションが継続される。
ノードがクラスタから離脱すると、ステップ(1)及び(3)がノードの離脱によって生じた領域マップのギャップを埋める。次いで、ステップ(4)及び(5)を利用することによって、必要なら、ワークロードを均衡させる。
ノードがクラスタをつなぎ合わせると、ステップ(1)−(3)は何も変化させない。これとは対照的に、ステップ(4)は新しいノードに配置される不完全領域群を生む。不完全領域がデータ・ローディングを完了すると、このことがMMリーダーに通告される。マップは不完全領域をバックアップに昇格させる。ステップ(5)新しいノードに認証領域を配置する効果を有する。
不完全領域がその同期化を終えると、バックアップに変換し、MMリーダーに通告する。MMリーダーは少なくとも1つの領域にTPOF以上のバックアップを含む新しいマップを発行する。
MMが新しいマップを受信すると、新しいマップを現在マップと比較し、MMによって管理されるそれぞれの領域について、何らかの変化を加える必要がある。考えられる変化として、下記のような変化が考えられる:領域を消去し、領域を創成し、バックアップ領域を認証領域に昇格させ、不完全領域をバックアップ領域に昇格させ、認証領域をバック領域に降格させる。第1のタイプの変化については、ロード・バランスによって領域コピーの管理を1つのノードから他のノードに移動させ、コピーを消去することができる。この場合、ネットワーク及びデータベース資源が、領域のデータを記憶するスキーマの消去を含めて戻される。領域を創成する第2のタイプの変化は、認証及びバックアップ領域の創成に伴い、新しいクラスタにおいて起こるのが普通である。この後、不完全領域だけが創成される。領域創成に伴い、メタデータ・オブジェクトのタイプ毎のテーブルを含むデータベース・スキーマが創成される。それぞれの領域のスキーマは領域の役割(認証、バックアップまたは不完全)を同定する情報を含む。バックアップから認証への昇格である第3タイプの変化は領域の役割の変更を必要とする。その他の変化タイプでは、その名称が暗示するように、領域の役割が不完全からバックアップへ、または認証からバックアップへ変化する。
不完全領域はデータなしの状態から始まる。上述したように、他の領域コピーと同期化するとバックアップ領域に昇格される。この同期化プロセス中に領域は更新される過程にあるから、これは慎重に行われねばならない。大量のデータを素早くPostgresデータベースにロードするには、すべての索引及びトリガーをドロップしてから、COPYコマンドを使用してデータをロードすればよい。代表的な実施態様としての完全な手順は下記の通りである:(1)空スキーマを創成し;(2)テーブル毎に、パイプを介して接続される2つのCOPYを利用する;即ち、第1COPYは遠隔の認証領域からデータをちゅうしゅつし、第2COPYはローカル不完全領域にデータをロードする;(3)(外部ファイル・メトリックスを維持するため)トリガーを加え;(4)索引を加える。バックアップ領域と同様に、不完全領域はバックアップ・リクエストを処理する。バックアップ領域はデータベースを更新することによってこれらのリクエストを実施する。トリガー及び索引がないから不完全領域はこれを行うことができない。これに反して、バックアップのリクエストはデータベースに記録されている。データがロードされ、トリガー及び索引が回復されると、累積された更新リクエストが処理される。更新リクエストが処理されている最中に更なる更新リクエストが入ってくることがある;これらのリクエストは待ち行列させられるが、処理される。所与の時点で、入来するリクエストが阻止され、待ち行列が空になると、領域は入来するバックアップ・リクエストの処理に切り替わる。この切り替えが行われると、領域はMMリーダーに対して、バックアップ領域に昇格させてもよいことを通告する。
後述するように、MMコンポーネント間の幾つかの相互作用を慎重に同期化しなければならない。
メタデータのテーブルが一時的に不正確になる恐れがあるから、マップ更新をリクエスト実行と同時にいってはならない。例えば、RGMが認証からバックアップへ降格されている最中に更新リクエストがRGMに入来したと仮定する。この場合、降格の過程でリクエストの実行が開始される可能性がある。ローカルな更新となり、バックアップ・リクエストが発信されることになる。ところが、RGMは(誤った挙動である)自らのバックアップ・リクエストを受信し、新しい認証領域がバックアップ・リクエストを受信することになる。一方、バックアップ・リクエストが処理を終える前にオブジェクトに対するリクエストが新しい認証領域に送信され、結果として、探索が不正確なものとなる。別の例として、不完全領域がデータ・ローディングの最中である場合、バックアップ・リクエストはデータベースの末尾に保管される。ローディング完了と同時に待ち行列のリクエストが処理される。これらがすべて処理されて初めて、更新リクエストが受信される毎に処理される。累積リクエストの実行から入来リクエストの実行への切り替えはアトミックアクションの形で行われねばならない。さもないと、更新が失われる恐れがある。このような問題はRGM毎のロックを創成することによって回避され、このようなロックを創成することによって個々のRGMによるリクエスト実行を保護することが好ましい。
本発明は多くの利点を提供する。ノードの各メタデータ・マネジャーはクラスタ全体のためのメタデータの所与の部分を管理する。即ち、所与のノードに記憶されているメタデータは(メタデータの)分散データベースの一部を構成し、理論的には、データベースはクラスタに含まれるすべてのノード(または所与のノード・サブセット)に均等に分散されていることになる。メタデータ・マネジャーは互いに協働して上記の機能を達成する。クラスタに新しいノードが追加されると、個々のノードの役割が新しい容量に合せて調整され、このステップには、新しいメンバーが等分の役割を担うようにすべてのノードにメタデータを再分散させるステップが含まれる。これとは逆に、ノードが故障し、クラスタから除外されると、残りのノード・メタデータ・マネジャーが分担を増やすことによって、減少した容量を補償する。データ喪失を防止するため、好ましくは複数のノードに亘ってメタデータ情報を複製し、これらのノードがクラスタ全体のメタデータの何%かをそれぞれ直接管理し、このデータを残りのノード群に亘って複製する。
新しいマップが創成されると、MMリーダーはこのマップを他のノードに分散させ、すべてのノードがこのマップを持つまで処理を中断するようリクエストする。すべてのノードがこのマップを持ったことをシステムが確認すると、処理が再開される。
本発明はディジタル・アセットを捕捉、保存、管理、及び検索するようにデザインされたアーカイブ管理を容易にする。このデザインは多様な必要条件を念頭に置いたデザインである:即ち、無制限のストレージ、高い信頼性、自律的管理、規制順守、ハードウェアからの独立、及び既存のアプリケーションとの一体化の容易さである。
これらの必要条件のそれぞれを以下に説明する。
商品ハードウェアで実行される(例えば)Linuxのクラスタは堅牢なプラットホームと、殆ど無制限のアーカイブを可能にする。このシステムは、例えば、数個のストレージ・ノード・サーバーから数千テラバイトのデータを記憶する多数のノードまで拡張することができる。この独自の構造により、記憶容量は組織の増大するアーカイブ需要にペースを合せて増大することができる。
このシステムはファイルを絶対に喪失しないように構成されている。アーカイブ装置故障から保護されるようにクラスタ全体に亘ってデータを複製する。ディスクまたはノードが故障すると、クラスタは自動的に、同じデータの複製を保持しているクラスタ中の他のノードが肩代わりする。
本発明は自律的な処理によってアーカイブ・ストレージのコストを軽減する。例えば、ノードがアーカイブと接合したり、アーカイブから切り離されると、システムは自動的にクラスタの負荷バランスを調整し、構成ノード全体に亘ってファイルを再分散させることによって性能を最適化する。
本発明は政府規制及び業界規制や、金融書類及び医療データのような記録の長期保存に関連して企業を支援することができる。この利点はワーム(WORM)保証やユーザ定義の保存ポリシーとの整合を容易にする時刻印を実施することによって達成される。
本発明はオープン・プラットホーム上に展開することでハードウェア依存性を解消する。商品プラットホームと工業オーナーシップを有する記憶装置とのコストギャップが増大するに従って、ITの買い手はもはや高コスト装置の売り手との関係に縛られたくないと考えている。所与のノードは、多くの場合、商品ハードウェアと、好ましくはオープンソース(例えば、Linux)オペレーティング・システムで作用するから、買い手は最善の対策として多様なハードウェア・オプションで購入できることが好ましい。
本発明はファイルの記憶及び検索に業界標準のインターフェース、例えば、NFS、HTTP、FTP、CIFSなどを提供する。これにより、システムは標準的な内容管理システム、検索システム、ストレージ管理ツール(例えば、HSM及びバックアップ・システム)、及びカスタマイズされたアーカイブ・アプリケーションと容易に相互作用することができる。
本発明の実施例によって行われるオペレーションの特定の順序を以上に述べたが、この順序は飽くまでも例であり、上記とは異なる順序でオペレーションを行うか、幾つかのオペレーションを組み合わせたり、オーバーラップすることなども可能である。所与の実施態様は特定の構成要件、構造、または特徴を含むことができるが、すべての実施態様が必ずこのような構成要件、構造、または特徴を含まねばならないわけではない。
本発明を方法及びプロセスに関して説明したが、本発明はオペレーションを実行するための装置にも係わる。この装置は所期の目的のために特に構成された装置か、コンピュータに記憶されているコンピュータ・プログラムによって作動させるか、または再構成できる商品コンピュータか、である。このようなコンピュータ・プログラムはコンピュータ可読記憶媒体、例えば、光ディスク、CD−ROM、磁気−光ディスクのようなディスク、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気または光カード、または電子指令を記憶するのに好適な媒体などであり、いずれもコンピュータ・システム・バスに接続される。
システムの所与のコンポーネントを別々に説明したが、当業者なら容易に理解できるように、機能の幾つかは所与の指令、プログラム・シーケンス、コード部分などにおいて組合わせるか、または共用させることができる。
本発明の実施例としての固定内容記憶アーカイブの簡略化ブロックダイヤグラムである。 それぞれが対称性を有し、本発明のアーカイブ・クラスタ・アプリケーションを支援する独立ノード冗長アレイの簡略図である。 所与のノードにおいて実行するアーカイブ・クラスタ・アプリケーションの構成コンポーネントのハイレベル・ブロック図である。 クラスタの所与のノードにおけるメタデータ管理システムの構成コンポーネントを示す説明図である。 領域マップの説明図である。 クラスタの規模の拡大に呼応した領域マップの変化を容易にするネームスペース区分スキーマの使用法を示す説明図である。

Claims (19)

  1. ネットワークを構成するノードの冗長アレイにおけるメタデータ管理方法であって、各ノードがオブジェクト形式の記憶を行ない、アプリケーションのインスタンスを実行することで前記オブジェクトに対する処理が実行され、各ノードは、プロセッサ及びメモリ、記憶手段を有し、前記メモリに格納されたプログラムを前記プロセッサで実行することにより、メタデータ管理手段、メタデータ管理クライアント手段を実現するものであり、
    メタデータ・オブジェクト、所与の領域の同定が前記メタデータ・オブジェクトの属性をハッシュし、得られたハッシュ値の所与のビット組み合わせを抽出することによって行なわれる、アレイ全体に亘って分散させた領域群に記憶されており、
    前記メタデータ管理手段は、前記メタデータ・オブジェクトに対応する領域毎に、該領域の認証領域コピーをノードの中に記憶し、この領域に向けられる更新リクエストを受信し、これに回答するノードと、各々が該領域のバックアップ領域コピーを記憶し、該認証領域コピーに対するバックアップとして作用できるゼロまたは1つ以上のノードとを同定するマップを作成するものであり、
    前記マップは、各ノードが前記メタデータ・オブジェクトの記憶位置を示す同一のグローバル・ビューを有するようにノードのアレイ全体に分散されており、
    前記メタデータ管理クライアント手段は、所与のメタデータ・オブジェクトの更新リクエストを受信すると、前記マップから前記メタデータ・オブジェクトの記憶位置を取得することにより該メタデータ・オブジェクトに対応する領域の認証領域コピーを記憶するノードを同定し
    前記メタデータ管理手段は、同定された前記ノードが前記更新リクエストを処理する場合認証領域コピーまたはこれと関連するバックアップ領域コピーと関連する故障の発生により、認証領域コピーとこれと関連するバックアップ領域コピーとの間の同期関係を維持できなければ、前記バックアップ領域コピーの1つを認証領域コピーに変換して、その旨を記憶した新しいマップを発行し、
    前記メタデータ管理手段は、アレイ中に現存する何れのノードが何れのコピーを有するかの調査を行い、現在使用されていない領域を示す廃用の領域があった場合、前記マップから前記廃用の領域を除外する
    ことを特徴とするメタデータ管理方法。
  2. 前記メタデータ管理クライアント手段は、前記認証領域コピーを記録するノードに対する更新を行う場合、ゼロまたは1つ以上の前記バックアップ領域コピーを記憶するそれぞれのノードに向けて前記更新リクエストを発信することを特徴とする請求項1に記載の方法。
  3. 前記更新リクエストを受信すると、前記更新リクエストが実行されるか否かに拘らず、前記バックアップ領域コピーを記憶するノードから確認が発信されることを特徴とする請求項2に記載の方法。
  4. ノード数増大に伴って、各ノードが割り当てられた前記マップの領域を分割し、分割して増えた領域に増大したノードを割り当てることを特徴とする請求項1に記載の方法。
  5. 各ノードが割り当てられたマップの領域を分割し、前記ハッシュ値の所与の第2の桁の値を不変に維持しながら、所与の第1の桁の値を調整することによって、ハッシュ値を分類し、分割して増えた領域に増大したノードを割り当てることを特徴とする請求項に記載の方法。
  6. ハッシュ値にビットを加えることによって所与の第1ハッシュ値を調整することを特徴とする請求項に記載の方法。
  7. 認証領域コピー及びバックアップ領域コピーをノード全体に分散させることによってノード毎の認証領域コピー数をバランスさせることを特徴とする請求項1に記載の方法。
  8. 認証領域コピー及びバックアップ領域コピーをノード全体に分散させることによってノード毎の認証領域コピー数をバランスさせるとともに、ノードの認証領域コピー及びバックアップ領域コピーの総数をバランスさせることを特徴とする請求項1に記載の方法。
  9. 所与の領域のバックアップ領域コピー数が設定可能であることを特徴とする請求項1に記載の方法。
  10. 新しいマップを発行する場合、バックアップ領域コピーを認証領域コピーに昇格させることを特徴とする請求項1に記載の方法。
  11. 領域が不完全領域コピーをも含み、不完全領域コピーバックアップ領域コピーに昇格するには不適格であることを特徴とする請求項10に記載の方法。
  12. 新しいマップを発行する場合、前記メタデータ管理手段が領域コピーを削除するステップ、領域コピーを創成するステップ、バックアップ領域コピーを認証領域コピーに昇格させるステップ、不完全領域コピーをバックアップ領域コピーに昇格させるステップ、認証領域コピーをバックアップ領域コピーに降格させるステップのいずれか1つを行うことを特徴とする請求項1に記載の方法。
  13. ネットワークを構成するノードの冗長アレイにおけるメタデータ管理方法であって、前記ノードは、プロセッサ及びメモリ、記憶手段を有し、前記メモリに格納されたプログラムを前記プロセッサで実行することにより、メタデータ管理手段、メタデータ管理クライアント手段を実現するものであり、
    メタデータ・オブジェクトは、所与の領域の同定が前記メタデータ・オブジェクトの属性をハッシュし、得られたハッシュ値の所与のビット群を抽出することによりなわれる、アレイ全体に分散させた領域群に記憶されており、
    前記メタデータ管理手段は、前記メタデータ・オブジェクトに対応する領域毎に、該領
    域の認証領域コピーをノードの中に記憶し、この領域に向けられる更新リクエストを受信し、これに回答するノードと、各々が該領域のバックアップ領域コピーを記憶し、認証領域コピーに対するバックアップとして作用できるゼロまたは1つ以上のノードとを同定するマップを作成するものであり
    前記マップは、各ノードが前記メタデータ・オブジェクトの記憶位置を示す同一のグローバル・ビューを有するようにノードのアレイ全体に分散されており、
    前記メタデータ管理手段は、
    所与の認証領域コピーとこれと連するゼロまたは1つ以上のバックアップ領域コピーとの同期関係が保証されるようにマップを維持
    認証領域コピーまたはこれと関連するバックアップ領域コピーと関連する故障の発生により、認証領域コピーとこれと関連するバックアップ領域コピーとの間の同期関係を維持できなければ、前記バックアップ領域コピーの1つを認証領域コピーに変換し、その旨を記憶した新しいマップを発行し、アレイ全体に亘って新しいマップを分散させ、
    前記メタデータ管理手段は、
    アレイ中に現存する何れのノードが何れのコピーを有するかの調査を行い
    現在使用されていない領域を示す廃用の領域があった場合、前記マップから前記廃用の領域を除外する
    ことを特徴とするメタデータ管理方法。
  14. 故障の結果として領域に認証領域コピーがなくなった場合、前記マップ所与の領域においてバックアップ領域コピーを認証領域コピーに昇格させることを特徴とする請求項13に記載の方法。
  15. 領域が設定可能なバックアップ領域コピー数よりも多くなった場合、前記メタデータ管理手段は、余剰のバックアップ領域コピー削除された新しいマップを作成することを特徴とする請求項13に記載の方法。
  16. 故障または昇格の結果として領域が設定可能なバックアップ領域コピー数よりも少なくなると、前記メタデータ管理手段は、新しい不完全領域コピー創成された新しいマップを作成することを特徴とする請求項13に記載の方法。
  17. 前記メタデータ管理手段は、領域コピーを1つのノードから他のノードへ配置換えした新しいマップを作成することを特徴とする請求項13に記載の方法。
  18. 配置換えされる領域コピーが認証領域コピーであることを特徴とする請求項17に記載の方法。
  19. メタデータ・オブジェクトがアレイ全体に分散させた領域群に記憶され、所与の領域の同定がメタデータ・オブジェクトの属性をハッシュし、得られたハッシュ値の所与のビット群を抽出することにより行なわれる、ネットワークを構成するノードの冗長アレイであって、
    バーチャル・マシンと;
    データベースと;
    前記メタデータ・オブジェクトに対応する領域毎に、該領域の認証領域コピーを記憶し、この領域に向けられる更新リクエストを受信し、これに回答するノードと、各々が該領域のバックアップ領域コピーを記憶し、該領域の該認証領域コピーに対するバックアップとして作用できるゼロまたは1つ以上のノードとを同定する、データベースに記憶されたマップと
    所与の認証領域コピーまたはバックアップ領域コピーに対して更新リクエストを実行する、バーチャル・マシンにおいて実行される1つまたは2つ以上の領域マネジャー・プロ
    セスと
    1つまたは2つ以上の領域マネジャー・プロセスを発生させ、且つ管理するためのメタデータ・マネジャー・プロセスと
    更新リクエストを受信し、これに応答するクライント・プロセスとを有し
    前記マップは、所与の認証領域コピーとこれと連するゼロまたは1つ以上のバックアップ領域コピーとの同期関係が保証されるように構成されており前記メタデータ管理手段は、認証領域コピーまたはこれと関連するバックアップ領域コピーと関連する故障の発生により、認証領域コピーとこれと関連するバックアップ領域コピーとの間の同期関係が継続できなければ、前記バックアップ領域コピーの1つを認証領域コピーに変換し、その旨を記憶した新しいマップを発行し、アレイ全体に亘って新しいマップを分散させ、
    メタデータ・マネジャー・プロセスは、アレイ中に現存する何れのノードが何れのコピーを有するかの調査を行って、現在使用されていない領域を示す廃用の領域があった場合、前記マップから前記廃用の領域を除外することを特徴とするノードの冗長アレイ。
JP2007523797A 2004-07-29 2005-07-28 固定内容分散データ記憶のためのメタデータ管理 Active JP5254611B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US59207504P 2004-07-29 2004-07-29
US60/592,075 2004-07-29
US11/190,402 US7657581B2 (en) 2004-07-29 2005-07-27 Metadata management for fixed content distributed data storage
US11/190,402 2005-07-27
PCT/US2005/026747 WO2006015097A2 (en) 2004-07-29 2005-07-28 Metadata management for fixed content distributed data storage

Publications (2)

Publication Number Publication Date
JP2008518284A JP2008518284A (ja) 2008-05-29
JP5254611B2 true JP5254611B2 (ja) 2013-08-07

Family

ID=35733644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007523797A Active JP5254611B2 (ja) 2004-07-29 2005-07-28 固定内容分散データ記憶のためのメタデータ管理

Country Status (6)

Country Link
US (1) US7657581B2 (ja)
EP (1) EP1782289B1 (ja)
JP (1) JP5254611B2 (ja)
AU (1) AU2005269315A1 (ja)
CA (1) CA2574735C (ja)
WO (1) WO2006015097A2 (ja)

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US20020046061A1 (en) 2000-02-11 2002-04-18 Wright Kenneth L. Personal information system
US7778984B2 (en) 2004-11-19 2010-08-17 Microsoft Corporation System and method for a distributed object store
US9305011B2 (en) * 2005-07-27 2016-04-05 Hitachi Data Systems Corporation Method for improving mean time to data loss (MTDL) in a fixed content distributed data storage
US7536426B2 (en) * 2005-07-29 2009-05-19 Microsoft Corporation Hybrid object placement in a distributed storage system
US7640259B2 (en) * 2005-08-01 2009-12-29 Sap Ag Systems and methods for modeling tree structures
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US7606811B1 (en) * 2006-01-03 2009-10-20 Emc Corporation Methods and apparatus for synchronizing information
US7987160B2 (en) * 2006-01-30 2011-07-26 Microsoft Corporation Status tool to expose metadata read and write queues
US7698351B1 (en) * 2006-04-28 2010-04-13 Netapp, Inc. GUI architecture for namespace and storage management
US20070294246A1 (en) * 2006-06-16 2007-12-20 Microsoft Corporation Associating metadata on a per-user basis
US7870102B2 (en) * 2006-07-12 2011-01-11 International Business Machines Corporation Apparatus and method to store and manage information and meta data
US20080040399A1 (en) * 2006-08-01 2008-02-14 Lashley Scott D Method and Apparatus for Providing Efficient Space Utilization of WORM Media While Maintaining Transactional Consistency
US7546486B2 (en) * 2006-08-28 2009-06-09 Bycast Inc. Scalable distributed object management in a distributed fixed content storage system
US8234640B1 (en) 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US8458695B2 (en) * 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8949825B1 (en) 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US9086917B1 (en) * 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8752045B2 (en) 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US9697019B1 (en) 2006-10-17 2017-07-04 Manageiq, Inc. Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine
US9038062B2 (en) * 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US8949826B2 (en) * 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US9015703B2 (en) 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US7590672B2 (en) * 2006-12-11 2009-09-15 Bycast Inc. Identification of fixed content objects in a distributed fixed content storage system
GB0625698D0 (en) * 2006-12-21 2007-01-31 Ibm Rollback support in distributed data management systems
US7913051B1 (en) * 2006-12-22 2011-03-22 Emc Corporation Methods and apparatus for increasing the storage capacity of a zone of a storage system
US8352692B1 (en) * 2007-03-30 2013-01-08 Symantec Corporation Utilizing peer-to-peer services with single instance storage techniques
US8135865B2 (en) * 2007-09-04 2012-03-13 Apple Inc. Synchronization and transfer of digital media items
US8146098B2 (en) * 2007-09-07 2012-03-27 Manageiq, Inc. Method and apparatus for interfacing with a computer user via virtual thumbnails
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US7899850B2 (en) * 2008-02-22 2011-03-01 Bycast, Inc. Relational objects for the optimized management of fixed-content storage systems
JP5136162B2 (ja) * 2008-03-31 2013-02-06 日本電気株式会社 バックアップ管理システム、方法、及び、プログラム
WO2009134772A2 (en) * 2008-04-29 2009-11-05 Maxiscale, Inc Peer-to-peer redundant file server system and methods
EP2307961B1 (en) * 2008-06-02 2016-05-18 Polyvalor, Limited Partnership File presence detection and monitoring
US8135930B1 (en) * 2008-07-14 2012-03-13 Vizioncore, Inc. Replication systems and methods for a virtual computing environment
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US7890632B2 (en) * 2008-08-11 2011-02-15 International Business Machines Corporation Load balancing using replication delay
US8756437B2 (en) 2008-08-22 2014-06-17 Datcard Systems, Inc. System and method of encryption for DICOM volumes
US8429649B1 (en) 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US8452731B2 (en) * 2008-09-25 2013-05-28 Quest Software, Inc. Remote backup and restore
WO2010048531A1 (en) 2008-10-24 2010-04-29 Datcard Systems, Inc. System and methods for metadata management in content addressable storage
US9639427B1 (en) * 2008-11-25 2017-05-02 Teradata Us, Inc. Backing up data stored in a distributed database system
KR101453425B1 (ko) * 2008-12-18 2014-10-23 한국전자통신연구원 메타데이터 서버 및 메타데이터 관리 방법
US8898267B2 (en) 2009-01-19 2014-11-25 Netapp, Inc. Modifying information lifecycle management rules in a distributed system
US8510848B1 (en) 2009-02-02 2013-08-13 Motorola Mobility Llc Method and system for managing data in a communication network
US8135748B2 (en) * 2009-04-10 2012-03-13 PHD Virtual Technologies Virtual machine data replication
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US8261033B1 (en) 2009-06-04 2012-09-04 Bycast Inc. Time optimized secure traceable migration of massive quantities of data in a distributed storage system
US9778946B2 (en) 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US8386787B2 (en) * 2009-08-31 2013-02-26 Apple Inc. Hash function using a heap modeling process
US8311964B1 (en) 2009-11-12 2012-11-13 Symantec Corporation Progressive sampling for deduplication indexing
US20110153606A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Apparatus and method of managing metadata in asymmetric distributed file system
US8341118B2 (en) * 2010-02-09 2012-12-25 Google Inc. Method and system for dynamically replicating data within a distributed storage system
US8615485B2 (en) * 2010-02-09 2013-12-24 Google, Inc. Method and system for managing weakly mutable data in a distributed storage system
US8868508B2 (en) * 2010-02-09 2014-10-21 Google Inc. Storage of data in a distributed storage system
US8423517B2 (en) * 2010-02-09 2013-04-16 Google Inc. System and method for determining the age of objects in the presence of unreliable clocks
US8862617B2 (en) * 2010-02-09 2014-10-14 Google Inc. System and method for replicating objects in a distributed storage system
US9305069B2 (en) * 2010-02-09 2016-04-05 Google Inc. Method and system for uploading data into a distributed storage system
US8874523B2 (en) * 2010-02-09 2014-10-28 Google Inc. Method and system for providing efficient access to a tape storage system
US8380659B2 (en) 2010-02-09 2013-02-19 Google Inc. Method and system for efficiently replicating data in non-relational databases
US8560292B2 (en) 2010-02-09 2013-10-15 Google Inc. Location assignment daemon (LAD) simulation system and method
US8473463B1 (en) 2010-03-02 2013-06-25 Symantec Corporation Method of avoiding duplicate backups in a computing system
US8874961B2 (en) * 2010-03-22 2014-10-28 Infosys Limited Method and system for automatic failover of distributed query processing using distributed shared memory
US9454441B2 (en) * 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US8438244B2 (en) 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US8181061B2 (en) * 2010-04-19 2012-05-15 Microsoft Corporation Memory management and recovery for datacenters
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US8799221B2 (en) 2010-04-23 2014-08-05 John Canessa Shared archives in interconnected content-addressable storage systems
US8849749B2 (en) * 2010-05-14 2014-09-30 Oracle International Corporation Load balancing in parallel database systems using multi-reordering
US8595184B2 (en) * 2010-05-19 2013-11-26 Microsoft Corporation Scaleable fault-tolerant metadata service
US8370315B1 (en) 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US20110314070A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Optimization of storage and transmission of data
US11726955B2 (en) 2010-06-19 2023-08-15 Hewlett Packard Enterprise Development Lp Methods and apparatus for efficient container location database snapshot operation
US9323775B2 (en) 2010-06-19 2016-04-26 Mapr Technologies, Inc. Map-reduce ready distributed file system
US8983952B1 (en) 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
US8756197B1 (en) 2010-08-13 2014-06-17 Symantec Corporation Generating data set views for backup restoration
US8291170B1 (en) 2010-08-19 2012-10-16 Symantec Corporation System and method for event driven backup data storage
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
US8392376B2 (en) 2010-09-03 2013-03-05 Symantec Corporation System and method for scalable reference management in a deduplication based storage system
US8621270B2 (en) 2010-09-24 2013-12-31 Hitachi Data Systems Corporation System and method for transparent recovery of damaged or unavailable objects in a replicated object storage system
US8515915B2 (en) * 2010-09-24 2013-08-20 Hitachi Data Systems Corporation System and method for enhancing availability of a distributed object storage system during a partial database outage
US8700571B2 (en) 2010-09-24 2014-04-15 Hitachi Data Systems Corporation System and method for optimizing protection levels when replicating data in an object storage system
US8600944B2 (en) * 2010-09-24 2013-12-03 Hitachi Data Systems Corporation System and method for managing integrity in a distributed database
US8812445B2 (en) * 2010-09-24 2014-08-19 Hitachi Data Systems Corporation System and method for managing scalability in a distributed database
US8838624B2 (en) 2010-09-24 2014-09-16 Hitachi Data Systems Corporation System and method for aggregating query results in a fault-tolerant database management system
US8396841B1 (en) 2010-11-30 2013-03-12 Symantec Corporation Method and system of multi-level and multi-mode cloud-based deduplication
KR101638436B1 (ko) * 2010-12-10 2016-07-12 한국전자통신연구원 클라우드 스토리지 및 그의 관리 방법
US8392384B1 (en) 2010-12-10 2013-03-05 Symantec Corporation Method and system of deduplication-based fingerprint index caching
WO2012078898A2 (en) 2010-12-10 2012-06-14 Datcard Systems, Inc. Secure portable medical information access systems and methods related thereto
US8433849B2 (en) * 2010-12-27 2013-04-30 Amplidata Nv Hierarchical, distributed object storage system
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
US8799228B2 (en) * 2011-06-29 2014-08-05 Nokia Corporation Method and apparatus for providing a list-based interface to key-value stores
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9356793B1 (en) 2012-02-09 2016-05-31 Google Inc. System and method for managing load on a downstream server in a distributed storage system
US8738581B1 (en) * 2012-02-15 2014-05-27 Symantec Corporation Using multiple clients for data backup
US9355120B1 (en) 2012-03-02 2016-05-31 Netapp, Inc. Systems and methods for managing files in a content storage system
WO2013147782A1 (en) 2012-03-29 2013-10-03 Hitachi Data Systems Corporation Cluster-wide unique id for object access control lists
US9992155B2 (en) 2012-03-29 2018-06-05 Hitachi Vantara Corporation DNS alias synchronization in replication topology
EP2786254B8 (en) 2012-03-29 2019-08-21 Hitachi Vantara Corporation Content selection for storage tiering
WO2013147785A1 (en) 2012-03-29 2013-10-03 Hitachi Data Systems Corporation Highly available search index with storage node addition and removal
US9237195B2 (en) * 2012-04-27 2016-01-12 Netapp, Inc. Virtual storage appliance gateway
US8965921B2 (en) * 2012-06-06 2015-02-24 Rackspace Us, Inc. Data management and indexing across a distributed database
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
US8943107B2 (en) 2012-12-04 2015-01-27 At&T Intellectual Property I, L.P. Generating and using temporal metadata partitions
US10275397B2 (en) 2013-02-22 2019-04-30 Veritas Technologies Llc Deduplication storage system with efficient reference updating and space reclamation
EP2962218B1 (en) 2013-02-27 2021-04-07 Hitachi Vantara LLC Decoupled content and metadata in a distributed object storage ecosystem
WO2014133495A1 (en) 2013-02-27 2014-09-04 Hitachi Data Systems Corporation Content class for object storage indexing system
US9020893B2 (en) * 2013-03-01 2015-04-28 Datadirect Networks, Inc. Asynchronous namespace maintenance
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9910881B1 (en) 2013-12-12 2018-03-06 Amazon Technologies, Inc. Maintaining versions of control plane data for a network-based service control plane
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
WO2015183301A1 (en) 2014-05-30 2015-12-03 Hitachi Data Systems Corporation Metadata favored replication in active topologies
US10425480B2 (en) 2014-06-26 2019-09-24 Hitachi Vantara Corporation Service plan tiering, protection, and rehydration strategies
US9575680B1 (en) 2014-08-22 2017-02-21 Veritas Technologies Llc Deduplication rehydration
US10423495B1 (en) 2014-09-08 2019-09-24 Veritas Technologies Llc Deduplication grouping
US9678839B2 (en) 2014-09-12 2017-06-13 Microsoft Technology Licensing, Llc Scalable data storage pools
CN105518659B (zh) * 2014-10-28 2019-07-26 华为技术有限公司 分布式数据库的数据分区分配方法及装置
US10728092B2 (en) * 2015-05-01 2020-07-28 Microsoft Technology Licensing, Llc Cloud-mastered settings
US20170039376A1 (en) 2015-08-05 2017-02-09 Dell Products L.P. Systems and methods for providing secure data
CN106569896B (zh) * 2016-10-25 2019-02-05 北京国电通网络技术有限公司 一种数据分发及并行处理方法和***
US11341103B2 (en) * 2017-08-04 2022-05-24 International Business Machines Corporation Replicating and migrating files to secondary storage sites
US10614253B2 (en) 2018-02-14 2020-04-07 Fortune Vieyra Systems and methods for state of data management
US11593496B2 (en) * 2018-04-23 2023-02-28 EMC IP Holding Company LLC Decentralized data protection system for multi-cloud computing environment
US10963353B2 (en) * 2018-10-23 2021-03-30 Capital One Services, Llc Systems and methods for cross-regional back up of distributed databases on a cloud service
US10698770B1 (en) * 2019-04-10 2020-06-30 Capital One Services, Llc Regionally agnostic in-memory database arrangements with reconnection resiliency
US11514097B2 (en) * 2019-09-30 2022-11-29 Dell Products L.P. System and method for update of data and meta data via an enumerator
US10719517B1 (en) * 2019-12-18 2020-07-21 Snowflake Inc. Distributed metadata-based cluster computing
US11573937B2 (en) 2020-10-09 2023-02-07 Bank Of America Corporation System and method for automatically resolving metadata structure discrepancies
CN113821362B (zh) * 2021-11-25 2022-03-22 云和恩墨(北京)信息技术有限公司 数据复制方法及装置
CN113835685B (zh) * 2021-11-26 2022-02-18 之江实验室 一种基于拟态数据库的网络操作***设计方法
CN117539841B (zh) * 2024-01-09 2024-04-23 深圳市合纵天下信息科技有限公司 一种分布式文件***元数据管理***及其操作方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2285096C (en) * 1991-11-12 2000-05-09 Ibm Canada Limited-Ibm Canada Limitee Logical mapping of data objects using data spaces
JP3213766B2 (ja) * 1992-03-16 2001-10-02 株式会社日立製作所 レプリケートファイル更新システム
US6067547A (en) * 1997-08-12 2000-05-23 Microsoft Corporation Hash table expansion and contraction for use with internal searching
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
CA2318908C (en) * 1998-01-23 2007-04-03 Filepool N.V. Content addressable information encapsulation, representation, and transfer
US6216202B1 (en) * 1998-06-30 2001-04-10 Emc Corporation Method and apparatus for managing virtual storage devices in a storage system
US7024430B1 (en) * 1998-12-08 2006-04-04 Starfish Software, Inc. Method and system for implementing a filter in a data synchronization system
US6920537B2 (en) * 1998-12-31 2005-07-19 Emc Corporation Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
US6412077B1 (en) * 1999-01-14 2002-06-25 Cisco Technology, Inc. Disconnect policy for distributed computing systems
JP2000357115A (ja) * 1999-06-15 2000-12-26 Nec Corp ファイル検索装置及びファイル検索方法
JP2001051890A (ja) * 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
US6751616B1 (en) * 2000-01-28 2004-06-15 Oracle International Corp. Techniques for DLM optimization with re-mapping responsibility for lock management
US20020055972A1 (en) * 2000-05-08 2002-05-09 Weinman Joseph Bernard Dynamic content distribution and data continuity architecture
EP1532543A4 (en) * 2000-09-11 2008-04-16 Agami Systems Inc STORAGE SYSTEM COMPRISING PARTITIONED METADATA THAT MIGRATE LIKELY
AU2002214659A1 (en) * 2000-10-26 2002-05-06 James C. Flood Jr. Method and system for managing distributed content and related metadata
US6976060B2 (en) * 2000-12-05 2005-12-13 Agami Sytems, Inc. Symmetric shared file storage system
US7177917B2 (en) * 2000-12-27 2007-02-13 Softwired Ag Scaleable message system
US7512673B2 (en) * 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US6732104B1 (en) * 2001-06-06 2004-05-04 Lsi Logic Corporatioin Uniform routing of storage access requests through redundant array controllers
US6711663B2 (en) * 2001-11-15 2004-03-23 Key Technology Corporation Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
US6889309B1 (en) * 2002-04-15 2005-05-03 Emc Corporation Method and apparatus for implementing an enterprise virtual storage system

Also Published As

Publication number Publication date
WO2006015097A3 (en) 2008-02-21
WO2006015097A2 (en) 2006-02-09
CA2574735C (en) 2015-12-08
JP2008518284A (ja) 2008-05-29
CA2574735A1 (en) 2006-02-09
AU2005269315A1 (en) 2006-02-09
US20060026219A1 (en) 2006-02-02
EP1782289A4 (en) 2010-04-07
EP1782289A2 (en) 2007-05-09
EP1782289B1 (en) 2016-04-27
US7657581B2 (en) 2010-02-02

Similar Documents

Publication Publication Date Title
JP5254611B2 (ja) 固定内容分散データ記憶のためのメタデータ管理
JP5918243B2 (ja) 分散型データベースにおいてインテグリティを管理するためのシステム及び方法
US8229893B2 (en) Metadata management for fixed content distributed data storage
US9898514B2 (en) System and method for aggregating query results in a fault-tolerant database management system
US9904605B2 (en) System and method for enhancing availability of a distributed object storage system during a partial database outage
US10489412B2 (en) Highly available search index with storage node addition and removal
JP2013544386A5 (ja)
US9575975B2 (en) Cluster-wide unique ID for object access control lists
JP2013545162A5 (ja)
US8812445B2 (en) System and method for managing scalability in a distributed database
AU2011265370B2 (en) Metadata management for fixed content distributed data storage

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100323

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100330

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100420

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100521

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100924

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110301

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120105

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120105

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120116

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121122

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121128

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20121130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121204

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130418

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5254611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250