[go: up one dir, main page]

JP2000322292A - クラスタ型データサーバシステム及びデータ格納方法 - Google Patents

クラスタ型データサーバシステム及びデータ格納方法

Info

Publication number
JP2000322292A
JP2000322292A JP11128273A JP12827399A JP2000322292A JP 2000322292 A JP2000322292 A JP 2000322292A JP 11128273 A JP11128273 A JP 11128273A JP 12827399 A JP12827399 A JP 12827399A JP 2000322292 A JP2000322292 A JP 2000322292A
Authority
JP
Japan
Prior art keywords
data
request
storage device
data storage
processing
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.)
Pending
Application number
JP11128273A
Other languages
English (en)
Inventor
Koichi Konishi
弘一 小西
Yuichi Aiba
雄一 相場
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11128273A priority Critical patent/JP2000322292A/ja
Publication of JP2000322292A publication Critical patent/JP2000322292A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】無共有型のクラスタシステムにおいて、データ
記憶装置上の特定のデータに依存した処理の負荷を、実
行時に適応的に複数のディスク及び計算機ノードに拡散
して、各データ記憶装置及び計算機ノードにかかる負荷
を均等にし、結果的にクラスタシステム全体の処理を高
速化する、システムの提供。 【解決手段】ディスク装置に記憶するべきデータをまず
粗に分割し、さらにそれを細分割して、同一粗分割デー
タに由来するすべての細分割データ100_i1〜100_imを同
一ディスクに記憶させる一方、各細分割データの複製11
0_i1〜110_im,...,1r0_im〜1r0_imを原本とは異なる、
また互いに異なるディスクに記憶させ、各細分割データ
を必要とする処理要求を原本を記憶するディスクを持つ
計算機ノードと複製を記憶するディスクを持つ計算機ノ
ードにそれぞれの負荷状況を考慮して振り分ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の計算機ノー
ドで構成されたクラスタシステムに関し、特に、各計算
機ノードがそれぞれローカルなデータ記憶装置を有する
無共有型クラスタシステムにおいてクラスタ外のクライ
アントからの要求を、各ノードのローカルデータ記憶装
置内のデータを用いて処理するサーバアプリケーション
を実行するサーバシステムに関する。
【0002】
【従来の技術】一つのアプリケーションを実行するため
に、複数の独立した計算機を用いて構成したシステムを
クラスタシステムという。クラスタシステムと分散シス
テムとの相違は、クラスタシステムでは、アプリケーシ
ョンの実行に、常時、クラスタ全体がかかわることであ
る。またクラスタシステムと並列計算機との相違は、単
独でも使用できる独立した計算機の集合として構成され
ていることである。
【0003】クラスタシステムの目的は、大きく、高性
能化、大容量化、信頼性向上の三つがある。すなわち、
より多くの計算機を用いることによって、より高い処理
性能を達成すること、より多くのデータを扱うこと、複
数の計算機を用いることにより、そのうちのいくつかの
計算機が停止しても、残りの計算機で処理を継続できる
ようにすることである。
【0004】これらの目的が達成されるなら、クラスタ
システムは、大規模なサーバアプリケーションを実行す
るシステムに好適とされる。というのは、このようなア
プリケーションは、一般に、ディスク装置(磁気ディス
ク装置、光ディスク装置等を含む)上の大量のデータを
高速に処理する必要があり、また、常時、途切れること
なくクライアントからの要求に応えることができる必要
もあるからである。
【0005】ディスク装置上の大量のデータを用いて処
理を行うサーバアプリケーションとしては、データベー
ス管理システム上のオンライントランザクション処理サ
ーバや、音声・動画データの再生を行うクライアントに
それらのデータを供給するマルチメディアストリームサ
ーバ、膨大な数の文書からユーザーが指定したキーワー
ドを含む文書を見つけてその一覧を返す全文検索サーバ
等が知られている。
【0006】クラスタシステムにおいて、ディスクと計
算機を接続する形態により、大きく二つに分類される。
その一つは、「ディスク共有(shared disk)型」と呼ば
れ、計算機とディスク装置をネットワークを介して接続
し、任意の計算機から任意のディスク装置に対して同じ
手順でアクセスができるようにするものであり、他は、
「無共有(shared nothing)型」と呼ばれ、各計算機に
それぞれローカルにディスク装置を直接接続し、計算機
間で相互接続するためのネットワークを設けるものであ
る。
【0007】無共有型と比べ、ディスク共有型は、ディ
スク装置上の特定のデータを必要とする処理が、クラス
タ内の任意の計算機ノードで行うことができる、という
利点を有している。
【0008】そこで、従来より、ディスク共有型のクラ
スタシステムの上に構築されるトランザクション処理サ
ーバ等では、各計算機ノードの負荷や稼働状態を常時監
視して、クライアントから新しい処理要求を受け付ける
と、稼働中のより負荷の軽い計算機ノードを選択し、該
選択した計算機ノードに処理を割り当てるための手段を
備えているものがある。トランザクション処理サーバで
はトランザクションモニタと呼ばれる。
【0009】かかる構成により、ある計算機ノードが停
止していたり、負荷が高かったりする場合、当該計算機
ノードの代替として、クラスタ内の他の任意の計算機ノ
ードが選択され、処理を代替させて継続させることがで
きる。
【0010】このようにして、ディスク共有型クラスタ
システムでは、比較的容易に、ある計算機ノードの停止
時の運転継続、及び各計算機ノードの負荷の均等化を図
ることができる。
【0011】一方、無共有型クラスタにおいては、一の
計算機ノードから他の計算機ノードにローカルに接続し
ているディスク装置にアクセスするには、一の計算機ノ
ードから他の計算機ノードに対してディスク装置に対す
る入出力処理を依頼し、他の計算機ノードにディスク装
置に対する入出力処理を代行してもらう必要がある。こ
れを、「遠隔ディスクアクセス」という。
【0012】この際、ネットワークを介して依頼する入
出力処理の内容及びこれに伴うデータが二つの計算機ノ
ード間で授受され、一の計算機ノードが該一の計算機ノ
ードに直接接続しているローカルディスク装置にアクセ
スする場合に比べ、アクセス時間が増大するとともに、
ネットワークトラフィック等が増大する。
【0013】また、クラスタ内の一の計算機ノードが停
止してしまった場合、他の計算機ノードから停止した一
の計算機ノードに直接接続しているローカルディスク装
置に記憶されているデータにアクセスするための手段が
なくなる。
【0014】このため、無共有型クラスタシステムは、
そのままでは計算機ノードが停止時の運転継続を実現す
ることは困難である。
【0015】無共有型クラスタシステムにおいて、計算
機ノードの停止時の運転継続を行うための手法として
は、ディスクミラリング(mirroring)またはリダンダ
ンントディスクアレイ等の冗長構成がよく知られてい
る。この手法では、同一のデータを複数の異なる計算機
ノードに接続するディスクに格納する。
【0016】これにより、一の計算機ノードが停止する
かあるいは計算機ノードに接続するローカルディスク装
置が停止しても、別のディスク装置にある同じデータの
複製を利用して処理を継続することができる。
【0017】以下に説明する分散ファイルシステム「Ti
gerShark」は、このようなシステムの例である。「Tige
rShark」については、文献(R. L. Haskin、“Tiger Sh
ark-- A scalable file system for multimedia”, IBM
J. RES. DEVELOP. VOL. 42NO. 2、 March 1998、pp187
-189)の記載が参照される。
【0018】この「Tiger Shark」の特徴の一つは、フ
ァイルを多数の異なる計算機ノードに接続されたディス
ク装置に分散して格納する、ストライピングという技術
である。概略を述べれば、n個の計算機ノードとそのロ
ーカルディスク装置があるとき、ファイル内のi番目の
ブロックを(i mod n)番目(modは剰余演算子)の計
算機ノードのローカルディスク装置に格納する。
【0019】この「Tiger Shark」の他の特徴は、ファ
イルの複製をブロック単位で作成して原本と異なるディ
スク装置に配置する分散冗長格納技術である。この分散
ファイルシステムは、ビデオストリームサーバを実現す
るために使われている。
【0020】ストライピング技術は、以下記載の作用効
果を有している。ビデオ(映像信号)や音声信号等のス
トリームデータを供給するサーバには、単位時間当たり
に大量のデータを供給する能力が求められる。単位時間
当たりのデータ供給量を「スループット」という。
【0021】ストリームデータサーバに求められるスル
ープットはしばしば単一のディスク装置や計算機ノード
が提供できるスループットを超えている。
【0022】そこで、ファイルをストライピングしてお
いて、複数の計算機ノードがそれぞれ異なるディスク装
置から並行に、データを読み出して、クライアントに向
けて送出することでクラスタシステム全体として高いデ
ータ供給性能を達成することができる。
【0023】一方、分散冗長格納技術の作用効果は以下
の通りである。
【0024】そもそもデータの複製を複数のディスク装
置に持つことによって、いくつかのディスク装置や計算
機ノードに障害が起きたときにもデータの供給を継続す
ることができる。「Tiger Shark」は、さらに「均等ラ
ンダムストライピング」という技術によって、障害発生
時に、残りの正常なディスク装置や計算機ノードに対し
て、障害を起こした計算機ノードやディスク装置を肩代
わりする分の負荷が均等にかかるようにしている。
【0025】均等ランダムストライピングにおいては、
k個のディスク装置にファイルを分散して格納する場
合、一つのファイルを構成するブロックを、先頭からk
個ずつのグループに分け、各グループごとに異なるラン
ダムに決めた順序でブロックを配置する。各ファイルの
複製も同様に均等ランダムストライピングしておくこと
で、障害発生等により、あるディスク装置上のデータが
利用できない場合、その複製は、ブロックのグループご
とに異なるディスクに均等な割合で存在するので、ファ
イルを先頭から順に読み出していくかぎり、ファイル読
み出し負荷は異なるディスク装置間に均等にかかること
になる。
【0026】
【発明が解決しようとする課題】しかしながら上記した
「Tiger Shark」等従来のシステムは、下記記載の問題
点を有している。
【0027】第1の問題点は、マルチメディアストリー
ムデータの供給以外の用途に用いた場合、ディスク装置
及び計算機ノードの処理負荷に偏りが生じる可能性が高
い、ということである。
【0028】その理由は、「Tiger Shark」において
は、扱うファイルとして、動画や音声などのマルチメ
ディアストリームデータを想定しており、比較的大きな
ファイルを先頭から最後まで順番に読み出す、というア
クセス方式に適した構成に特化されているためである。
【0029】すなわち、「Tiger Shark」では、各ファ
イルをそれぞれ全計算機ノードに渡って、一様にストラ
イプ化されたディスク装置に分散格納している。このた
め、ファイルごとのアクセス頻度の偏りがあっても、計
算機ノードごとの処理負荷の偏りは発生しない。
【0030】しかしながら、オンライントランザクショ
ン処理や、インデクスを用いる検索処理では、一つファ
イルの中でも場所によってアクセス頻度が相違したり、
アクセスするデータの範囲が毎回異なったりする。
【0031】またファイル全体を先頭から最後まで順番
に読み出して走査する検索処理ではディスク装置のアク
セス形式は、ストリームデータと同じであるが、検索条
件に該当するデータの個数によって、同じ量のデータを
読み出しても、計算機ノードごとの処理量は、大きく変
わる可能性がある。
【0032】そして、上記した「Tiger Shark」はこの
ような負荷の偏りへの対策を備えていない。
【0033】第2の問題点は、マルチメディアストリー
ムデータの供給以外の用途に用いた場合、従来のストラ
イピングや均等ランダムストライピングでは、処理性能
が向上するとは限らず、逆に、低下する可能性もあると
いう、ことである。
【0034】その理由は、基本的には前記第1の問題点
の理由と同じである。ストリームデータのアクセスで
は、比較的大きなファイル全体を先頭から最後まで順番
に読み出す必要があると予測できるので、ストライピン
グしておいて、全てのディスク装置に対し一斉に読み出
し開始を指示して並列処理を行うことができ、これによ
りスループットを向上させることができる。
【0035】しかしながら、トランザクション処理やイ
ンデクスファイルを用いた検索処理では、ファイルに対
するアクセスはファイル全体ではなくその小さな一部分
に対して、また先頭から順番ではなく、予期できない不
特定の順序で行われる。
【0036】このため、ストライピングされたファイル
に対する個々のアクセスは、全ディスク装置ではなく、
数個のディスク装置に対するアクセスとなり、並列処理
の効果が薄い。
【0037】そして、一連のアクセスは、異なるディス
ク装置に対するものになる可能性が高いので、これに対
する複数のディスク装置による並列処理の効果は期待で
きるが、ストリームデータとは異なり、ファイルのどの
部分に、どんな順序でアクセスが起きるかが予測できな
いため、各々のアクセス要求が到着するのを待ってから
しかアクセスを開始することができず、結局、並列処理
の効果は薄い。
【0038】さらに、ストライピングせずに一つのファ
イルを一つのディスク装置に格納する構成と比べると、
複数のディスク装置に対して遠隔ディスクアクセスを行
う手間がかかり、かえって、処理性能が低くなる可能性
もある。
【0039】第3の問題点は、ストライピングを止める
と、負荷分布に大きな偏りが生じる、ということであ
る。
【0040】その理由は、完全にストライピングをやめ
て、ファイルの全ブロックを一つのディスク装置に格納
してしまうと、当該ディスク装置にアクセスが集中して
しまうためである。
【0041】また、ここまで極端な状況に到らないまで
も、別の問題が生じる。
【0042】たとえば、中間的な手法としては、k個の
ディスクがあるとき、ファイルがk個のブロックに収ま
るよう、ブロックサイズを大きく設定した上で、均等ラ
ンダムストライピングを適用するという方法が考えられ
る。
【0043】この場合、ブロックのグループが一つしか
できないため、あるディスク装置に配置されるブロック
の複製は、別の一つのディスク装置にしか格納されな
い。
【0044】このため、あるディスク装置が停止した
時、そのディスク装置を肩代りする負荷は、上記別の一
つのディスク装置に集中することになり、均等ランダム
ストライピングの効果が失われる。
【0045】この問題を回避するために、ファイルが(m
×k)個のブロックに収まるようにブロックサイズを設定
して均等ランダム ストライピングを行うこともできる
が、mを大きくするにつれ、肩代りのディスク装置の負
荷はよりよく分散されるものの、上記した第2の問題点
がより顕著になるという問題が残る。
【0046】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、無共有型のクラ
スタシステムにおいて、データ記憶装置上の特定のデー
タに依存した処理の負荷を、実行時に適応的に複数のデ
ィスク及び計算機ノードに拡散して、各データ記憶装置
及び計算機ノードにかかる負荷を均等にし、結果的にク
ラスタシステム全体の処理を高速化する、システム及び
方法を提供することにある。
【0047】本発明の他の目的は、いくつかのデータ記
憶装置または計算機ノードが停止した時にも、当該デー
タ記憶装置または計算機ノードの分の負荷を稼働中の複
数の計算機ノードに分散して均等に肩代りさせる、シス
テム及び方法を提供することにある。
【0048】
【課題を解決するための手段】前記目的を達成する本願
第1発明に係るクラスタサーバシステムは、複数の計算
機ノードより構成され、前記各計算機ノードがそれぞれ
ローカルにデータ記憶装置を備える無共有型クラスタシ
ステムの上で、データ記憶装置上のデータに依存する処
理を行うサーバ・システムであって、前記データ記憶装
置に記憶するデータを粗に分割したものを粗分割データ
とし、前記粗分割データをさらに分割したものを細分割
データとし、同一粗分割データに由来するすべての細分
割データを同一のデータ記憶装置に記憶し、前記同一粗
分割データに由来するすべての細分割データの複製を原
本とは異なる、かつ、互いに異なるデータ記憶装置に記
憶するようにしたものである。
【0049】本願第2発明は、上記第1発明のサーバシ
ステムにおいて、ある細分割データに対する入出力を前
記細分割データの原本を記憶するデータ記憶装置と前記
細分割データの複製を記憶するデータ記憶装置とのいず
れかを利用して実行するよう振り分ける入出力要求割り
当て手段を備えている。
【0050】また、本願第3発明は、上記第1発明のサ
ーバシステムにおいて、ある細分割データを必要とする
処理に対する要求をを前記細分割データの原本を記憶す
るデータ記憶装置を備えた計算機ノードと、前記細分割
データの複製を記憶するデータ記憶装置を備えた計算機
ノードとのどちらかを利用して実行するよう振り分ける
処理要求割り当て手段を備えている。
【0051】本願第4発明は、上記第2発明のサーバシ
ステムにおいて、ある細分割データの原本を記録するデ
ータ記憶装置の負荷と、前記細分割データの複製を記録
するデータ記憶装置の負荷を推測する手段と、より軽い
負荷を持つと推測されたデータ記憶装置を利用して前記
細分割データに対する入出力を実行するよう前記細分割
データに対する入出力要求を振り分ける要求割り当て手
段と、を備えている。
【0052】さらに、本願第5発明は、上記第3発明の
サーバシステムにおいて、ある細分割データの原本を記
録するデータ記憶装置を備えた計算機ノードの負荷と、
前記細分割データの複製を記録するデータ記憶装置を備
えた計算機ノードの負荷を推測する手段と、より軽い負
荷を持つと推測された計算機ノードを利用して前記細分
割データを必要とする処理を実行するよう前記細分割デ
ータを必要とする処理要求を振り分ける要求割り当て手
段と、を備えている。
【0053】また本願第6発明は、上記第2発明のサー
バシステムにおいて、各計算機ノードの稼働状態を監視
する手段を備え、ある細分割データの原本を記録するデ
ータ記憶装置を備えた計算機ノードと、前記細分割デー
タの複製を記録するデータ記憶装置を備えた計算機ノー
ドのうち、稼働中の計算機ノードを利用して前記細分割
データに対する入出力を実行するように前記細分割デー
タに対する入出力要求を振り分ける要求割り当て手段を
備えている。
【0054】さらに本願第7発明は、上記第3発明のサ
ーバシステムにおいて、各計算機ノードの稼働状態を監
視する手段を備え、ある細分割データの原本を記録する
データ記憶装置を備えた計算機ノードと、前記細分割デ
ータの複製を記録するデータ記憶装置を備えた計算機ノ
ードのうち稼働中の計算機ノードを利用して前記細分割
データを必要とする処理を実行するように前記細分割デ
ータを必要とする処理要求を振り分ける要求割り当て手
段を備えている。
【0055】
【発明の実施の形態】本発明の実施の形態について説明
する。まず、本発明の原理・作用について説明する。
【0056】本発明を無共有型クラスタシステム構成の
サーバシステムに適用した形態として、データ記憶装置
(2_i)(但し、iは1以上n以下の整数)と要求処理手
段(7_i)とファイルシステム(5_i)とを備える複数
(n台)の計算機ノードと、これら全ての計算機ノード
を接続するネットワーク(3)とを備えて構成されてい
る。
【0057】本発明においては、データ記憶装置上に格
納配置するべきデータを、おおまかに分割して粗部分デ
ータを作り、粗部分データをさらに分割して細部分デー
タを作り、同一の粗部分データに由来する細部分データ
を同一の計算機ノードのデータ記憶装置に記憶し、細部
分データの一つ以上の複製を互いに異なる、かつ原本と
も異なるデータ記憶装置に記憶する。
【0058】データ記憶装置上のデータを必要とする処
理の要求を、データの原本を持つデータ記憶装置と複製
を持つデータ記憶装置に細部分データ単位で振り分け
る。
【0059】具体的には、処理要求を、各データ記憶装
置または計算機ノードの稼働状態及び負荷状況に関する
情報に基づいて、細部分データの原本または複製のどれ
に対して割り当てるかを実行時に決定する、要求割り当
て手段(8_i)を備える。
【0060】本発明においては、一つの粗部分データに
由来するすべての細部分データは、同一のデータ記憶装
置に記憶されているのに対し、その複製データは、複数
のデータ記憶装置に分散して記憶されている。
【0061】そして、処理要求を満たすために細部分デ
ータが必要になるたびに、要求割り当て手段は、該細部
分データの原本を使うか複製を使うかを決定する。
【0062】このため、すべてのデータ記憶装置及び計
算機ノードが稼働していて、おおむね均等に負荷がかか
っているときには、一つの粗部分データ内に収まる比較
的広い範囲のデータに対するアクセスを、これを格納す
る一つのデータ記憶装置に対するアクセスとして高々1
回の遠隔ディスクアクセスで行うことができる。
【0063】また、あるデータ記憶装置または該データ
記憶装置を持つ計算機ノードの負荷が高い場合には、要
求割り当て手段は、該データ記憶装置上に格納されてい
る原本の代わりに複製を使うと決める比率を高めること
によって、該データ記憶装置または該計算機ノードの負
荷を、複数のデータ記憶装置または計算機ノードに拡散
させ、データ記憶装置間または計算機ノード間の負荷の
偏りを均等化することができる。
【0064】さらにあるデータ記憶装置または計算機ノ
ードが停止している場合には、要求割り当て手段が、該
データ記憶装置またはその計算機ノードが持つデータ記
憶装置上にある原本の代わりに、複製を使うと決めるこ
とによって、該データ記憶装置または計算機ノードの分
の負荷を、複数のデータ記憶装置または計算機ノード
に、代替させることができる。
【0065】なお、本発明において、データ記憶装置
は、HDD(ハードディスク装置)に限定されず、媒体
への書き込み及び読み出しが自在とされる各種補助記憶
装置を含むものとする。また各計算機ノードが備えるデ
ータ記憶装置は論理的に一つのデータ記憶装置を構成し
ていればよく、単一のドライブのコントロール装置、ド
ライブユニットに限定されるものでないことは勿論であ
る。
【0066】本発明の実施の形態について図面を参照し
てより詳細に説明する。
【0067】
【実施の形態1】図1は、本発明の第1の実施の形態の
構成を示す図である。なお、以下では、データ記憶装置
はディスク装置よりなるものとして説明する。図1を参
照すると、本発明の第1の実施の形態は、複数の計算機
ノード1_1〜1_n (nは2以上の整数)、ディスク装置2_1
〜2_n、及びSAN(System Area Network、システム
エリアネットワーク;システム内ネットワーク)3を備
えており、各計算機ノード1_1〜1_nは、LAN(Local
Area Network;ローカルエリアネットワーク)4にも接
続している。
【0068】各計算機ノード1_1〜1_nは、それぞれファ
イルシステム5_1〜5_n、要求受付手段6_1〜6_n、要求処
理手段7_1〜7_nを備えている。
【0069】ファイルシステム5_1〜5_nは、それぞれ、
要求割り当て手段8_1〜8_nを備えている。
【0070】各計算機ノード1_1〜1_nの各要求受付手段
6_i(但し、iは1以上n以下の整数)は、それぞれ、ディス
ク装置2_1〜2_n上のデータを必要とする処理要求を受け
取って、該処理要求を複数の部分処理要求に分割し、こ
れらの部分処理要求を、それぞれ要求処理手段7_1〜7_n
のいずれかに送り、それぞれの要求に対する応答として
返ってきた部分処理結果を一つの処理結果に統合する。
【0071】要求処理手段7_1〜7_nは、要求受付手段6_
iは、部分処理要求に応えて、部分処理結果を作成す
る。
【0072】ファイルシステム5_1〜5_nは、ファイルに
対する入出力要求を受け取ってディスク装置上のデータ
に対する入出力を行う。
【0073】要求割り当て手段8_1〜8_nは、ファイルに
対する入出力要求を、ファイルの原本及び1つ以上の複
製の中から、いずれを用いて処理するかを決定する。
【0074】図2は、本発明の第1の実施の形態の処理
を説明するための図である。図2を参照すると、ディス
ク装置上のデータは、n個の粗部分データに分割され、
各粗部分データは、更にm個の細部分データ100_ij(但
し、iは1以上n以下の整数、jは1以上m以下の整数)に分
割されて、それぞれr個(但し、rは1以上の整数)の複製
110_ij,120_ij,...,1r0_ijと共に、以下の通り配置され
る。
【0075】ディスク装置2_i(但し、iは1以上n以下の
整数)上には、細部分データの原本100_i1〜100_im(但
し、mは1以上n-1以下の整数)があり、原本100_ij(jは1
以上m以下の整数)の複製110_ij〜1r0_ijは、ディスク装
置2_i以外のそれぞれ異なるディスク装置2_k(kは1以上n
以下の整数)上にある。
【0076】次に図1及び図2を参照して、本発明の第
1の実施の形態の動作について説明する。
【0077】要求受付手段6_1〜6_nは、それぞれLAN4
を経由して処理要求を受け付ける。要求受付手段6_k(但
し、kは1以上n以下の整数)は、処理要求を受け付ける
と、それが要求する処理のうち、ディスク装置2_i(但
し、iは1以上n以下の整数)に原本が記憶されている細部
分データ100_i1〜100_imだけを用いて実行できる部分を
要求するn個の部分処理要求200_1〜200_nを作成する。
【0078】そして、各部分処理要求200_iを、SAN3経
由で要求処理手段7_iに送る。
【0079】要求処理手段7_iは、細部分データ100_i1
〜100_imに対する入出力要求をファイルシステム5_iに
送出する。
【0080】ファイルシステム5_iは、細部分データ100
_ijに対する入出力要求を受け取ると、これを要求割り
当て手段8_iに渡す。
【0081】要求割り当て手段8_iは、細部分データの
原本100_ij及び複製110_ij〜1r0_ijがどの計算機ノード
のディスク装置に記憶されているかを調べ、原本及び複
製を記憶している各ディスク装置及び、各ディスク装置
に直接接続する計算機ノードの稼働状態と、これらのデ
ィスク装置及び計算機ノードにかかっている負荷量を推
測し、動作中の計算機ノードに接続された動作中のディ
スク装置のうち、より負荷が軽いディスク装置または計
算機ノードを優先的に選択して、これに、細部分データ
100_ijに対する入出力要求を割り当てる。
【0082】ファイルシステム5_iは、計算機ノード2_i
に割り当てられた入出力要求を実行し、その結果を、要
求処理手段7_iに返す。
【0083】また他の計算機ノード2_h(但し、hはi以外
の1以上n以下の整数)に割り当てられた入出力要求の処
理を、SAN3を介して計算機ノード2_hのファイルシステ
ム5_hに依頼し、その結果を受けとって、要求処理手段7
_iに返す。
【0084】さらに他の任意のファイルシステム5_l(但
し、lはi以外の1以上n以下の整数)からSAN3を介して入
出力要求の依頼を受け、これを実行して結果をファイル
システム5_lに返す。
【0085】要求処理手段7_iは、必要なファイルの入
出力の全ての結果を得て、部分処理を完了すると、その
結果を要求受付手段6_kに返す。
【0086】要求受付手段6_kは、要求処理手段7_1〜7_
nの全てから部分処理結果を受け取ると、これらを一つ
の処理結果にまとめて、LAN4経由で処理要求の送付元
に返送する。
【0087】次に、本発明の第1の実施の形態の作用効
果について説明する。
【0088】本発明の第1の実施の形態においては、デ
ィスク装置2_iの負荷が他のディスク装置に比べて高い
場合、要求割り当て手段8_1〜8_nが、ディスク装置2_i
上にある全ての細部分データを使う割合を減らすよう決
定し、これにより、予期できない入出力パターンによっ
て、特定のディスク装置の負荷が突出して高くなった場
合にも、その負荷を下げることができ、各ディスク装置
にかかる負荷を均等化することにより、システム全体の
処理性能を向上させることができる。
【0089】本発明の第1の実施の形態の第2の作用効
果は、ディスク装置2_iが停止している時、要求割り当
て手段8_1〜8_nがディスク装置2_i上にある全ての細部
分データに代えて、他の複数のディスク装置上にある、
その複製または原本を用いるように決定する。これによ
り、障害等予期しない理由により、あるいは保守目的な
どの予定された理由により、ディスク装置2_iが停止し
ても、処理を継続できる。
【0090】本発明の第1の実施の形態の第3の作用効
果は、あるディスク装置が記憶する複数の原本に対応す
る複製がそれぞれ異なるディスク装置にあるため、ある
ディスク装置が記憶する原本に対する入出力要求を対応
する複製を記憶する他のディスク装置に振り向けること
によって、一つのディスク装置に対する負荷を複数のデ
ィスク装置に拡散することができる。これにより、少な
いステップで数多くのディスク装置に負荷を拡散するこ
とができる。
【0091】
【実施例1】次に、上記した本発明の第1の実施の形態
についてさらに詳細に説明すべく、具体的な実施例に即
して説明する。以下では、本発明を全文検索サーバシス
テムに適用した実施例について説明する。なお、本発明
の一実施例の基本構成は、図1を参照して説明した前記
実施の形態の構成と同様とされる。
【0092】ここで、全文検索とは、与えられた文書群
の中から、与えられた文字列群を含む文書を検索してそ
の一覧を求める処理である。ここではインデクスファイ
ルを用いて全文検索を実現する。インデクスファイルと
は、文書群中に出現する任意の単語から、それを含む文
書群中の全文書一覧を取り出せるようにしたもので、あ
らかじめ文書群中に出現する全単語について、それを含
む文書の一覧を求めて、各単語と対応する文書一覧の対
を木構造ないしハッシュ表により対応づけたデータ構造
をファイル中に収めたものである。
【0093】本実施例では、細部分データにあたるもの
として、インデクスファイルを分割して作るサブインデ
クスを設ける。
【0094】ある文書群のインデクスファイルのサブイ
ンデクスは、その文書群を分割して作った部分文書群の
インデクスであると定める。
【0095】図3は、本発明の一実施例をなす全文検索
サーバの構成の一例を示す図である。図3を参照する
と、8台の計算機ノードを備え、ディスク装置2_i(但
し、iは1以上8以下の整数)には、それぞれ4つのサブイ
ンデクスの原本500_i1〜500_i4と、サブインデクスの複
製600_jk(但し、kは1以上4以下の整数、jは整数であ
り、j=(i-k)mod8)が格納されている。
【0096】要求割り当て手段8_iは、各計算機ノード
に割り当てられた入出力要求を記録する入出力要求割当
表9_iと、各計算機ノードの稼働状態を監視する状態監
視手段10_iを備える。
【0097】図4は、本発明の一実施例におけるサブイ
ンデクスの原本500_ij及び複製600_ijの構成手順を説明
するための模式図である。
【0098】8万件の検索対象文書があり、それぞれ文
書ID00001〜80000が与えられている。これを先頭から順
に1万件ずつ8個に分け、ディスク装置2_1〜2_8に一つ
ずつ割り当てる。
【0099】さらにディスク装置2_i(但し、iは1以上8
以下の整数)に割り当てた文書群を2500件ずつ4個に分
けて、それぞれについてサブインデクスを作成して500_
i1〜500_i4とする。
【0100】さらにサブインデクス500_ij(但し、jは1
以上4以下の整数)の複製を作成して600_ijとする。
【0101】図5は、サブインデクスの原本500_ij及び
複製600_ijのディスク装置2_1〜2_8上への配置を示す模
式図である。図5を参照すると、原本500_i1〜500_i4
(但し、iは1以上8以下の整数)は、すべてディ スク装置
2_iに置く。
【0102】h = (i + j) mod 8 の時、複製600_ih
は、ディスク装置2_hに置く。
【0103】図6は、本発明の一実施例における入出力
要求割当表9_1の構成の一例を示す図である。入出力要
求割当表9_iは、データ500_i1〜500_i4の原本を持つデ
ィスク装置2_iへの入出力要求キュー30_1と、データ500
_i1〜500_i4の複製600_i1〜600_i4を持つディスク装置2
_h〜2_k(但し、h = (i + 1) mod 8, k = (i + 4)mod
8)のそれぞれへの入出力要求キュー30_2〜30_5を備え
る。
【0104】図7は、本発明の一実施例の動作を説明す
るためのシーケンス図であり、クエリが計算機ノード1_
1の要求受付手段6_1に到着した場 合の処理の流れを説
明するための図である。
【0105】図7を参照すると、要求受付手段6_1は、
クエリをそのまま複製して、全計算機ノード上の要求処
理手段7_1〜7_8に投入する。
【0106】各要求処理手段7_i(1≦i≦8)は、検
索を行うためにサブインデクス500_i1〜500_i4に対する
読み出し要求をファイルシステム5_iに発行する。
【0107】ファイルシステム5_iは、要求割り当て手
段8_iに、サブインデクス500_ijに対する読み出し要求
を処理するべき計算機ノードの割り当てを依頼する。
【0108】要求割り当て手段8_iは、各読み出し要求
をキュー30_i〜30_(i+4)のどれかにつなぐ。
【0109】ファイルシステム5_iは、キュー30_iにつ
ながれた読み出し要求があれば先頭から順に取り出し
て、ディスク装置2_iから読み出しを実行し、また、キ
ュー30_(i+q)(但し、qは1以上4以下の整数)のどれかに
つながれた読み出し要求があれば、ファイルシステム5_
(i+q)にSAN3を経由して送信する。
【0110】ファイルシステム5_(i+q)は、要求された
データを、ディスク2_(i+q)装置から読み出し、SAN3経
由でファイルシステム5_iに返送する。
【0111】ファイルシステム5_iは、ディスク装置2_i
またはファイルシステム5_(i+q)から受けとった読み出
し結果を要求処理手段7_iに返す。
【0112】要求処理手段7_iは、読み出し要求に対す
る結果を、ディスク装置2_iまたはファイルシステム5_
(i+q)から得ると、その読み出し要求を、キューから取
り除く。
【0113】こうして要求処理手段7_iは、サブインデ
クス500_i1〜500_i4の原本または複製を用いて、クエリ
に対する該当文書IDリストを作成し、これを、要求受付
手段6_1に返送する。
【0114】要求受付手段6_1は、要求処理手段7_1〜7_
8から該当文書IDリストを受け取って、これらを一つに
まとめ、クエリの発行元に返送する。
【0115】図8は、本発明の一実施例における要求割
当手段8_iの動作を説明するための流れ図である。図8
を参照して、要求割当手段8_iの動作を説明する。
【0116】要求割り当て手段8_iは、細部分データ500
_ijに対する、読み出し要求の割り当て依頼を受ける
と、500_ijの複製600_ijがどのディスク装置にあるかを
調べる(ステップS101)。ここではディスク装置2_hに
あるとする。
【0117】次に、稼働状態監視手段10_iを参照して、
ディスク装置2_hが稼働しているかどうかを調べる(ス
テップS102)。
【0118】停止している場合、次にディスク装置2_i
が稼動しているかどうかを調べる(ステップS108)。
【0119】これも停止しているならば、ディスク装置
2_iが読み出し処理の失敗を通知して終了する(ステッ
プS109)。
【0120】一方、ステップS108で、ディスク装置2_i
が稼動しているならばキュー30_iに読み出し要求をつな
いで終了する。
【0121】ステップS102で、ディスク2_hが稼動して
いるならば、次にディスク装置2_iが稼働しているかど
うかを調べる(ステップS103)。停止しているなら
ば、キュー30_hに読み出し要求をつないで(ステップS
107)、終了する。
【0122】ステップS103でディスク装置2_iが稼働し
ているならば、割当表9_iを参照して、キュー30_iと30_
hの長さを調べる(ステップS104)。
【0123】仮にキュー30_hにつないだとしたとしても
まだキュー30_iがキュー30_hの4倍以上長くなるなら
ば、キュー30_hにつなぎ(ステップS107)、4倍未満
になるならばキュー30_iに読み出し要求をつないで(ス
テップS106)、終了する。
【0124】次に要求割り当て手段8_iの動作を具体的
な例に即して詳細に説明する。
【0125】図6において、キュー30_1にはすでに入出
力要求a、b、cが、またキュー30_4にはdが入ってい
る。ここで、500_11に対する入出力要求40_1が投入され
たとき、500_11の原本は、ディスク装置2_1に、その複
製600_11はディスク装置2_2にあり、この両ディスク装
置に対するキューを比べると、キュー30_1には、まだ3
個しか要求がないので、キュー30_2は空であるが、入出
力要求40_1はキュー30_1に入れる、と決める。
【0126】次に500_12に対する入出力要求40_2が入来
したとき、500_12の原本はディスク装置2_1に、複製600
_12はディスク装置2_3にあり、この両ディスクに対する
キューを比べると、キュー30_1には、4個要求が入って
おり、キュー30_3は空なので、入出力要求40_2はキュー
30_3に入れると決める。
【0127】次に、インデクス500_13に対する入出力要
求40_3が来たとき、500_13の原本はディスク装置2_1
に、複製600_13はディスク装置2_4にあるので、この両
ディスクに対応するキューを比べると、キュー30_1には
4個要求が入っており、キュー30_4にも1つ要求が入っ
ているので、入出力要求40_3はキュー30_1に入れると決
める。
【0128】次に、サブインデクス500_14に対する入出
力要求40_4について決める前に、ディスク2_1での処理
が進み、キュー30_1から入出力要求aとbが取り除かれ
たとする。
【0129】500_14の原本はディスク2_1に、複製はデ
ィスク2_5にあり、両ディスクに対するキューを比べる
と、キュー30_1には3個しか要求がないので、キュー30
_5が空であるが、要求40_4はキュー30_4に入れると決め
る。
【0130】この例では、原本を使うか複製を使うか
を、キューの中の要求の個数の比が4倍以上か未満かで
決めているが、判定基準とする比としては、任意の数値
を使うことができる。最適な値は、原本にアクセスする
コストと複製にアクセスするコストに基づいて決まる。
【0131】また、比ではなく個数の差が一定値以上か
未満かで決めるようにしてもよい。
【0132】また、各ディスクの最近の応答時間や累積
アクセス時間の大小に基づいて定めることもできるし、
各ディスクが一つの入出力要求を終え次第、そのディス
ク上のデータに対する最も古い要求を割り当てることも
できる。
【0133】
【実施の形態2】次に本発明の第2の実施の形態につい
て説明する。図9は、本発明の第2の実施の形態の構成
を示す図である。図9を参照すると、本発明の第2の実
施の形態は、図1に示した前記第1の実施の形態におけ
る要求割り当て手段8_1〜8_nに代えて、要求受付手段6_
1〜6_nに、第2の要求割り当て手段21_1〜21_nを備えて
いる点が相違している。
【0134】要求受付手段6_iは、LAN4経由でクライア
ントから処理要求を受けとると、異なる細部分データ50
0_ij(但し、iは1以上n以下の整数、jは1以上m以下の整
数)を必要とするn×m個の部分処理要求を作成する。
【0135】そして各部分処理要求をどの要求処理手段
に送付するかの決定を第2の要求割り当て手段21_iに依
頼する。第2の要求割り当て手段21_iは、細部分データ
500_ijを必要とする部分処理要求を、その原本をディス
ク装置2_i上に持つ要求処理手段7_iに投入するか、その
複製600_ijをディスク装置2_h上ににもつ要求処理手段7
_h(但し、hはiとは異なる1以上n以下の整数)に投入する
かを決定する。
【0136】要求受付手段6_iは、要求割当手段21_iの
決定に従って、部分処理要求を要求処理手段に送付す
る。
【0137】要求処理手段7_kは、ファイルシステム5_i
を経由してディスク5_i上の細部分データの原本または
複製をアクセスして部分処理要求を実行し、その結果を
要求受付手段6_iに返す。
【0138】要求受付手段は、n個の部分処理要求の結
果を使って処理要求の実行し、その結果をクライアント
に返す。
【0139】次に、本発明の第2の実施の形態の作用効
果について説明する。
【0140】本発明の第2の実施の形態では、細部分デ
ータの原本500_ijをディスク装置2_iにもつ計算機ノー
ド1_i(但し、iは1以上n以下の整数)の負荷が他の計算機
ノードに比べて高い場合、第2の要求割り当て手段21_i
が細部分データ500_ijを必要とする部分処理要求を、複
製600_ijをディスク装置2_hに持つ他の計算機ノード1_h
に割り当てる。このため、特定の計算機ノードの負荷が
突出して高くなってもその負荷を下げることができる。
【0141】本発明の第2の実施の形態の第2の作用効
果は、ディスク装置2_iまたは計算機ノード1_iが停止し
ている時、第2の要求割り当て手段21_1〜21_nが計算機
ノード1_iに代えて、ディスク装置2_iに記憶されている
細部分データの複製を持つ他のディスク装置を持つ他の
複数の計算機ノードを使うように決定する。
【0142】これにより、障害など予期しない理由によ
り、あるいは保守目的などの予定された理由により、デ
ィスクが停止しても、処理を継続できる。
【0143】本発明の第2の実施の形態の第3の作用効
果は、あるディスク装置が記憶する複数の原本に対応す
る複製がそれぞれ異なるディスク装置に置かれているた
め、あるディスク装置が記憶する原本を必要とする部分
処理要求を対応する複製を記憶する他のディスク装置を
持つ計算機ノードに割り当てることによって、一つの計
算機ノードの負荷を複数の計算機ノードに拡散すること
ができる。これにより、少ないステップで数多くの計算
機ノードに負荷を拡散することができる。
【0144】
【実施例2】次に本発明の第2の実施の形態について具
体的な実施例に即してその動作を説明する。
【0145】図10は、本発明の第2の実施例をなす全
文検索サーバシステムの構成を示す図である。図3に示
した前記実施例の構成との相違は、第2の要求割り当て
手段21_1〜21_8がそれぞれひとつずつ要求受付手段6_1
〜6_8に備わっていること、及び、9台目の計算機ノー
ド1_9を備え、LAN4と接続されていることである。
【0146】第2の要求割当手段21_1〜21_8は、それぞ
れ第2の状態監視手段22_1〜22_8を備えており、また、
計算機ノード1_9は、負荷監視手段23と負荷配分再計算
手段24を備える。
【0147】第2の要求割り当て手段21_1〜21_8は、い
ずれも各データ500_ijごとに複製使用目標比率を記憶し
ており、この比率を満たすように、部分処理要求を各デ
ータの原本と複製に割り当てる。
【0148】要求処理手段7_1〜7_8は、一つ部分処理要
求を処理するごとに、それに要した実時間を測定し、測
定した時間を、LAN4を経由して、負荷監視手段12に送
る。
【0149】負荷監視手段12は、要求処理手段ごとに処
理にかかった実時間の累積値を検索負荷として記録し、
一定時間ごとに、これらの変数の値を、負荷配分再計算
手段13に送って、累積値をゼロに戻して記録を続ける。
【0150】負荷配分再計算手段13は、要求処理手段7_
1〜7_8の最近の一定時間の検索負荷を受け取る毎に、各
データ500_ijの複製使用目標比率から、新しい複製使用
目標比率を定め、全ての第2の要求割り当て手段21_1〜
21_8に送る。
【0151】第2の要求割り当て手段は、新しい複製使
用目標比率を受け取ると、それを記憶し、以降その値を
用いて部分処理要求の割り当てを行う。
【0152】図11は、本発明の第2の実施例における
第2の要求割当手段21_iの処理を説明するための流れ図
である。図11を参照すると、まず細部分データ500_ij
の原本及びその複製600_ijがどのディスク装置にあるか
を調べる(ステップS201)。ここでは、原本がディスク
2_iに、複製がディスク装置2_hにあるとする。
【0153】次に、状態監視手段22_iを参照して、計算
機ノード1_i及び1_hが稼働しているかどうかを調べる
(ステップS202、S208)。どちらも稼働していなけれ
ば、割り当て失敗を通知して終了する(ステップS20
9)。
【0154】計算機ノード1_iだけが稼働していれば、
計算機ノード1_iに部分処理要求を割り当て(ステップS
206)、計算機ノード1_hだけが稼働していれば、計算機
ノード1_hに部分処理要求を割り当てる(ステップS20
7)。
【0155】両方が稼働していれば、乱数を用い(ステ
ップS204)、計算機ノード1_hを選択する確率が500_ij
の複製仕様目標比率となるように、計算機ノード1_h
(ステップS207)、または計算機ノード1_iにに部分処
理要求を割り当てる。
【0156】次に、負荷配分再計算手段13が新しい複製
仕様目標比率を定める手順を説明する。
【0157】細部分データ500_ijに関する新しい目標比
率R_ijは、原本500_ijを記録するディスク2_iを持つ計
算機ノード1_i上の要求処理手段7_iの最近一時間の検索
負荷をL_i、複製600_ijを記録するディスク2_hを持つ計
算機ノード上の要求処理手段7_hの最近の一定時間の検
索負荷をL_h、L_iとL_hの平均をM_ih、古い目標比率をR
_ij_oldとすると、新しい目標比率Rは次式のように定め
る。
【0158】R_ij = R_ij_old + (1 - R_ij_old) × (L
_i - M_ih) / L_i ; if L_i>= M_ih
【0159】R_ij = R_ij_old * L_i / M_ih ; i
f L_i < M_ih
【0160】これにより、原本側の負荷が高ければ複製
を使う比率をより高く、 複製側の負荷が高ければ複製
を使う比率をより低く定めることになる。
【0161】本実施例では、複製使用目標比率を満たす
ために、乱数を発生して確率的 にこの比率を満たす
が、本発明の実施方法はこれに限られるものではない。
た とえば、原本及び複製それぞれを用いた回数を記録
しておき、複製使用実績 比率を求めて、これが目標比
率を下回っているならば複製を、そうでなければ 原本
を用いるよう選択してもよい。
【0162】また、本実施例では、新しい目標比率を、
特定の数式により算出しているが、本発明において、新
しい目標比率の設定方法は、この特定の式に限定される
ものではない。
【0163】
【発明の効果】以上説明したように、本発明によれば下
記記載の効果を奏する。
【0164】本発明の第1の効果は、粗分割データに収
まる比較的広い範囲のデータに対するアクセスが、多く
の場合、高々1回の遠隔ディスクアクセスで行うことが
できる、ということである。
【0165】その理由は、本発明においては、同一粗分
割データに由来する全ての細分割データが一つのディス
ク装置に格納されるようにデータを配置しているため、
そのディスク装置が稼働しており、特に負荷が高くない
限り、該ディスク装置に対するアクセスのみで、用が足
りるためである。
【0166】本発明の第2の効果は、ディスク装置また
は計算機ノードの負荷の偏りを削減できる、ということ
である。
【0167】その理由は、本発明においては、実行時に
ファイルの原本と複製のどちらにアクセスするかを決定
することにより、負荷の高いディスクまたは計算機ノー
ドから他の複数のディスク装置または計算機ノードに負
荷を拡散させることができるためである。
【0168】本発明の第3の効果は、システムを構成す
る一部のディスク装置または計算機ノードが停止してい
る時にも、処理を継続することができる、ということで
あその理由は、本発明においては、あるディスク装置ま
たは計算機ノードが停止している場合、 該ディスク装
置または該計算機ノードが持つディスク装置に記録され
ている細部分データの原本に代えて、対応する複製を用
いるように、実行時に切替制御する構成としたためあ
る。
【0169】本発明の第4の効果は、あるディスク装置
または計算機ノードの負荷を、他の数多くのディスク装
置または計算機ノードに少ないステップで拡散して、代
替させることができる、ということである。
【0170】その理由は、本発明において、一つのディ
スク装置が記憶するデータの複製が、複数のディスク装
置に分散して記憶されているので、一つのディスク装置
上の原本に換えて、複数のディスク装置上の複製を用い
ることができ、また一つの原本を記憶しているディスク
装置を持つ計算機ノードに換えて、対応する複製を記憶
しているディスク装置を持つ複数の計算機ノードを用い
ることができるからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示す図であ
る。
【図2】本発明の第1の実施の形態における細部分デー
タの原本及び複製の作成手順を示す模式図である。
【図3】本発明の第1の実施例をなす全文検索システム
の構成を示す図である。
【図4】本発明の第1の実施例におけるサブインデクス
の原本及び複製の作成手順を示す図である。
【図5】本発明の第1の実施例におけるサブインデクス
の原本及び複製のディスク上の配置を示す図である。
【図6】本発明の第1の実施例における要求割り当て手
段の動作の具体例を示す図である。
【図7】本発明の第1の実施例の動作を示すシーケンス
図である。
【図8】本発明の第1の実施例における要求割り当て手
段の処理を説明するためのフローチャートである。
【図9】本発明の第2の実施の形態の構成を示す図であ
る。
【図10】本発明の第2の実施例をなす全文検索システ
ムの構成を示す図である。
【図11】本発明の第2の実施例における第2の要求割
り当て手段の処理を示すフローチャートである。
【符号の説明】
1_1〜1_n 計算機ノード 2_1〜2_n ディスク 3 SAN(System Area Network、システム内ネットワー
ク) 4 LAN(Local Area Network、構内ネットワーク) 5_1〜5_n ファイルシステム 6_1〜6_n 要求受付手段 7_1〜7_n 要求処理手段 8_1〜8_n 要求割り当て手段 9_1〜9_n 要求割り当て表 10_1〜10_n 稼働状態監視手段 21_1〜21_n 第2の要求割り当て手段 22_1〜22_n 第2の稼働状態関し手段 23 負荷状態監視手段 24 負荷配分再計算手段 30_1〜30_5 入出力要求キュー 40_1〜40_4 入出力要求 100_11〜100_nm 細部分データの原本 1r0_11〜1r0_nm 細部分データの複製 200_1〜200_n 部分処理要求 500_11〜500_84 サブインデクスの原本 600_11〜600_84 サブインデクスの複製

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】複数の計算機ノードを含み、前記各計算機
    ノードがそれぞれローカルに固有のデータ記憶装置を備
    えてなる無共有型クラスタシステム構成とされ、前記デ
    ータ記憶装置上のデータに依存する処理を行うサーバ・
    システムであって、 前記データ記憶装置に記憶するデータを粗に分割してな
    る粗分割データについて、前記粗分割データをさらに分
    割して細分割データを作成する手段と、 同一の粗分割データに由来するすべての細分割データを
    同一のデータ記憶装置に記憶し、前記同一の粗分割デー
    タに由来するすべての細分割データの複製を、原本が記
    憶されるデータ記憶装置とは異なるデータ記憶装置であ
    って、かつ、互いに異なる複数のデータ記憶装置に記憶
    する手段とを備えたことを特徴とするサーバシステム。
  2. 【請求項2】請求項1記載のサーバシステムにおいて、 ある細分割データに対する入出力を、前記細分割データ
    の原本を記憶するデータ記憶装置と、前記細分割データ
    の複製を記憶するデータ記憶装置とのうちのいずれかを
    利用して実行するように振り分ける入出力要求割り当て
    手段を備えたことを特徴とするサーバシステム。
  3. 【請求項3】請求項1記載のサーバシステムにおいて、 ある細分割データを必要とする処理に対する要求を、前
    記細分割データの原本を記憶するデータ記憶装置を備え
    た計算機ノードと、前記細分割データの複製を記憶する
    データ記憶装置を備えた計算機ノードとのうちのいずれ
    かを利用して実行するように振り分ける処理要求割り当
    て手段を備えたことを特徴とするサーバシステム。
  4. 【請求項4】請求項2記載のサーバシステムにおいて、 ある細分割データの原本を記録するデータ記憶装置の負
    荷と、前記細分割データの複製を記録するデータ記憶装
    置の負荷を推測する手段と、 前記負荷を推測する手段によって、より軽い負荷を持つ
    ものと推測されたデータ記憶装置を利用して前記細分割
    データに対する入出力を実行するように前記細分割デー
    タに対する入出力要求を振り分ける要求割り当て手段
    と、を備えたことを特徴とするサーバシステム。
  5. 【請求項5】請求項3記載のサーバシステムにおいて、 ある細分割データの原本を記録するデータ記憶装置を備
    えた計算機ノードの負荷と、前記細分割データの複製を
    記録するデータ記憶装置を備えた計算機ノードの負荷を
    推測する手段と、 前記負荷を推測する手段によって、より軽い負荷を持つ
    ものと推測された計算機ノードを利用して前記細分割デ
    ータを必要とする処理を実行するよう前記細分割データ
    を必要とする処理要求を振り分ける要求割当手段と、 を備えたことを特徴とするサーバシステム。
  6. 【請求項6】請求項2記載のサーバシステムにおいて、 前記各計算機ノードの稼働状態を監視する手段を備え、 ある細分割データの原本を記録するデータ記憶装置を備
    えた計算機ノードと、前記細分割データの複製を記録す
    るデータ記憶装置を備えた計算機ノードとのうち、稼働
    中の計算機ノードを利用して、前記細分割データに対す
    る入出力を実行するように前記細分割データに対する入
    出力要求を振り分ける要求割当手段を備えたことを特徴
    とするサーバシステム。
  7. 【請求項7】請求項3記載のサーバシステムにおいて、 前記各計算機ノードの稼働状態を監視する手段を備え、 ある細分割データの原本を記録するデータ記憶装置を備
    えた計算機ノードと、前記細分割データの複製を記録す
    るデータ記憶装置を備えた計算機ノードのうち稼働中の
    計算機ノードを利用して前記細分割データを必要とする
    処理を実行するように前記細分割データを必要とする処
    理要求を振り分ける要求割当手段を備えたことを特徴と
    するサーバシステム。
  8. 【請求項8】相互に接続されクラスタを構成する複数の
    計算機ノードを備え、 前記複数の計算機ノードの各々が、それぞれ、ローカル
    なデータ記憶装置を備えるとともに、ファイルに対する
    入出力要求を受け取って前記データ記憶装置上でのデー
    タに対する入出力を行うファイルシステムと、クライア
    ントからの要求を受け付ける要求受付手段と、要求処理
    手段とを備え、 前記各計算機ノードの前記要求受付手段は、前記データ
    記憶装置上のデータを必要とする処理要求を受け取っ
    て、該処理要求を複数の部分処理要求に分割し、これら
    の部分処理要求を、それぞれ複数の計算機ノードの前記
    要求処理手段のいずれかに送り、それぞれの要求に対す
    る応答として返ってきた部分処理結果を一つの処理結果
    に統合し、 前記各計算機ノードの前記要求処理手段は、前記要求受
    付手段からの部分処理要求に応えて、部分処理結果を作
    成し、 前記各計算機ノードの前記ファイルシステムが、ファイ
    ルに対する入出力要求を、ファイルの原本及び1つ以上
    の複製の中から、いずれを用いて処理するかを決定する
    要求割当手段を備え、 前記データ記憶装置に記憶するべきデータをまず粗に分
    割し、さらにこれを細分割して、同一の粗分割データに
    由来するすべての細分割データを同一のデータ記憶装置
    に記憶するとともに、前記各細分割データの複製を原本
    とは別の、互いに異なるデータ記憶装置に記憶する、こ
    とを特徴とするクラスタシステム。
  9. 【請求項9】前記各計算機ノードの前記要求割当手段
    が、前記各計算機ノードに割り当てられた入出力要求を
    記録する入出力要求割当表と、前記各計算機ノードの稼
    働状態を監視する状態監視手段を備え、 前記各細分割データを必要とする処理要求を、原本を記
    憶するデータ記憶装置を備えた計算機ノードと複製を記
    憶するデータ記憶装置を備えた計算機ノードにそれぞれ
    の負荷状況に基づき振り分ける、ことを特徴とする請求
    項8記載のサーバシステム。
  10. 【請求項10】相互に接続されクラスタを構成する複数
    の計算機ノードを備え、 前記複数の計算機ノードの各々が、それぞれ、ローカル
    なデータ記憶装置を備えるとともに、ファイルに対する
    入出力要求を受け取って前記データ記憶装置上でのデー
    タに対する入出力を行うファイルシステムと、クライア
    ントからの要求を受け付ける要求受付手段と、要求処理
    手段とを備え、前記データ記憶装置に記憶するべきデー
    タをまず粗に分割し、さらにこれを細分割して、同一の
    粗分割データに由来するすべての細分割データを同一の
    データ記憶装置に記憶するとともに、前記各細分割デー
    タの複製を原本とは別の、互いに異なるデータ記憶装置
    に記憶し、 前記要求受付手段が要求割当手段を備え、 前記要求受付手段は、クライアントから処理要求を受け
    とると、異なる細部分データを必要とする複数個の部分
    処理要求を作成し、前記各部分処理要求をどの計算機ノ
    ードの要求処理手段に送付するか決定することを、前記
    要求割当手段に依頼し、 前記要求割当手段は、細部分データを必要とする部分処
    理要求を、その原本をデータ記憶装置上に持つ一の要求
    処理手段に投入するか、その複製をデータ記憶装置上に
    持つ他の要求処理手段に投入するかを決定し、 前記要求受付手段は、前記要求割当手段の決定に従っ
    て、部分処理要求を前記要求処理手段に送出し、 前記要求処理手段は、前記ファイルシステムを介してデ
    ータ記憶装置上の細部分データの原本または複製をアク
    セスして部分処理要求を実行し、その結果を前記要求受
    付手段に返し、 前記要求受付手段は、複数個の部分処理要求の結果を使
    って処理要求の実行し、その結果をクライアントに返
    す、ことを特徴とするサーバシステム。
  11. 【請求項11】前記複数の計算機ノードのいずれか一の
    計算機ノードが、負荷監視手段と負荷配分再計算手段と
    を備え、 前記他の計算機ノードの前記要求割当手段がそれぞれ自
    ノードの稼動状態を監視する状態監視手段を備え、 前記要求割当手段は、いずれも各データごとに複製使用
    目標比率を記憶しており、この比率を満たすように、部
    分処理要求を各データの原本と複製に割り当て、 前記要求処理手段は、一つ部分処理要求を処理するごと
    に、該部分処理に要した実時間を測定し、測定した時間
    を前記負荷監視手段に送り、 前記負荷監視手段は、要求処理手段ごとに処理に要した
    実時間の累積値を検索負荷として記録し、一定時間ごと
    に、これらの変数の値を、前記負荷配分再計算手段に送
    出するとともに、前記累積値をリセットして記録を続
    け、 前記負荷配分再計算手段は、前記要求処理手段の最近の
    一定時間の検索負荷を受け取る毎に、各データの複製使
    用目標比率から、新しい複製使用目標比率を定め、全て
    の要求割当手段に対して送出し、 前記要求割当手段は、新しい複製使用目標比率を受け取
    ると、それを記憶し、前記値を用いて部分処理要求の割
    り当てを行う、ことを特徴とする請求項10記載のサー
    バシステム。
  12. 【請求項12】複数の計算機ノードを含み、前記各計算
    機ノードがそれぞれローカルに固有のデータ記憶装置を
    備える無共有型クラスタシステムのデータ格納方法にお
    いて、 データ記憶装置に記憶するべきデータをまず粗に分割
    し、さらに粗分割データを細分割し、同一の粗分割デー
    タに由来するすべての細分割データを同一のデータ記憶
    装置に記憶するとともに、前記各細分割データの複製を
    それぞれ原本とは別の、また互いに異なるデータ記憶装
    置に記憶する、ことを特徴とする無共有型クラスタシス
    テムのデータ格納方法。
  13. 【請求項13】請求項12記載の無共有型クラスタシス
    テムのデータ格納方法によりデータ記憶装置に格納され
    たデータの処理方法において、 前記各細分割データを必要とする処理要求を、原本を記
    憶するデータ記憶装置を持つ計算機ノードと、その複製
    を記憶するデータ記憶装置を持つ計算機ノードにそれぞ
    れの負荷状況に基づき、振り分ける、ことを特徴とする
    無共有型クラスタシステムの負荷分散方法。
JP11128273A 1999-05-10 1999-05-10 クラスタ型データサーバシステム及びデータ格納方法 Pending JP2000322292A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11128273A JP2000322292A (ja) 1999-05-10 1999-05-10 クラスタ型データサーバシステム及びデータ格納方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11128273A JP2000322292A (ja) 1999-05-10 1999-05-10 クラスタ型データサーバシステム及びデータ格納方法

Publications (1)

Publication Number Publication Date
JP2000322292A true JP2000322292A (ja) 2000-11-24

Family

ID=14980763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11128273A Pending JP2000322292A (ja) 1999-05-10 1999-05-10 クラスタ型データサーバシステム及びデータ格納方法

Country Status (1)

Country Link
JP (1) JP2000322292A (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008539531A (ja) * 2005-04-29 2008-11-13 ネットワーク・アプライアンス・インコーポレイテッド ストレージシステムクラスタの複数のボリュームにわたってデータコンテナをストライピングするためのデータ配置技術
WO2009088007A1 (ja) * 2008-01-11 2009-07-16 Nec Corporation コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法およびプログラム
EP2159984A2 (en) 2008-09-02 2010-03-03 Fujitsu Limited Authentication system and authentication method
JP2012073975A (ja) * 2010-09-30 2012-04-12 Hitachi Ltd 計算機システム及びそのデータ処理方法
JP2013025450A (ja) * 2011-07-19 2013-02-04 Nippon Telegr & Teleph Corp <Ntt> 分散ファイル管理システム、分散ファイル配置方法及びプログラム
JP2013513839A (ja) * 2009-12-11 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション クラスタ選択及び協調的レプリケーションのためのクラスタ・ファミリー
JP2013525895A (ja) * 2010-04-23 2013-06-20 コンピュヴェルデ アーベー 分散データストレージ
US8640178B2 (en) 2003-08-07 2014-01-28 Sony Corporation Server, content providing apparatus, content receiving apparatus, content providing method, content receiving method, and program
US8843710B2 (en) 2011-09-02 2014-09-23 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US9026559B2 (en) 2008-10-24 2015-05-05 Compuverde Ab Priority replication
JP2016500883A (ja) * 2012-10-24 2016-01-14 フジツウ テクノロジー ソリューションズ インタレクチュアル プロパティ ゲーエムベーハー データ記憶装置
US9305012B2 (en) 2011-09-02 2016-04-05 Compuverde Ab Method for data maintenance
JP2016170493A (ja) * 2015-03-11 2016-09-23 富士通株式会社 データ配置プログラム、データ配置方法およびデータ配置装置
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
JPWO2016047096A1 (ja) * 2014-09-24 2017-06-29 日本電気株式会社 アプリケーションサーバ、クラウド装置、記憶媒体アクセス監視方法およびコンピュータ・プログラム
US10579615B2 (en) 2011-09-02 2020-03-03 Compuverde Ab Method for data retrieval from a distributed data storage system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877054A (ja) * 1994-09-06 1996-03-22 Toshiba Corp 分散ファイルシステム
JPH08171573A (ja) * 1994-12-20 1996-07-02 Mitsubishi Electric Corp 図面データ分散配置装置
JP2000207370A (ja) * 1999-01-20 2000-07-28 Matsushita Electric Ind Co Ltd 分散ファイル管理装置及び分散ファイル管理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877054A (ja) * 1994-09-06 1996-03-22 Toshiba Corp 分散ファイルシステム
JPH08171573A (ja) * 1994-12-20 1996-07-02 Mitsubishi Electric Corp 図面データ分散配置装置
JP2000207370A (ja) * 1999-01-20 2000-07-28 Matsushita Electric Ind Co Ltd 分散ファイル管理装置及び分散ファイル管理システム

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8640178B2 (en) 2003-08-07 2014-01-28 Sony Corporation Server, content providing apparatus, content receiving apparatus, content providing method, content receiving method, and program
JP2008539531A (ja) * 2005-04-29 2008-11-13 ネットワーク・アプライアンス・インコーポレイテッド ストレージシステムクラスタの複数のボリュームにわたってデータコンテナをストライピングするためのデータ配置技術
WO2009088007A1 (ja) * 2008-01-11 2009-07-16 Nec Corporation コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法およびプログラム
EP2159984A2 (en) 2008-09-02 2010-03-03 Fujitsu Limited Authentication system and authentication method
US8281376B2 (en) 2008-09-02 2012-10-02 Fujitsu Limited Authentication system and authentication method
US9329955B2 (en) 2008-10-24 2016-05-03 Compuverde Ab System and method for detecting problematic data storage nodes
US9026559B2 (en) 2008-10-24 2015-05-05 Compuverde Ab Priority replication
US11907256B2 (en) 2008-10-24 2024-02-20 Pure Storage, Inc. Query-based selection of storage nodes
US11468088B2 (en) 2008-10-24 2022-10-11 Pure Storage, Inc. Selection of storage nodes for storage of data
US10650022B2 (en) 2008-10-24 2020-05-12 Compuverde Ab Distributed data storage
US9495432B2 (en) 2008-10-24 2016-11-15 Compuverde Ab Distributed data storage
US10073641B2 (en) 2009-12-11 2018-09-11 International Business Machines Corporation Cluster families for cluster selection and cooperative replication
US9684472B2 (en) 2009-12-11 2017-06-20 International Business Machines Corporation Cluster families for cluster selection and cooperative replication
US9250825B2 (en) 2009-12-11 2016-02-02 International Business Machines Corporation Cluster families for cluster selection and cooperative replication
JP2013513839A (ja) * 2009-12-11 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション クラスタ選択及び協調的レプリケーションのためのクラスタ・ファミリー
US8812799B2 (en) 2009-12-11 2014-08-19 International Business Machines Corporation Cluster families for cluster selection and cooperative replication
JP2013525895A (ja) * 2010-04-23 2013-06-20 コンピュヴェルデ アーベー 分散データストレージ
US9948716B2 (en) 2010-04-23 2018-04-17 Compuverde Ab Distributed data storage
US9503524B2 (en) 2010-04-23 2016-11-22 Compuverde Ab Distributed data storage
US8555107B2 (en) 2010-09-30 2013-10-08 Hitachi, Ltd. Computer system and data processing method for computer system
JP2012073975A (ja) * 2010-09-30 2012-04-12 Hitachi Ltd 計算機システム及びそのデータ処理方法
JP2013025450A (ja) * 2011-07-19 2013-02-04 Nippon Telegr & Teleph Corp <Ntt> 分散ファイル管理システム、分散ファイル配置方法及びプログラム
US10579615B2 (en) 2011-09-02 2020-03-03 Compuverde Ab Method for data retrieval from a distributed data storage system
US10430443B2 (en) 2011-09-02 2019-10-01 Compuverde Ab Method for data maintenance
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US8843710B2 (en) 2011-09-02 2014-09-23 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US9965542B2 (en) 2011-09-02 2018-05-08 Compuverde Ab Method for data maintenance
US9305012B2 (en) 2011-09-02 2016-04-05 Compuverde Ab Method for data maintenance
US11372897B1 (en) 2011-09-02 2022-06-28 Pure Storage, Inc. Writing of data to a storage system that implements a virtual file structure on an unstructured storage layer
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US10909110B1 (en) 2011-09-02 2021-02-02 Pure Storage, Inc. Data retrieval from a distributed data storage system
US10769177B1 (en) 2011-09-02 2020-09-08 Pure Storage, Inc. Virtual file structure for data storage system
JP2016500883A (ja) * 2012-10-24 2016-01-14 フジツウ テクノロジー ソリューションズ インタレクチュアル プロパティ ゲーエムベーハー データ記憶装置
US10235369B2 (en) 2012-10-24 2019-03-19 Fujitsu Limited Data storage arrangement
JPWO2016047096A1 (ja) * 2014-09-24 2017-06-29 日本電気株式会社 アプリケーションサーバ、クラウド装置、記憶媒体アクセス監視方法およびコンピュータ・プログラム
JP2016170493A (ja) * 2015-03-11 2016-09-23 富士通株式会社 データ配置プログラム、データ配置方法およびデータ配置装置

Similar Documents

Publication Publication Date Title
JP2000322292A (ja) クラスタ型データサーバシステム及びデータ格納方法
EP3867759B1 (en) Improving available storage space in a system with varying data redundancy schemes
US8239621B2 (en) Distributed data storage system, data distribution method, and apparatus and program to be used for the same
JP3541744B2 (ja) ストレージサブシステム及びその制御方法
US8312242B2 (en) Tracking memory space in a storage system
US7546486B2 (en) Scalable distributed object management in a distributed fixed content storage system
JP5765416B2 (ja) 分散ストレージシステムおよび方法
US7096328B2 (en) Pseudorandom data storage
JP5867206B2 (ja) 移動制御装置,プログラム及びストレージ装置
JP5516575B2 (ja) データ挿入システム
CN104580439B (zh) 一种云存储系统中使数据均匀分布的方法
JP2004013547A (ja) データ割当方法、情報処理システム
JP2010533324A (ja) クラスタ化されたファイル・システムへのファイル・システムのマウンティング
JP5104855B2 (ja) 負荷分散プログラム、負荷分散方法、及びストレージ管理装置
US12375556B2 (en) Isolated read channel categories at streaming data service
CN106570113B (zh) 一种海量矢量切片数据云存储方法及系统
US20100082546A1 (en) Storage Tiers for Database Server System
Lie et al. Threshold-based dynamic replication in large-scale video-on-demand systems
JP2005512232A (ja) データ・ネットワークに付属されたストレージ資源の管理
KR20100073154A (ko) 메타데이터 서버, 데이터 서버의 데이터 처리 방법 및 이를이용한 비대칭 클러스터 분산 파일 시스템
US20100161585A1 (en) Asymmetric cluster filesystem
US11188258B2 (en) Distributed storage system
US7844775B2 (en) Distribution of data in a distributed shared storage system
JPH1155645A (ja) マルチメディア配信運用管理システム
JP5463899B2 (ja) ファイル管理情報記憶装置、ファイル管理情報記憶装置の制御方法、およびファイル管理情報記憶装置の制御プログラム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031111