JP2003108400A - 分散共有メモリシステム及び分散共有メモリ制御方法 - Google Patents

分散共有メモリシステム及び分散共有メモリ制御方法

Info

Publication number
JP2003108400A
JP2003108400A JP2001298436A JP2001298436A JP2003108400A JP 2003108400 A JP2003108400 A JP 2003108400A JP 2001298436 A JP2001298436 A JP 2001298436A JP 2001298436 A JP2001298436 A JP 2001298436A JP 2003108400 A JP2003108400 A JP 2003108400A
Authority
JP
Japan
Prior art keywords
node
memory
shared memory
distributed shared
information
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
JP2001298436A
Other languages
English (en)
Inventor
Satoshi Tanaka
聡 田中
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001298436A priority Critical patent/JP2003108400A/ja
Publication of JP2003108400A publication Critical patent/JP2003108400A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Memory System (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

(57)【要約】 【課題】 予備ノード分散共有メモリ上のデータ構造の
完全性を常に保持することが可能な分散共有メモリシス
テム及び分散共有メモリ制御方法を提供する。 【解決手段】 本発明は、トランザクション表示ビット
を、現用ノードと予備ノードの間で転送されるメモリ書
き換え情報中に持たせ、現用ノードはメモリ書き換え情
報をメモリライト発生時に転送し、転送されてきたメモ
リ書き換え情報を予備ノード側のバッファに蓄積し、ト
ランザクション表示がない書き換え情報が到着すること
により、それまでに蓄積された書き換え情報を予備ノー
ドのプロセッサからは不可分に共有メモリに書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散共有メモリシ
ステム及び分散共有メモリ制御方法に係り、特に、分散
共有メモリを用いたアクト/スタンバイ型フォールトト
レラントシステムにおける分散共有メモリシステム及び
分散共有メモリ構成方法に関する。
【0002】
【従来の技術】フォールトトラレントシステムの一つの
形態として、現用ノードと予備ノードを用いて、現用ノ
ードがダウンした際、予備ノードが処理を継続するとい
うシステムがある。
【0003】現用ノードのメモリ上にある情報を分散共
用メモリによるコピー機構を用いて予備ノード上に逐次
コピーし、現用ノードがダウンした場合、予備ノードに
切り替えることで現用ノードで行っていた処理を継続す
る方法としては、例えば、以下のようなものがある。
【0004】第1の方法として、通常モードでの転送方
法が開示されている特開2000−163275号公報
がある。
【0005】第2の方法として、予備ノードをネットワ
ーク上において分散処理を行う概念が開示されている特
開平10−98524号公報がある。
【0006】また、分散共有メモリの実現方法として
は、例えば、特開平08−339354号公報に開示さ
れている方法がある。これは、分散共有メモリの効果を
向上させるための方法が開示されている。
【0007】
【発明が解決しようとする課題】フォールトトレラント
システム上で動作するアプリケーションプログラムの例
として、24時間注文を受け付けるオンラインンショッ
ピングシステムなどがある。これらのシステムでは、外
部からのイベントを受け付け、それぞれのイベントに対
応した処理を行い、その結果を外部または、システム内
部へのイベントとして送信する。このようなアプリケー
ションでは、メモリ上にキューやリストなどのデータ構
造を展開し、そこへデータの挿入や削除により処理を進
めることが一般的である。キューやリストなどのデータ
構造は、一般的に複数のポインタやテーブルによって構
成される。従って、これらのデータ構造では、データの
挿入や削除に複数回のメモリ書き換えを要することにな
る。即ち、データの挿入や削除を実行する一連の複数の
メモリ書込みが全て完了した時点で、完全なデータ構造
を保持することになる。
【0008】現用ノードと予備ノードとの間の分散共有
メモリを用いたアクト/スタンバイ型フォールトトレラ
ントシステムにおいて、上記のようなアプリケーション
プログラムを対象にした場合、現用ノードでのメモリ書
き換えの情報が予備系に逐次転送されてくることから、
予備ノード上における現用ノードのデータ構造の複製
に、不完全な状態が生じることになる。
【0009】このように、アプリケーションの再開に必
要な処理中データが保存されているこれらのデータ構造
が不完全な状態において、現用ノードが機能停止してし
まった場合、予備ノードでのアプリケーションの正常な
処理の継続ができないという問題がある。
【0010】このような複数メモリ書き換えのアトミッ
ク性を実現するため、データ構造の完全性を保持するた
めに必要な一連のメモリ書き換え情報を現用ノード上で
一つのパケットにまとめて送信し、予備ノードでは、受
信したパケット単位にパケットに存在する複数の書き換
え情報を不可分に共有メモリに反映する方式が考えられ
る。しかし、1パケット化する方式では、アトミック性
を保証するメモリ書き換えの個数が通信ネットワークの
パケット長で決まってしまうという問題がある。さら
に、インターネットのように経路により最大パケット長
が異なるか、通信経路上で最大パケット長が短い区間が
存在する可能性があり、1パケット化でアトミック性を
保証することは困難である。また、1パケット化するた
め、共有メモリ間での書き換え情報を通信する機能にお
いて、アトミックな書き換えかどうかの状態に依存した
処理を実装する必要があり、TCP/IPなどの通信プ
ロトコルの実装を複雑化させ、実現を困難にしている。
【0011】本発明は、上記の点に鑑みなされたもの
で、分散共有メモリを用いたメモリ二重化によるアクト
/スタンバイ型フォールトトレラントシステムにおい
て、現用ノードにおけるキューやリストなどの更新の際
に発生するアトミック性を持った複数のメモリ書き換え
を、アトミック性を維持したまま予備ノードに転送し、
予備ノードのプロセッサからは不可分に予備ノードの分
散共有メモリに反映させ、予備ノード分散共有メモリ上
のデータ構造の完全性を常に保持することが可能な分散
共有メモリシステム及び分散共有メモリ制御方法を提供
することを目的とする。
【0012】
【課題を解決するための手段】図1は、本発明の原理構
成図である。
【0013】本発明(請求項1)は、通常時に処理を実
行する現用ノードと、障害時に該現用ノードの処理を代
行する予備ノードと、該現用ノードと該予備ノードとを
接続するネットワークからなるネットワークシステムに
おいて、該現用ノードと該予備ノードとの間で分散共有
メモリを実現させる分散共有メモリシステムであって、
現用ノードと予備ノードとの間で利用される分散共有メ
モリ31を有する分散共有メモリ装置30を有し、分散
共有メモリ装置30は、現用ノードにおいて、分散共有
メモリ31へのプロセッサからの書込みを検知し、書込
みアドレスと書き込まれた値の組の情報(以下、メモリ
書き換え情報と記す)を生成し、順に送信するメモリ書
き換え情報生成手段331と、予備ノードにおいて、受
信したメモリ書き換え情報から書込みアドレスと値を取
り出し、該予備ノードの分散共有メモリへ不可分に書き
込む共有メモリ書込み手段332と、を有する分散共有
メモリ制御装置33と、現用ノードと予備ノードの間の
ネットワーク上で該現用ノードと該予備ノードの間で信
頼性のあるデータの転送を行うデータ転送手段341を
有する通信制御装置34と、を有し、通信制御装置34
において、現用ノードと予備ノードの間で、該現用ノー
ドのプロセッサで動作するアプリケーションの指示によ
りコネクションを生成し、分散共有メモリ制御装置33
において、メモリ書き換え情報生成手段は、現用ノード
での分散共有メモリへの書込みが発生する毎に、該現用
ノード上でメモリ書き換え情報を生成し、生成された該
メモリ書き換え情報を通信制御装置34に順に転送し、
通信制御装置34において、データ転送手段341は、
現用ノードと予備ノード間のコネクションにより発生順
を保証して、メモリ書き換え情報を該予備ノードへ送信
し、予備ノード上で、受信が完了したメモリ書き換え情
報を発生順に分散共有メモリ制御装置33に送信し、分
散共有メモリ制御装置33において、共有メモリ書込み
手段332は、予備ノード上で受け取ったメモリ書き換
え情報に基づいて、該予備ノード上の分散共有メモリの
アドレスに値を書き込む。
【0014】本発明(請求項2)は、分散共有メモリ制
御装置33において、共有メモリ書込み手段332は、
現用ノードで発生する複数のメモリ書き換えを一括して
予備ノードでのプロセッサからは不可分に該予備ノード
の共有メモリ31に書き込むことにより、メモリ書き換
え情報の中に、該共有メモリ書き換えに続く次のメモリ
書き換え情報を受信後に一括して該予備ノードで反映す
るか否かを示す制御情報であるトランザクション表示ビ
ットを加えて生成する手段と、トランザクション表示ビ
ットが“ON”のメモリ書き換え情報をはじめて受信し
たときから、受信したすべてのメモリ書き換え情報を蓄
積し、該トランザクション表示ビットが“OFF”とな
ったメモリ書き換え情報を受信することで、一連のメモ
リ書き換えを予備ノードのプロセッサから不可分に、予
備ノード上の分散共有メモリに反映する手段と、を有
し、通信制御装置34において、データ転送手段341
は、予備ノードで受信したパケット中のメモリ書き換え
情報を分散共有メモリ装置30へ送信する際に、該メモ
リ書き換え情報を検査し、送信する該メモリ書き換え情
報のトランザクション表示ビットが変化する場合に、分
散共有メモリ制御装置33への該変化を通知する手段を
有する。
【0015】本発明(請求項3)は、通信制御装置34
のデータ転送手段341において、プロトコルとして、
TCP/IPを実装する。
【0016】図2は、本発明の原理を説明するための図
である。
【0017】本発明(請求項4)は、通常時に処理を実
行する現用ノードと、障害時に該現用ノードの処理を代
行する予備ノードと、該現用ノードと該予備ノードとを
接続するネットワークからなるネットワークシステムに
おいて、該現用ノードと該予備ノードとの間で分散共有
メモリを実現させる分散共有メモリ装置、分散共有メモ
リ制御装置と、現用ノードと予備ノードの間で信頼性の
あるデータの転送を行う通信制御装置とを有するシステ
ムにおける分散共有メモリ制御方法において、通信制御
装置では、現用ノードと予備ノードの間で、該現用ノー
ドのプロセッサで動作するアプリケーションの指示によ
りコネクションを生成し(ステップ1)、分散共有メモ
リ制御装置では、現用ノードでのプロセッサからの分散
共有メモリへの書込みが発生する毎に(ステップ2)、
該現用ノード上で書込みアドレスと書き込まれた値の組
の情報(以下、メモリ書き換え情報)を生成し、生成さ
れた該メモリ書き換え情報を通信制御装置に順に転送し
(ステップ3)、通信制御装置では、現用ノードと予備
ノード間のコネクションにより発生順を保証して、メモ
リ書き換え情報を該予備ノードへ送信し(ステップ
4)、予備ノード上で、受信が完了したメモリ書き換え
情報を発生順に分散共有メモリ制御装置に送信し(ステ
ップ5)、分散共有メモリ制御装置では、予備ノード上
で受け取ったメモリ書き換え情報から書込みアドレスと
値を取り出し(ステップ6)、該予備ノード上の分散共
有メモリのアドレスに値を書き込む(ステップ7)。
【0018】本発明(請求項5)は、分散共有メモリ制
御装置において、現用ノードで発生する複数のメモリ書
き換えを一括して予備ノードでのプロセッサからは不可
分に該予備ノードの共有メモリに書き込むことにより、
メモリ書き換え情報の中に、該共有メモリ書き換えに続
く次のメモリ書き換え情報を受信後に一括して該予備ノ
ードで反映するか否かを示す制御情報であるトランザク
ション表示ビットを加えて生成し、トランザクション表
示ビットが“ON”のメモリ書き換え情報をはじめて受
信したときから、受信したすべてのメモリ書き換え情報
を蓄積し、該トランザクション表示ビットが“OFF”
となったメモリ書き換え情報を受信することで、一連の
メモリ書き換えを予備ノードのプロセッサから不可分
に、予備ノード上の分散共有メモリに反映し、通信制御
装置において、予備ノードで受信したパケット中のメモ
リ書き換え情報を分散共有メモリ装置へ送信する際に、
該メモリ書き換え情報を検査し、送信する該メモリ書き
換え情報のトランザクション表示ビットが変化する場合
に、分散共有メモリ制御装置への該変化を通知する。
【0019】本発明(請求項6)は、通信制御装置にお
いて、プロトコルとして、TCP/IPを用いる。
【0020】上記のように、本発明では、現用ノードの
メモリ情報を予備ノード上のメモリにコピーを逐次作成
する際に、アトミック性を必要とする複製のメモリ書き
換えに対して、アトミック性を必要とするメモリライト
であるかどうかを表示するビットを、現用ノードと予備
ノードの間で転送されるメモリ書き換え情報中に持た
せ、現用ノードはメモリ書き換え情報をメモリライト発
生時に転送し、転送されてきたメモリ書き換え情報を予
備ノード側のバッファに蓄積し、トランザクション表示
がない書き換え情報が到着することにより、それまでに
蓄積された書き換え情報を予備ノードのプロセッサから
は不可分に共有メモリに書き込むことにより、現用ノー
ドでのアトミック性を必要とするメモリ書き換えを予備
ノードのメモリにアトミック性を保持して反映する。ま
た、トランザクション表示がない書き換え情報が未到着
の時に、予備ノードが現用ノードのシステムダウンを検
知し、現用ノードの代わりにアプリケーションの処理を
継続しようとした場合、予備ノード上の共有メモリには
不完全な状態のデータ構造は存在しない。
【0021】
【発明の実施の形態】以下に、本発明の一実施の形態を
図面と共に説明する。
【0022】図3は、本発明の一実施の形態における現
用及び予備ノードを構成するシステム構成を示す。
【0023】同図に示す現用ノード及び予備ノードは、
プロセッサ10、システムメモリ20、プロセッサ1
0、メモリ20、ディスク等への入出力装置40、分散
共有メモリ装置30、バス50から構成され、これら
は、バス50で接続される。
【0024】分散共有メモリ装置30は、分散共有メモ
リ31、送受信バッファ32、分散共有メモリ制御装置
33、通信制御装置34、及び通信制御LSI35から
構成される。
【0025】図4は、本発明の一実施の形態における分
散共有メモリ装置の構成を示す。
【0026】分散共有メモリ制御装置33は、バス50
経由での分散共有メモリ31への読み書きを制御し、分
散共有メモリ31を本システムのバス上のメモリとして
動作させる。
【0027】通信制御LSI35と通信制御装置34
は、送受信バッファ32の管理機能と通信ネットワーク
上での信頼性のある通信を制御する機能を有する。例え
ば、通信制御装置34において、TCP/IPの機能を
実現し、通信制御LSI35としてイーサネット(登録
商標)物理層LSIを用いることにより、イーサネット
を用いたネットワーク上で信頼性のある通信を実現す
る。
【0028】分散共有メモリ制御装置33は、バス50
からアクセス可能な制御モードレジスタ333を備えて
いる。本制御モードレジスタ333は、以下の主に3つ
の機能を有する。
【0029】第1は、バス50経由で行われる分散共有
メモリ31へのアクセスモードの指示を受け付ける。ア
クセスモードには、個々の書込みを個別に予備ノードに
反映させる通常モードと、一連の複数書込みを不可分に
予備ノードに反映させるアトミックライトモードがあ
る。何も指示がない場合は、通常モードとして処理され
る。アトミックライトモードを開始するためのアトミッ
クライト開始指示、及び、アトミックモードを終了する
ためのアトミックライト終了指示を、プロセッサ上で動
作するプログラムが指示する。
【0030】第2は、当該分散共有メモリ装置30が現
用ノードなのか予備ノードなのか受け付ける。予備ノー
ドが指定されると、分散共有メモリ制御装置33及び通
信制御装置34は、現用ノードからのコネクションの設
定とメモリ書き換え情報の転送を待つ。一方、現用ノー
ドが指定されると、分散共有メモリ制御装置33は、コ
ネクションの設定を行い、コネクション確立後、メモリ
書き換え情報の転送を開始する。さらに、予備ノードの
指示状態で、再開指示を受けることによって、共有メモ
リとしてアクセスの機能だけが有効な状態となる。
【0031】第3には、分散共有メモリ装置30の状態
とエラー発生時のエラー内容を、プロセッサからアクセ
ス可能にする。
【0032】分散共有メモリ制御装置33と通信制御装
置34との間は、双方向のFIFO36といくつかの信
号線から構成される。FIFO36は、分散共有メモリ
装置33と通信制御装置34との間でメモリ書き換え情
報を受け渡すためと、アトミックな書き換え時のメモリ
書き換え情報の蓄積に用いる。実装上、双方向に使用で
きるFIFOであるが、現用ノードにおいては、分散共
有メモリ制御装置33から通信制御装置34への向き、
予備ノードにおいては、通信制御装置34から分散共有
メモリ制御装置33への向きのデータ転送に用いる。
【0033】通信制御装置34は、FIFO36に挿入
するメモリ書き換え情報をチェックし、トランザクショ
ン表示が“ON”から“OFF”に変化する毎に信号を
送出する。分散共有メモリ制御装置33では、カウンタ
334を有し、通信制御装置34からの信号を受けてカ
ウントする。
【0034】分散共有メモリ制御装置33は、FIFO
36の先頭の書き換え情報を先読みし、トランザクショ
ン表示が“ON”であれば、カウンタ334の値が0よ
り大きくなることを待つ。そして、カウンタの値が0以
外の場合、アトミック性を保持して書込み全ての書き込
みがFIFO36に蓄積されたとして、FIFO36か
ら書き換え情報を読み出し、書込み処理を行う。書込み
が完了したときには、カウンタ334を1減算する。現
用ノードにおいては、FIFO36は、分散共有メモリ
制御装置33から通信制御装置34への書き換え情報の
受渡しのために利用されるだけで、分散共有メモリ31
へのアクセスモードに依存した処理は行わない。
【0035】図5は、本発明の一実施の形態における現
用ノードと予備ノードとの関係とノード間で転送される
メモリ書き換え情報の構成を示す。メモリ書き換え情報
は、アドレス(ADDR)及び書き換え後の値(DAT
A)及びトランザクション表示(TR)から構成され
る。現用ノード100での分散共有メモリ231への書
込みアクセスは、共有メモリ制御装置133によりアド
レスと書き換え後の値とアクセスモードから構成される
メモリ書き換え情報が生成されることにより行われる。
メモリ書き換え情報は、通信制御装置134から通信制
御LSI135を経由して、予備ノード200に送られ
る。このとき、信頼性のある通信により、予備ノード2
00に到着するメモリ書き換え情報の順序は、現用ノー
ド100での順序が保証される。予備ノード上の共有メ
モリの所定のアドレスに書き換えを反映する。
【0036】図6は、本発明の一実施の形態における現
用ノードでのアトミックライトモード時の共有メモリへ
のアクセスシーケンスと生成されるメモリ書き換え情報
の例を示す。
【0037】ステップ101) 「ADDR0」に「D
ATA0」の通常モードの書込みに対して、トランザク
ション表示が“OFF”(TR=OFF)のメモリ書き
換え情報Aが生成される。
【0038】ステップ102) 制御モードレジスタ3
33のアトミックライト開始を指示する。以降のアクセ
スをアトミックライトモードとする。
【0039】ステップ103) 「ADDR1」に「D
ATA1」のアトミックライトモードの書込みにより、
トランザクション表示が“ON”(TR=ON)のメモ
リ書き換え情報Bが生成される。
【0040】ステップ104) 「ADDR2」に「D
ATA2」のアトミックライトモードの書込みにより、
同様のメモリ書き換え情報Cが生成される。
【0041】ステップ105) 制御モードレジスタ3
33にアトミックライト終了を指示する。この指示の直
後までの書き換えをトランザクションとして扱う。
【0042】ステップ106) 「ADDRn」に「D
ATAn」の書込みにより、トランザクション表示が
“OFF”のメモリ書き換え情報Eが生成される。
【0043】ステップ107) 「ADDRn+1」に
「DATAn+1」の書込みにより、トランザクション
表示が“OFF”のメモリ書き換え情報Fが生成され
る。
【0044】このとき、通信制御装置134による信頼
性のある通信により、現用ノード100で生成されたメ
モリ書き換え情報は、上記のシーケンス順を保存して、
予備ノード200に転送される。予備ノード200で
は、受信したメモリ書き換え情報を元に、以下のように
処理する。
【0045】ステップ201) メモリ書き換え情報A
により、トランザクション表示が“ON”(TR=O
N)のため、「ADDR0」に「DATA0」を書き込
む。
【0046】ステップ202) メモリ書き換え情報B
により、トランザクション表示が“ON”(TR=O
N)のため、これ以降の書き換え情報をFIFO36に
蓄積する。
【0047】ステップ203) メモリ書き換え情報C
…Dが蓄積される。
【0048】ステップ204) メモリ書き換え情報E
を受信することにより、トランザクション表示が“OF
F”(TR=OFF)となっているため、通信制御装置
234は、書き換え情報EをFIFO36に挿入し、カ
ウントアップの信号を分散共有メモリ制御装置233に
送信する。分散共有メモリ制御装置233は、これまで
蓄積したメモリ書き換え情報B,C,…D及び、現在受
信したメモリ書き換え情報Eまでを、分散共有メモリ2
31に書き込む。このとき、一連の書込みが終了するま
で、予備ノードのプロセッサからのメモリアクセスはブ
ロックされる。これにより、不可分なメモリ書き換えを
保証する。
【0049】ステップ205) メモリ書き換え情報F
により、トランザクション表示が“OFF”(TR=O
FF)のため、「ADDRn+1」に「DATAn+
1」を書き込む。
【0050】以上のような処理により、複数のメモリラ
イトをアトミック性を保って、予備ノード200の分散
共有メモリ231に書き込むことができる。
【0051】予備ノード200側で、アトミック性を保
持する必要のある複数の書き換え情報を完全に受信して
いない(上記の例では、トランザクション表示が“OF
F”となったメモリ書き換え情報Eを未受信の状態)と
きに、予備ノード200が現用ノード100のダウンを
検知し、予備ノード200でのアプリケーションの処理
が再開された場合、再開時にアプリケーションが分散共
有メモリ制御装置へのモードの変更を通知することを契
機に、蓄積されていたメリ書き換え情報を破棄する。
【0052】上記のように、本発明では、“トランザク
ション表示”と呼ぶビットを用意し、その“ON”,
“OFF”によって受信側メモリ反映を制御している。
これにより、1つのトランザクションデータを複数のパ
ケットに分割することが可能となるため、1トランザク
ション1パケットの方法と比べて、書き換え情報量の制
限を回避でき、さらに、実装上、トランザクション制御
とパケット送受とを分離することが可能となるため、実
装が容易化される。
【0053】なお、本発明は、上記の実施例に限定され
ることなく、特許請求の範囲内において、種々変更・応
用が可能である。
【0054】
【発明の効果】上述のように、本発明によれば、分散共
有メモリを用いたメモリ二重化によるアクト/スタンバ
イ型フォールトトラレントシステムにおいて、現用ノー
ドにおけるキューやリストなどの更新の際に発生するア
トミック性を持った複数のメモリ書き換えを、アトミッ
ク性を維持したまま予備ノードに転送し、予備ノードの
プロセッサからは不可分に予備ノードの分散共有メモリ
に反映させ、予備ノードの分散共有メモリ上のデータ構
造の完全性を常に保持することができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の原理を説明するための図である。
【図3】本発明の一実施の形態における現用ノード及び
予備ノードを構成するシステム構成図である。
【図4】本発明の一実施の形態における分散共有メモリ
装置の構成図である。
【図5】本発明の一実施の形態における現用ノードと予
備ノードとの関係とノード間で転送されるメモリ書き換
え情報の構成を示す図である。
【図6】本発明の一実施の形態における現用ノードでの
アトミックライトモード時の共有メモリへのアクセスシ
ーケンスと生成されるメモリ書き換え情報の例である。
【符号の説明】
10 プロセッサ 20 システムメモリ 30 分散共有メモリ装置 31 分散共有メモリ 32 送受信バッファ 33 共有メモリ制御装置 34 通信制御装置 35 通信制御LSI 36 FIFO 40 入出力装置 50 バス 100 現用ノード 110 プロセッサ 120 メモリ 130,230 分散共有メモリ装置 131,231 分散共有メモリ 132,232 送受信バッファ 133,233 分散共有メモリ制御装置 134,234 通信制御装置 135、235 通信制御LSI 331 メモリ書き換え情報生成手段 332 共有メモリ書き込み手段 333 制御モードレジスタ 334 カウンタ 341 データ転送手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/177 682 G06F 15/177 682J H04L 29/14 H04L 13/00 311 Fターム(参考) 5B034 BB02 DD05 DD07 5B045 DD01 JJ12 JJ24 JJ26 5B060 KA01 KA08 5B089 GA04 ME01 ME04 5K035 AA03 CC03 DD01 EE09 FF02 LL14 MM04 MM05

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 通常時に処理を実行する現用ノードと、
    障害時に該現用ノードの処理を代行する予備ノードと、
    該現用ノードと該予備ノードとを接続するネットワーク
    からなるネットワークシステムにおいて、該現用ノード
    と該予備ノードとの間で分散共有メモリを実現させる分
    散共有メモリシステムであって、 前記現用ノードと前記予備ノードとの間で利用される分
    散共有メモリを有する分散共有メモリ装置を有し、 前記分散共有メモリ装置は、 前記現用ノードにおいて、前記分散共有メモリへのプロ
    セッサからの書込みを検知し、書込みアドレスと書き込
    まれた値の組の情報(以下、メモリ書き換え情報と記
    す)を生成し、順に送信するメモリ書き換え情報生成手
    段と、前記予備ノードにおいて、受信したメモリ書き換
    え情報から書込みアドレスと値を取り出し、該予備ノー
    ドの分散共有メモリへ不可分に書き込む共有メモリ書込
    み手段と、を有する分散共有メモリ制御装置と、 現用ノードと予備ノードの間のネットワーク上で該現用
    ノードと該予備ノードの間で信頼性のあるデータの転送
    を行うデータ転送手段を有する通信制御装置と、を有
    し、 前記通信制御装置において、 前記現用ノードと前記予備ノードの間で、該現用ノード
    のプロセッサで動作するアプリケーションの指示により
    コネクションを生成し、 前記分散共有メモリ制御装置において、 前記メモリ書き換え情報生成手段は、前記現用ノードで
    の前記分散共有メモリへの書込みが発生する毎に、該現
    用ノード上でメモリ書き換え情報を生成し、生成された
    該メモリ書き換え情報を前記通信制御装置に順に転送
    し、 前記通信制御装置において、 前記データ転送手段は、前記現用ノードと前記予備ノー
    ド間のコネクションにより発生順を保証して、前記メモ
    リ書き換え情報を該予備ノードへ送信し、 前記予備ノード上で、受信が完了した前記メモリ書き換
    え情報を発生順に前記分散共有メモリ制御装置に送信
    し、 前記分散共有メモリ制御装置において、 前記共有メモリ書込み手段は、前記予備ノード上で受け
    取った前記メモリ書き換え情報に基づいて、該予備ノー
    ド上の分散共有メモリのアドレスに値を書き込むことを
    特徴とする分散共有メモリシステム。
  2. 【請求項2】 前記分散共有メモリ制御装置は、 前記現用ノードで発生する複数のメモリ書き換えを一括
    して前記予備ノードでのプロセッサからは不可分に該予
    備ノードの共有メモリに書き込むことにより、メモリ書
    き換え情報の中に、該共有メモリ書き換えに続く次のメ
    モリ書き換え情報を受信後に一括して該予備ノードで反
    映するか否かを示す制御情報であるトランザクション表
    示ビットを加えて生成する手段と、 前記トランザクション表示ビットが“ON”のメモリ書
    き換え情報をはじめて受信したときから、受信したすべ
    てのメモリ書き換え情報を蓄積し、該トランザクション
    表示ビットが“OFF”となったメモリ書き換え情報を
    受信することで、一連のメモリ書き換えを予備ノードの
    プロセッサから不可分に、予備ノード上の分散共有メモ
    リに反映する手段と、を有し、 前記通信制御装置は、 前記予備ノードで受信したパケット中のメモリ書き換え
    情報を前記分散共有メモリ装置へ送信する際に、該メモ
    リ書き換え情報を検査し、送信する該メモリ書き換え情
    報のトランザクション表示ビットが変化する場合に、前
    記分散共有メモリ制御装置への該変化を通知する手段を
    有する請求項1記載の分散共有メモリシステム。
  3. 【請求項3】 前記通信制御装置の前記データ転送手段
    は、 プロトコルとして、TCP/IPを実装する請求項2記
    載の分散共有メモリシステム。
  4. 【請求項4】 通常時に処理を実行する現用ノードと、
    障害時に該現用ノードの処理を代行する予備ノードと、
    該現用ノードと該予備ノードとを接続するネットワーク
    からなるネットワークシステムにおいて、該現用ノード
    と該予備ノードとの間で分散共有メモリを実現させる分
    散共有メモリ装置、分散共有メモリ制御装置と、現用ノ
    ードと予備ノードの間で信頼性のあるデータの転送を行
    う通信制御装置とを有するシステムにおける分散共有メ
    モリ制御方法において、 前記通信制御装置において、 前記現用ノードと前記予備ノードの間で、該現用ノード
    のプロセッサで動作するアプリケーションの指示により
    コネクションを生成し、 前記分散共有メモリ制御装置において、 前記現用ノードでのプロセッサからの前記分散共有メモ
    リへの書込みが発生する毎に、該現用ノード上で書込み
    アドレスと書き込まれた値の組の情報(以下、メモリ書
    き換え情報)を生成し、生成された該メモリ書き換え情
    報を前記通信制御装置に順に転送し、 前記通信制御装置において、 前記現用ノードと前記予備ノード間のコネクションによ
    り発生順を保証して、前記メモリ書き換え情報を該予備
    ノードへ送信し、 前記予備ノード上で、受信が完了した前記メモリ書き換
    え情報を発生順に前記分散共有メモリ制御装置に送信
    し、 前記分散共有メモリ制御装置において、 前記予備ノード上で受け取った前記メモリ書き換え情報
    から書込みアドレスと値を取り出し、該予備ノード上の
    分散共有メモリのアドレスに値を書き込むことを特徴と
    する分散共有メモリ制御方法。
  5. 【請求項5】 前記分散共有メモリ制御装置において、 前記現用ノードで発生する複数のメモリ書き換えを一括
    して前記予備ノードでのプロセッサからは不可分に該予
    備ノードの共有メモリに書き込むことにより、メモリ書
    き換え情報の中に、該共有メモリ書き換えに続く次のメ
    モリ書き換え情報を受信後に一括して該予備ノードで反
    映するか否かを示す制御情報であるトランザクション表
    示ビットを加えて生成し、 前記トランザクション表示ビットが“ON”のメモリ書
    き換え情報をはじめて受信したときから、受信したすべ
    てのメモリ書き換え情報を蓄積し、該トランザクション
    表示ビットが“OFF”となったメモリ書き換え情報を
    受信することで、一連のメモリ書き換えを予備ノードの
    プロセッサから不可分に、予備ノード上の分散共有メモ
    リに反映し、 前記通信制御装置において、 前記予備ノードで受信したパケット中のメモリ書き換え
    情報を前記分散共有メモリ装置へ送信する際に、該メモ
    リ書き換え情報を検査し、送信する該メモリ書き換え情
    報のトランザクション表示ビットが変化する場合に、前
    記分散共有メモリ制御装置への該変化を通知する請求項
    4記載の分散共有メモリ制御方法。
  6. 【請求項6】 前記通信制御装置において、 プロトコルとして、TCP/IPを用いる請求項5記載
    の分散共有メモリ制御方法。
JP2001298436A 2001-09-27 2001-09-27 分散共有メモリシステム及び分散共有メモリ制御方法 Pending JP2003108400A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001298436A JP2003108400A (ja) 2001-09-27 2001-09-27 分散共有メモリシステム及び分散共有メモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001298436A JP2003108400A (ja) 2001-09-27 2001-09-27 分散共有メモリシステム及び分散共有メモリ制御方法

Publications (1)

Publication Number Publication Date
JP2003108400A true JP2003108400A (ja) 2003-04-11

Family

ID=19119337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001298436A Pending JP2003108400A (ja) 2001-09-27 2001-09-27 分散共有メモリシステム及び分散共有メモリ制御方法

Country Status (1)

Country Link
JP (1) JP2003108400A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844852B2 (en) 2004-03-31 2010-11-30 Nec Corporation Data mirror cluster system, method and computer program for synchronizing data in data mirror cluster system
KR101857907B1 (ko) 2017-02-15 2018-05-14 포항공과대학교 산학협력단 IoT 디바이스를 위한 이기종 분산 공유 메모리

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844852B2 (en) 2004-03-31 2010-11-30 Nec Corporation Data mirror cluster system, method and computer program for synchronizing data in data mirror cluster system
KR101857907B1 (ko) 2017-02-15 2018-05-14 포항공과대학교 산학협력단 IoT 디바이스를 위한 이기종 분산 공유 메모리

Similar Documents

Publication Publication Date Title
CN100478926C (zh) 发送数据的方法和系统及接收数据的方法和系统
US9794305B2 (en) Consistent messaging with replication
US9811500B2 (en) Low latency device interconnect using remote memory access with segmented queues
JP5094460B2 (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
EP0444376A1 (en) Mechanism for passing messages between several processors coupled through a shared intelligent memory
US6813689B2 (en) Communications architecture for a high throughput storage processor employing extensive I/O parallelization
US9948545B2 (en) Apparatus and method for failover of device interconnect using remote memory access with segmented queue
JP2004086721A (ja) データ複製システム、中継装置、データ送受信方法およびストレージ内のデータを複製するためのプログラム
JP4066617B2 (ja) データの完全性を伴いデータネットワークに接続される記憶装置システム
US20050080920A1 (en) Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
EP0536375A1 (en) Fault tolerant network file system
US20030188098A1 (en) Communications architecture for a high throughput storage processor providing user data priority on shared channels
EP1351439A1 (en) Embedded system for broadcast traffic congestion control in communication network
JPH07262034A (ja) データ引き継ぎシステム
JP6740543B2 (ja) 通信装置、システム、ロールバック方法及びプログラム
JP2003108400A (ja) 分散共有メモリシステム及び分散共有メモリ制御方法
US20090003203A1 (en) Hardware packet pacing using a dma in a parallel computer
JP3304365B2 (ja) メッセージ通信制御方法および通信システム
US6434592B1 (en) Method for accessing a network using programmed I/O in a paged, multi-tasking computer
EP1358565B1 (en) Method and apparatus for preventing starvation in a multi-node architecture
JP2021135828A (ja) リクエスト処理システムおよびリクエスト処理方法
JP6787475B2 (ja) 通信装置、システム、ロールバック方法及びプログラム
JP2001243209A (ja) 分散共有メモリシステム及び分散共有メモリシステム制御方法
James SCI (Scalable Coherent Interface) Cache Coherence

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051115