JP2003099210A - 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ - Google Patents

仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ

Info

Publication number
JP2003099210A
JP2003099210A JP2001292426A JP2001292426A JP2003099210A JP 2003099210 A JP2003099210 A JP 2003099210A JP 2001292426 A JP2001292426 A JP 2001292426A JP 2001292426 A JP2001292426 A JP 2001292426A JP 2003099210 A JP2003099210 A JP 2003099210A
Authority
JP
Japan
Prior art keywords
cluster
computer
command
instruction
parity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001292426A
Other languages
English (en)
Other versions
JP4054182B2 (ja
Inventor
Koji Yamamoto
浩司 山本
Kotaro Endo
浩太郎 遠藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001292426A priority Critical patent/JP4054182B2/ja
Priority to US10/230,339 priority patent/US6807642B2/en
Publication of JP2003099210A publication Critical patent/JP2003099210A/ja
Application granted granted Critical
Publication of JP4054182B2 publication Critical patent/JP4054182B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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/202Error 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 where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/202Error 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 where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1054Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】クラスタシステムを構成する複数のコンピュー
タにそれぞれ接続されたディスク装置を利用して仮想的
なRAID装置を実現する。 【解決手段】クラスタシステムにおいて、ディスク装置
4-1〜4-3を仮想RAID装置40の構成要素として扱
うためのグローバル命令からローカル命令への変換を行
うクラスタマネージャ12-1〜12-2と、クラスタRA
ID制御部13-1〜13-3とをコンピュータ1-1〜1-3
に備える。制御部13-i(i=1,2,3)において、
命令変換部132-iはクラスタマネージャにより命令変
換を行わせ、ディスク制御部136-iはディスク装置4
-iに対する読み出し/書き込みを行う。パリティ計算部
134-iはパリティ計算を行い、命令転送部133-iは
命令変換部132-iから受けたローカル命令を対応する
他のコンピュータ、ディスク制御部136-iまたはパリ
ティ計算部134-iに転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のコンピュー
タがネットワークで接続されたクラスタシステムに係
り、特に各コンピュータにそれぞれ接続されたディスク
装置を仮想的なRAID装置の構成要素として利用する
ことが可能な仮想的なRAID装置を有するクラスタシ
ステム及び同システム用のコンピュータに関する。
【0002】
【従来の技術】複数のコンピュータがネットワークで接
続されたクラスタシステムは、一部のコンピュータに障
害が発生したとき、他のコンピュータで運用を続けるこ
とによって、システム全体の可用性を向上させる機能を
持つシステムとして従来からよく知られている。
【0003】クラスタシステムでは、クラスタマネージ
ャが動作している。クラスタマネージャは、一部のコン
ピュータに障害が発生したとき、他のコンピュータで運
用を続けられるように、次の2つの機能を持つ。
【0004】第1の機能は、クラスタシステムを構成す
る複数のコンピュータ間で、状態の一貫性を保証する機
能である。状態の一貫性とは、クラスタシステムの全て
のコンピュータから、クラスタマネージャが保持する状
態の参照及び変更が可能であり、常に最新の状態が参照
できることを意味する。
【0005】第2の機能は、クラスタシステムを構成す
るコンピュータのいずれかに障害が発生した場合に、そ
れを検出する機能である。クラスタマネージャは、障害
が発生したコンピュータを検出すると、そのコンピュー
タをシステムから切り離す。
【0006】
【発明が解決しようとする課題】このように、クラスタ
システムでは、クラスタマネージャの管理のもとで、一
部のコンピュータに障害が発生したとき、他のコンピュ
ータで運用が続けられるようになっている。しかし、シ
ステムによっては、障害が発生したコンピュータが持っ
ていたデータを参照できなければ、障害が発生した直前
の状態から運用を再開することができない場合がある。
このような場合、従来は、運用が一時中断したり、過去
の状態に戻ったりしてしまう。
【0007】本発明は上記事情を考慮してなされたもの
でその目的は、クラスタシステムを構成するコンピュー
タに障害が発生したとき、そのコンピュータの持つデー
タが、停止した直前の状態から運用を再開するのに必要
な場合であっても、各コンピュータにそれぞれ接続され
たディスク装置を1つの仮想的なRAID装置の構成要
素として利用することにより運用を続けることができる
ようにすることにある。
【0008】本発明の他の目的は、仮想的なRAID装
置を有するクラスタシステムにおいて、1つのパリティ
計算を行うのに必要なコンピュータ間のデータ転送回数
を少なくして、仮想的なRAID装置に対する書き込み
の速度を向上させることができるようにする。
【0009】
【課題を解決するための手段】本発明は、少なくとも1
つのネットワークで相互接続された複数のコンピュータ
と、上記各コンピュータにそれぞれ接続されたディスク
装置とを備えたクラスタシステムにおいて、システム全
体の排他制御と、上記各ディスク装置を仮想的なRAI
D装置の構成要素として扱うのに必要なグローバル命令
から少なくとも1つのローカル命令への変換とを行うク
ラスタマネージャと、上記複数のコンピュータ上で上記
クラスタマネージャからそれぞれ独立に動作する制御機
構であって、自身が動作するコンピュータ上で上記RA
ID装置を対象とする書き込み/読み出しのグローバル
命令が発生した場合に、上記クラスタマネージャと通信
することで当該グローバル命令を上記クラスタマネージ
ャにより少なくとも1つのローカル命令に変換させる命
令変換手段と、与えられたローカル命令に従ってディス
ク装置を対象とする読み出し/書き込みを行うディスク
制御手段と、与えられたローカル命令に従ってパリティ
計算を行うパリティ計算手段と、上記命令変換手段から
ローカル命令を受けて、当該ローカル命令を対応する他
のコンピュータ、自コンピュータの上記ディスク制御手
段または上記パリティ計算手段に転送する命令転送手段
とを含む制御機構とを備えたことを特徴とする。
【0010】このような構成のクラスタシステムにおい
ては、当該システムを構成する複数のコンピュータそれ
ぞれに接続されたディスク装置を、1つの仮想的なRA
ID装置の構成要素として利用することができる。この
ため、システム内の1台のコンピュータに障害が発生し
ても、その障害が発生したコンピュータに接続されたデ
ィスク装置に書き込まれているデータを、他のコンピュ
ータに接続されたディスク装置のデータからRAID
(Redundant Arrays of Inexpensive Disks)技術によ
り参照(復元)することが可能となり、これにより障害
が発生した直前の状態から他のコンピュータで運用を再
開することが可能となる。
【0011】ここで、上記クラスタマネージャに、次の
機能、即ちパリティ計算に必要な情報が格納されている
ディスク装置と接続されているコンピュータで当該情報
を用いたパリティ計算の中間結果または最終結果を算出
させるローカル命令であって、当該中間結果を算出させ
る場合には、当該中間結果を、当該中間結果との間でパ
リティ計算の次の中間結果または最終結果を算出するの
に必要な情報が格納されているディスク装置と接続され
ているコンピュータに転送させるローカル命令を生成す
る機能を持たせるとよい。
【0012】このようなローカル命令の生成により、ク
ラスタシステムにおける書き込み動作において、パリテ
イの計算に必要な情報が1つのコンピュータに集められ
ずに、パリティ計算の中間結果が順次、パリティ計算の
次の中間結果または最終結果の計算に必要な情報を持つ
コンピュータに転送されることになるため、1つのパリ
ティ計算を行うのに必要なコンピュータ間のデータ転送
回数を少なくして、仮想的なRAID装置に対する書き
込みの速度を向上させることが可能となる。
【0013】また、上記クラスタマネージャを、上記複
数のコンピュータにそれぞれ設けて当該コンピュータ上
で動作させ、クラスタマネージャ同士で上記ネットワー
クを介して同期を常に取る構成とするならば、システム
内の1台のコンピュータに障害が発生しても、システム
全体が停止するのを防止できる。
【0014】また、上記クラスタマネージャを、上記複
数のコンピュータから独立に設けられたクラスタマネー
ジャ用コンピュータに設けて当該クラスタマネージャ用
コンピュータ上で動作させる構成とするならば、上記複
数のコンピュータの負荷を低減することが可能となる。
【0015】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。
【0016】[第1の実施形態]図1は本発明の第1の
実施形態に係る仮想的なRAID装置を有するクラスタ
システムの構成を示すブロック図である。図1におい
て、複数、例えば3台のコンピュータ1-1,1-2,1-3
は、2つのネットワーク2,3により相互接続されてい
る。ネットワーク2,3は例えばLAN(ローカルエリ
アネットワーク)である。コンピュータ1-1,1-2,1
-3には、それぞれディスク装置4-1,4-2,4-3が接続
されている。ディスク装置4-1〜4-3は、コンピュータ
1-1〜1-3により共有される仮想的なRAID装置(仮
想RAID装置)40を構成する単体ディスク装置とし
て用いられる。つまり、図1のクラスタシステムの特徴
は、システム内の各コンピュータ1-1,1-2,1-3が持
つディスク装置4-1,4-2,4-3を利用して仮想RAI
D装置40を構成している点にある。
【0017】一般に、RAID装置の特徴は2つある。
RAID装置の第1の特徴は、当該RAID装置を構成
する複数のディスク装置(単体ディスク装置)のデータ
を、当該RAID装置とコントローラ(RAIDコント
ローラ)を介して接続された複数のコンピュータから共
有できる点にある。このコントローラは、RAID装置
を構成する各ディスク装置(単体ディスク装置)を集中
して制御する。また、RAID装置の第2の特徴は、当
該RAID装置を構成する複数のディスク装置のいずれ
か1つに障害が発生しても、RAID技術により残りの
ディスク装置のデータから障害ディスク装置のデータが
復元でき、データの可用性を向上させることができる点
にある。
【0018】上記のように、RAID装置では、当該R
AID装置を構成する各ディスク装置を集中して制御す
るコントローラが必要となる。しかしクラスタシステム
では、この種のコントローラを持たない。したがって、
従来から知られているRAID装置の構成をそのままク
ラスタシステムに応用して、仮想RAID装置40を実
現することはできない。そこで、本実施形態では、仮想
RAID装置40のコントローラの機能を、他の方法で
実現している。
【0019】ここで、仮想RAID装置40のコントロ
ーラの機能の実現例を述べる前に、当該コントローラの
機能(つまりRAID技術)について、仮想RAID装
置40のコントローラが存在するものと仮定して、つま
り仮想RAID装置40が通常のRAID装置であるも
のとして説明する。
【0020】まず、コンピュータ1-1〜1-3では、それ
ぞれタスク11-1〜11-3が動作している。タスクとは
オペレーティングシステム(OS)や、アプリケーショ
ンプログラム等のソフトウェアを指す。
【0021】RAID装置40へのデータ書き込みで
は、データそのものが書き込まれるが(このデータをR
AIDデータと称する)、その他に、パリティという、
RAIDデータから計算して求められる冗長データが、
ディスク装置4-1〜4-3のうち、RAIDデータが書き
込まれるディスク装置とは別のディスク装置に書き込ま
れる。
【0022】ここで、ディスク装置4-1〜4-3のうち、
ディスク装置4-1及び4-2にはRAIDデータd1,d2
を、ディスク装置4-3にはパリティpを保存することに
すると、パリティpは次式 p=d1 XOR d2 に従って求められる。ここで、XORは排他的論理和演
算を表す。
【0023】ここではまた、ディスク装置4-1〜4-3の
うちのいずれか1つのディスク装置が故障して、その故
障ディスク装置が使用できなくなった場合でも、残りの
ディスク装置のRAIDデータとパリティpとを利用す
ることによって、RAIDデータの読み出し/書き込み
が可能である。
【0024】例えば、ディスク装置4-1が故障したと
き、RAIDデータd1を読み出す(復元する)には、
残っているディスク装置4-2上のRAIDデータd2及
びディスク装置4-3上のパリティpを用いて、 d1=p XOR d2 とする。また、ディスク装置4-3が故障した場合は、そ
のままディスク装置4-1,4-2から、RAIDデータd
1,d2の読み出しが可能である。
【0025】タスク11-1または11-2または11-3の
出す書き込み/読み出し命令は、RAID装置40のコ
ントローラで処理される。書き込み命令には、書き込む
べきデータと、書き込む場所の情報、つまりアドレス情
報とが含まれる。読み出し命令には、アドレス情報が含
まれる。
【0026】コントローラは、タスク11-i(iは1〜
3のいずれか)からの書き込み/読み出し命令で使われ
るアドレス情報(論理的なアドレス情報)と、RAID
データ及びパリティが、どのディスク装置のどこに書か
れているかという位置情報との対応テーブル(以下、位
置情報変換テーブルと称する)を記憶している。また、
コントローラはパリティの計算を行う機能と、ディスク
装置の読み出し/書き込みを行う機能とを持つ。
【0027】コントローラはまた、タスク11-iから受
け取った書き込み/読み出し命令(以下、グローバル命
令と呼ぶ)を、ディスク装置4-j(jは1〜3のいずれ
か)に対する書き込み/読み出し命令及びパリティ計算
命令(以下、ローカル命令と称する)に変換する機能を
持つ。
【0028】書き込みのグローバル命令は、以下に示す
動作 ・RAIDデータの読み出し、書き込み ・パリティの読み出し、書き込み ・パリティの計算 を指定する複数のローカル命令に変換される。
【0029】ここで、コントローラがRAIDデータを
更新するときの手順を、RAIDデータd1をd1'に更
新する場合を例に説明する。 (a1)古いRAIDデ一夕d1をディスク装置4-1か
ら読み出す。 (a2)古いパリティpをディスク装置4-3から読み出
す。 (a3)パリティを計算する。新しいパリティp'は、 p'=d1' XOR d2=d1' XOR p XOR d1 であるから、d1',p,d1からp'を計算できる。
【0030】(a4)新しいパリティp'をディスク装
置4-3に書き込む。
【0031】(a5)新しいRAIDデータd1'をディ
スク装置4-1に書き込む。
【0032】新しいパリティp'を計算する方法として
は、上記の、古いRAIDデータと古いパリティを使う
方法(第1の方法)の他に、他のRAIDデータを使う
方法(第2の方法)もある。第2の方法の場合、上記の
例ではd2をディスク装置4-2から読み出し、 p'=d1' XOR d2 で計算できる。
【0033】しかし、ディスク装置(単体ディスク装
置)が5台以上ある場合では、第1の方法の方が、ディ
スク装置から読み出すRAIDデータの数が少なくて済
む。このことについて、ディスク装置(単体ディスク装
置)が6台あり、それぞれにRAIDデータd1,d2,
d3,d4,d5とパリティpが保存されていて、d1をd
1'に変更する場合を例に、説明する。
【0034】まず、第1の方法で新しいパリティp'を
求めるには、 p'=d1' XOR p XOR d1 のように、1つのRAIDデータd1とパリティpを読
み出すだけでよい。
【0035】これ対し、第2の方法では、 p'=d1' XOR d2 XOR d3 XOR d4 XOR
d5 のように、4つのRAIDデータd2,d3,d4,d5を
読み出す必要がある。
【0036】ディスク装置4-1〜4-3のうち1台が故障
した場合には、コントローラが故障したディスク装置を
検出し、当該故障したディスク装置をシステムから切り
離す。例えば、ディスク装置4-1が故障した場合には、
この状態でRAIDデータd1をd1'に更新するには、
d1を読み出すことも、d1'を書き込むこともできな
い。この場合、d1を使わずにパリティを計算して、つ
まり第2の方法によりパリティを計算して、パリティの
みを更新することになる。
【0037】このときの手順は次のようになる。 (b1)RAIDデータd2をディスク装置4-2から読
み出す。 (b2)新しいパリティp'を p'=d1' XOR d2 の演算により求める。 (b3)新しいパリティp'をディスク装置4-3に書き
込む。
【0038】このように、古いRAIDデータd1を読
み出すことができない状態で、新しいパリティを求める
には、上記第2の方法を使う必要がある。
【0039】次に、タスク11-iからコントローラに、
同じRAIDデータに対する複数の書き込み/読み出し
命令が送られた場合のコントローラの動作について説明
する。
【0040】まず、読み出し命令は同時に複数行っても
問題ない。しかし、書き込み命令と読み出し命令、また
は複数の書き込み命令を同時に行うと、ディスク装置上
のRAIDデータやパリティが破壊される。このような
場合には、コントローラが上記各命令に対する排他制御
を行う。
【0041】このように、仮想RAID装置40を構成
するディスク装置4-1,4-2,4-3を集中して制御する
コントローラには、次に列挙する6つの機能、即ち (1)位置情報の管理 (2)ディスク装置4-1,4-2,4-3の故障検出と、シ
ステムからの切り離し (3)排他制御 (4)書き込み/読み出し命令の変換(グローバル命令
からローカル命令の変換) (5)ディスク装置4-1,4-2,4-3を対象とする読み
出し/書き込み (6)パリティの計算 を実行する機能が要求される。
【0042】次に、以上のコントローラ機能(1)〜
(6)を実現するためのコンピュータ1-1〜1-3の構成
について、説明する。まずコンピュータ1-1〜1-3上で
は、上記タスク11-1〜11-3の他に、クラスタマネー
ジャ12-1〜12-3と、クラスタRAID制御部13-1
〜13-3とが動作している。クラスタマネージャ12-1
〜12-3は、それぞれネットワーク3を介して互いに通
信を行う。これによりクラスタマネージャ12-1〜12
-3は、クラスシステム全体では、1つの仮想的なクラス
タマネージャを構成する。
【0043】本実施形態では、クラスタマネージャ12
-iとクラスタRAID制御部13-i(i=1,2,3)
とにより、上記コントローラの機能(1)〜(6)を以
下のように実現する。
【0044】まず、ディスク装置4-iにアクセスするの
に必要な位置情報変換テーブルは、変更があったときに
全てのコンピュータ1-1〜1-3から同じ情報が参照でき
なければならない。そこで、この情報をクラスタマネー
ジャ12-iが状態として保持することにより、上記機能
(1)を実現して情報の一貫性を保証する。そのため、
クラスタマネージャ12-iには、位置情報変換テーブル
120-iが保持される。位置情報変換テーブル120-i
のデータ構造例を図2に示す。位置情報変換テーブル1
20-iには、書き込みを指定するグローバル命令のID
(識別)情報毎に、グローバル命令で使われるアドレス
情報と、第1及び第2のRAIDデータ(DATA1,
DATA2)がディスク装置4-1〜4-3(DISK1〜
DISK3)のうちのいずれに書かれているかという位
置情報と、パリティ(PARITY)がディスク装置4
-1〜4-3(DISK1〜DISK3)のうちのいずれに
書かれているかという位置情報とが登録される。クラス
タマネージャ12-1〜12-3は、ネットワーク3を介し
て互いに同期をとって動作することで、位置情報変換テ
ーブル120-1〜120-3の一致化を図る。
【0045】次に、RAID装置40のコントローラが
存在すると仮定すると、当該コントローラが検出する必
要があるのは、ディスク装置4-1〜4-3の故障のみであ
る。しかし、クラスタシステムの場合、ディスク装置4
-1〜4-3を持つコンピュータ1-1〜1-3が故障し、結果
として当該コンピュータ1-1〜1-3が持つディスク装置
4-1〜4-3、つまり当該コンピュータ1-1〜1-3に接続
されているディスク装置4-1〜4-3の読み出し/書き込
みができなくなる恐れがある。そこで本実施形態におけ
るクラスタマネージャ12-iに、ディスク装置4-iの故
障に加え、コンピュータ1-iの故障をも検出する機能を
持たせることで、上記機能(2)を実現する。
【0046】書き込み命令の変換、RAIDデータの書
き込みやパリティの計算、つまり上記機能(4)〜
(6)は、上記機能(3)により排他をとって行わない
と、RAIDデータやパリティが破壊されてしまう。そ
こで、これらの処理を全て各コンピュータ1-iのクラス
タマネージャ12-iが行うようにすれば、互いに同期を
とって行うことが可能である。しかし、各コンピュータ
1-iのクラスタマネージャ12-iが互いに同期をとって
動作すると、通常のRAID装置のコントローラが1台
で排他制御を行うのに比べて、動作が遅くなってしま
う。つまり、一般にクラスタシステムは、当該システム
を構成するコンピュータの台数が増加するほど性能が向
上するはずであるのに対し、各コンピュータ1-iのクラ
スタマネージャ12-iが互いに同期をとって動作するた
めに、コンピュータの台数が増加するほどクラスタマネ
ージャ12-iの負担が増えて、コンピュータの台数増加
とシステムの性能向上とが対応しなくなる。
【0047】そこで本実施形態では、書き込み/読み出
しを始めるときにクラスタマネージャ12-iを使ってロ
ックの取得を行い、書き込み終了時に当該クラスタマネ
ージャ12-iを再度使ってロックを開放する。このよう
にすることによって、ディスク装置4-iの書き込み/読
み出し処理はクラスタマネージャ12-iを利用せずに行
うことができる。これにより、通常のRAID装置のコ
ントローラと同様の排他を行いながら、システム規模に
応じた書き込み性能、即ちスケーラブルな書き込み性能
を発揮することが可能である。本実施形態では、このデ
ィスク装置4-iの書き込み/読み出し処理及びパリティ
計算(つまり上記(5),(6)の機能)とコンピュー
タ間の書き込み/読み出しデータの転送及び書き込み/
読み出し命令の転送とをクラスタRAID制御部13-i
によって実現する。また、タスク11-iからの書き込み
/読み出し命令(グローバル命令)をローカル命令に変
換する機能(上記(4)の機能)については、当該命令
の排他制御のために、クラスタRAID制御部13-iが
クラスタマネージャ12-iを使用することで、つまりク
ラスタRAID制御部13-i及びクラスタマネージャ1
2-iによって実現する。
【0048】さて、タスク11-iからのグローバル命令
は、クラスタRAID制御部13-iに送られる。クラス
タRAID制御部13-iは、クラスタマネージャ12-i
を使ってグローバル命令をローカル命令に変換し、排他
のためのロックの取得を行い、ディスク装置4-iに対し
てRAIDデータ及びパリティの書き込み、参照を行う
ように構成されている。クラスタRAID制御部13-i
はまた、他のコンピュータ1-j(j=1,2,3、但し
j≠i)上で動作しているクラスタRAID制御部13
-jとネットワーク2経由で互いに通信を行う。
【0049】クラスタRAID制御部13-1〜13-3
は、仮想デバイス131-1〜131-3と、命令変換部1
32-1〜132-3と、命令転送部133-1〜133-3
と、パリティ計算部134-1〜134-3と、ディスク制
御部136-1〜136-3とから構成される。パリティ計
算部134-1〜134-3はバッファ135-1〜135-3
を持つ。
【0050】タスク11-iからのグローバル命令は、ク
ラスタRAID制御部13-i上の仮想デバイス131-i
に送られる。仮想デバイス131-iは、タスク11-iに
対してクラスタRAID制御部13-iが記憶装置である
かのように見せる。仮想デバイス131-iはコンピュー
タ1-iのOS上に存在する一種のデバイスドライバであ
る。
【0051】仮想デバイス131-iが受け取ったグロー
バル命令は命令変換部132-iに送られる。命令変換部
132-iは、クラスタマネージャ12-iと通信して、当
該クラスタマネージャ12-iによりグローバル命令から
ローカル命令(少なくとも1つのローカル命令)への変
換を行わせ、当該ローカル命令を命令転送部133-iに
送ると共に、当該ローカル命令を排他的に実行するため
のロックの取得を行う。
【0052】命令転送部133-iは、ローカル命令の位
置情報が他のコンピュータ1-jのディスク装置4-jを指
していれば、そのコンピュータ1-jの命令転送部133
-jヘ当該ローカル命令を送る。また命令転送部133-i
は、上記位置情報が自身のコンピュータ1-iを指してい
れば、ローカル命令の内容に応じてパリティ計算部13
4-iまたはディスク制御部136-iに当該ローカル命令
を送る。パリティ計算部134-iは、ディスク制御部1
36-iを通じてディスク装置4-iからRAIDデータま
たはパリティを読み込み、パリティの計算を行う。
【0053】次に、第1の実施形態の動作について、デ
ィスク装置4-1に格納されているRAIDデ一夕d1を
d1'に更新する書き込みのグローバル命令を実行する場
合を例に、コンピュータ1-1のクラスタRAID制御部
13-1の動作を中心に、図3の動作説明図を参照して説
明する。
【0054】コンピュータ1-1上で動作するタスク11
-1は、仮想RAID装置40に対する書き込み/読み出
しが必要となった場合、当該書き込み/読み出しを指定
するグローバル命令をクラスタRAID制御部13-1内
の仮想デバイス131-1に送る。仮想デバイス131-1
は、タスク11-1からのグローバル命令を受け取ると、
当該グローバル命令を命令変換部132-1に送る。
【0055】命令変換部132-1は、仮想デバイス13
1-1からグローバル命令を受け取ると、当該グローバル
命令をローカル命令に変換するために、当該グローバル
命令をクラスタマネージャ12-1に送る。クラスタマネ
ージャ12-1は、命令変換部132-1から送られたグロ
ーバル命令をローカル命令に変換する際に、当該ローカ
ル命令の指定するディスク装置の領域がロックされてい
るかをチェックし、ロックされているならば、そのロッ
クが開放されるのを待って、当該ローカル命令を命令変
換部132-1に返すと共に、当該ローカル命令に対応し
て排他に必要なロック情報を作成する。このロック情報
はネットワーク3を介して他のコンピュータ1-2,1-3
上のクラスタマネージャ12-2,12-3に送られる。こ
の結果、クラスタマネージャ12-1〜12-3によりシス
テム全体の排他制御が実現され、クラスタRAID制御
部13-1〜13-3はローカル命令を排他的に実行するた
めのロックを取得することができる。
【0056】クラスタマネージャ12-1によるグローバ
ル命令からローカル命令への変換は、先に述べた通常の
RAID装置におけるコントローラによる変換と同様
に、次のように行われる。まずクラスタマネージャ12
-1は、グローバル命令に含まれるアドレス情報を参照
し、自身が保持している位置情報変換テーブル120-1
を使って、当該アドレス情報に対応する位置情報を取得
する。そしてクラスタマネージャ12-1は、グローバル
命令が読み出し命令であれば、取得した位置情報を含む
ローカル命令を作成する。またクラスタマネージャ12
-1は、グローバル命令が書き込み命令であれば、取得し
たアドレス情報から、対応するRAIDデータ及びパリ
ティの位置情報を決定し、パリティ計算に必要な、旧デ
ータ(古いRAIDデータ)の読み出し、旧パリティ
(古いパリティ)の読み出し、新パリティの計算、新デ
ータの書き込み、及び新パリティの書き込みをそれぞれ
指定するローカル命令の群を作成する。
【0057】ここでグローバル命令が、先のコントロー
ラの機能の説明の場合と同様に、ディスク装置4-1に格
納されているRAIDデ一夕d1をd1'に更新する書き
込みのグローバル命令Gであるものとすると、当該グロ
ーバル命令Gはタスク11-1から仮想デバイス131-1
及び命令変換部132-1を介してクラスタマネージャ1
2-1に送られて(ステップS1〜S3)、このクラスタ
マネージャ12-1にて、グローバル命令Gから以下に述
べるローカル命令L1〜L5への変換が行われる。
【0058】まず、上記(a1)のためのローカル命令
L1、即ちディスク装置4-1からの古いRAIDデ一夕
d1の読み出しを指定するローカル命令L1が生成され
る。また、上記(a2)のためのローカル命令L2、即
ちRAIDデータd1に対応するディスク装置4-3から
の古いパリティpの読み出しを指定するローカル命令L
2が生成される。また、上記(a3)のためのローカル
命令L3、即ち新しいRAIDデ一夕d1'と(ローカル
命令L2に従ってディスク装置4-3から読み出される)
古いパリティpと(ローカル命令L1に従ってディスク
装置4-1から読み出される)古いRAIDデータd1と
から、p'=d1' XOR p XOR d1の演算により新
しいパリティp'を求めることを指定するローカル命令
L3が生成される。また、上記(a4)のためのローカ
ル命令L4、即ち(ローカル命令L3に従って計算され
た)新しいパリティp'をディスク装置4-3に書き込む
ことを指定するローカル命令L4が生成される。また、
上記(a5)のためのローカル命令L5、即ちディスク
装置4-1への新しいRAIDデータd1'の書き込みを指
定するローカル命令L5が生成される。
【0059】この例では、コンピュータ1-1上で動作す
るタスク11-1から、クラスタRAID制御部13-1の
仮想デバイス131-1にグローバル命令が送られたこと
を前提としている。もし、コンピュータ1-2,1-3上で
動作するタスク11-2,11-3から、クラスタRAID
制御部13-2,13-3の仮想デバイス131-2,131
-3にグローバル命令が送られた場合には、クラスタRA
ID制御部13-2,13-3の命令変換部132-2,13
2-3からの要求に応じて、コンピュータ1-2,1-3内の
クラスタマネージャ12-2,12-3により上記したクラ
スタマネージャ12-1と同様のグローバル命令からロー
カル命令への変換動作が行われる。
【0060】このように本実施形態では、通常のRAI
D装置であればコントローラが行うべき変換動作を、ク
ラスタRAID制御部13-1〜13-3の要求によりクラ
スタマネージャ12-1〜12-3で行わせるようにしてい
る。これは、RAID装置40が、コンピュータ1-1〜
1-3に接続されているディスク装置4-1〜4-3から構成
された仮想的なRAID装置であり、通常のRAID装
置のように当該ディスク装置4-1〜4-3を集中して制御
するコントローラを持たないことを考慮したためであ
る。
【0061】命令変換部132-1は、クラスタマネージ
ャ12-1からローカル命令(ローカル命令群)を受け取
ると、当該ローカル命令(ローカル命令群)を命令転送
部133-1に送る。命令転送部133-1は、受け取った
ローカル命令(ローカル命令群)の位置情報を参照し
て、命令単位に、他のコンピュータ1-2または1-3に対
する命令であるか、或いは命令転送部133-1自身が置
かれているコンピュータ(自コンピュータ)1-1に対す
る命令であるかを判定する。もし、他のコンピュータ1
-2または1-3に対する命令であれば、命令転送部133
-1は、そのコンピュータ1-2または1-3の命令転送部1
33-2または133-3に、対応するローカル命令をネッ
トワーク2経由で転送する。一方、自タスク11-iに対
する命令であれば、命令転送部133-1は、その命令が
パリティ計算命令であるか、ディスク装置4-1に対する
書き込み/読み出し命令であるかを判定する。そして命
令転送部133-1は、パリティ計算命令であれば当該パ
リティ計算命令をパリティ計算部134-1に転送し、デ
ィスク装置4-1に対する書き込み/読み出し命令であれ
ば当該書き込み/読み出し命令をディスク制御部136
-1に転送する。また、命令転送部133-1からローカル
命令が転送されたコンピュータ1-2または1-3内の命令
転送部133-2または133-3においても、命令転送部
133-1と同様の動作が行われる。
【0062】これにより、上記したグローバル命令Gの
例、即ちグローバル命令Gがディスク装置4-1に格納さ
れているRAIDデ一夕d1をd1'に更新する書き込み
命令である例では、クラスタマネージャ12-1にてグロ
ーバル命令Gから変換されたローカル命令L1〜L5が
命令変換部132-1を介して命令転送部133-1に送ら
れ(ステップS4,S5)、次のように処理される。
【0063】まず、ディスク装置4-1からの古いRAI
Dデ一夕d1の読み出しを指定するローカル命令L1と
ディスク装置4-1への新しいRAIDデータd1'の書き
込みを指定するローカル命令L5とが、命令転送部13
3-1からディスク制御部136-1に転送される(S6,
S7)。また、ディスク装置4-3からの古いパリティp
の読み出しを指定するローカル命令L2と新しいパリテ
ィp'をディスク装置4-3に書き込むことを指定するロ
ーカル命令L4とが、命令転送部133-1からコンピュ
ータ1-3内の命令転送部133-3に転送され(ステップ
S8,S9)、更に命令転送部133-3からディスク制
御部136-3に転送される(ステップS10,S1
1)。また、新しいRAIDデ一夕d1'と古いパリティ
pと古いRAIDデータd1とから新しいパリティp'を
求めることを指定するローカル命令L3が命令転送部1
33-1からパリティ計算部134-1に転送される(ステ
ップS12)。
【0064】ディスク制御部136-1,136-3は、命
令転送部133-1,133-3からローカル命令を受け取
ると、当該ローカル命令に従ってディスク装置4-1,4
-3に対する読み出し/書き込みを行う。ここでは、ディ
スク制御部136-1により、ローカル命令L1に従って
ディスク装置4-1から古いRAIDデータd1が読み出
され、パリティ計算部134-1に転送される(ステップ
S13,S14)。また、ディスク制御部136-3によ
り、ローカル命令L2に従ってディスク装置4-3から古
いパリティpが読み出され、命令転送部133-3から命
令転送部133-1を介してパリティ計算部134-1に転
送される(ステップS15〜S17)。また、パリティ
計算部134-1には命令転送部133-1から新しいRA
IDデータd1'も転送される(ステップS18)。コン
ピュータ1-1内の命令転送部133-1とコンピュータ1
-3内の命令転送部133-3との間のローカル命令及びデ
ータの転送は、ネットワーク2を介して行われる。
【0065】パリティ計算部134-1に転送された新R
AIDデータd1'、旧パリティp及び旧RAIDデータ
d1は、当該パリティ計算部134-1内のバッファ13
5-1に一時格納される。パリティ計算部134-1は、バ
ッファ135-1に格納された新RAIDデータd1'、旧
パリティp及び旧RAIDデータd1の間でp'=d1'X
OR p XOR d1の演算、つまり排他的論理和(XO
R)演算を行い、前記第1の方法により新パリティp'
を生成する(ステップS19)。
【0066】パリティ計算部134-1により生成された
新パリティp'は、命令転送部133-1からコンピュー
タ1-3内の命令転送部133-3を介してディスク制御部
136-3に転送される(ステップS20〜S22)。デ
ィスク制御部136-3はローカル命令L4に従い、ディ
スク装置4-3に格納されている旧パリティpを新パリテ
ィp'に更新する(ステップS23)。また、新RAI
Dデータd1'は、命令転送部133-1からディスク制御
部136-1にも転送される(ステップS18)。ディス
ク制御部136-1はローカル命令L5に従い、ディスク
装置4-1に格納されている旧RAIDデータd1を新R
AIDデータd1'に更新する(ステップS23)。
【0067】次に、クラスタシステムを構成するコンピ
ュータ1-1〜1-3のいずれか、例えばコンピュータ1-1
に障害が発生した場合の動作について説明する。
【0068】コンピュータ1-1の障害は、当該コンピュ
ータ1-1内のクラスタマネージャ12-1により検出され
る。この場合、コンピュータ1-1が有するディスク装置
4-1は利用できなくなるが、通常のRAIDシステムで
ディスク装置(単体ディスク装置)が1台故障した場合
と同様に、残りのディスク装置4-2及び4-3のRAID
データ及びパリティを読み出すことによって、つまり前
記第2の方法によって、コンピュータ1-1に格納されて
いるRAIDデータを等価的に読み出す(復元する)こ
とが可能となる。
【0069】クラスタマネージャ12-1はコンピュータ
1-1に障害が発生している状態で、ディスク装置4-1上
のRAIDデータを読み出す必要のあるグローバル命令
が命令変換部132-1から送られた場合、当該ディスク
装置4-1を使用せずに当該ディスク装置4-1のRAID
データを読み出すためのローカル命令を生成する。例え
ば、ディスク装置4-1のRAIDデータd1を読み出す
必要がある場合であれば、クラスタマネージャ12-1
は、当該RAIDデータd1に対応するディスク装置4-
2上のRAIDデータd2を読み出すためのローカル命令
とディスク装置4-3のパリティpを読み出すためのロー
カル命令と、パリティp及びRAIDデータd2を用い
てd1=p XOR d2の演算によりディスク装置4-1上
のRAIDデータd1を復元するためのパリティ計算
(排他的論理和演算)を指定するローカル命令とを生成
する。以降の動作は、先のグローバル命令からローカル
命令L1〜L5が生成された場合とほぼ同様である。以
上は、ディスク装置4-1へのデータ書き込みまたはディ
スク装置4-1上のデータの更新の場合も同様である。
【0070】次に、コンピュータ1-1上で動作するタス
ク11-1から書き込みを指定するグローバル命令が発生
し、当該グローバル命令がコンピュータ1-2に接続され
たディスク装置4-2上のRAIDデータ(旧データ)d
2を新らしいRAIDデータ(新データ)d2'に書き換
えることを指定している場合の手順について、図4
(a)を参照して説明する。
【0071】まず、コンピュータ1-2(のクラスタRA
ID制御部13-2)によりディスク装置4-2から旧デー
タd2を読み出す(ステップS31)。次に、コンピュ
ータ1-2(のクラスタRAID制御部13-2)からコン
ピュータ1-1(のクラスタRAID制御部13-1)にネ
ットワーク2を介して旧データd2を転送する(ステッ
プS32)。
【0072】また、コンピュータ1-3(のクラスタRA
ID制御部13-3)によりディスク装置4-3から旧パリ
ティpを読み出す(ステップS33)。次に、コンピュ
ータ1-3(のクラスタRAID制御部13-3)からコン
ピュータ1-1(のクラスタRAID制御部13-1)にネ
ットワーク2を介して旧パリティpを転送する(ステッ
プS34)。
【0073】次に、コンピュータ1-1(のクラスタRA
ID制御部13-1)で、旧データd2、旧パリティp及
び新データd2'の間の排他的論理和(XOR)演算を行
い、新パリティp'=d2' XOR p XOR d2を生成
する(ステップS35)。
【0074】コンピュータ1-1(のクラスタRAID制
御部13-1)からコンピュータ1-2(のクラスタRAI
D制御部13-2)にネットワーク2を介して新データd
2'を転送する(ステップS36)。次に、コンピュータ
1-2(のクラスタRAID制御部13-2)によりディス
ク装置4-2上の旧データd2を新データd2'に書き換え
る(ステップS37)。
【0075】また、コンピュータ1-1(のクラスタRA
ID制御部13-1)からコンピュータ1-3(のクラスタ
RAID制御部13-3)にステップS35で生成した新
パリティp'をネットワーク2経由で転送する(ステッ
プS38)。次に、コンピュータ1-3(のクラスタRA
ID制御部13-3)によりディスク装置4-3上の旧パリ
ティpを新パリティp'に書き換える(ステップS3
9)。
【0076】このようにして、新パリティp'及び新デ
ータd2'を、それぞれディスク装置4-2及び4-3に書き
込むことができる。但し、以上の手順(図4(a)参
照)では、ネットワーク2を経由してのコンピュータ間
の転送(RAIDデータの転送とパリティの転送)が4
回発生し、仮想RAID装置40に対する読み出し/書
き込みの性能が低下する。
【0077】そこで、コンピュータ間の転送回数を減ら
すことを可能とする本実施形態の変形例について、図4
(b)を参照して説明する。なお、本変形例において
も、図4(a)の例と同様に、コンピュータ1-1上で動
作するタスク11-1から、ディスク装置4-2上のRAI
Dデータ(旧データ)d2を新らしいRAIDデータ
(新データ)d2'に書き換えることを指定するグローバ
ル命令が発生したものとする。
【0078】まず、コンピュータ1-1(のクラスタRA
ID制御部13-1)からコンピュータ1-2(のクラスタ
RAID制御部13-2)にネットワーク2を介して新デ
ータd2'を転送する(ステップS41)。
【0079】次に、コンピュータ1-2(のクラスタRA
ID制御部13-2)によりディスク装置4-2から旧デー
タd2を読み出す(ステップS42)。次に、コンピュ
ータ1-2(のクラスタRAID制御部13-2)で、コン
ピュータ1-1(のクラスタRAID制御部13-1)から
転送された新データd2'及び自コンピュータ1-2(のク
ラスタRAID制御機構13-2)が読み出した旧データ
d2の間の排他的論理和(XOR)演算を行い、その演
算結果(以下、中間データと称する)ma=d2' XO
R d2を求める(ステップS43)。
【0080】また、コンピュータ1-2(のクラスタRA
ID制御部13-2)によりディスク装置4-2上の旧デー
タd2を新データd2'に書き換える(ステップS4
4)。
【0081】次に、コンピュータ1-2(のクラスタRA
ID制御部13-2)からコンピュータ1-3(のクラスタ
RAID制御部13-3)にステップS43で生成した中
間データmaをネットワーク2経由で転送する(ステッ
プS45)。
【0082】次に、コンピュータ1-3(のクラスタRA
ID制御部13-3)によりディスク装置4-3から旧パリ
ティpを読み出す(ステップS46)。次に、コンピュ
ータ1-3(のクラスタRAID制御部13-3)で、自コ
ンピュータ1-3(のクラスタRAID制御機構13-3)
が読み出した旧パリティp及びコンピュータ1-2(のク
ラスタRAID制御部13-2)から転送された中間デー
タma(=d2' XOR d2)の間の排他的論理和(X
OR)演算を行い、新パリティp'=p XOR maを
生成する(ステップS47)。
【0083】次に、コンピュータ1-3(のクラスタRA
ID制御部13-3)によりディスク装置4-3上の旧パリ
ティpを新パリティp'に書き換える(ステップS4
8)。
【0084】このように本変形例においては、パリティ
計算の途中結果(中間データma)を、次の計算に必要
な(情報が格納されているディスク装置と接続された)
コンピュータ(コンピュータ1-3)に転送することで、
データ転送を4回から2回に減らすことができる。
【0085】[第2の実施形態]図5は本発明の第2の
実施形態に係る仮想的なRAID装置を有するクラスタ
システムの構成を示すブロック図である。なお、図1と
同一部分には同一符号を付してある。
【0086】図5のクラスタシステムの特徴は、図1中
のコンピュータ1-1〜1-3に相当するコンピュータ10
-1〜10-3の他に、図1中のクラスタマネージャ12-1
〜12-3に相当するクラスタマネージャ12が動作する
クラスタマネージャ専用のコンピュータ100を備えて
いる点と、コンピュータ10-1〜10-3上ではクラスタ
マネージャが動作していない点にある。クラスタマネー
ジャ12は、図2に示したデータ構造の位置情報変換テ
ーブル120-iに相当する位置情報変換テーブル120
を有している。
【0087】コンピュータ10-1〜10-3及びコンピュ
ータ100はネットワーク2,3により相互接続されて
いる。コンピュータ10-1〜10-3のクラスタRAID
制御部13-1〜13-3(内の命令変換部132-1〜13
2-3)は、コンピュータ100のクラスタマネージャ1
2とネットワーク3を介して通信する。
【0088】前記第1の実施形態で適用した図1の構成
のクラスタシステムでは、仮想RAID装置40を構成
するディスク装置4-1〜4-3と接続されているコンピュ
ータ1-1〜1-3上で、クラスタマネージャ12-1〜12
-3及びクラスタRAID制御部13-1〜13-3が動作す
る。このため、コンピュータ1-1〜1-3の負荷が大きく
なり、処理性能が低下する恐れがある。
【0089】これに対して本実施形態で適用した図5の
構成のクラスタシステムでは、クラスタRAID制御部
13-1〜13-3が動作するコンピュータ10-1〜10-3
とは別に、クラスタマネージャ12が動作するコンピュ
ータ100を設けている。このため、コンピュータ10
-1〜10-3の負荷は、当該コンピュータ10-1〜10-3
上でクラスタマネージャを動作させる場合に比べて減少
する。
【0090】但し、図1のシステムでは、システムを構
成しているコンピュータ1-1〜1-3のうちのいずれか1
台に障害が発生してもシステム全体が停止する恐れはな
いのに対し、図5のシステムでは、クラスタマネージャ
12が動作しているコンピュータ100に障害が発生し
た場合は、それ以降位置情報変換テーブル120が利用
できなくなるため、その時点でシステム全体が使用不能
になる。そこで、コンピュータ100を2重化するなど
して、可用性を上げることで、システム全体の可用性を
上げるとよい。
【0091】以上の説明では、仮想RAID装置40を
構成するディスク装置4-1〜4-3の各々に対してRAI
Dデータまたはパリティのいずれかが保存される、例え
ばディスク装置4-1,4-2にはRAIDデータd1,d2
が保存され、ディスク装置4-3にはパリティpが保存さ
れるものとしたが、これに限るものではない。例えば、
ディスク装置4-1〜4-3から構成される仮想RAID装
置40のディスク領域を、複数のストライプに分割して
管理するストライピングという手法を適用し、各ストラ
イプi毎にRAIDデータd1-i,d2-i及びパリティp
-iが、それぞれディスク装置4-1,4-2及び4-3に保存
されるRAIDレベル3と呼ばれる構成に対しても、本
発明は適用可能である。また、RAIDデータd1-i,
d2-i及びパリティp-iが、全てのディスク装置4-1,
4-2及び4-3に分散するように配置されるRAIDレベ
ル5と呼ばれる構成に対しても、本発明は適用可能であ
る。ストライピングにより、1つのRAIDデータを読
み出し/書き込みする際に複数のディスク装置が同時に
動作する割合を増やすことができ、スケーラブルな性能
を出すことができるようになる。本発明では、RAID
5の場合でもストライピングのない図の(1)のような
場合でも、ディスクアクセスのロックをとることにより
スケーラブルな性能を出すことが可能である。
【0092】また、以上の説明では、各コンピュータ1
-1〜1-3(またはコンピュータ10-1〜10-3,10
0)が2つのネットワーク2及び3により相互接続さ
れ、クラスタマネージャ12-1〜12-3相互間の通信
(またはクラスタマネージャ12とクラスタRAID制
御部13-1〜13-3との間の通信)にはネットワーク3
が、クラスタRAID制御部13-1〜13-3(内の命令
転送部133-1〜133-3)相互間の通信(命令転送と
データの転送)にはネットワーク2が用いられるものと
したが、これに限るものではない。例えば、上記2種の
通信に1つのネットワークを用いるようにしても構わな
い。この場合、通信速度が低下する恐れがあるものの、
システムの簡略化が図れる。
【0093】なお、本発明は、上記各実施形態に限定さ
れるものではなく、実施段階ではその要旨を逸脱しない
範囲で種々に変形することが可能である。更に、上記実
施形態には種々の段階の発明が含まれており、開示され
る複数の構成要件における適宜な組み合わせにより種々
の発明が抽出され得る。例えば、実施形態に示される全
構成要件から幾つかの構成要件が削除されても、発明が
解決しようとする課題の欄で述べた課題の少なくとも1
つが解決でき、発明の効果の欄で述べられている効果の
少なくとも1つが得られる場合には、この構成要件が削
除された構成が発明として抽出され得る。
【0094】
【発明の効果】以上詳述したように本発明によれば、ク
ラスタシステムを構成する複数のコンピュータそれぞれ
に接続されたディスク装置を、1つの仮想的なRAID
装置の構成要素として利用することができる。このため
本発明によれば、1台のコンピュータに障害が発生して
も、それまでに上記仮想的なRAID装置に書き込まれ
た全てのデータを参照することが可能である。また、1
台のコンピュータに障害が発生した状態であっても、タ
スクがデータを読み出し/書き込みすることが可能であ
る。これによりクラスタシステムにおいて、1台のコン
ピュータに障害が発生し、他のコンピュータで運用を続
けようとするとき、障害が発生したコンピュータの持つ
データが、連用を再開するために必要な場合であって
も、運用を続けることが可能となる。
【0095】また、本発明によれば、各コンピュータに
接続されたディスク装置の読み出し/書き込みの処理及
びパリティ計算処理は、クラスタマネージャを利用せず
に行うことができるため、当該クラスタマネージャで排
他を行いながらシステム規模に応じた読み出し/書き込
み性能を実現することが可能となる。
【0096】また、パリティ計算を行う際には、計算に
必要な情報を1つのコンピュータに集めず、パリティ計
算の中間結果を順次、パリティ計算の次の中間結果また
は最終結果の計算に必要な情報を持つコンピュータに転
送することにより、少ないコンピュータ間データ転送回
数で1つのパリティ計算を行うことができ、仮想的なR
AID装置に対する書き込みの速度を向上させることが
可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る仮想的なRAI
D装置を有するクラスタシステムの構成を示すブロック
図。
【図2】図1中のクラスタマネージャ12-iで保持され
る位置情報変換テーブル120-iのデータ構造例を示す
図。
【図3】第1の実施形態の動作について、ディスク装置
4-1に格納されているRAIDデ一夕d1をd1'に更新
する書き込みのグローバル命令を実行する場合を例に説
明するための図。
【図4】第1の実施形態において、コンピュータ1-2に
接続されたディスク装置4-2上のRAIDデータd2を
d2'に書き換えるグローバル命令がコンピュータ1-1上
で発生した場合に適用可能な2種の手順を対比して説明
するための図。
【図5】本発明の第2の実施形態に係る仮想的なRAI
D装置を有するクラスタシステムの構成を示すブロック
図。
【符号の説明】 1-1〜1-3…コンピュータ 2,3…ネットワーク 4-1〜4-3…ディスク装置 11-1〜11-3…タスク 12,12-1〜12-3…クラスタマネージャ 13-1〜13-3…クラスタRAID制御部(制御機構) 40…仮想RAID装置 100…コンピュータ(クラスタマネージャ用コンピュ
ータ) 120,120-1〜120-3,120-i…位置情報変換
テーブル 132-1〜132-3…命令変換部 133-1〜133-3…命令転送部 134-1〜134-3…パリティ計算部 136-1〜136-3…ディスク制御部
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B018 GA04 HA12 HA35 MA14 5B045 BB28 BB29 EE06 GG01 JJ22 JJ25 JJ26 5B065 BA01 CA11 CA30 CC08 CH13 EA02 EA13 ZA02

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのネットワークで相互接
    続された複数のコンピュータと、前記各コンピュータに
    それぞれ接続されたディスク装置とを備えたクラスタシ
    ステムにおいて、 前記システム全体の排他制御と、前記各コンピュータに
    それぞれ接続されたディスク装置を仮想的なRAID装
    置の構成要素として扱うために、グローバル命令から少
    なくとも1つのローカル命令への変換とを行うクラスタ
    マネージャと、 前記複数のコンピュータ上で前記クラスタマネージャか
    らそれぞれ独立に動作する制御機構であって、自身が動
    作する前記コンピュータ上で前記RAID装置を対象と
    する書き込み/読み出しのグローバル命令が発生した場
    合に、前記クラスタマネージャと通信することで当該グ
    ローバル命令を前記クラスタマネージャにより少なくと
    も1つのローカル命令に変換させる命令変換手段と、与
    えられたローカル命令に従って前記ディスク装置を対象
    とする読み出し/書き込みを行うディスク制御手段と、
    与えられたローカル命令に従ってパリティ計算を行うパ
    リティ計算手段と、前記命令変換手段から前記ローカル
    命令を受けて、当該ローカル命令を対応する他の前記コ
    ンピュータ、前記ディスク制御手段または前記パリティ
    計算手段に転送する命令転送手段とを含む制御機構とを
    具備することを特徴とする仮想的なRAID装置を有す
    るクラスタシステム。
  2. 【請求項2】 前記クラスタマネージャは、パリティ計
    算に必要な情報が格納されている前記ディスク装置と接
    続されている前記コンピュータで当該情報を用いたパリ
    ティ計算の中間結果または最終結果を算出させるローカ
    ル命令であって、当該中間結果を算出させる場合には、
    当該中間結果を、当該中間結果との間でパリティ計算の
    次の中間結果または最終結果を算出するのに必要な情報
    が格納されている前記ディスク装置と接続されている前
    記コンピュータに転送させるローカル命令を生成するこ
    とを特徴とする請求項1記載の仮想的なRAID装置を
    有するクラスタシステム。
  3. 【請求項3】 前記クラスタマネージャは、前記複数の
    コンピュータにそれぞれ設けられており、前記ネットワ
    ークを介して他の前記コンピュータ上の前記クラスタマ
    ネージャと同期をとって動作することを特徴とする請求
    項1記載の仮想的なRAID装置を有するクラスタシス
    テム。
  4. 【請求項4】 前記クラスタマネージャは、前記複数の
    コンピュータから独立に設けられたクラスタマネージャ
    用コンピュータ上で動作し、 前記複数のコンピュータ上で動作する前記制御機構は、
    前記ネットワークを介して前記クラスタマネージャ用コ
    ンピュータ上の前記クラスタマネージャと通信すること
    を特徴とする請求項1記載の仮想的なRAID装置を有
    するクラスタシステム。
  5. 【請求項5】 少なくとも1つのネットワークで相互接
    続された複数のコンピュータから構成されるクラスタシ
    ステムにディスク装置と接続して用いられるクラスタシ
    ステム用のコンピュータにおいて、 前記クラスタシステム全体の排他制御と、前記クラスタ
    システムを構成する前記各コンピュータにそれぞれ接続
    されたディスク装置を仮想的なRAID装置の構成要素
    として扱うために、グローバル命令から少なくとも1つ
    のローカル命令への変換とを行うクラスタマネージャ
    と、 自身が動作する前記コンピュータ上で前記RAID装置
    を対象とする書き込み/読み出しのグローバル命令が発
    生した場合に、前記クラスタマネージャと通信すること
    で当該グローバル命令を前記クラスタマネージャにより
    少なくとも1つのローカル命令に変換させる命令変換手
    段と、 与えられたローカル命令に従って前記ディスク装置を対
    象とする読み出し/書き込みを行うディスク制御手段
    と、 与えられたローカル命令に従ってパリティ計算を行うパ
    リティ計算手段と、 前記命令変換手段から前記ローカル命令を受けて、当該
    ローカル命令を対応する他の前記コンピュータ、前記デ
    ィスク制御手段または前記パリティ計算手段に転送する
    命令転送手段とを具備することを特徴とするクラスタシ
    ステム用のコンピュータ
  6. 【請求項6】 少なくとも1つのネットワークで相互接
    続された、複数のクラスタシステム用のコンピュータと
    クラスタマネージャ用のコンピュータとから構成される
    クラスタシステムにおける、 前記クラスタシステム全体の排他制御と、前記複数のク
    ラスタシステム用のコンピュータにそれぞれ接続された
    ディスク装置を仮想的なRAID装置の構成要素として
    扱うために、グローバル命令から少なくとも1つのロー
    カル命令への変換とを行うクラスタマネージャが動作す
    るクラスタシステムに用いられるクラスタシステム用の
    コンピュータであって、 自身が動作する前記クラスタシステム用のコンピュータ
    上で前記RAID装置を対象とする書き込み/読み出し
    のグローバル命令が発生した場合に、前記クラスタマネ
    ージャと通信することで当該グローバル命令を前記クラ
    スタマネージャにより少なくとも1つのローカル命令に
    変換させる命令変換手段と、 与えられたローカル命令に従って前記ディスク装置を対
    象とする読み出し/書き込みを行うディスク制御手段
    と、 与えられたローカル命令に従ってパリティ計算を行うパ
    リティ計算手段と、 前記命令変換手段から前記ローカル命令を受けて、当該
    ローカル命令を対応する他の前記クラスタシステム用の
    コンピュータ、前記ディスク制御手段または前記パリテ
    ィ計算手段に転送する命令転送手段とを具備することを
    特徴とするクラスタシステム用のコンピュータ。
  7. 【請求項7】 少なくとも1つのネットワークで相互接
    続された複数のコンピュータと、前記各コンピュータに
    それぞれ接続されて仮想的なRAID装置を構成するデ
    ィスク装置とを備えた、仮想的なRAID装置を有する
    クラスタシステムにおけるパリティ計算方法であって、 前記複数のコンピュータの1つから、パリティ計算に必
    要な情報を、当該情報を用いたパリティ計算の中間結果
    または最終結果を生成するのに必要な別の情報が格納さ
    れている前記ディスク装置と接続されている前記コンピ
    ュータに転送するステップと、 前記複数のコンピュータの1つが別の前記コンピュータ
    から情報を受け取った場合に、当該情報に対応するパリ
    ティ計算の中間結果または最終結果を生成するのに必要
    な別の情報を自コンピュータに接続されている前記ディ
    スク装置から読み出して、当該両情報からパリティ計算
    の中間結果または最終結果を生成するステップと、 前記パリティ計算の中間結果または最終結果を生成した
    前記コンピュータが、前記中間結果を生成した場合に
    は、当該中間結果を、当該中間結果との間でパリティ計
    算の次の中間結果または最終結果を算出するのに必要な
    情報が格納されている前記ディスク装置と接続されてい
    る前記コンピュータに転送し、前記最終結果を生成した
    場合には、前記最終結果を自コンピュータに接続されて
    いる前記ディスク装置に格納するステップとを具備し、
    パリティ計算の中間結果を順次、パリティ計算の次の中
    間結果または最終結果の計算に必要な情報が格納されて
    いるディスク装置と接続されているコンピュータに転送
    することを特徴とする仮想的なRAID装置を有するク
    ラスタシステムにおけるパリティ計算方法。
JP2001292426A 2001-09-25 2001-09-25 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ Expired - Fee Related JP4054182B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001292426A JP4054182B2 (ja) 2001-09-25 2001-09-25 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ
US10/230,339 US6807642B2 (en) 2001-09-25 2002-08-29 Cluster system having virtual raid, computer for the cluster system, and parity calculation method in the cluster system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001292426A JP4054182B2 (ja) 2001-09-25 2001-09-25 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ

Publications (2)

Publication Number Publication Date
JP2003099210A true JP2003099210A (ja) 2003-04-04
JP4054182B2 JP4054182B2 (ja) 2008-02-27

Family

ID=19114388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001292426A Expired - Fee Related JP4054182B2 (ja) 2001-09-25 2001-09-25 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ

Country Status (2)

Country Link
US (1) US6807642B2 (ja)
JP (1) JP4054182B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006106900A (ja) * 2004-09-30 2006-04-20 Nippon Digital Kenkyusho:Kk ネットワークraidシステム、その電源管理装置、およびコンピュータが実行するためのプログラム
JP2006106898A (ja) * 2004-09-30 2006-04-20 Nippon Digital Kenkyusho:Kk ネットワークraidシステム、そのコンピュータ、およびコンピュータが実行するためのプログラム
JP2007011500A (ja) * 2005-06-28 2007-01-18 Mitsubishi Electric Corp ホームゲートウェイ
JP2008539505A (ja) * 2005-04-29 2008-11-13 ネットワーク アプライアンス, インコーポレイテッド データコンテナの中身をクラスタの複数のボリュームにわたってストライピングするためのストレージシステム・アーキテクチャ
JP2010514066A (ja) * 2006-12-19 2010-04-30 インテル・コーポレーション パターンマッチングによる高性能raid6システムアーキテクチャ
JP2012033169A (ja) * 2010-07-29 2012-02-16 Ntt Docomo Inc バックアップシステムにおける符号化を使用して、ライブチェックポインティング、同期、及び/又は復旧をサポートするための方法及び装置
JP2012175535A (ja) * 2011-02-23 2012-09-10 Brother Ind Ltd ノード装置、情報処理方法及びプログラム
KR20150036018A (ko) * 2012-06-07 2015-04-07 바이올린 메모리 인코포레이티드 메모리 시스템 관리
JP2015207289A (ja) * 2014-04-21 2015-11-19 三星電子株式会社Samsung Electronics Co.,Ltd. ストレージシステム及びストレージコントローラの動作方法
JP2016051209A (ja) * 2014-08-28 2016-04-11 富士通株式会社 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928515B2 (en) * 2002-11-09 2005-08-09 International Business Machines Corporation Integrated sector format-error correction code system and method for efficient writing in a disk array system
US6891690B2 (en) * 2002-11-20 2005-05-10 International Business Machines Corporation On-drive integrated sector format raid error correction code system and method
US7330858B1 (en) 2003-06-30 2008-02-12 Symantec Operating Corporation Coordinated distributed logging in a multi-host environment
US7328226B1 (en) 2003-06-30 2008-02-05 Symantec Operating Corporation Coordinated distributed log-based snapshots in a multi-host environment
US7096316B1 (en) 2003-06-30 2006-08-22 Veritas Operating Corporation Multi-host environment with coordinated distributed logging for writes to a raid storage volume
JP4144549B2 (ja) * 2004-03-31 2008-09-03 日本電気株式会社 データ保存システムおよび該システムの制御方法
US7516354B2 (en) * 2004-08-25 2009-04-07 International Business Machines Corporation Storing parity information for data recovery
US7441146B2 (en) * 2005-06-10 2008-10-21 Intel Corporation RAID write completion apparatus, systems, and methods
US7562188B2 (en) * 2005-06-17 2009-07-14 Intel Corporation RAID power safe apparatus, systems, and methods
US7653829B2 (en) * 2005-12-08 2010-01-26 Electronics And Telecommunications Research Institute Method of data placement and control in block-divided distributed parity disk array
US7827439B2 (en) * 2007-09-28 2010-11-02 Symantec Corporation System and method of redundantly storing and retrieving data with cooperating storage devices
FR2940570B1 (fr) * 2008-12-23 2011-03-18 Seanodes Systeme de stockage comprenant plusieurs noeuds en reseau avec gestion de la parite
US9430367B1 (en) * 2011-04-18 2016-08-30 American Megatrends, Inc. Systems and methods for active raid
US9684591B2 (en) * 2012-04-27 2017-06-20 Hitachi, Ltd. Storage system and storage apparatus
USRE48835E1 (en) 2014-04-30 2021-11-30 Rubrik, Inc. Network addressable storage controller with storage drive profile comparison
US9081828B1 (en) 2014-04-30 2015-07-14 Igneous Systems, Inc. Network addressable storage controller with storage drive profile comparison
US9116833B1 (en) * 2014-12-18 2015-08-25 Igneous Systems, Inc. Efficiency for erasure encoding
US9361046B1 (en) 2015-05-11 2016-06-07 Igneous Systems, Inc. Wireless data storage chassis
US10884861B2 (en) 2018-11-29 2021-01-05 International Business Machines Corporation Write-balanced parity assignment within a cluster
US20220137835A1 (en) * 2020-10-30 2022-05-05 Kioxia Corporation Systems and methods for parity-based failure protection for storage devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579474A (en) * 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
US5862312A (en) 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US6601138B2 (en) * 1998-06-05 2003-07-29 International Business Machines Corporation Apparatus system and method for N-way RAID controller having improved performance and fault tolerance
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
US6950901B2 (en) * 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4575739B2 (ja) * 2004-09-30 2010-11-04 株式会社日本デジタル研究所 ネットワークraidシステム
JP2006106898A (ja) * 2004-09-30 2006-04-20 Nippon Digital Kenkyusho:Kk ネットワークraidシステム、そのコンピュータ、およびコンピュータが実行するためのプログラム
JP4666990B2 (ja) * 2004-09-30 2011-04-06 株式会社日本デジタル研究所 ネットワークraidシステム
JP2006106900A (ja) * 2004-09-30 2006-04-20 Nippon Digital Kenkyusho:Kk ネットワークraidシステム、その電源管理装置、およびコンピュータが実行するためのプログラム
JP2008539505A (ja) * 2005-04-29 2008-11-13 ネットワーク アプライアンス, インコーポレイテッド データコンテナの中身をクラスタの複数のボリュームにわたってストライピングするためのストレージシステム・アーキテクチャ
JP4787315B2 (ja) * 2005-04-29 2011-10-05 ネットアップ,インコーポレイテッド データコンテナの中身をクラスタの複数のボリュームにわたってストライピングするためのストレージシステム・アーキテクチャ
JP2007011500A (ja) * 2005-06-28 2007-01-18 Mitsubishi Electric Corp ホームゲートウェイ
JP2010514066A (ja) * 2006-12-19 2010-04-30 インテル・コーポレーション パターンマッチングによる高性能raid6システムアーキテクチャ
JP2012033169A (ja) * 2010-07-29 2012-02-16 Ntt Docomo Inc バックアップシステムにおける符号化を使用して、ライブチェックポインティング、同期、及び/又は復旧をサポートするための方法及び装置
JP2012175535A (ja) * 2011-02-23 2012-09-10 Brother Ind Ltd ノード装置、情報処理方法及びプログラム
KR20150036018A (ko) * 2012-06-07 2015-04-07 바이올린 메모리 인코포레이티드 메모리 시스템 관리
KR102133316B1 (ko) * 2012-06-07 2020-07-21 바이올린 메모리 인코포레이티드 메모리 시스템 관리
JP2015207289A (ja) * 2014-04-21 2015-11-19 三星電子株式会社Samsung Electronics Co.,Ltd. ストレージシステム及びストレージコントローラの動作方法
JP2016051209A (ja) * 2014-08-28 2016-04-11 富士通株式会社 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム

Also Published As

Publication number Publication date
US20030061441A1 (en) 2003-03-27
JP4054182B2 (ja) 2008-02-27
US6807642B2 (en) 2004-10-19

Similar Documents

Publication Publication Date Title
JP2003099210A (ja) 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ
US7613806B2 (en) System and method for managing replication sets of data distributed over one or more computer systems
US5682396A (en) Control unit in storage subsystem with improvement of redundant data updating
EP0902923B1 (en) Method for independent and simultaneous access to a common data set
KR100711396B1 (ko) 서버의 이중화 방법 및 이중화 서버시스템
US6640278B1 (en) Method for configuration and management of storage resources in a storage network
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
US8281069B2 (en) Distributed data storage system using local copy operations for RAID-1 volumes
US6601138B2 (en) Apparatus system and method for N-way RAID controller having improved performance and fault tolerance
US7404037B1 (en) System and method for performing virtual device I/O operations
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
US6795904B1 (en) System and method for improving performance of a data backup operation
US7783844B2 (en) Shared/exclusive control scheme among sites including storage device system shared by plural high-rank apparatuses, and computer system equipped with the same control scheme
US7120826B2 (en) Partial mirroring during expansion thereby eliminating the need to track the progress of stripes updated during expansion
US6247103B1 (en) Host storage management control of outboard data movement using push-pull operations
US7734878B1 (en) System and method for performing virtual device I/O operations
US7930477B2 (en) Achieving data consistency with point-in-time copy operations in a parallel I/O environment
IE20000203A1 (en) Storage domain management system
EP1237087A2 (en) Memory device system and method for copying data in memory device system
GB2289355A (en) Data access apparatus and distributed data base system
JP2002023963A (ja) 記憶装置への好ましいパスを選択するための方法、システム、および媒体
JP2000207136A (ja) 複数ドライブ故障トレラントraidアルゴリズム
JP2834399B2 (ja) 二重化ディスク装置
US6715048B1 (en) System and method for efficiently performing a restore operation in a data storage environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

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: 20071204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071207

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

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees