JP2002063060A - 計算機システムおよびそのデータ転送方法 - Google Patents

計算機システムおよびそのデータ転送方法

Info

Publication number
JP2002063060A
JP2002063060A JP2000309299A JP2000309299A JP2002063060A JP 2002063060 A JP2002063060 A JP 2002063060A JP 2000309299 A JP2000309299 A JP 2000309299A JP 2000309299 A JP2000309299 A JP 2000309299A JP 2002063060 A JP2002063060 A JP 2002063060A
Authority
JP
Japan
Prior art keywords
data
storage area
data record
computer node
processing unit
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
JP2000309299A
Other languages
English (en)
Other versions
JP4192416B2 (ja
Inventor
Hajime Serizawa
一 芹沢
Hirofumi Nagasuga
弘文 長須賀
Tatsutoshi Sakuraba
健年 櫻庭
Kenta Futase
健太 二瀬
Masahiro Yamashita
正弘 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000309299A priority Critical patent/JP4192416B2/ja
Publication of JP2002063060A publication Critical patent/JP2002063060A/ja
Application granted granted Critical
Publication of JP4192416B2 publication Critical patent/JP4192416B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】従来の2つの計算機ノード間のデータ受け渡し
方法では、データ転送を行うプログラム間の待ち合わせ
のオーバヘッドが大きい。 【解決手段】データを送信する第1のプログラムが、任
意の時間間隔でデータを主記憶の領域に格納する。デー
タを受信する第2のプログラムは、任意の時間間隔で上
記領域をRDMAを用いて、参照する。または、データ
を受信する第2のプログラムは、任意の時間間隔で主記
憶の領域を参照する。データを送信する第1のプログラ
ムは、任意の時間間隔でRDMAを用いてデータを上記
領域に格納する。さらに、書き込みと読み出しのすれ違
いを検出するため、各レコードに識別子を付け、識別子
とレコード本体のアクセス順序を書き込みと読み出しで
逆にする。あるいは各レコードに識別子と誤り検出符号
を付加する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークまた
は入出力チャネルで接続された計算機の間で、複数のレ
コードからなるデータを受け渡す処理に関する。
【0002】
【従来の技術】二つの計算機ノード間で、多数のレコー
ドからなるデータを受け渡す従来の技術として、以下に
示すものがある。
【0003】第1の従来の技術は、特開平6−6794
4号公報の2ページ61行目から、2ページ81行目に
示されている。この第1の従来の技術は、2つの計算機
ノード間で共用しているディスク装置を利用した方法で
ある。この方法では、同一のデータを格納した2個のボ
リュームからなる組を用意し、各々のボリュームを各計
算機ノードに接続させて、共用できる状態にしておく。
そして、一方の計算機ノードがデータを参照する場合
は、ボリュームの組を解き(ボリュームの切り離し)、
一方のボリューム(以下、第1のボリューム)を参照す
る側の計算機ノードに占有させる。その間、該ディスク
の制御装置は、もう片方のボリューム(以下、第2のボ
リューム)に他方の計算機ノードによる変更を全て記録
しておく。データを参照した計算機ノードが、参照を終
え、上記第1のボリュームの占有を解くと、上記ディス
クの制御装置は、上記第2のボリュームに対する変更の
記録を、上記第1のボリュームに反映し、その後、上記
2個のボリュームを、同一のデータを格納する組とし
て、二つの計算機ノードから共用できる状態にする(ボ
リュームの再同期化)。
【0004】第2の従来の技術は、特開平6−1494
85号公報の3ページ58行目から、4ページ52行目
に示されている。この第2の従来の技術は、計算機ノー
ド間で共用している半導体外部記憶装置を利用した方法
である。この方法では、単一のメモリ領域を複数の計算
機ノード間で共用し、各々の計算機ノードは、該メモリ
領域に対して排他的にアクセスする。
【0005】
【発明が解決しようとする課題】ここで、第1の従来の
技術は、一方の計算機ノードがデータを参照するたびに
ボリュームの切り離しと、再同期化を行う必要が有る。
そのため、リアルタイム処理に適用することは困難であ
る問題がある。
【0006】一方、第2の従来の技術は、データ転送の
たびに、レコードの完全性を保証するためにデータの出
力側の計算機ノードと、データの参照側計算機ノードと
の間で、これらの領域の排他制御を行う必要がある。大
量のデータを転送する際には、これらの排他処理に要す
るオーバヘッドが膨大となる問題がある。さらに、この
オーバヘッドは、データ転送の効率を低下させることが
ある。
【0007】本発明の第1の目的は、データ転送効率の
向上を阻害する排他処理に要するオーバヘッドを軽減す
ることにある。
【0008】本発明の第2の目的は、リアルタイム処理
にも利用可能なデータ転送方法を提供することにある。
【0009】
【課題を解決するための手段】本発明では、RDMA
(Remote Direct Memory Acc
ess)を用いた、データ転送を行う。RDMAとは、
送信側の計算機ノードの送信すべきデータのアドレスを
受信側の計算機ノードが判っている、または受信側の計
算機ノードの受信すべきデータのアドレスを送信側の計
算機ノードがわかっているものである。そして、ネット
ワークで接続された二つの計算機ノード間において、一
方の計算機ノードのプログラムが、該計算機ノードの主
記憶のデータを格納すべき/データを読み出すべき領域
と、他方の計算機ノードの主記憶のデータを読み出すべ
き/データを格納すべき領域とを指定してそれらの領域
間でデータのコピーをする要求を作成し、この要求を、
通信手段またはそれを制御するソフトウェアで処理する
ことで、上記計算機ノードのそれぞれの主記憶間で直接
データのコピーを行う技術である。
【0010】RDMAには、RDMAを起動する計算機
ノードの主記憶のデータを、他方の計算機ノード上の主
記憶に格納するRDMA−Writeと、RDMAを起
動する計算機ノードの主記憶に、他方の計算機ノード上
の主記憶のデータを格納するRDMA−Readの2種
がある。
【0011】RDMAは、例えば米Intel社、米C
ompaq社、米マイクロソフト社による、Virtu
al Interface Architecture
Specification 1.0(1997.1
2.16)に記載されている。
【0012】本発明では、第1の計算機ノードの主記憶
上の領域に、同期を取らずに一方的に(非同期の手順
で)任意の時間間隔で、一つ以上のレコードを格納し、
第2の計算機ノード上で動作しているプログラムが、R
DMA−Readを利用して、当該領域を任意の時間間
隔で参照することで、データ転送を実現する。
【0013】また、第1の計算機ノード上のプログラム
が、第2の計算機ノードの主記憶上の領域に、同期を取
らずに一方的に(非同期の手順で)任意の時間間隔で、
RDMA−Writeを用いて一つ以上のレコードを格
納し、第2の計算機ノード上で動作しているプログラム
が、上記領域を任意の時間間隔で参照することでデータ
転送を実現する。
【0014】
【発明の実施の形態】以下、本発明の実施の形態を、図
を用いて説明する。
【0015】まず、図1から図10を用いて第1の本発
明の実施の形態を説明する。
【0016】図1は、第1の本発明の実施の形態の全体
構成図である。第1の計算機ノード10と第2の計算機
ノード20は、ネットワーク30に接続している。そし
て、第1の計算機10と第2の計算機20とは、ネット
ワーク30を介して互いに通信することが可能である。
【0017】第1の計算機ノード10には、第2の計算
機ノード20に送信すべきデータレコード153を出力
する第1のプログラム110と主記憶150に格納さ
れ、データレコード153を格納するデータレコードテ
ーブル151と、前記データレコード153をネットワ
ーク30を経由して第2の計算機20へ送信する送信部
170を有している。送信部170は、第1のプログラ
ムと独立したプログラム、又はハードウェアで構成され
ている。さらに、第1のプログラム110は、前記デー
タレコード153を出力するデータレコード出力処理部
111と、後述する識別情報152を出力する識別情報
出力処理部112と、データレコード出力処理部111
および識別情報出力処理部112の出力をデータレコー
ドテーブル151に格納する格納処理部113で構成さ
れる。ここで、前記識別情報152とは、少なくとも前
後に連続して格納された2個のデータレコード153を
識別できる情報であり、例えばデータレコード153の
それぞれに対し採番される通し番号である。識別情報出
力処理部112には該通し番号を生成するカウンタ11
6を有する。さらに、格納処理部113には、データレ
コードテーブル151における格納すべきエントリのイ
ンデクス(ある識別情報及びデータレコードをどのエン
トリに格納すべきかを示すもの)を格納するポインタ1
15を含む。
【0018】また、データレコード出力処理部111と
は例えば、OLTP(On Line Transac
tion Processing)がジャーナルデータ
をデータレコードテーブル151に書き込むものであ
り、この例ではデータレコード153はオンライン処理
におけるジャーナルデータである。
【0019】第2の計算機ノード20は、第1の計算機
10が出力したデータレコード153を受信し、参照す
る第2のプログラム210と第1の計算機10のデータ
レコードテーブル151の、完全または不完全な複製で
ある主記憶250上のデータレコードテーブル251
と、前記データレコード153をネットワーク30を経
由して第1の計算機から受信する受信部270を有して
いる。さらに、第2のプログラム210は、タイマ21
1と、前記データレコード153の受信要求を生成する
データ受信要求生成処理部212と、データレコード参
照処理部221を有する。なお、タイマ211は一定の
時間間隔でデータ受信要求生成処理部212を起動する
ための処理であり、第2のプログラム210の外部に存
在しても良い。
【0020】さらに、データレコード参照処理部221
はデータレコードテーブル251において、どのエント
リを参照すべきかを示すインデクスを格納するポインタ
225と、読み出された前記識別情報252の妥当性を
検証する為に使用するカウンタ226とを含む。
【0021】なお、データレコード153を生成するプ
ログラム、およびデータレコード253を参照してさら
に別の処理を行うプログラムは、本発明とは直接関係な
いので、本実施例では省略する。
【0022】図2は第1の実施の形態において、第1の
プログラム110の処理を示すフローチャートである。
【0023】まず、データレコード出力処理部111が
1個のデータレコード153を出力し、格納処理部11
3に該データレコード153のデータレコードテーブル
151への格納処理を依頼する(ステップ11a)。格
納処理部113は、識別情報出力処理部112を起動す
る(ステップ11b)。識別情報出力処理部112は識
別情報152を出力し、これを格納処理部113に返す
(ステップ11c)。
【0024】格納処理部113は、ステップ11aのデ
ータレコード153とステップ11cの識別情報152
とを組にして、ポインタ115が指すエントリに格納す
る(ステップ11g)。その後、格納処理部113は、
ポインタ115をインクリメントし、最大値を超えた場
合はラップ処理を行う(ステップ11h)。識別情報出
力処理部112および格納処理部113の詳細について
は後述する。第1のプログラム110が複数のデータレ
コード153を出力する場合、上記ステップ11aから
ステップ11hを繰り返す。識別情報及びデータレコー
ドは第2の計算機ノードとは関係なくデータレコードが
発生する毎にデータレコードテーブル151へと格納さ
れる。
【0025】図3は、第1の実施の形態において、第2
のプログラム210の処理を示すフローチャートであ
る。
【0026】まず、第2のプログラム210はデータレ
コードテーブル251を初期化する(ステップ21
a)。初期化後のデータレコードテーブル251は、後
に図7で説明するため、ここでは説明を省略する。次に
データ受信要求生成処理部212が参照先としてデータ
レコードテーブル151を、受信先としてデータレコー
ドテーブル251を、それぞれ指定したデータ受信要求
を生成し、受信部270を起動する(ステップ21
c)。即ち、このときにRDMA−Readの起動が行
なわれる。ステップ21cにおいて、送信先および受信
先には、データレコードテーブル151および251の
全てのエントリ、または一部のエントリ群、のいずれを
指定しても良い。望ましくは、前回の最後のデータ転送
において、送信部170が最後のエントリを読み出した
時刻から、今回のデータ転送において、送信部が最初の
エントリを読み出す時刻までの間に、格納処理部113
が格納するエントリ群を指定する。第1の計算機ノード
10の負荷により、上記エントリ群に含まれるエントリ
数が変化する場合は、負荷に追随して読み出すエントリ
数を増減する。例えば、前回読み出しに失敗したエント
リ数が多い場合は、次に読み出すエントリ数を減少させ
る。
【0027】さらに、第2のプログラム210は、受信
部270からの、ステップ21cで発行したデータ転送
の完了を待つ(ステップ21d、ステップ21e)。さ
らに、データレコード受信処理部221が、データレコ
ードテーブル251を参照する(ステップ21f)。デ
ータレコード参照処理部221については、後に図10
を用いて説明する。さらに、第2のプログラム210
は、タイマ211に対し、一定時間後にステップ21c
から処理を続行することを要求する(ステップ21
g)。ステップ21gにおいて、タイマに要求する時間
間隔は任意で良い。リアルタイム性を向上する為に望ま
しくは、該時間間隔として、今回のデータ転送におい
て、送信部170が最後のエントリを読み出した時刻か
ら、次回のデータ転送において、送信部170が最初の
エントリを読み出す時刻までの間に、格納処理部113
が一つ以上のエントリを格納可能な時間間隔を指定す
る。特に、ステップ21fにおいて、今回データ転送し
た全てのエントリが読み出し可能であった場合には、次
のデータが既に格納されている可能性が有るので、時間
間隔として0を設定することが望ましい。
【0028】データ転送効率を向上する為に望ましく
は、該時間間隔として今回のデータ転送において、送信
部170が最後のエントリを読み出した時刻から、次回
のデータ転送において、送信部が最初のエントリを読み
出す時刻までの間に、格納処理部113がデータレコー
ドテーブル151の半分に相当するエントリを格納可能
な時間間隔を指定する。次に、タイマ211が一定の時
間後にデータ受信要求生成処理部212を起動する(ス
テップ21b)。このようにRDMAに関して第1の計
算機ノードにおけるデータの格納と第2の計算機ノード
におけるRDMA−Readによるデータの読み出しが
それぞれ任意の時間間隔で非同期に行なわれるので、こ
れらの間での確認手順が不要であり、プログラムにかか
る負担は小さいものとなる。
【0029】以下では、l、m、nは1を超える自然数
とし、lとn、およびmとnはそれぞれ互いに素である
とする。n−1はカウンタ116の上限値の意味を持
ち、mはデータレコードテーブル151のエントリ数
を、lはデータレコードテーブル251のエントリ数を
それぞれ示す。
【0030】図4は、第1の実施の形態において、識別
情報出力処理部112の処理を示すフローチャートであ
る。
【0031】まず識別情報出力処理部112は、カウン
タ116を0にクリアし(ステップ112a)、格納処
理部113からの要求を待つ(ステップ112b、ステ
ップ112c)。ここで、格納処理部113からの要求
があると、識別情報出力処理部112はカウンタ116
の値を格納処理部113に返す(ステップ112d)。
ここで、カウンタ116の値がn−1より小さいか判断
し(ステップ112e)、該判断が真の場合、カウンタ
116をインクリメントし(ステップ112f)、ステ
ップ112bからの処理を繰り返す。該判断が偽の場合
は、ステップ112aからの処理を繰り返す。
【0032】図5は、第1の実施の形態において、格納
処理部113を示すフローチャートである。
【0033】まず格納処理部113は、データレコード
テーブル151を初期化する(ステップ113a)。初
期化後のデータレコードテーブル151は後に図8に説
明する。さらに格納処理部113は、ポインタ115を
0にクリアし(ステップ113b)、データレコード出
力処理部111からの要求を待つ(ステップ113c、
ステップ113d)。ここで、データレコード出力処理
部111からの要求があると、格納処理部113は、デ
ータレコード出力処理部111が出力したデータレコー
ド153を受け取り(ステップ113e)、さらに図2
で示したステップ11bを行い、識別情報出力処理部1
12から識別情報152を得る(ステップ113f)。
さらに、格納処理部113は、データレコードテーブル
151においてポインタ115が指すエントリに、ステ
ップ113eで得たデータレコード153を格納し(ス
テップ113g)、ステップ113fで得た識別情報1
52を、該エントリに格納する(ステップ113h)。
さらにポインタのインクリメントのための処理を行う
(ステップ113k、ステップ113l)。
【0034】図6は、第1の実施の形態において、格納
処理部113のステップ113aの直後の、即ち初期化
後のデータレコードテーブル151を示している。
【0035】データレコードテーブルはエントリ0から
エントリm−1で成り立っており、それぞれポインタが
0からm−1をとるときに指すエントリに対応してい
る。格納処理部113は各エントリの識別情報152
を、次のように格納する。格納処理部113はエントリ
0の識別情報152.0に−1を、エントリ1の識別情
報152.1からエントリm−2の識別情報152.m
−2までは、0、1、2、...の順に、0から1ずつ
増加させた数を格納する。ここで、もし、識別情報15
2に格納すべき値がn−1を超えた場合には、該エント
リの識別情報152には0を格納し、以降は同様に1ず
つ増加させた数を格納する。さらに格納処理部113
は、エントリm−1の識別情報152.m−1にはn−
1を格納する。
【0036】各エントリのデータレコード153は、適
当な初期値で初期化されている。但し、以降に述べるデ
ータレコード参照処理部221では、これらのデータレ
コード153を無視するため、必ずしも初期化する必要
はない。
【0037】図7は、本発明の第1の実施の形態におい
て、第2のプログラム210のステップ21aの直後
の、即ち初期化後のデータレコードテーブル251を示
している。図6との違いは、エントリ数がmではなくl
(エル)であることである。
【0038】図8は、本発明の第1の実施の形態におい
て、格納処理部113と送信部170がそれぞれデータ
レコードテーブル151に対する書き込みと読み出しを
行っているときの、ある一時点の状態を示している。
【0039】矢印156は格納処理部113がエントリ
を書き込む方向を、矢印157は送信部170がエント
リを読み出す方向を示している。すなわち、格納処理部
113と送信部170とは互いに逆の順序で読み書きし
ている。この理由は、格納処理部113の書き込みと、
送信部170の読み出しとのすれ違いを、識別情報15
2の不連続により検出するためである。以下に詳しく説
明する。
【0040】格納処理部113は、エントリ9のデータ
レコード153.9、エントリ9の識別情報152.
9、エントリ10のデータレコード153.10、エン
トリ10の識別情報152.10、...の順にデータ
レコードテーブル151のエントリを書き込んでおり、
送信部170の読み出しとすれ違う瞬間は、エントリ1
2のデータレコード153.12を書き換え途中にあ
る。送信部170は、エントリ12の識別情報152.
12、エントリ12のデータレコード153.12、エ
ントリ11の識別情報152.11、エントリ11のデ
ータレコード152.11、...の順にデータレコー
ドテーブル151のエントリを読み出している。
【0041】ここで、識別情報152.12とデータレ
コード153.12、および識別情報152.11に注
目する。格納処理部113は、データレコード153.
12の書き込みを完了してから識別情報152.12を
書き込む。そのため、図8に示した時点では、識別情報
152.12に格納処理113が書き込む前の値(具体
的には12)が残っていて、この値は識別情報152.
11の値(具体的には68)とは不連続になる。この
時、送信部170は既に識別情報152.12を読み込
んでおり、その後識別情報152.11を読み出す。そ
のため、上記のすれ違いが生じたときは、必ず識別番号
152.11と識別番号152.12が不連続になる。
不連続になるということはまだ、エントリ12は書き換
え中のデータレコードを含んでいることを意味する。
【0042】なお、もし仮に格納処理部113と送信部
170とが同じ順序で読み書きした場合はこの限りでは
ない。これを図9および図10を用いて説明する。図9
では、読み出し動作が書き込み動作に追いついて来た場
合を示している。格納処理部113が識別番号152.
11を書き込んで(615.1)から、送信部170が
これを読み出す(615.2)。その後、送信部170
がデータレコード153.12を読み出している(61
5.3)が、このデータレコード153.12は格納処
理部113が書き込みを完了する前であるから、不正な
値のまま読み出される。その後の処理は図10に示す。
【0043】図10では、まず格納処理部113がデー
タレコード153.12を書き込む(615.4)。そ
の後、格納処理部113が識別番号152.12を書き
込んで(615.5)から送信部170がこれを読み出
し(615.6)ているが、この識別番号152.12
は正しい値(具体的には69)が読み出される。すなわ
ち、送信部170が読み出した識別番号152.11と
識別番号152.12は、連続になる。このように、格
納処理部113の書き込みと、送信部170の読み出し
との順序が同じであると、図9で示したように、69番
目のデータレコードは正しくないまま読み出しているに
も係わらず識別番号は連続したものとして読み出されて
しまう。従って、識別番号152の連続性だけでデータ
レコード153が正しく読めたことを保証できない。
【0044】図11は本発明の第1の実施の形態におい
て、図8のデータレコードテーブル151が、送信部1
70と受信部270とによって、第2の計算機ノード2
0に転送された、データレコードテーブル251を示し
ている。
【0045】図8で述べたように、エントリ9の識別情
報252.9から、エントリ11の識別情報252.1
1は66から68と連続しており、これらに対するデー
タレコード253.9からデータレコード253.11
が正しく書き込まれたことを示している。さらに、デー
タレコード253.12の識別情報は12であり連続で
なく、データレコード253.12が書き換え途中に読
み出されたことを示している。
【0046】図12は、第1の実施の形態において、デ
ータレコード参照処理部221の内容を示すフローチャ
ートである。ここでは、識別番号がエントリ上で連続性
があるか、どのエントリのデータレコードが不正である
かを知る。
【0047】まず、データレコード参照処理部221は
カウンタ226を0にクリアし(ステップ221a)、
ポインタ225を0にクリアする(ステップ221
b)。次に、ポインタ225が指すエントリの一つ前の
エントリの識別番号252が正しいかを確認するため、
ポインタ225の値から1を減じた数をラップさせ、そ
の値をインデクスとして持つエントリの識別情報225
を読み取り(ステップ221c)、カウンタ226から
1を減じた数をラップさせた値を求める(ステップ22
1d)。そして、ステップ221cの識別情報225
と、ステップ221dの値とが等しいか否かを判断する
(ステップ221e)。該判断が真の場合はステップ2
21fへ進み、偽の場合は、ノードBへ進む。詳しくは
後述するが、ノードBからの処理は、ポインタ225が
指すエントリのデータレコードが不正のときの処理であ
る。ステップ221fでは、データレコード参照処理部
221は、ポインタ225が指すエントリの識別情報2
52が、カウンタ226の値と一致しているか否かを判
断する。該判断が真の場合はノードAへ進み、該判断が
偽の場合はノードBへ進む。ノードAに進んだ場合は、
データレコード参照処理部221は、ポインタ225が
指すエントリのデータレコード253は正しいと判断
し、該データレコード253を参照する(ステップ22
1k)。さらにデータレコード参照処理部221は、カ
ウンタ226をインクリメントし(ステップ221
m)、ポインタ225をインクリメントして(ステップ
221n)、ポインタ225、カウンタ226のラップ
処理を行って(ステップ221v)、ステップ221c
へ進む。ノードBへ進んだ場合は、データレコード参照
処理部221は、ポインタ225が指すエントリのデー
タレコード253は不正と判断し、該データレコード2
53は参照しない(ステップ221l)。さらに、デー
タレコード参照処理部221は、ポインタ225、カウ
ンタ226の値を変更せずに、ステップ221cから処
理を繰り返す。また、不正と判断されたデータレコード
253に関する情報が出力され、データレコード253
を参照する別の処理で利用される。
【0048】ここで、データレコードが不正と判断され
た場合はポインタはインクリメントされない。従って、
次のデータの転送はこのポインタで表されるエントリを
含むいくつかのエントリのデータレコードが適当な時間
間隔後に転送されることになる。
【0049】本発明の第1の実施形態ではCPUの負荷
の削減効果が大きい。
【0050】次に、図13から図18を用いて、第2の
本発明の実施の形態と第1の本発明の実施の形態との違
いを説明する。
【0051】図13は、第2の本発明の実施の形態の全
体構成図である。図1との違いは、第1のプログラム1
10が誤り検出符号生成処理部114を含むことと、第
2のプログラム210が誤り検出符号検査処理部222
を含むこと、データレコードテーブル151に誤り検査
符号154を含むこと、データレコードテーブル251
に誤り検査符号254を含むことである。
【0052】誤り検出符号生成処理部114は、データ
レコードエントリの識別情報152と、データレコード
153の組から、誤り検出符号154を生成する。誤り
検出符号検査処理部222は、誤り検出符号254が、
データレコードエントリの識別情報252と、データレ
コード253との組から生成された符号(誤りなし)か
否(誤りあり)かを検査する。ここで、誤り検出符号を
採用した理由を簡単に説明しておく。第1の実施例では
データレコードテーブル151にジャーナルデータなど
のデータレコードを書き込む方向と反対の方向に転送の
ための読み出しを進めることにより不正なデータを検出
する方法を採ったのに対して、同一方向に読み出す場合
を想定している。そして、データレコードの正しさを誤
り検出符号を利用して保証しようとしたものである。
【0053】図14は、第2の本発明の実施の形態にお
いて、第1のプログラム110の処理を示すフローチャ
ートである。
【0054】図2との違いは、ステップ11dおよびス
テップ11e、ステップ11fを含むこと、ステップg
を含まないことである。ステップ11dでは、格納処理
部113がステップ11aのデータレコード153とス
テップ11cの識別情報152とを組にして、誤り検出
符号生成処理部114に渡す。ステップ11eでは、誤
り検出符号生成処理部114が、ステップ11dで渡さ
れた情報から誤り検出符号154を生成し、格納処理部
113に返す。ステップ11fでは、格納処理部113
が、ステップ11aのデータレコード153とステップ
11cの識別情報152とステップ11eの誤り検出符
号154とを組にして、ポインタ115が指すエントリ
に格納する。
【0055】図15は、第2の本発明の実施の形態にお
いて、格納処理部113の内容を示すフローチャートで
ある。
【0056】図5との違いは、ステップ113iとステ
ップ113jを含むことである。ステップ113iにお
いて、格納処理部113は、図14で示したステップ1
1dを行い、誤り検出符号生成処理部114から誤り検
出符号154を得る。ステップ113jにおいて、格納
処理部113は、ステップ113iで取得した誤り検出
符号154をポインタ115が指すエントリに格納す
る。
【0057】図16は、本発明の第2の実施の形態にお
いて、初期化後のデータレコードテーブル151を示し
ている。
【0058】図6との違いは、誤り検出符号154を含
むこと、データレコード153の初期化を必ず行う必要
があることである。何故ならば古いデータではあるがデ
ータレコードと誤り検出符号とが整合したデータが残っ
ているとそれが新しく格納された正しいデータレコード
なのか、古い(正しくない)データなのかの区別が付か
なくなるからである。格納処理部113は、ステップ1
13aにおいて、これらの誤り検出符号154を、識別
情報152、データレコード153から生成した誤り訂
正符号以外の値、即ち、不正な符号を格納する。
【0059】図17は、本発明の第2の本発明の実施の
形態において、データレコードテーブル151の、ある
一時点の状態を示している。
【0060】図8との違いは、誤り検出符号154を含
むことである。図17で、格納処理部113がエントリ
12のデータレコード153に書き込んでいる途中で、
送信部170が当該エントリを読み出しているとする。
このとき、エントリ12の誤り検出符号154.12
は、当該エントリから生成された誤り検出符号でないた
め、不正な符号となる。図17のその他の誤り検出符号
154.9から誤り検出符号154.11はそれぞれの
エントリから生成された誤り検出符号であるため、正し
い符号である。
【0061】図18は、本発明の第2の実施の形態にお
いて、データレコード参照処理部221の内容を示すフ
ローチャートである。ここでは誤り検出符号によって読
み出されたデータレコードが正しいものかどうかを判定
している。
【0062】図12との違いは、ステップ221rおよ
び221sを含むこと、ステップ221cからステップ
221eを含まないことである。ステップ221rにお
いて、データレコード参照処理部221はポインタ22
5が指すエントリを誤り検出符号検査処理部222に渡
す。
【0063】ステップ221sにおいて、データレコー
ド参照処理部221は、誤り検出符号検査処理部222
の結果から、当該レコードに誤りが含まれたか否かを判
断する。該判断が真の場合はノードBへ進み、該判断が
偽の場合はノードAに進む。
【0064】本発明の第2の実施の形態においては、読
み取り順序が同一方向のものでもデータレコードの正し
さが保証できる。
【0065】次に、図19から図22を用いて、第3の
本発明の実施の形態と第1の本発明の実施の形態との違
いを説明する。
【0066】図19は、第3の本発明の実施の形態の全
体構成図である。図1との違いは、第1のプログラム1
10がデータ送信要求生成処理部122を含むこと、第
2のプログラム210がタイマ211とデータ受信要求
生成処理部212を含まないこと、である。データ送信
要求生成処理部122は送信部170に対し、データレ
コードテーブル151の送信要求を生成する。即ち、R
DMA−Writeを使って送信側の主導によりデータ
の転送を行なう場合を示している。このとき、第1の計
算機ノードには図1の構成に比べて負荷はかかるが同期
を取らない転送方式としているため従来例よりも負荷は
小さいものとなっている。データ送信要求生成処理部1
22は送信データがある程度たまったときに送信部17
0にデータの読み出しを行なわせるものである。データ
の転送は第2のプログラムがポーリングして転送データ
があることを認知して実施される。
【0067】図20は、本発明の第3の実施の形態にお
ける、第1のプログラム110の処理を示すフローチャ
ートである。
【0068】図2との違いは、ステップ11iからステ
ップ11lを含むことである。ステップ11iにおい
て、第1のプログラム110はデータレコードテーブル
151を送信するか否かの判断をする。即ち、本発明の
第3の実施の形態おいて、データ送信の間隔は任意であ
る。リアルタイム性を向上する為に望ましくは、該時間
間隔を短くする、即ち、なるべく多くの場合についてス
テップ11iにおける判断を真とする。データ送信の時
間間隔の調整はデータ送信要求生成処理部122がステ
ップ11iで行なう。
【0069】データ転送効率を向上する為に望ましく
は、最後にデータ送信を行った時点から現在までに、格
納処理部113がデータレコードテーブル151の半分
に相当するエントリを格納したときにステップ11iに
おける判断を真とする。
【0070】該判断が真の場合、ステップ11jに進
み、偽の場合は11aに進む。ステップ11jにおいて
は、データ送信要求生成処理部122が、データ送信要
求を作成し、送信部170を起動する。さらに、ステッ
プ11kとステップ11lにおいて、第1のプログラム
110は、ステップ11jで起動した送信が完了したこ
とを待つ。その後、第1のプログラム110はステップ
11aから処理を続行する。本発明の第3の実施の形態
では、第2のプログラム210は、図3に示すステップ
21fを実行するのみである。
【0071】本発明の第3の実施の形態では、格納処理
部113は、図5に示す処理と同一だが、ステップ11
3gとステップ113hの順序の入れ替えが可能である
ことが異なる。本発明の第3の実施の形態では、データ
レコードテーブル151の読み書き順序について、図8
に示す順序でなくても構わない。
【0072】図21は、本発明の第3の実施の形態にお
いて、データレコードテーブル151が、送信部170
と受信部270とによって、第2の計算機ノード20に
転送された、データレコードテーブル251を示してい
る。
【0073】矢印256は受信部270がエントリを書
き込む方向を、矢印257は第2のプログラム210が
エントリを読み出す方向を示している。データレコード
253が正しく読めたか否かの判定は、本発明の第1の
実施の形態と同様である。
【0074】図22は、第3の実施の形態において、デ
ータレコード参照処理部221の内容を示すフローチャ
ートである。
【0075】図22は図12と異なり、ステップ221
vからステップ221xを含み、ステップ221fをス
テップ221cの前に実行する。即ち、本発明の第3の
実施の形態によれば、データレコード参照処理部221
はインデクスの大きいほうの識別情報252から参照す
る。ステップ221vでは、データレコード参照処理部
221はポインタ225、カウンタ226それぞれに、
同じ任意の自然数を加える。ここで望ましくは、該自然
数は以降のステップ221fの判断が真となる、最大の
数とする。ただし、この最適値を予測することは困難な
ので、例えば前回のステップ221vにおいて加算した
自然数を記憶しておき、今回のステップ221vでは、
該自然数から、前回のステップ221v処理から不正レ
コードを読み出した数を差し引いた数、またはそれに近
い数を指定する。
【0076】ステップ221fの判断が真の場合、デー
タレコード参照処理部221はステップ221cへ進
み、偽の場合はノードBへ進む。ステップ221Wにお
いて、データレコード参照処理部221はポインタ22
5から1を減じた値が指すエントリ(ポインタ225が
0の場合は、エントリl−1)が既に正しく読み込み済
みか判断する。
【0077】該判断が真の場合、データレコード参照処
理部221はステップ221vに進み、該判断が偽の場
合、ステップ221xに進む。ステップ221xにおい
て、データレコード参照処理部221は、カウンタ22
6、ポインタ225をそれぞれデクリメントする。本発
明の第3の実施の形態ではRDMA−Readをサポー
トしていないものにも適用できる。
【0078】次に、図23から図24を用いて、第4の
本発明の実施の形態と第2の本発明の実施の形態との違
いを説明する。
【0079】図23は、第4の本発明の実施の形態の全
体構成図である。図23は、図13と異なり、第1のプ
ログラム110がデータ送信要求生成処理部122を含
み、第2のプログラム210がタイマ211とデータ受
信要求生成処理部212を含まない。データ送信要求生
成処理部122は本発明の第3の実施の形態と変わらな
い。
【0080】図24は、第4の本発明の実施の形態にお
ける、第1のプログラム110の処理を示すフローチャ
ートである。
【0081】図24は、図14と異なり、ステップ11
iからステップ11lを含む。これらのステップは、本
発明の第3の実施の形態と同様である。本発明の第4の
実施の形態では読み取り順序が書き込み順序と同一で、
RDMA−Readをサポートしていないものにも適用
出来る。
【0082】次に、図25から図27を用いて、第5の
本発明の実施の形態と第1の本発明の実施の形態との違
いを説明する。図25は、第5の本発明の実施の形態の
全体構成図である。図25は図1と異なり、第1のプロ
グラム110に通知処理部117を含み、第2のプログ
ラム210にタイマ211を含まない。通知処理部11
7はデータレコードがある程度たまったとき送信部17
0に読み出しをなさせるとともに第2のプログラムに読
み取りのきっかけを与えるものでRDMA−Write
の割り込みをするものである。
【0083】図26は、第5の本発明の実施の形態にお
ける、第1のプログラム110の処理を示すフローチャ
ートである。
【0084】図26は、図2と異なり、ステップ11m
を有する。ステップ11mにおいて、通知処理部117
は、送信部170に、第2のプログラム210が受信す
るイベント通知を依頼する。本実施例では第2のプログ
ラムにタイマが不要で送信側のトリガでデータの転送が
制御される。つまり、データの転送の時間間隔は通知処
理部117の制御による。
【0085】図27は、第5の実施の形態において、第
2のプログラム210の処理を示すフローチャートであ
る。
【0086】図27は、図3と異なり、ステップ21h
を含み、ステップ21bおよびステップ21gを含まな
い。ステップ21bにおいて、第2のプログラム210
は通知処理部117からのイベント通知を待つ。本発明
の第5の実施の形態ではCPUの負荷の削減効果が大き
く、送信側の通知をトリガとしてデータの転送が行なわ
れるので受信側の負担が小さい。
【0087】次に、図28を用いて、第6の本発明の実
施の形態と第2の本発明の実施の形態との違いを説明す
る。
【0088】図28は、第6の本発明の実施の形態の全
体構成図である。
【0089】図28は図13と異なり、第1のプログラ
ム110に通知処理部117を含み、第2のプログラム
210にタイマ211を含まない。第6の本発明の実施
の形態と第2の本発明の実施の形態とのその他の違い
は、第5の本発明の実施の形態と第1の本発明の実施の
形態との違いと同一なので説明を省略する。これはデー
タレコードテーブル151へのジャーナルデータなどの
データレコードを書き込む方向とその読み出し方向とが
同じである場合を想定し、且つ、送信側でデータの転送
時間間隔を制御する場合である。本発明の第6の実施の
形態では読み取り順序が書き込み順序と同一のものでも
サポートでき、CPU負荷の削減の効果が大きい。ま
た、送信側の通知をトリガとしているので受信側の負担
が小さい。
【0090】次に、図29を用いて、第7の本発明の実
施の形態と第3の本発明の実施の形態との違いを説明す
る。
【0091】図29は、第7の本発明の実施の形態の全
体構成図である。図29は図19と異なり、第1のプロ
グラム110にデータ送信要求生成・通知処理部123
を含み、第1のプログラム110にデータ送信要求生成
処理部122を含まない。
【0092】データ送信要求生成・通知処理部123
は、データ送信要求生成処理部122と異なり、送信部
117を起動するとき、データ送信要求と通知要求を組
みにして送信部に渡す。ただし、本発明を実施するため
には、データ送信要求と通知要求は必ずしも組みにする
必要はない。本発明の第7の実施の形態ではCPUの負
荷の削減効果が大きく、RDMA−Readをサポート
していないものにも適用が可能である。また、送信側の
通知によるため受信側の負担は小さい。
【0093】次に、図30を用いて、第8の本発明の実
施の形態と第4の本発明の実施の形態との違いを説明す
る。
【0094】図30は、第8の本発明の実施の形態の全
体構成図である。図30は図23と異なり、第1のプロ
グラム110にデータ送信要求生成・通知処理部123
を含み、第1のプログラム110にデータ送信要求生成
処理部122を含まない。本発明の第8の実施の形態で
は読み取りが書き込みと同一方向でも適用でき、RDM
A−Readをサポートしていないものにも適用出来
る。また、送信側の通知によるため受信側の負荷は小さ
い。
【0095】次に、図31を用いて、第9の本発明の実
施の形態を説明する。
【0096】図31は、第9の本発明の実施の形態の全
体構成図である。第1の計算機ノード10は基幹系シス
テム510を含み、第2の計算機ノード20は情報系シ
ステム20を含む。第1のプログラム110は、第9の
本発明の実施の形態ではオンライン・トランザクション
・プロセッシング(OLTP)である。データレコード
153は第9の本発明の実施の形態では、OLTP11
0が処理過程を保存するために出力するジャーナルであ
る。第2のプログラム210は、第9の本発明の実施の
形態ではデータベース管理システム(DBMS)であ
る。
【0097】第9の本発明の実施の形態では、第1の本
発明の実施の形態から、第8の本発明の実施の形態に示
した処理内容の具体的応用を示すもので、これらのいず
れか一つと同様の処理を行って、OLTP110が出力
するジャーナル153を情報系システム520に転送す
る。
【0098】次に、図32を用いて、第10の本発明の
実施の形態を説明する。
【0099】図32は、第10の本発明の実施の形態の
全体構成図である。第10の本発明の実施の形態では、
第1の計算機ノード10と第2の計算機ノード20と外
部記憶装置40が、ネットワーク30を介して互いに接
続されている。外部記憶装置40は、送信手段170と
受信手段470、データレコードテーブル151、受信
制御部410、および送信制御部411を含む。受信制
御部410は受信手段470を制御する。送信制御部4
11は、送信手段170を制御する。第1の計算機ノー
ドは、第1のプログラム110と主記憶150、送信手
段171を含む。さらに、主記憶150は、バッファ1
61を含む。このバッファ161は、第1のプログラム
110がデータレコードテーブル151に格納すべきデ
ータを一時的に格納し、送信手段171が送信時に参照
できるようにする。
【0100】第2の計算機ノード20は、第2のプログ
ラム210と主記憶250、受信手段270とを含む。
主記憶250はデータレコードテーブル251を含む。
【0101】第10の本発明の実施の形態では、第1の
プログラム110はデータレコード153と識別情報1
52の組を、データレコードテーブル151に格納する
ことを、バッファ161、送信手段171、受信手段4
70を介して、受信制御部410と通信しながら行うこ
と以外、既に述べた第1から第8の本発明の実施の形態
と変りない。この格納方法は、本発明と直接関係ないの
で説明を省略する。
【0102】第10の本発明の実施の形態ではデータレ
コードテーブル151の最終的な書き込みは、受信手段
470が行う。受信手段470が、データレコードテー
ブル151に書き込む方向は、第1から第8の本発明の
実施の形態における格納処理113が格納する方向と同
じである。
【0103】送信制御部411は、第3、4の本発明の
実施の形態における、データ送信要求生成処理部12
2、または第5、6の本発明の実施の形態における、通
知処理部117、または第7、8の本発明の実施の形態
における、データ送信要求生成・通知処理部123と同
様の処理を行う。なお、送信制御部411と受信制御部
410とは互いに非同期に独立に動作する。
【0104】第10の本発明の実施の形態の構成は、以
上に述べた相違を除き、第1から第8の本発明の実施の
形態の構成と同様である。
【0105】第10の本発明の実施の形態においては、
以上の構成で、第1から第8の本発明の実施の形態の処
理内容の何れか一つと同様の処理を行って、第1のプロ
グラムが出力するデータレコード153を第2のプログ
ラムに転送する。
【0106】
【発明の効果】本発明により、データを送信するプログ
ラムと受信するプログラムとの同期オーバヘッドが低減
する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の全体構成図であ
る。
【図2】第1のプログラム110の処理を示すフローチ
ャートである。
【図3】第2のプログラム210の処理を示すフローチ
ャートである。
【図4】識別情報出力処理112の処理を示すフローチ
ャートである。
【図5】格納処理113を示すフローチャートである。
【図6】データレコードテーブル151を示す図であ
る。
【図7】データレコードテーブル251を示す図であ
る。
【図8】データレコードテーブル151を示す図であ
る。
【図9】同方向に読み出しと書き込みを行なったときの
データレコードテーブルの状態を説明する図(1)であ
る。
【図10】同方向に読み出しと書き込みを行なったとき
のデータレコードテーブルの状態を説明する図(2)で
ある。
【図11】データレコードテーブル251を示す図であ
る。
【図12】データレコード参照処理221の内容を示す
フローチャートである。
【図13】第2の本発明の実施の形態の全体構成図であ
る。
【図14】第1のプログラム110の処理を示すフロー
チャートである。
【図15】格納処理113の内容を示すフローチャート
である。
【図16】データレコードテーブル151を示す図であ
る。
【図17】データレコードテーブル151を示す図であ
る。
【図18】データレコード参照処理221の内容を示す
フローチャートである。
【図19】第3の本発明の実施の形態の全体構成図であ
る。
【図20】第1のプログラム110の処理を示すフロー
チャートである。
【図21】データレコードテーブル251を示す図であ
る。
【図22】データレコード参照処理221の内容を示す
フローチャートである。
【図23】第4の本発明の実施の形態の全体構成図であ
る。
【図24】第1のプログラム110の処理を示すフロー
チャートである。
【図25】第5の本発明の実施の形態の全体構成図であ
る。
【図26】第1のプログラム110の処理を示すフロー
チャートである。
【図27】第2のプログラム210の処理を示すフロー
チャートである。
【図28】第6の本発明の実施の形態の全体構成図であ
る。
【図29】第7の本発明の実施の形態の全体構成図であ
る。
【図30】第8の本発明の実施の形態の全体構成図であ
る。
【図31】第9の本発明の実施の形態の全体構成図であ
る。
【図32】第10の本発明の実施の形態の全体構成図で
ある。
【符号の説明】 10:第1の計算機ノード 20:第2の計算機ノード 110:第1のプログラム 111:データレコード出力処理部 112:識別情報出力処理部 113:格納処理部 115:ポインタ 116:カウンタ 150:主記憶 151:データレコードテーブル 152:識別情報 153:データレコード 170:送信部 210:第2のプログラム 211:タイマ 212:データ受信要求生成処理部 221:データレコード参照処理部 225:ポインタ 226:カウンタ 250:主記憶 251:データレコードテーブル 252:識別情報 253:データレコード 270:受信部 30:ネットワーク
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/177 676 G06F 15/177 676B (72)発明者 櫻庭 健年 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 二瀬 健太 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 山下 正弘 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 Fターム(参考) 5B018 GA01 HA11 MA01 QA16 5B045 BB53 5B065 BA10 CE07 5B082 GB06

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】第1の計算機ノードとそれに接続された第
    2の計算機ノードを有する計算機システムであって、デ
    ータレコードを格納する第1の記憶領域と、任意の時間
    間隔で第2の計算機ノードとは非同期に第1の記憶領域
    にデータレコードを格納する第1の処理部と、第1の記
    憶領域からコピーされたデータレコードを記憶する第2
    の記憶領域と、第1の処理部とは非同期の任意の時間間
    隔で第1の記憶領域から読み出すべきレコード群を指定
    して第2の記憶領域に読み出し、参照する第2の処理部
    を備えたことを特徴とする計算機システム。
  2. 【請求項2】請求項1に記載の計算機システムにおい
    て、 第1の記憶領域は、第1の計算機ノード内に配置されて
    いることを特徴とする計算機システム。
  3. 【請求項3】請求項1に記載の計算機システムにおい
    て、 第2の記憶領域は、第2の計算機ノード内に配置されて
    いることを特徴とする計算機システム。
  4. 【請求項4】請求項1に記載の計算機システムにおい
    て、 第1の記憶領域は、第1の計算機ノードおよび第2の計
    算機ノードと互いに接続する外部記憶装置内に配置され
    ていることを特徴とする計算機システム。
  5. 【請求項5】第2の計算機ノードは第2の処理部を一定
    の時間間隔で起動し、第1の記憶領域から第2の記憶領
    域へデータを読み出すためのタイマを備えたことを特徴
    とする請求項1、2、3または4記載の計算機システ
    ム。
  6. 【請求項6】第1の処理部はデータレコードが格納され
    た順序を示す識別番号を付与して前記データレコードを
    第1の記憶領域に格納し、第1の記憶領域は前記識別番
    号とデータレコードが組で格納される複数個のエントリ
    を有しており、前記エントリに第1の処理部で書き込ま
    れる方向と前記エントリから読み出される方向は逆であ
    り、第2の処理部は第2の記憶領域にコピーされた第1
    の記憶領域のデータを参照し、前記識別番号によって当
    該データレコードが正しいものであるか否かを判断する
    ことを特徴とする請求項1、2、3または4記載の計算
    機システム。
  7. 【請求項7】第1の処理部では前記データレコードを書
    き込んでから当該データレコードの識別番号を書き込
    み、第2の処理部では第2の記憶領域に読み出されたデ
    ータの前記識別番号に連続性がある場合当該データレコ
    ードは正しいと判断し、連続性がない場合当該データレ
    コードが不正であると判断することを特徴とする請求項
    6記載の計算機システム。
  8. 【請求項8】第1の処理部は更に前記データレコードに
    対して誤り検出符号を生成する誤り検出符号生成処理部
    を含み、第1の記憶領域に前記データレコードと前記誤
    り検出符号を書き込み、第2の処理部は第2の記憶領域
    に読み出されたデータについて前記誤り検出符号により
    誤りの検出を行ない、誤りが検出されない場合当該デー
    タレコードを正しいものと判断し誤りが検出された場合
    当該データレコードを正しくないものと判断することを
    特徴とする請求項1、2、3または4記載の計算機シス
    テム。
  9. 【請求項9】第1の記憶領域は前記誤り検出符号とデー
    タレコードが組で格納される複数個のエントリを有して
    おり、前記エントリに第1の処理部で書き込まれる方向
    と前記エントリから読み出される方向とは同一方向であ
    ることを特徴とする請求項8記載の計算機システム。
  10. 【請求項10】第1の計算機ノードと第2の計算機ノー
    ドが接続された計算機システムであり、第1の計算機ノ
    ードはデータレコードを格納する第1の記憶領域と、任
    意の時間間隔で第2の計算機ノードと非同期に第1の記
    憶領域に前記データレコードを格納する第1の処理部
    と、任意の時間間隔で第1の記憶領域の前記データレコ
    ードを第2の計算機ノードに送信するデータ送信要求を
    生成するデータ送信生成処理部とを有し、第2の計算機
    ノードはコピーされた第1の記憶領域のデータレコード
    を格納する第2の記憶領域と、第2の記憶領域のデータ
    レコードを任意の時間間隔で第1の計算機ノードと非同
    期に参照する第2の処理部を備えたことを特徴とする計
    算機システム。
  11. 【請求項11】第1の計算機ノード上の第1の記憶領域
    に格納された一つ以上のレコードで構成されるデータ
    を、第2の計算機ノード上で動作しているプログラム
    が、当該記憶領域を指定して、第2の計算機ノード上の
    第2の記憶領域にコピーさせて参照することが可能な通
    信手段を有する計算機システムのデータ転送方法におい
    て、第1の計算機ノード上で動作し、任意の時間間隔
    で、第1の記憶領域に、一つ以上のレコードで構成され
    るデータを格納するステップと、第2の計算機ノード上
    で動作し、任意の時間間隔で、前記通信手段を用いて第
    1の記憶領域の指定されたデータを第2の記憶領域にコ
    ピーさせ、そのデータを参照するステップとを備えたこ
    とを特徴とするデータ転送方法。
  12. 【請求項12】第1の記憶領域を持つ第1の計算機ノー
    ド上で動作しているプログラムが、第2の計算機ノード
    の主記憶装置内の第2の記憶領域に、第1の記憶領域の
    一つ以上のレコードで構成されるデータを、直接格納す
    ることが可能な通信手段を有する計算機システムのデー
    タ転送方法において、第1の計算機ノード上で動作し、
    任意の時間間隔で、前記通信手段を用いて第2の記憶領
    域に一つ以上のレコードで構成されるデータを格納する
    ステップと、第2の計算機ノード上で動作し、任意の時
    間間隔で、第2の領域のデータを参照するステップとを
    備えたことを特徴とするデータ転送方法。
  13. 【請求項13】外部記憶装置にある第1の記憶領域に、
    第1の計算機ノード上で動作しているプログラムが、デ
    ータを直接格納することが可能な第1の通信手段と、第
    2の計算機ノード上で動作しているプログラムが、第1
    の記憶領域を指定して、第2の計算機ノード上の第2の
    記憶領域にコピーさせて参照することが可能な第2の通
    信手段を有する計算機システムのデータ転送方法におい
    て、第1の計算機ノード上で動作し、第1の通信手段を
    用いて任意の時間間隔で、第1の記憶領域に、一つ以上
    のレコードで構成されるデータを格納する第1のステッ
    プと、第2の計算機ノード上で動作し、第1のステップ
    とは非同期に任意の時間間隔で、第2の通信手段を用い
    て第1の記憶領域の指定されたデータを第2の記憶領域
    にコピーさせ、そのデータを参照する第2のステップと
    を備えたことを特徴とするデータ転送方法。
  14. 【請求項14】第1の記憶領域は識別番号とデータレコ
    ードが組で格納される複数個のエントリを有しており、
    第1の計算機ノード上で動作し、前記データレコードを
    書き込んでから当該データレコードの前記識別番号を書
    き込み、前記エントリに書き込まれる方向と逆の方向に
    前記エントリから読み出すステップと、第2の計算機ノ
    ード上で動作し、第2の記憶領域にコピーされた第1の
    記憶領域のデータを参照し、第2の記憶領域に読み出さ
    れたデータの前記識別番号に連続性がある場合当該デー
    タレコードは正しいと判断し、連続性がない場合当該デ
    ータレコードが不正であると判断するステップとを備え
    たことを特徴とする請求項11、12または13記載の
    データ転送方法。
  15. 【請求項15】第1の記憶領域は誤り検出符号とデータ
    レコードが組で格納される複数個のエントリを有してお
    り、第1の計算機ノード上で動作し、第1の記憶領域に
    前記データレコードとその誤り検出符号を書き込み、前
    記エントリに書き込まれる方向と同一方向に前記エント
    リから読み出すステップと、第2の計算機ノード上で動
    作し、第2の記憶領域に読み出されたデータについて前
    記誤り検出符号により誤りの検出を行ない、誤りが検出
    されない場合当該データレコードを正しいものと判断し
    誤りが検出された場合当該データレコードを正しくない
    ものと判断するステップとを備えたことを特徴とする請
    求項11、12または13記載のデータ転送方法。
JP2000309299A 2000-06-08 2000-10-04 計算機システムおよびそのデータ転送方法 Expired - Fee Related JP4192416B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000309299A JP4192416B2 (ja) 2000-06-08 2000-10-04 計算機システムおよびそのデータ転送方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-177123 2000-06-08
JP2000177123 2000-06-08
JP2000309299A JP4192416B2 (ja) 2000-06-08 2000-10-04 計算機システムおよびそのデータ転送方法

Publications (2)

Publication Number Publication Date
JP2002063060A true JP2002063060A (ja) 2002-02-28
JP4192416B2 JP4192416B2 (ja) 2008-12-10

Family

ID=26593846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000309299A Expired - Fee Related JP4192416B2 (ja) 2000-06-08 2000-10-04 計算機システムおよびそのデータ転送方法

Country Status (1)

Country Link
JP (1) JP4192416B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003075147A1 (fr) * 2002-03-06 2003-09-12 Fujitsu Limited Systeme memoire et procede et transfert de donnees pour un tel systeme
JP2007527057A (ja) * 2003-12-31 2007-09-20 マイクロソフト コーポレーション ライトウエイト入力/出力プロトコル
JP2009181585A (ja) * 2002-06-11 2009-08-13 Ashish A Pandya Tcp/ip、rdma、及びipストレージアプリケーションのための高性能ipプロセッサ
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US9129043B2 (en) 2006-12-08 2015-09-08 Ashish A. Pandya 100GBPS security and search architecture using programmable intelligent search memory
US9141557B2 (en) 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
KR20160150401A (ko) * 2015-06-22 2016-12-30 엘에스산전 주식회사 Plc 시스템
JP2017500669A (ja) * 2013-12-30 2017-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理
EP3229145A1 (en) 2016-04-07 2017-10-11 Fujitsu Limited Parallel processing apparatus and communication control method

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003075147A1 (fr) * 2002-03-06 2003-09-12 Fujitsu Limited Systeme memoire et procede et transfert de donnees pour un tel systeme
JP2009181585A (ja) * 2002-06-11 2009-08-13 Ashish A Pandya Tcp/ip、rdma、及びipストレージアプリケーションのための高性能ipプロセッサ
US7870217B2 (en) 2002-06-11 2011-01-11 Ashish A Pandya IP storage processor and engine therefor using RDMA
US7944920B2 (en) 2002-06-11 2011-05-17 Pandya Ashish A Data processing system using internet protocols and RDMA
US8005966B2 (en) 2002-06-11 2011-08-23 Pandya Ashish A Data processing system using internet protocols
US10165051B2 (en) 2002-06-11 2018-12-25 Ashish A. Pandya High performance IP processor using RDMA
US9667723B2 (en) 2002-06-11 2017-05-30 Ashish A. Pandya High performance IP processor using RDMA
US7685254B2 (en) 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
JP2007527057A (ja) * 2003-12-31 2007-09-20 マイクロソフト コーポレーション ライトウエイト入力/出力プロトコル
KR101084897B1 (ko) * 2003-12-31 2011-11-17 마이크로소프트 코포레이션 Lwio 프로토콜
US9129043B2 (en) 2006-12-08 2015-09-08 Ashish A. Pandya 100GBPS security and search architecture using programmable intelligent search memory
US9589158B2 (en) 2006-12-08 2017-03-07 Ashish A. Pandya Programmable intelligent search memory (PRISM) and cryptography engine enabled secure DRAM
US9141557B2 (en) 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
US9952983B2 (en) 2006-12-08 2018-04-24 Ashish A. Pandya Programmable intelligent search memory enabled secure flash memory
JP2017500669A (ja) * 2013-12-30 2017-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation リモート・ダイレクト・メモリ・アクセス(rdma)高性能プロデューサ・コンシューマ・メッセージ処理
US10521393B2 (en) 2013-12-30 2019-12-31 International Business Machines Corporation Remote direct memory access (RDMA) high performance producer-consumer message processing
KR20160150401A (ko) * 2015-06-22 2016-12-30 엘에스산전 주식회사 Plc 시스템
KR101870492B1 (ko) * 2015-06-22 2018-06-22 엘에스산전 주식회사 Plc 시스템
US10324440B2 (en) 2015-06-22 2019-06-18 Lsis Co., Ltd. Programmable logic controller system
JP2017010556A (ja) * 2015-06-22 2017-01-12 エルエス産電株式会社Lsis Co., Ltd. Plcシステム
EP3229145A1 (en) 2016-04-07 2017-10-11 Fujitsu Limited Parallel processing apparatus and communication control method

Also Published As

Publication number Publication date
JP4192416B2 (ja) 2008-12-10

Similar Documents

Publication Publication Date Title
US5644784A (en) Linear list based DMA control structure
US20040093454A1 (en) USB endpoint controller flexible memory management
US7069305B2 (en) Computer system and a data transfer method thereof using remote direct memory access
JP2002063060A (ja) 計算機システムおよびそのデータ転送方法
WO2005046146A1 (en) Method, system, and program for constructing a packet
EP0969384B1 (en) Method and apparatus for processing information, and providing medium
JPH0798663A (ja) 非同期i/o制御方式
US5754802A (en) Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation
US8234651B2 (en) Information processing method and apparatus using the same
JP4422304B2 (ja) 分散型コンピュータシステムを初期化するためのシステムおよびその方法
US6434592B1 (en) Method for accessing a network using programmed I/O in a paged, multi-tasking computer
CN111401541A (zh) 一种数据传输控制方法及装置
JP2710587B2 (ja) 情報処理システム
JP3006491B2 (ja) トランザクション実行状態管理システム、管理方法、および管理プログラムを記憶する媒体
JP3307331B2 (ja) ネットワークファイルシステムのデータ転送方法
KR100622621B1 (ko) 운영-대기(Active-Standby) 모드로이중화된 IP 통신 시스템에서 주 시스템과 부 시스템간구성 데이터를 동기화하기 위한 방법 및 그 시스템
JP2004246779A (ja) マルチプロセッサシステム及びデバイス共有方法
JP3246605B2 (ja) デ−タ転送方法
JPH05227223A (ja) データ転送システム
JP2679440B2 (ja) 情報処理装置
JP3029445B2 (ja) 起動受付装置及び方法
JP2531209B2 (ja) チャネル装置
JPH1011387A (ja) 情報処理装置
JPH10171764A (ja) 並列計算機共有メモリの制御方法
CN117971717A (zh) 多主机的访问控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080805

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080908

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees