JP2000305832A - 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法 - Google Patents

複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法

Info

Publication number
JP2000305832A
JP2000305832A JP11116853A JP11685399A JP2000305832A JP 2000305832 A JP2000305832 A JP 2000305832A JP 11116853 A JP11116853 A JP 11116853A JP 11685399 A JP11685399 A JP 11685399A JP 2000305832 A JP2000305832 A JP 2000305832A
Authority
JP
Japan
Prior art keywords
lock
memory
host
save area
area
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
JP11116853A
Other languages
English (en)
Inventor
Hideaki Otsuka
英明 大塚
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 Solution Innovators Ltd
Original Assignee
NEC Software Kyushu Ltd
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 Software Kyushu Ltd filed Critical NEC Software Kyushu Ltd
Priority to JP11116853A priority Critical patent/JP2000305832A/ja
Publication of JP2000305832A publication Critical patent/JP2000305832A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】複数ホストから構成されるクラスタシステムに
おけるメモリの共有を行う場合、ユーザプログラムの改
装が必要。 【解決手段】ホスト100はユーザプログラム102と
クラスタ用ロック手段103とホスト内メモリ104と
クラスタ用ロック解除手段105とディスク読み込み手
段106とディスク書き込み手段107とロック/メモ
リ対応情報108とロック/退避領域対応情報101を
有しホスト110も同機能があり複数ホスト間の共用機
能としてホスト稼動監視手段120とホスト間ロック管
理手段130とホスト間共有ディスク装置140があり
クラスタ用ロック手段とクラスタ用ロック解除手段実行
時に自動的にホスト内メモリを更新することにより1ホ
スト内で動作していた複数プロセスからメモリを共有す
るユーザプログラムを改装なしで複数ホストから構成さ
れるクラスタシステムで実行可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は複数ホストから構成
されるクラスタシステムにおけるメモリの共有装置と方
法に関し、特に1ホスト内で動作実績がある複数プロセ
スからメモリを共有するユーザプログラムを、ユーザプ
ログラムの改装なしで複数ホストから構成されるクラス
タシステムで実行可能とする複数ホストから構成される
クラスタシステムにおけるメモリの共有装置と方法に関
する。
【0002】
【従来の技術】従来のメモリ共有型のマルチプロセスシ
ステムの場合のメモリ共有方式は、特開平08−166
933号公報に記載されている。この従来のメモリ共有
方式は、各ホストに存在するホスト間共有データ領域
と、ホスト間共有データ領域所在管理手段と、データ送
受信手段から構成されている。
【0003】このような構成を有する従来のメモリ共有
方式はつぎのように動作する。
【0004】すなわち、プログラムがホスト間共有デー
タ領域をアクセスすると、ホスト間共有データ領域管理
手段が作動し、他ホストと通信を行い、ホスト間共有デ
ータ領域を補正している。
【0005】
【発明が解決しようとする課題】上述した従来のメモリ
共有方式は、第1の問題点は、すでに1ホスト上で動作
していた既存ユーザプログラムの改造が必要であるとい
うことである。
【0006】その理由は、ホスト間共有データ領域をア
クセスするように改造しなければならないためである。
【0007】第2の問題点は、処理性能が遅いというこ
とである。
【0008】その理由は、他ホストとの通信が必要であ
り、ホスト台数に比例して通信量が増加するためであ
る。また、メモリを排他的にアクセスしたい場合でも、
他ホストへの確認が必要になる点である。
【0009】
【課題を解決するための手段】本発明の複数ホストから
構成されるクラスタシステムにおけるメモリの共有装置
と方法は、複数プロセスからメモリを共有するユーザプ
ログラムと、クラスタ用ロック手段と、ホスト内メモリ
と、クラスタ用ロック解除手段と、ディスク読み込み手
段と、ディスク書き込み手段と、ロック/メモリ対応情
報と、ロック/退避領域対応情報とを備えたホストと、
複数ホスト間にホスト稼動監視手段と、ホスト間ロック
管理手段と、ホスト間共有ディスク装置とを備え、ホス
ト稼動監視手段により各ホストの稼動状況を監視し、ホ
スト間ロック管理手段によりホスト間でロック制御を行
い、ホスト間共有ディスク装置はロック識別子とメモリ
退避領域を管理するロック/退避領域一元情報とロック
識別子毎に存在するメモリ退避領域およびメモリ退避領
域(復旧用)から構成し、各ホスト毎に存在するロック
/メモリ対応情報はロック識別子とそのロック識別子に
対応する共有メモリであるホスト内メモリのメモリアド
レスとホスト内メモリのメモリサイズを持ちロック識別
子をキーに情報が管理され、各ホスト毎に存在するロッ
ク/退避領域対応情報およびホスト間共有ディスク装置
上に記録されるロック/退避領域一元情報はロック識別
子とそのロック識別子に対応する共有メモリの退避領域
であるメモリ退避領域の情報を管理する退避領域情報と
メモリ退避領域(復旧用)の情報を管理する退避領域情
報(復旧用)を持ちロック識別子をキーに情報が管理さ
れ、ホスト間共有ディスク装置のメモリ退避領域はホス
ト間共有ディスク装置へのレコード書き込み中にホスト
ダウンによりアクセス障害が発生した場合のレコードの
正当性のチッェクをレコードの先頭部の書き込みチェッ
ク領域Aと終端部の書き込みチェック領域Bのデータが
正しければその間のメモリ退避領域の値も正しい事が保
証されるレコードフォーマットにより行うよう構成さ
れ、ロック/メモリ対応情報は、ホスト内で最初にユー
ザプログラムが実行された時に、ホスト内メモリの領域
確保やロック識別子の取得と同期して作成され、ロック
/退避領域対応情報は、クラスタ用ロック手段実行時に
参照され、ユーザプログラムからロックが要求されたロ
ック識別子に対応する情報が登録されていなければ、ロ
ック/退避領域一元情報を参照し、登録されていなけれ
ば、新たにメモリ退避領域およびメモリ退避領域(復旧
用)をそのロック識別子用に確保し、その領域をアクセ
スするための情報をロック/退避領域一元情報とロック
/退避領域対応情報に登録し、メモリ退避領域およびメ
モリ退避領域(復旧用)は領域の確保時に初期化し、ク
ラスタ用ロック手段は、ホスト間ロック管理手段に対し
て、ロックを要求しロック成功後に、ロック/退避領域
対応情報とロック/メモリ対応情報を参照し、ディスク
読み込み手段を利用して、メモリ退避領域からホスト内
メモリにデータを読み込み、ユーザプログラムはロック
後に、ホスト内メモリの参照および更新を行い、クラス
タ用ロック解除手段は、ロック/退避領域対応情報とロ
ック/メモリ対応情報を参照し、ディスク書き込み手段
を利用して、メモリ退避領域にホスト内メモリのデータ
を書き込んだ後、ホスト間ロック管理手段に対して、ロ
ック解除を要求し、ホスト間ロック管理手段は、各ホス
トからのロック要求を管理するとともに、あるホストが
ダウンした場合、ホスト稼動監視手段から通知を受け、
ダウンしたホストが取得していたロックを解除し、クラ
スタ用ロック手段およびクラスタ用ロック解除手段実行
時、自動的にホスト内メモリを更新することにより、ホ
スト内で動作していた複数プロセスからメモリを共有す
るユーザプログラムを、ユーザプログラムの改装なしで
複数ホストから構成されるクラスタシステムで実行可能
にするように構成されている。
【0010】
【発明の実施の形態】本発明は、1ホスト内で動作実績
がある複数プロセスからメモリを共有するユーザプログ
ラムを、ユーザプログラムの改装なしで複数ホストから
構成されるクラスタシステムで実行可能とするための方
式である。ここで言うクラスタシステムとは、同一構成
のシステムを複数台のホストに実装し、各ホストの負荷
状況に応じて、処理を自動的に負荷分散するシステムの
ことである。
【0011】次に、本発明の実施の形態について図面を
参照して説明する。
【0012】図1は本発明の複数ホストから構成される
クラスタシステムにおけるメモリの共有装置と方法の一
実施の形態を示すブロック図である。
【0013】図1を参照すると、本発明の実施の形態は
ホスト100と、ホスト110と、各ホストの稼動を監
視するホスト稼動監視手段120と、ホスト間のロック
制御を行うホスト間ロック管理手段130と、ホスト間
で共有するホスト間共有ディスク装置140から構成さ
れている。
【0014】クラスタシステムを構成するホスト100
には、ユーザプログラム102と、ロック機能のユーザ
インタフェースを提供するクラスタ用ロック手段103
と、ユーザプログラム102が他プログラムと共有する
メモリ領域であるホスト内メモリ104と、ロック解除
機能のユーザインタフェースを提供するクラスタ用ロッ
ク解除手段105と、ホスト間共有ディスク装置140
からデータをホスト内メモリ104に読み込むディスク
読み込み手段106と、ホスト内メモリ104からホス
ト間共有ディスク装置140にデータを書き込むディス
ク書き込み手段107と、ロック識別子と共有メモリ領
域の対応を管理するロック/メモリ対応情報108と、
ロック識別子とメモリの退避領域の対応を管理するロッ
ク/退避領域対応情報101から構成される。
【0015】ホスト110は、ホスト100と同じ構成
であり、図1ではホスト2台の構成となっているが、ホ
スト台数は自由に増やすことができる。
【0016】ホスト稼動監視手段120は、各ホストの
稼動状況を監視するために使用される。
【0017】ホスト間ロック管理手段130は、ホスト
間でロック制御を行うために使用される。
【0018】ホスト間共有ディスク装置140は、ロッ
ク識別子やメモリ退避領域を管理するロック/退避領域
一元情報141と、ロック識別子毎に存在するメモリ退
避領域142およびメモリ退避領域(復旧用)143か
ら構成される。
【0019】各ホスト毎に存在するロック/メモリ対応
情報108には、図3の本発明の複数ホストから構成さ
れるクラスタシステムにおけるメモリの共有装置と方法
におけるロック識別子と、そのロック識別子に対応する
共有メモリであるホスト内メモリのメモリアドレスと、
メモリサイズとの対応情報の構造を示す図に示すよう
に、ロック識別子301と、そのロック識別子に対応す
る共有メモリであるホスト内メモリ104のメモリアド
レス302と、ホスト内メモリ104のメモリサイズ3
03を持ち、ロック識別子301をキーに情報が管理さ
れる。
【0020】各ホスト毎に存在するロック/退避領域対
応情報101およびホスト間共有ディスク装置140上
に記録されるロック/退避領域一元情報141には、図
4の本発明の複数ホストから構成されるクラスタシステ
ムにおけるメモリの共有装置と方法におけるロック識別
子と、そのロック識別子に対応する共有メモリの退避領
域情報と、退避領域情報(復旧用)との対応情報の構造
を示す図に示すように、ロック識別子401と、そのロ
ック識別子に対応する共有メモリの退避領域であるメモ
リ退避領域142の情報を管理する退避領域情報402
と、メモリ退避領域(復旧用)143の情報を管理する
退避領域情報(復旧用)403を持ち、ロック識別子4
01をキーに情報が管理される。
【0021】ホスト間共有ディスク装置140のメモリ
退避領域142は、図5の本発明の複数ホストから構成
されるクラスタシステムにおけるメモリの共有装置と方
法におけるホスト間共有ディスク装置のメモリ退避領域
の書き込みチェック領域と、メモリ退避領域と、書き込
みチェック領域との対応情報の構造を示す図に示すよう
に、書き込みチェック領域A501と、メモリ退避領域
502と、書き込みチェック領域B503から構成され
る。
【0022】これらの手段はそれぞれつぎのように動作
する。なお、説明はホスト100およびホスト間で共有
する手段等について行うが、ホスト110の各手段も同
じ動作をする。
【0023】ロック/メモリ対応情報108は、ホスト
100内で最初にユーザプログラム102が実行された
時などに、ホスト内メモリ104の領域確保やロック識
別子の取得と同期して作成される。
【0024】ロック/退避領域対応情報101は、クラ
スタ用ロック手段103実行時に参照され、ユーザプロ
グラム102からロックが要求されたロック識別子に対
応する情報が登録されていなければ、ロック/退避領域
一元情報141を参照し、そこにも登録されていなけれ
ば、新たにメモリ退避領域142およびメモリ退避領域
(復旧用)143をそのロック識別子用に確保し、その
領域をアクセスするための情報をロック/退避領域一元
情報141とロック/退避領域対応情報101に登録す
る。
【0025】メモリ退避領域142およびメモリ退避領
域(復旧用)143は領域の確保時に初期化する。
【0026】クラスタ用ロック手段103は、図2の本
発明の複数ホストから構成されるクラスタシステムにお
けるメモリの共有装置と方法におけるクラスタシステム
を構成する1ホストであるメモリ共有型のマルチプロセ
スシステムを示すブロック図に示すメモリ共有型マルチ
プロセッサシステムであるホスト200上の、ロック手
段205と互換性があるユーザインタフェースを持ち、
ホスト間ロック管理手段130に対して、ロックを要求
しロック成功後に、ロック/退避領域対応情報101と
ロック/メモリ対応情報108を参照し、ディスク読み
込み手段106を利用して、メモリ退避領域142から
ホスト内メモリ104にデータを読み込む。
【0027】ユーザプログラム102はロック後に、ホ
スト内メモリ104の参照および更新を行う。
【0028】ユーザプログラム102は、図2で示され
るメモリ共有型のマルチプロセッサシステム上で動作す
るユーザプログラム202およびユーザプログラム20
3と同一のプログラムである。
【0029】クラスタ用ロック解除手段105は、図2
で示すメモリ共有型マルチプロセッサシステムであるホ
スト200上の、ロック解除手段207と互換性がある
ユーザインタフェースを持ち、ロック/退避領域対応情
報101とロック/メモリ対応情報108を参照し、デ
ィスク書き込み手段107を利用して、メモリ退避領域
142にホスト内メモリ104のデータを書き込んだ後
で、ホスト間ロック管理手段130に対して、ロック解
除を要求する。
【0030】ホスト間ロック管理手段130は、各ホス
トからのロック要求を管理し、表1のロック制御例に示
すようなサービスを提供する。
【0031】
【表1】
【0032】また、ホスト間ロック管理手段130は、
あるホストがダウンした場合は、ホスト稼動監視手段1
20から通知を受け、ダウンしたホストが取得していた
ロックを解除する。
【0033】ホスト間共有ディスク装置140の特性と
して、レコード書き込み中にホストダウン等によりアク
セス障害が発生した場合、レコードの先頭部と終端部の
データが正しければその間の値も正しい事が保証される
場合のレコードフォーマットを図5に示している。実際
に使用するディスク装置の特性にあったレコードフォー
マットに変更する必要がある。
【0034】メモリ退避領域(復旧用)143は、ホス
トダウン等によりメモリ退避領域142へのデータ書き
込みに失敗した場合に、メモリ退避領域142を復旧す
るために使用される。
【0035】次に、本発明の実施の形態の動作につい
て、図1〜図5および表1を参照して詳細に説明する。
【0036】ます初めに、図2によりクラスタシステム
を構成する1ホストであるメモリ共有型のマルチプロセ
スシステム上における従来動作を説明する。
【0037】ホスト200で動作するユーザプログラム
202または203は、ホスト内で最初に実行された時
などにホスト内メモリ206の領域確保やロック識別子
の取得を行い、ロック/メモリ対応情報204に登録す
る。
【0038】ロック/メモリ対応情報204は、ユーザ
プログラム202または203から参照され、ホスト内
メモリ206アクセス時のロックやメモリアドレス等の
取得に使用される。
【0039】ユーザプログラム202または203から
ロック要求が行われると、ロック手段205は、ホスト
内ロック管理手段201を使用してロックを行う。ホス
ト内ロック管理手段201は表1に示すようなサービス
を提供する。
【0040】ユーザプログラム202または203は、
ロック後にホスト内メモリ206のアクセスを行う。
【0041】ユーザプログラム202または203から
ロック解除要求が行われると、ロック解除手段207
は、ホスト内ロック管理手段201を使用してロック解
除を行う。
【0042】次にクラスタシステムの場合の動作につい
て説明する。
【0043】ユーザプログラム102はホスト100内
で最初に実行された時などにホスト内メモリ108の領
域確保やロック識別子の取得を行い、ロック/メモリ対
応情報108に登録する。
【0044】ユーザプログラム102が実行されホスト
内メモリ104を参照または更新時にロックを行うため
に、クラスタ用ロック手段103が実行される。クラス
タ用ロック手段103は、ホスト間ロック管理手段13
0と連携し、クラスタシステム全体のロックが成功した
場合、ユーザプログラム102が要求したロックのモー
ドにより、次の動作を行う。
【0045】(11)参照ロックの場合 参照ロックは、共有メモリを排他的に参照することが目
的であるため、次のように動作する。
【0046】ユーザプログラム102からのロック要求
時にクラスタ用ロック手段103はロック/メモリ対応
情報108とロック/退避領域対応情報101を参照
し、図3および図4で示すロック識別子に対応するメモ
リアドレス302およびメモリサイズ303、退避領域
情報402、退避領域情報(復旧用)403を取得し、
ディスク読み込み手段106を使用してホスト間共有デ
ィスク装置140のメモリ退避領域142から、ホスト
内メモリ104にデータを読み込む。この時、メモリ退
避領域142中の図5に示す書き込みチェック領域A5
01と書き込みチェック領域B503をチェックし、ホ
ストダウン等によりデータが不正な場合は、メモリ退避
領域(復旧用)143から、ホスト内メモリ104にデ
ータを読み込み、メモリ退避領域(復旧用)143の情
報をメモリ退避領域142に書き込んだ後でユーザプロ
グラム102に制御を戻す。
【0047】ユーザプログラム102から参照ロックの
ロック解除要求時に、クラスタ用ロック解除手段105
はホスト間ロック管理手段130と連携し、ロック解除
を行う。
【0048】(12)更新ロックの場合 更新ロックは、共有メモリを排他的に更新することが目
的であるため、次のように動作する。
【0049】ユーザプログラム102からのロック要求
時にクラスタ用ロック手段103はロック/メモリ対応
情報108とロック/退避領域対応情報101を参照
し、図3および図4で示すロック識別子に対応するメモ
リアドレス302およびメモリサイズ303、退避領域
情報402、退避領域情報(復旧用)403を取得し、
ディスク読み込み手段106を使用してホスト間共有デ
ィスク装置140のメモリ退避領域142から、ホスト
内メモリ104にデータを読み込む。この時、メモリ退
避領域142中の図5に示す書き込みチェック領域A5
01と書き込みチェック領域B503をチェックし、ホ
ストダウン等によりデータが不正な場合は、メモリ退避
領域(復旧用)143から、ホスト内メモリ104にデ
ータを読み込み、メモリ退避領域(復旧用)143の情
報をメモリ退避領域142に書き込んだ後でユーザプロ
グラム102に制御を戻す。メモリ退避領域142のデ
ータが正しい場合はメモリ退避領域142の内容をディ
スク書き込み手段107を使用してメモリ退避領域(復
旧用)143に書き込む。
【0050】ユーザプログラム102から更新ロックの
ロック解除要求時に、クラスタ用ロック解除手段105
はディスク書き込み手段107を使用してホスト内メモ
リ104をホスト間共有ディスク装置140のメモリ退
避領域142に書き込み、ホスト間ロック管理手段13
0と連携し、ロック解除を行う。
【0051】次に、あるホストでロック中にホストダウ
ンが発生した場合の動作について説明する。
【0052】(21)参照ロックの場合 参照ロックは、共有メモリを排他的に参照することが目
的であるため、メモリに対する復旧処理は不要である。
【0053】ロックに関しては、ホスト110でホスト
ダウンが発生した場合を例に説明する。ホスト稼動監視
手段120は、ホスト110のダウンを認識すると、ホ
スト間ロック管理手段130に通知する。ホスト間ロッ
ク管理手段130はホスト110からのロックをすべて
解除する。ロック解除により動作可能となったホスト1
00のユーザプログラムは、前述の処理を行う。
【0054】(22)更新ロックの場合 更新ロックは、共有メモリを排他的に更新することが目
的であるが、メモリに対する復旧処理は不要である。
【0055】ロックの解除については、参照ロック時と
同じしくみで動作する。ロック解除により動作可能とな
ったホスト100のユーザプログラムは、前述の処理を
行う。ホスト間共有ディスク装置140のメモリ退避領
域142にホスト内メモリ104のデータを書き込み中
に障害が発生した場合でも、ロック時にデータのチェッ
クが行われるため前回のロック解除成功時の正しいデー
タを参照することができる。
【0056】次に、具体的な例を用いて説明する。
【0057】(31)ユーザプログラム102とユーザ
プログラム112がともに参照ロックの場合 ホスト100のユーザプログラム102は、ロック/対
応情報108を参照し、共有メモリを参照するためのロ
ック(参照ロック)を行う。この時、ホスト間共有ディ
スク装置140中のメモリ退避領域142からホスト内
メモリ104にデータが読み込まれる。次に、ホスト1
10のユーザプログラム112がロック/対応情報11
8を参照し、共有メモリを参照するためのロック(参照
ロック)を行う。参照ロックであるためロックに成功
し、ユーザプログラム102と同様にホスト内メモリ1
04にデータが読み込まれる。
【0058】(32)ユーザプログラム102が参照ロ
ックでユーザプログラム112が更新ロックの場合 ホスト100のユーザプログラム102は、ロック/対
応情報108を参照し、共有メモリを参照するためのロ
ック(参照ロック)を行う。この時、ホスト間共有ディ
スク装置140中のメモリ退避領域142からホスト内
メモリ104にデータが読み込まれる。次に、ホスト1
10のユーザプログラム112がロック/対応情報11
8を参照し、共有メモリを更新するためのロック(更新
ロック)を行うとユーザプログラム102で参照ロック
中であるためロック待ち状態となる。ユーザプログラム
102でロックが解除された後でロックが成功し、ホス
ト間共有ディスク装置140中のメモリ退避領域142
からホスト内メモリ104にデータが読み込まれる。ユ
ーザプログラム112でロック解除時に、ホスト内メモ
リ114は、ホスト間共有ディスク装置140中のメモ
リ退避領域142に書き込まれる。
【0059】(33)ユーザプログラム102とユーザ
プログラム112がともに更新ロックの場合 ホスト100のユーザプログラム102は、ロック/対
応情報108を参照し、共有メモリを更新するためのロ
ック(更新ロック)を行う。この時、ホスト間共有ディ
スク装置140中のメモリ退避領域142からホスト内
メモリ104にデータが読み込まれる。次に、ホスト1
10のユーザプログラム112がロック/対応情報11
8を参照し、共有メモリを更新するためのロック(更新
ロック)を行うとユーザプログラム102で更新ロック
中であるためロック待ち状態となる。ユーザプログラム
102がロック解除時に、ホスト内メモリ104は、ホ
スト間共有ディスク装置140中のメモリ退避領域14
2に書き込まれ、ロックが解除された後でユーザプログ
ラム112でロックが成功し、ホスト間共有ディスク装
置140中のメモリ退避領域142からホスト内メモリ
104にデータが読み込まれる。ユーザプログラム11
2でロック解除時に、ホスト内メモリ114は、ホスト
間共有ディスク装置140中のメモリ退避領域142に
書き込まれる。
【0060】
【発明の効果】以上説明したように、本発明の複数ホス
トから構成されるクラスタシステムにおけるメモリの共
有装置と方法は、第1の効果は、1ホストで構築してい
たシステム上で動作している多数のユーザプログラムを
改造なしで複数ホストで構成されるクラスタシステムへ
移行できることにある。
【0061】その理由は、もし、ロック/アンロック機
能と連動したメモリ共有ができない場合、1ホスト内で
しかユーザプログラムを実行できないが、本発明を利用
することにより,ユーザプログラムを改造なしで複数ホ
ストで実行できるからである。また、本発明を使用せ
ず,ユーザプログラムをクラスタシステムに合った処理
ロジックに改造する方法もあるが、その場合,多大な修
正工数を要す。
【図面の簡単な説明】
【図1】本発明の複数ホストから構成されるクラスタシ
ステムにおけるメモリの共有装置と方法の一実施の形態
を示すブロック図である。
【図2】本発明の複数ホストから構成されるクラスタシ
ステムにおけるメモリの共有装置と方法におけるクラス
タシステムを構成する1ホストであるメモリ共有型のマ
ルチプロセスシステムを示すブロック図である。
【図3】本発明の複数ホストから構成されるクラスタシ
ステムにおけるメモリの共有装置と方法におけるロック
識別子と、そのロック識別子に対応する共有メモリであ
るホスト内メモリのメモリアドレスと、メモリサイズと
の対応情報の構造を示す図である。
【図4】本発明の複数ホストから構成されるクラスタシ
ステムにおけるメモリの共有装置と方法におけるロック
識別子と、そのロック識別子に対応する共有メモリの退
避領域情報と、退避領域情報(復旧用)との対応情報の
構造を示す図である。
【図5】本発明の複数ホストから構成されるクラスタシ
ステムにおけるメモリの共有装置と方法におけるホスト
間共有ディスク装置のメモリ退避領域の書き込みチェッ
ク領域と、メモリ退避領域と、書き込みチェック領域と
の対応情報の構造を示す図である。
【符号の説明】
100,110 ホスト 101 ロック/退避領域対応情報 102,112 ユーザプログラム 103,113 クラスタ用ロック手段 104,114 ホスト内メモリ 105,115 クラスタ用ロック解除手段 106,116 ディスク読み込み手段 107,117 ディスク書き込み手段 108,118 ロック/メモリ対応情報 120 ホスト稼動監視手段 130 ホスト間ロック管理手段 140 ホスト間共有ディスク装置 141 ロック/退避領域一元情報 142 メモリ退避領域 143 メモリ退避領域(復旧用) 301,401 ロック識別子 302 メモリアドレス 303 メモリサイズ 402 退避領域情報 403 退避領域情報(復旧用) 501 書き込みチェック領域A 502 メモリ退避領域 503 書き込みチェック領域B

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数プロセスからメモリを共有するユー
    ザプログラムと、クラスタ用ロック手段と、ホスト内メ
    モリと、クラスタ用ロック解除手段と、ディスク読み込
    み手段と、ディスク書き込み手段と、ロック/メモリ対
    応情報と、ロック/退避領域対応情報とを備えたホスト
    と、複数ホスト間にホスト稼動監視手段と、ホスト間ロ
    ック管理手段と、ホスト間共有ディスク装置とを備え、
    クラスタ用ロック手段およびクラスタ用ロック解除手段
    実行時、自動的にホスト内メモリを更新することによ
    り、ホスト内で動作していた複数プロセスからメモリを
    共有するユーザプログラムを、ユーザプログラムの改装
    なしで複数ホストから構成されるクラスタシステムで実
    行可能にすることを特徴とする複数ホストから構成され
    るクラスタシステムにおけるメモリの共有装置。
  2. 【請求項2】 ホスト稼動監視手段により各ホストの稼
    動状況を監視し、ホスト間ロック管理手段によりホスト
    間でロック制御を行い、ホスト間共有ディスク装置はロ
    ック識別子とメモリ退避領域を管理するロック/退避領
    域一元情報とロック識別子毎に存在するメモリ退避領域
    およびメモリ退避領域(復旧用)から構成し、各ホスト
    毎に存在するロック/メモリ対応情報はロック識別子と
    そのロック識別子に対応する共有メモリであるホスト内
    メモリのメモリアドレスとホスト内メモリのメモリサイ
    ズを持ちロック識別子をキーに情報が管理され、各ホス
    ト毎に存在するロック/退避領域対応情報およびホスト
    間共有ディスク装置上に記録されるロック/退避領域一
    元情報はロック識別子とそのロック識別子に対応する共
    有メモリの退避領域であるメモリ退避領域の情報を管理
    する退避領域情報とメモリ退避領域(復旧用)の情報を
    管理する退避領域情報(復旧用)を持ちロック識別子を
    キーに情報が管理され、ホスト間共有ディスク装置のメ
    モリ退避領域はホスト間共有ディスク装置へのレコード
    書き込み中にホストダウンによりアクセス障害が発生し
    た場合のレコードの正当性のチッェクをレコードの先頭
    部の書き込みチェック領域Aと終端部の書き込みチェッ
    ク領域Bのデータが正しければその間のメモリ退避領域
    の値も正しい事が保証されるレコードフォーマットによ
    り行うよう構成されることを特徴とする複数ホストから
    構成されるクラスタシステムにおけるメモリの共有装
    置。
  3. 【請求項3】 ホスト間共有ディスク装置へのレコード
    書き込み中にホストダウンによりアクセス障害が発生し
    た場合のレコードの正当性のチッェクをレコードの先頭
    部と終端部のデータが正しければその間の値も正しい事
    が保証されるレコードフォーマットにより行うことを特
    徴とする複数ホストから構成されるクラスタシステムに
    おけるメモリの共有装置。
  4. 【請求項4】 ロック/メモリ対応情報は、ホスト内で
    最初にユーザプログラムが実行された時に、ホスト内メ
    モリの領域確保やロック識別子の取得と同期して作成さ
    れ、ロック/退避領域対応情報は、クラスタ用ロック手
    段実行時に参照され、ユーザプログラムからロックが要
    求されたロック識別子に対応する情報が登録されていな
    ければ、ロック/退避領域一元情報を参照し、登録され
    ていなければ、新たにメモリ退避領域およびメモリ退避
    領域(復旧用)をそのロック識別子用に確保し、その領
    域をアクセスするための情報をロック/退避領域一元情
    報とロック/退避領域対応情報に登録し、メモリ退避領
    域およびメモリ退避領域(復旧用)は領域の確保時に初
    期化し、クラスタ用ロック手段は、ホスト間ロック管理
    手段に対して、ロックを要求しロック成功後に、ロック
    /退避領域対応情報とロック/メモリ対応情報を参照
    し、ディスク読み込み手段を利用して、メモリ退避領域
    からホスト内メモリにデータを読み込み、ユーザプログ
    ラムはロック後に、ホスト内メモリの参照および更新を
    行い、クラスタ用ロック解除手段は、ロック/退避領域
    対応情報とロック/メモリ対応情報を参照し、ディスク
    書き込み手段を利用して、メモリ退避領域にホスト内メ
    モリのデータを書き込んだ後、ホスト間ロック管理手段
    に対して、ロック解除を要求し、ホスト間ロック管理手
    段は、各ホストからのロック要求を管理するとともに、
    あるホストがダウンした場合、ホスト稼動監視手段から
    通知を受け、ダウンしたホストが取得していたロックを
    解除することを特徴とする複数ホストから構成されるク
    ラスタシステムにおけるメモリの共有方法。
  5. 【請求項5】 ユーザプログラムがホスト内で最初に実
    行された時、ホスト内メモリの領域確保やロック識別子
    の取得を行い、ロック/メモリ対応情報に登録し、ユー
    ザプログラムが実行されホスト内メモリを参照または更
    新時にロックを行うために、クラスタ用ロック手段が実
    行され、クラスタ用ロック手段は、ホスト間ロック管理
    手段と連携し、クラスタシステム全体のロックが成功し
    た場合、ユーザプログラムが要求したロックのモードに
    より、参照ロックの場合、参照ロックは、共有メモリを
    排他的に参照するため、ユーザプログラムからのロック
    要求時にクラスタ用ロック手段はロック/メモリ対応情
    報とロック/退避領域対応情報を参照し、ロック識別子
    に対応するメモリアドレスおよびメモリサイズ、退避領
    域情報、退避領域情報(復旧用)を取得し、ディスク読
    み込み手段を使用してホスト間共有ディスク装置のメモ
    リ退避領域から、ホスト内メモリにデータを読み込み、
    メモリ退避領域のレコードの先頭部の書き込みチェック
    領域とレコードの終端部の書き込みチェック領域をチェ
    ックし、ホストダウンによりデータが不正な場合は、メ
    モリ退避領域(復旧用)から、ホスト内メモリにデータ
    を読み込み、メモリ退避領域(復旧用)の情報をメモリ
    退避領域に書き込んだ後、ユーザプログラムに制御を戻
    し、ユーザプログラムから参照ロックのロック解除要求
    時に、クラスタ用ロック解除手段はホスト間ロック管理
    手段と連携し、ロック解除を行い、更新ロックの場合、
    更新ロックは、共有メモリを排他的に更新するため、ユ
    ーザプログラムからのロック要求時にクラスタ用ロック
    手段はロック/メモリ対応情報とロック/退避領域対応
    情報を参照し、ロック識別子に対応するメモリアドレス
    およびメモリサイズ、退避領域情報、退避領域情報(復
    旧用)を取得し、ディスク読み込み手段を使用してホス
    ト間共有ディスク装置のメモリ退避領域から、ホスト内
    メモリにデータを読み込み、メモリ退避領域のレコード
    の先頭部の書き込みチェック領域とレコードの終端部の
    書き込みチェック領域をチェックし、ホストダウンによ
    りデータが不正な場合は、メモリ退避領域(復旧用)か
    ら、ホスト内メモリにデータを読み込み、メモリ退避領
    域(復旧用)の情報をメモリ退避領域に書き込んだ後、
    ユーザプログラムに制御を戻、メモリ退避領域のデータ
    が正しい場合はメモリ退避領域の内容をディスク書き込
    み手段を使用してメモリ退避領域(復旧用)に書き込
    み、ユーザプログラムから更新ロックのロック解除要求
    時に、クラスタ用ロック解除手段はディスク書き込み手
    段を使用してホスト内メモリをホスト間共有ディスク装
    置のメモリ退避領域に書き込み、ホスト間ロック管理手
    段と連携し、ロック解除を行うことを特徴とする複数ホ
    ストから構成されるクラスタシステムにおけるメモリの
    共有方法。
  6. 【請求項6】 あるホストでロック中にホストダウンが
    発生した場合、ホスト内メモリの領域確保やロック識別
    子の取得を行い、ロック/メモリ対応情報に登録し、ユ
    ーザプログラムが実行されホスト内メモリを参照または
    更新時にロックを行うために、クラスタ用ロック手段が
    実行され、クラスタ用ロック手段は、ホスト間ロック管
    理手段と連携し、クラスタシステム全体のロックが成功
    した場合、ユーザプログラムが要求したロックのモード
    により、参照ロックの場合、参照ロックは、共有メモリ
    を排他的に参照するため、メモリに対する復旧処理は不
    要で、ロックに関しては、ホストでホストダウンが発生
    した場合、ホスト稼動監視手段は、ホストのダウンを認
    識すると、ホスト間ロック管理手段に通知し、ホスト間
    ロック管理手段はホストからのロックをすべて解除し、
    ロック解除により動作可能となったユーザプログラムか
    らのロック要求時にクラスタ用ロック手段はロック/メ
    モリ対応情報とロック/退避領域対応情報を参照し、ロ
    ック識別子に対応するメモリアドレスおよびメモリサイ
    ズ、退避領域情報、退避領域情報(復旧用)を取得し、
    ディスク読み込み手段を使用してホスト間共有ディスク
    装置のメモリ退避領域から、ホスト内メモリにデータを
    読み込み、メモリ退避領域のレコードの先頭部の書き込
    みチェック領域とレコードの終端部の書き込みチェック
    領域をチェックし、ホストダウンによりデータが不正な
    場合は、メモリ退避領域(復旧用)から、ホスト内メモ
    リにデータを読み込み、メモリ退避領域(復旧用)の情
    報をメモリ退避領域に書き込んだ後、ユーザプログラム
    に制御を戻し、ユーザプログラムから参照ロックのロッ
    ク解除要求時に、クラスタ用ロック解除手段はホスト間
    ロック管理手段と連携し、ロック解除を行い、更新ロッ
    クの場合更新ロックは、共有メモリを排他的に更新する
    ため、メモリに対する復旧処理は不要で、ロック解除に
    より動作可能となったユーザプログラムからのロック要
    求時にクラスタ用ロック手段はロック/メモリ対応情報
    とロック/退避領域対応情報を参照し、ロック識別子に
    対応するメモリアドレスおよびメモリサイズ、退避領域
    情報、退避領域情報(復旧用)を取得し、ディスク読み
    込み手段を使用してホスト間共有ディスク装置のメモリ
    退避領域から、ホスト内メモリにデータを読み込み、メ
    モリ退避領域のレコードの先頭部の書き込みチェック領
    域とレコードの終端部の書き込みチェック領域をチェッ
    クし、ホストダウンによりデータが不正な場合は、メモ
    リ退避領域(復旧用)から、ホスト内メモリにデータを
    読み込み、メモリ退避領域(復旧用)の情報をメモリ退
    避領域に書き込んだ後、ユーザプログラムに制御を戻、
    メモリ退避領域のデータが正しい場合はメモリ退避領域
    の内容をディスク書き込み手段を使用してメモリ退避領
    域(復旧用)に書き込み、ユーザプログラムから更新ロ
    ックのロック解除要求時に、クラスタ用ロック解除手段
    はディスク書き込み手段を使用してホスト内メモリをホ
    スト間共有ディスク装置のメモリ退避領域に書き込み、
    ホスト間ロック管理手段と連携し、ロック解除を行うこ
    とを特徴とする複数ホストから構成されるクラスタシス
    テムにおけるメモリの共有方法。
  7. 【請求項7】 各ホストのユーザプログラムが全て参照
    ロックの場合、ホストのユーザプログラムは、ロック/
    対応情報を参照し、共有メモリを参照するためのロック
    (参照ロック)を行い、ホスト間共有ディスク装置中の
    メモリ退避領域からホスト内メモリにデータが読み込
    み、他のホストのユーザプログラムは自己のロック/対
    応情報を参照し、共有メモリを参照するためのロック
    (参照ロック)を行い、参照ロックであるためロックに
    成功し、ホスト間共有ディスク装置中のメモリ退避領域
    から自己のホスト内メモリにデータが読み込むことを特
    徴とする複数ホストから構成されるクラスタシステムに
    おけるメモリの共有方法。
  8. 【請求項8】 参照ロックのユーザプログラムと更新ロ
    ックのユーザプログラムの場合、参照ロックのホストの
    ユーザプログラムは、ロック/対応情報を参照し、共有
    メモリを参照するためのロック(参照ロック)を行い、
    ホスト間共有ディスク装置中のメモリ退避領域からホス
    ト内メモリにデータが読み込み、更新ロックのホストの
    ユーザプログラムは自己のロック/対応情報を参照し、
    共有メモリを更新するためのロック(更新ロック)を行
    うことによりユーザプログラムで参照ロック中であるた
    めロック待ち状態となり、ユーザプログラムでロックが
    解除された後でロックが成功し、ホスト間共有ディスク
    装置中のメモリ退避領域からホスト内メモリにデータが
    読み込まれ、更新ロックのユーザプログラムでロック解
    除時に、自己のホスト内メモリは、ホスト間共有ディス
    ク装置中のメモリ退避領域に書き込まれることを特徴と
    する複数ホストから構成されるクラスタシステムにおけ
    るメモリの共有方法。
  9. 【請求項9】 各ホストのユーザプログラムが全て更新
    ロックの場合、ホストのユーザプログラムは、ロック/
    対応情報を参照し、共有メモリを更新するためのロック
    (更新ロック)を行い、ホスト間共有ディスク装置中の
    メモリ退避領域からホスト内メモリにデータが読み込
    み、他のホストのユーザプログラムは自己のロック/対
    応情報を参照し、共有メモリを更新するためのロック
    (更新ロック)を行うことによりユーザプログラムで更
    新ロック中であるためロック待ち状態となり、ユーザプ
    ログラムがロック解除時に、ホスト内メモリは、ホスト
    間共有ディスク装置中のメモリ退避領域に書き込まれ、
    ロックが解除された後で他のユーザプログラムでロック
    が成功し、ホスト間共有ディスク装置中のメモリ退避領
    域からホスト内メモリにデータが読み込まれ、他のユー
    ザプログラムでロック解除時に、自己のホスト内メモリ
    は、ホスト間共有ディスク装置中のメモリ退避領域に書
    き込まれることを特徴とする複数ホストから構成される
    クラスタシステムにおけるメモリの共有方法。
JP11116853A 1999-04-23 1999-04-23 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法 Pending JP2000305832A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11116853A JP2000305832A (ja) 1999-04-23 1999-04-23 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11116853A JP2000305832A (ja) 1999-04-23 1999-04-23 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法

Publications (1)

Publication Number Publication Date
JP2000305832A true JP2000305832A (ja) 2000-11-02

Family

ID=14697255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11116853A Pending JP2000305832A (ja) 1999-04-23 1999-04-23 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法

Country Status (1)

Country Link
JP (1) JP2000305832A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961828B2 (en) 2001-03-14 2005-11-01 Kabushiki Kaisha Toshiba Cluster system, memory access control method, and recording medium
CN108804234A (zh) * 2017-04-28 2018-11-13 腾讯科技(深圳)有限公司 数据存储系统及其操作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961828B2 (en) 2001-03-14 2005-11-01 Kabushiki Kaisha Toshiba Cluster system, memory access control method, and recording medium
CN108804234A (zh) * 2017-04-28 2018-11-13 腾讯科技(深圳)有限公司 数据存储系统及其操作方法
CN108804234B (zh) * 2017-04-28 2023-05-09 腾讯科技(深圳)有限公司 数据存储系统及其操作方法

Similar Documents

Publication Publication Date Title
US8495131B2 (en) Method, system, and program for managing locks enabling access to a shared resource
US7480654B2 (en) Achieving cache consistency while allowing concurrent changes to metadata
US5659682A (en) Scheme to determine completion of directory operations for server recovery
KR100974156B1 (ko) 파일 서버 재초기화 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP4759570B2 (ja) データベース管理システムにおけるファイル操作のためのロックを提供するための手法
US7240057B2 (en) System and method for implementing journaling in a multi-node environment
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
US7548918B2 (en) Techniques for maintaining consistency for different requestors of files in a database management system
US7127722B2 (en) Method and apparatus for avoiding multiple processing of the same IPMI system event
KR100450400B1 (ko) 안전 기억 장치가 없는 환경을 위한 이중화 구조의 주 메모리 상주 데이터베이스 관리시스템 및 그 데이터 일치성 제어방법
JPH02228744A (ja) データ処理システム
US10970273B2 (en) Aiding resolution of a transaction
US20130232379A1 (en) Restoring distributed shared memory data consistency within a recovery process from a cluster node failure
US6076126A (en) Software locking mechanism for locking shared resources in a data processing system
CN113746641B (zh) 一种基于分布式存储的odx协议处理方法
US11449241B2 (en) Customizable lock management for distributed resources
KR20050029202A (ko) 스토리지 영역 네트워크에서의 비동기 메시징 처리를 위한시스템 및 방법
CN117170820A (zh) 集群节点的配置共享方法、系统、终端及存储介质
US8560691B2 (en) Relocating item in distributed storage system
US6829609B1 (en) System, device, and method for providing mutual exclusion for computer system resources
JPH10289217A (ja) ログ・ストリーム管理システム
JP2000305832A (ja) 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法
JP4286857B2 (ja) ノード間共用ファイル制御方法
CN108614873B (zh) 一种数据处理方法及装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040413