JP3304365B2 - メッセージ通信制御方法および通信システム - Google Patents

メッセージ通信制御方法および通信システム

Info

Publication number
JP3304365B2
JP3304365B2 JP24729691A JP24729691A JP3304365B2 JP 3304365 B2 JP3304365 B2 JP 3304365B2 JP 24729691 A JP24729691 A JP 24729691A JP 24729691 A JP24729691 A JP 24729691A JP 3304365 B2 JP3304365 B2 JP 3304365B2
Authority
JP
Japan
Prior art keywords
serial number
message
received
version number
version
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.)
Expired - Fee Related
Application number
JP24729691A
Other languages
English (en)
Other versions
JPH0591108A (ja
Inventor
稔 小泉
洋 綿谷
健二 片岡
勤 中村
久雄 菊池
治男 都筑
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 JP24729691A priority Critical patent/JP3304365B2/ja
Publication of JPH0591108A publication Critical patent/JPH0591108A/ja
Application granted granted Critical
Publication of JP3304365B2 publication Critical patent/JP3304365B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、通信システムおよびメ
ッセージ通信制御方法に関し、更に詳しくは、例えば、
複数の情報処理装置が、LAN等の通信媒体を介してメ
ッセージ通信を行うようにした通信システムにおいて、
特にメッセージの重複受信を防止するための技術に関す
る。
【0002】
【従来の技術】ネットワークにおいて、同一メッセージ
が重複して送受信される可能性がある場合に、受信側で
同一メッセージの重複受信を防ぐ方法として、例えば、
A.S.Tanenbaum 著の 「Computer Networks 2nd Editio
n」(1988年 Prentice-HallInternational Editions
社発行)、第5.2.5節(p.298〜299)に示
されているように、通番を用いる方式が知られている。
この通番方式においては、送信側装置で、送信メッセー
ジに付すべき通番を記憶管理しておき、メッセージ送信
の都度、送信メッセージに通番を付加するとともに、通
番の値をカウントアップして行く。一方、受信側装置で
は、受信した最後のメッセージの通番を受信通番として
記憶しておき、新たにメッセージの受信の都度、上記受
信通番と、受信メッセージの通番を比較することによっ
て、メッセージの重複受信を検知する。尚、同一の装置
に対して、一般に、メッセージの送信元は複数存在する
ため、上述した受信通番の管理は、メッセージの送信元
となる情報処理装置対応に行なわれる。
【0003】また、金融あるいは株式市況等の情報をリ
アルタイムで利用者端末に配信するオンライン情報サー
ビスシステムにおいては、利用者数の増加に従ってシス
テムスケールを段階的に大きくしたいというニーズがあ
り、例えば図2に示すような、分散処理型のシステム構
成を採用する場合が多い。
【0004】第2図のネットワークにおいては、国内、
あるいは世界各地の金融証券取引所に、為替レートや株
価等のデータを入力するためのデータ入力処理装置1
7、18が設置され、これらの入力処理装置からの入力
情報が、公衆回線網3と回線制御装置53を介して、リ
アルタイムで中継処理ノード13に受信される。中継処
理ノード13は、LAN制御装置33、43を介して高
速LAN1、2に接続してあり、上記中継処理ノード1
3に受信されたリアルタイム情報が、LAN1、2を通
して、データベース・サーバノード11、12や、端末
サーバノード14、15、16にブロードキャストされ
る。データベース・サーバノード11と12は、それぞ
れLAN1、2から、LAN制御装置31と41、32
と42を経由して受信したリアルタイム情報を、ディス
ク21、22に蓄積し、端末からの問合せに備える。一
方、端末サーバノード14、15、16は、端末71〜
79からの要求に応答して上記データベース・サーバノ
ード11あるいは12がLAN1、2に送信したリアル
タイム情報を、それぞれLAN制御装置34と44、3
5と45、36と46を経由して受信し、回線制御装置
54、55、56と、回線61〜63、64〜66、6
7〜69を介して、要求元の端末71〜73、74〜7
6、77〜79に送信する。
【0005】上記システム構成では、各ノード31〜4
6を接続するためのLANが2重化されているが、これ
は、情報サービスシステムにとって重要なデータである
リアルタイム情報を、高い信頼度で各ノードに伝達でき
るようにするためである。この場合、中継処理ノード1
3は、2つのLAN1、2に対して同一のメッセージを
送信し、受信側の各サーバノードが、先に到着した何れ
か一方のメッセージのみを受信処理し、後から到着した
メッセージを重複受信メッセージとして廃棄する。上記
方法によれば、2つのLANの何れかが伝送不能となっ
た場合でも、メッセージを相手側に確実に届けることが
可能となるため、通信の信頼性を高めることができる。
【0006】
【発明が解決しようとする課題】然るに、上記通信方式
においては、各サーバノードが後着の重複メッセージを
廃棄することが前提になっているため、受信メッセージ
が重複メッセージか否かの判断に上述した従来の通番管
理方式を採用すると、例えば、中継処理ノードの1つが
ハード障害等の理由でシステムダウンし、障害回復後に
再立ち上げを行った場合に、次のような問題が生ずる。
【0007】図12は、中継処理ノード13が2つのL
AN1と2にブロードキャストしたメッセージを、端末
サーバノード15が従来の通番管理方法を用いて受信す
る場合のメッセージ・シーケンスを示す。
【0008】中継処理ノード13は、システムが立上げ
られると、送信通番241の値を "1”に初期化した
後、データ201を2つのLAN1と2にブロードキャ
ストする。この場合、データ201には、送信通番とし
て "1”が付加され、ブロック211、212に示すフ
ォーマットで、LAN1、LAN2に送出される。な
お、送信通番241の値は、カウントアップされて"
2”となる。
【0009】受信側のノード15では、システムが立上
げられると、受信通番251の値を"0”に初期化した
後、2つのLAN1、2からのメッセージ受信待ちとな
る。受信側のノード15は、LAN1からメッセージ2
11を受信すると、受信メッセージに付された送信通番
の値と自分が記憶している受信通番251の値 "1"と
を比較し、該受信メッセージをノード内に取り込むか否
かを判断する。受信メッセージが上記メッセージ211
の場合は、受信通番が初期値 "1"であることから無条件
で取り込むことにし、受信通番251の値を上記メッセ
ージに付された送信通番の値(="1")に更新する。次
に、LAN2からメッセージ212を受信すると、受信
メッセージの送信通番"1"と受信通番251の値"1"と
が一致することから、上記受信メッセージが重複メッセ
ージであると判断し、これを廃棄する。
【0010】中継処理ノード13は、上記データ201
に引き続いて、データ202、……203を順次にブロ
ードキャストする。ここで、データ203が送信され、
送信通番241の値が "24”まで上昇した時点でシス
テムダウンが発生し、システムの再立ち上げが行われた
後、残りのデータ204、205が順次にLAN1、2
にブロードキャストされたと仮定する。システムダウン
後の再立ち上げにより、送信通番の値は"1”に戻るた
め、データ204、205に付される送信通番の値は、
それぞれ "1”、"2”となる。
【0011】受信側ノード15では、受信メッセージ2
12で行なったと同様の通番チェックにより、データ2
02、203の先着メッセージの213、215をそれ
ぞれノード内に取り込み、後着メッセージ214、21
6を廃棄処理する。上述したシステムダウンが発生した
時点で、受信通番251の値は、最後にノード内に取り
込まれた受信メッセージ215がもつ送信通番の値
(="24")となっており、この値は、システムが回復
した時点でもそのまま保持されている。このため、上記
受信側ノード15は、システムダウン回復後に受信した
メッセージ217、218、219、220の中、本来
取り込むべき受信メッセージ217、219について
も、それらの送信通番が受信通番と不連続であることか
ら重複メッセージと誤って判断し、廃棄処理してしま
う。
【0012】上述した受信メッセージの通番誤判断に基
づく非重複メッセージの誤廃棄の問題は、受信側ノード
15が、中継ノード13側で通番の初期化が行なわれた
ことを認識していないことに起因しており、非重複メッ
セージの誤廃棄は、中継ノード13が送信メッセージに
付す送信通番の値が受信通番の次の値"25"になる迄、
継続する。これと同様の非重複メッセージの誤廃棄は、
他の端末サーバノード14、16でも発生すうる。すな
わち、従来のメッセージ制御方式によれば、ネットワー
クにシステムダウンが発生すると、それが回復した後の
暫くの間は、各端末サーバノードが、受信処理すべきメ
ッセージを誤って廃棄していまい、この期間中はリアル
タイム情報が端末71〜79に提供されなくなるという
問題があった。
【0013】尚、上記問題の対策案として、例えば、中
継ノード13において通番が初期化された時点で、中継
ノード13が、通番初期化を端末側の各ノードに報知す
るための制御メッセージをブロードキャストする方法が
考えられる。しかしながら、この方法によれば、例え
ば、伝送障害やバッファ・オーバフロー等の理由で、端
末側のノードが、上記通番初期化通知メッセージを正し
く受信できない場合が生ずる可能性があり、確実な解決
策にはならない。また、上記通番初期化通知のための制
御メッセージを端末側の全ノードに確実に伝えるように
するためは、例えば、中継(送信側)ノードが端末側
(受信側)ノードから上記制御メッセージの送達確認を
とる方法も考えられるが、全ノードから送達確認をとれ
たか否かのチェックと、送達確認が得られなかったノー
ドに対する制御メッセージの再送処理が複雑化するとい
う問題がある。
【0014】本発明は、重複メッセージを廃棄し、有効
メッセージは確実に受信処理できる通信システム、およ
びメッセージ通信制御方法を提供することにある。
【0015】
【課題を解決するための手段】上記問題を解決するた
め、本発明では、(1)送信側の装置が、メッセージ送
信の都度更新される通番と、通番初期化が行なわれる毎
に加算更新される通番バージョン番号とを、各送信メッ
セージに付加してネットワークに送出し、(2)受信側
の装置が、非重複メッセージとして受信処理した最新の
受信メッセージから抽出した通番と通番バージョン番号
とを、それぞれ、受信通番および受信通番バージョン番
号として記憶しておき、上記ネットワークからのメッセ
ージ受信の都度、該受信メッセージに付されている通番
バージョン番号と自分が記憶している受信通番バージョ
ン番号とを比較し、もし、受信メッセージの通番バージ
ョン番号が上記受信通番バージョン番号よりも新しい場
合には、受信メッセージを非重複メッセージと判断し、
もし、受信メッセージの通番バージョン番号が上記受信
通番バージョン番号と同じ場合は、受信メッセージの通
番と上記受信通番との比較結果により、上記受信メッセ
ージが重複メッセージか否かを判断するようにしたこと
を特徴とする。
【0016】本発明において、送信側装置は、上記通番
バージョン番号を、例えば、ディスク等の不揮発性メモ
リに記憶しておき、通番を初期化する時、上記不揮発性
メモリに記憶してある通番バージョン番号を更新すると
ともに、これを主メモリ上にローディングするようにす
るとよい。
【0017】
【作用】本発明によれば、各送信メッセージに通番と通
番バージョン番号とが付されているため、受信側装置
は、一連のメッセージの最新の通番バージョン番号を知
ることができ、メッセージ送受信動作中に、送信側装置
がシステム再立ち上げ等の理由で通番の初期化を行なっ
た場合でも、その後の受信メッセージの通番バージョン
番号の値と、自分が記憶している最新の通番バージョン
番号の値との関係をチェックすることにより、送信側で
通番の初期化が発生したか否かを判断することができ
る。このため、従来、受信メッセージの送信通番と受信
通番との比較だけで判断していたために生じていた非重
複メッセージの誤廃棄を避けることができる。
【0018】
【実施例】[第1の実施例]先ず、図1を参照して本発
明の概要を説明し、続いて、図2〜図11を参照して本
発明の第1の実施例を詳細に説明する。
【0019】図1は、図12と同様に、中継処理ノード
13が、メッセージを順次2つのLAN1、2に順次に
ブロードキャストし、それを端末サーバノード15が受
信する場合のメッセージ・シーケンスを示す。
【0020】システム立上げ時には、中継処理ノード1
3は、先ず、不揮発性のメモリ、例えばディスク23内
に記憶されている通番バージョン番号VNを読み込み、
これに "1”を加算し、得られた値を、内部メモリ上の
通番バージョン番号記憶領域261にセットすると共
に、新たな通番バージョン番号VNとしてディスク23
内に記憶しておく。
【0021】次に、中継処理ノード13は、図12と同
様、送信通番241の値を'1”に初期化した後、最初
のデータ201を2つのLAN1、2にブロードキャス
トする。この場合、送信データには、送信通番(TN)
241の他に、通番バージョン番号261( VN = "
1")も付加しておく。従って、LAN1、LAN2に
は、それぞれ、271、272に示した内容のメッセー
ジが流れることになる。尚、この時点で、送信通番24
1の値はインクリメントされ、TN="2”となるが、
送信通番バージョン番号261の値は更新されない。
【0022】一方、受信側のノード15は、受信通番R
Nを記憶するための記憶エリア251の他に、受信通番
バージョン番号VN’を記憶するための記憶エリア29
1を備える。これらの記憶エリアは、システム立ち上げ
時に、両エリアとも"0”に初期化される。
【0023】受信側のノード15は、LAN1からメッ
セージ271を受信すると、先ず、受信メッセージの通
番バージョン番号の値 "1"と、記憶エリア291に記
憶している受信通番バージョン番号VN'とを比較す
る。最初に到着したメッセージ271の場合は、受信通
番バージョン番号VN'の値が初期値(="0")である
ことから、通番バージョン番号のチェック結果をOKと
し、記憶エリア291に記憶している受信通番バージョ
ン番号VN'の値を、上記受信メッセージがもつ通番バ
ージョン番号の値(="1")に更新する。
【0024】通番バージョン番号のチェック結果がOK
の場合は、従来(図12)と同様、受信メッセージに付さ
れた送信通番の値と、記憶エリア251に記憶している
受信通番RNの値とを比較し、受信メッセージをノード
内に取り込むか否かを判断する。メッセージ271の場
合、受信通番RNの値が初期値となっているので、送信
通番の値に無関係に取り込むことにし、受信通番RNの
値を上記受信メッセージの送信通番の値(="1")に更
新する。
【0025】次に、LAN2から後着のメッセージ27
2を受信すると、受信側ノード15は、上述したメッセ
ージ271の場合と同様の通番バージョン番号チェック
を行う。上記メッセージ272の場合、メッセージの通
番バージョン番号が受信通番バージョン番号VN'と一
致するので、チェック結果はOKとなる。これに引き続
いて、通番チェックが行なわれるが、上記受信メッセー
ジの送信通番は記憶している受信通番RNと一致するた
め、重複メッセージと判断され、上記受信メッセージは
廃棄される。
【0026】中継処理ノード13は、上記データ201
に引き続いて、データ202、……203を順次にブロ
ードキャストする。ここで、データ203の送信後にシ
ステムダウンが発生し、システムの再立ち上げが行なわ
れた後、データ204、205がLAN1、2にブロー
ドキャストされたと仮定する。システムの再立ち上げが
行なわれた時、中継処理ノード13は、送信通番の方
は"1”に初期化するが、通番バージョン番号について
は、ディスク23から読み出した通番バージョ番号の値
(VN="1")に"1”を加算したものを用い、これを
各送信データにセットすると共に、ディスク23に記憶
しておく。この結果、データ204と205は、通番バ
ージョン番号が"2"、送信通番が、それぞれ "1”、"
2”となり、メッセージ277と278、279と28
0としてブロードキャストされる。受信側ノード15
は、上記システムダウンが発生する迄は、各受信メッセ
ージに対して上述した通番バージョン番号チェックと通
番チェックを施すことにより、先着の受信メッセージ2
73、……275をノード内に取り込み、後着の受信メ
ッセージ274、……275を重複メッセージと判断し
て廃棄処理する。上記期間中に、受信側ノード15がエ
リア291に記憶する受信通番バージョン番号RNの値
は "1”のままであり、受信通番251は"2"、……"
24”と変化する。
【0027】システムダウンの回復後、受信側ノード1
5は、先ず、LAN1からメッセージ277を受信す
る。この時、メッセージ277の通番バージョン番号
(="2")は、記憶エリア291に記憶している受信通
番バージョン番号の値(VN’="1")よりも大きいの
で、ノード15は、送信側ノード13で通番を初期化し
たと判断し、記憶エリア291の受信通番バージョン番
号の値を"2”に更新する。また、通番チェックを省略
して、上記受信メッセージの送信通番の値(="1")を
受信通番記憶エリア251にセットした後、上記メッセ
ージを取り込む。
【0028】受信側ノード15は、引き続いて、LAN
2からメッセージ278を受信するが、通番バージョン
番号のチェック結果はOKとなるものの、送信通番が受
信通番RNと一致するため、重複メッセージと判断して
廃棄する。
【0029】メッセージ279、280についても、上
記と同様に通番バージョン番号チェックと通番チェック
が行われ、先着のメッセージ279だけが取り込まれ、
後着メッセージ280は廃棄される。
【0030】以上のことから、本発明のメッセージ通信
制御方法によれば、従来のように、送信側ノード13の
再立ち上げ後に送信されたメッセージが受信側ノード1
5で誤って廃棄されるという問題は発生せず、情報が正
しく受信処理されることが理解できる。
【0031】次に、本発明の第1の実施例について詳細
に説明する。
【0032】図3は、図2に示した情報処理装置11〜
16が備えるソフトウエアの構成を示した図であり、1
01は、LAN制御装置3i、4iや回線制御装置5i
を介して行なわれるメッセージの送受信処理、および受
信キュー111、112への受信メッセージの登録処理
を行なう通信管理モジュール、102は、回線制御装置
5iやLAN制御装置3i、4iとの間で入出力される
メッセージを一時的に格納するたあめの送受信バッフ
ァ、103は、回線制御装置経由で受信したメッセージ
の処理を行う回線系業務タスク、104は、LAN制御
装置で受信したメッセージの処理を行うLAN系業務タ
スク、105は、ノード立ち上げ時に通番バージョン番
号や送信通番の更新、あるいは初期化処理を行うイニシ
ャル処理タスク、106は、上記イニシャル処理タスク
105の要求に応じて、デイスク2i内の通番バージョ
ン番号の読出し/書込みをしたり、上記業務タスク10
3、104の要求に応じてディスク2i内のデータを検
索するファイル管理モジュール、113は、上記回線制
御装置5iおよびLANを制御するための情報を格納す
る回線系通信管理テーブル、114はLAN系通信管理
テーブル、115は、上述の通番バージョン番号や送信
通番を記憶管理するためのLAN通番管理テーブル、1
07は、情報処理装置内のタスク制御、および回線制御
装置5iやLAN制御装置3iの起動/割込み処理を行
なうOS(Operating System)を示している。
【0033】図4は、LAN通信管理テーブル114の
構成を示し、1141は自ノード番号を記憶するための
エリアである。ここで、「ノード番号」とは、LANに
接続されている各ノードに対して一意に割り当てられる
固有の番号であり、ノードのアドレスとして用いられ
る。
【0034】図5は、LAN通番管理テーブル115の
構成を示す。上記テーブル115は、通番バージョン番
号をセットするためのエリア1151と、送信通番をセ
ットするためのエリア1152と、受信通番バージョン
番号管理テーブル用のエリア1160と、受信通番管理
テーブル用野エリア1170とから構成される。
【0035】上記受信通番バージョン番号管理テーブル
1160は、図6に示すように、ノード番号に対応して
用意された複数のエントリーからなり、第i番目のエン
トリーには、ノード番号iのノードから受信して最後に
自ノード内に取り込んだメッセージの通番バージョン番
号(以下、これを「受信通番バージョン番号」と呼ぶ)
が格納される。
【0036】上記受信通番管理テーブル1170は、図
7に示すように、ノード番号に対応して用意された複数
のエントリーからなり、第i番目のエントリーには、ノ
ード番号iのノードから最後に正しく受信したメッセー
ジの通番(以下、これを「受信通番」と呼ぶ)が格納さ
れる。
【0037】図8は、イニシャル処理タスク105の処
理内容を示すフローチャートである。
【0038】このタスクは、ノード立ち上げ時に、OS
107によって起動され、まずディスク2iより読み込
んだ通番バージョン番号を、変数V_SEQにセットす
る(ステップ1051)。次に、V_SEQの値に"1"
を加え(1052)、ディスクに格納する(105
3)。この後、LAN通番管理テーブル115内の通番
バージョン番号格納エリア1151に上記V_SEQの
値を格納し(1054)、送信通番格納エリア1152
を”1”に初期化する(1055)。次に、受信通番バ
ージョン管理テーブル1160内の全エントリーに初期
値"0”をセットし(1056)、最後に、受信通番管
理テーブル1170内の全エントリーに初期値"0”を
セットして(1057)、イニシャル処理を終了する。
【0039】次に、図9〜図11を参照して、中継処理
ノード13内の回線系業務タスク103が、公衆回線網
3と回線制御装置53を介して受信したリアルタイム情
報をLAN1、2にブロードキャストし、それを端末サ
ーバノード15内の通信管理モジュール101が取り込
んで、LAN系業務タスク104に入力する場合を例に
とって、中継処理ノード13内の通信管理モジュール1
01が実行する「LANブロードキャスト送信処理」と、
端末サーバノード15内の通信管理モジュール101が
実行する「LANブロードキャスト受信処理」について説
明する。
【0040】図9は、通信管理モジュール101が実行
するLANブロードキャスト送信処理のフローチャート
である。この処理は、ブロードキャストすべきデータの
アドレスとデータ長を入力パラメータとして、業務タス
ク103、または104によって起動される。
【0041】この処理では、先ず、LAN通番管理テー
ブル内の通番バージョン番号格納エリア1151から、
通番バージョン番号を変数V_SEQに読み込み(ステ
ップ1061)、次に、送信通番格納エリア1152か
ら、送信通番を変数SEQに読み込む(1062)。更
に、変数SEQの値に"1"を加え、その値を送信通番格
納エリア1152に格納(1063)した後、LANに
送出するメッセージの編集処理を行う(1064)。
【0042】LANに送出するメッセージのフォーマッ
トは、図10を示すように、メッセージの長さMLをセ
ットするためのフィールド301と、送信元ノードのノ
ード番号SAをセットするためのフィールド302と、
通番バージョン番号VERをセットするためのフィール
ド303と、送信通番SEQをセットするためのフィー
ルド304と、送信すべきデータの本体(DATA)を
セットするためのフィールド305とから構成されてい
ることを示している。なお、メッセージ長MLは、この
実施例では、業務タスクが指定した送信データの長さ
と、上記ヘッダ部のML、SA、VER、SEQフィー
ルドの長さを加えた値である。
【0043】図9に戻って、LANメッセージ編集処理
(ステップ1064)では、変数V_SEQの値をフィ
ールド303に、変数SEQの値をフィールド304に
セットし、フィールド305には、処理起動時業務タス
クが指定したデータをコピーしてセットする。また、S
Aフィールド302には、上記LAN通信管理テーブル
114内のエリア1141から読み込んだ自ノード番号
をセットする。
【0044】メッセージ編集処理が終了すると、上記編
集されたメッセージをLAN1、2に送信するために、
LAN制御装置3i、4iに対して、OS107経由で
送信要求を発行する(1065)。
【0045】以上の処理により、同一の内容をもつ2つ
のメッセージが、LAN1とLAN2にブロードキャス
トされることになる。
【0046】図11は、通信管理モジュール101が実
行するLANブロードキャスト受信処理の内容を示すフ
ローチャートである。この処理は、LAN制御装置3
i、または4iが、LANから受信したメッセージを受
信バッファ102に転送したタイミングで、OS107
によって起動される。この場合、受信メッセージが格納
されている受信バッファのアドレスと、メッセージ長と
が、起動時にパラメータとして与えられる。
【0047】上記LANブロードキャスト受信処理で
は、先ず、起動パラメータとして与えられた受信バッフ
ァ・アドレスに基づいて、受信バッファ102に格納さ
れている受信メッセージにアクセスし、そのヘッダ部か
ら、通番バージョン番号と、送信元アドレスと、送信通
番とを、それぞれ変数VER、SA、SEQに読み込む
(ステップ1071)。次に、受信通番バージョン管理
テーブル1160内の、上記SAに対応するエントリー
をアクセスし(1072)、受信通番バージョン番号の
値を変数R_VERに読み込み(1073)、その値が
"0”か否かをチェックする(1074)。もし、変数
R_VERの値が "0”の場合は、上記受信メッセージ
が、受信側システムの立ち上げ後に受信した、当該送信
元ノードからの最初のメッセージであることを意味して
いる。よって、上記アクセスした受信通番管理テーブル
のエントリーに、今回受信したメッセージの通番バージ
ョン番号R_VERの値をセットする(1075)。次
に、受信通番管理テーブル1170についても、上記S
Aに対応するエントリーをアクセスし(1076)、上
記エントリーに受信メッセージの通番フィールドSEQ
の値をセットした後(1076)、LAN系業務タスク
104の起動処理を行って(1082)、このルーチン
を終了する。
【0048】なお、ここで言う「LAN系業務タスク1
04の起動処理」とは、受信メッセージを先入れ先だし
型の受信キュー112に登録した後、LAN系業務タス
クを起動することを意味している。また、「受信キュー
への登録」とは、受信キューに、上記受信メッセージを
アクセスするための受信バッファ内アドレスとメッセー
ジ長とを含む制御用のデータブロックを登録することを
意味する。
【0049】上記判定ステップ1074において、も
し、R_VERの値が0でない場合は、受信メッセージ
の通番バージョン番号VERと受信通番バージョン番号
R_VERとを比較する(1078)。もし、VERと
R_VERとが一致すれば、通番チェックを行うため
に、受信通番管理テーブル1170内の上記SAと対応
するエントリーをアクセスし、受信通番を変数R_SE
Qに読み込み(1079)、R_SEQの値が "0”か
否かをチェックする(1080)。R_SEQの値が "
0”の場合は、受信通番初期化後の最初のメッセージ受
信であることを意味するから、上記SAと対応する受信
通番管理テーブルのエントリーに通番フィールドSEQ
の値をセットした後、LAN系業務タスクの起動処理を
行い(1082)、このルーチンを終了する。
【0050】上記判定ステップ1080において、も
し、R_SEQの値が "0”でない場合は、SEQの値
とR_SEQの値と比較する(1081)。もし、SE
Qの値が 「R_SEQの値 +1」 以上であれば、上記
受信メッセージは初めて受信されたものである。よっ
て、この場合は、上記LAN系業務タスクの起動処理1
082を行った後、このルーチンを終了する。一方、S
EQの値が「R_SEQの値+1」より小さい場合は、
既に同一のメッセージが受信済で、今回の受信メッセー
ジは後着のものと判断し、廃棄処理を行った(108
3)後、このルーチンを終了する。
【0051】また、判定ステップ1078で、もし、受
信通番バージョン番号R_VERの値が、受信メッセー
ジに付加された通番バージョン番号VERの値よりも小
さい場合は、当該メッセージの送信元ノードで、再立ち
上げによる通番の初期化が実施されたことを意味するか
ら、受信通番バージョン番号管理テーブルに通番バージ
ョン番号VERの値をセットした後(1075)、受信
通番管理テーブルの該当エントリーをアクセスし、通番
SEQの値をセットして(1076、1077)、この
ルーチンを終了する。
【0052】上記判定ステップ1078で、もし、最新
受信通番バージョン番号R_VERの値が、受信メッセ
ージに付加された通番バージョン番号VERの値よりも
大きければ、上記受信メッセージは重複メッセージであ
ると判断し、受信メッセージの廃棄処理を行った後(1
083)、このルーチンを終了する。
【0053】以上の説明から明らかなように、第1の実
施例によれば、メッセージ送受信中に送信側ノードがダ
ウンし、通番の初期化が行われとしても、受信側ノード
は重複して受信された複数のメッセージのうち、先着の
メッセージは有効メッセージとして受信処理し、後着の
メッセージのみを廃棄処理できる。尚、上記実施例で
は、システム立ち上げ時にのみ、送信側装置が通番の初
期化を行うことを前提としている。しかしながら、シス
テムの再立ち上げ時以外にも通番の初期化を必要とする
場合は、イニシャル処理タスクをシステムコンソールか
ら起動できるようにしておくことによって対処できる。
【0054】[第2の実施例]第1の実施例では、通番
バージョン番号として、通番初期化の都度更新されるカ
ウンターの値を採用したが、第2に実施例では、通番初
期化時の時刻を通番バージョン番号として用いる。例え
ば、当該ノードがネットワークシステムに組み込まれた
時点からの経過時間を、例えば秒単位でカウントするタ
イマを用意しておき、通番初期化時のタイマの値を通番
バージョン番号として使用する。
【0055】第2実施例を実現するためのシステム構成
は、通番バージョン番号生成用のタイマが各ノード(あ
るいは情報処理装置)に追加されるといいう点を除い
て、第1の実施例と同様である。また、各種テーブルの
構成、イニシャル処理タスク以外のLANブロードキャ
スト送信処理やLANブロードキャスト受信処理、及び
LAN上のメッセージ・フォーマットも、第1の実施例
と同様でよい。
【0056】図13は、タイマの値を通番バージョン番
号として使用する方式における、イニシャル処理タスク
の内容を示すフローチャートである。このタスクが起動
されると、タイマが示す現在時刻を、LAN通番管理テ
ーブル115内の通番バージョン番号にセットする(ス
テップ2001)。その後に実行されるステップ200
2〜2004の処理内容は、図8で説明した第1の実施
例のイニシャル処理タスクにおけるステップ1055〜
1057に内容と同じである。尚、本実施例で必要とす
る通番バージョン番号用のタイマは、停電等に耐えられ
るよう、バッテリでバックアップしておくことが好まし
い。
【0057】[第3の実施例]第1の実施例では、通番
バージョン番号により通番初期化の有無を検知し、通番
によりメッセージの重複を検知するようにしていた。以
下に説明する第3の実施例では、上記通番および通番バ
ージョン番号の代わりに、タイムスタンプを用いる。即
ち、上記第2の実施例と同様、当該ノードをシステムに
組み込んだ時点からの経過時間をカウントするためのタ
イマを用意しておき、送信側装置が、各送信メッセージ
に、上記タイマのカウント値をタイムスタンプとして付
加し、受信側装置が、有効メッセージとしてノード内に
最後に取り込んだメッセージのタイムスタンプと、今回
受信したメッセージのタイムスタンプとを比較すること
により、重複メッセージか否かの判断を行う。この方法
は、単にメッセージの重複受信防止のみが達成されれば
よいような場合に好適である。
【0058】以下、図14〜図19を参照して、その詳
細について説明する。
【0059】システムの構成は、各ノード装置がタイマ
を備えるという点以外は、第1の実施例と同様である。
尚、上記タイマは、停電等に耐えられるように、バッテ
リでバックアップしておくことが好ましい。
【0060】図14は、LAN通番管理テーブル115
の構成を示す。上記LAN通番管理テーブル115は、
図15に示すように、ノード番号対応に用意された複数
のエントリーからなる受信タイムスタンプ管理テーブル
2011を含む。第i番目のエントリーには、ノード番
号iのノードから受信した最期の有効メッセージに付さ
れたタイムスタンプ(以下、これを「受信タイムスタン
プ」と呼ぶ)が記憶される。
【0061】図16は、イニシャル処理タスク106の
機能を示すフローチャートである。このイニシャル処理
タスクでは、第1の実施例と同様、システム立ち上げ時
にOSによって起動され、上記受信タイムスタンプ管理
テーブル2011内の全てのエントリーに初期値 "0”
を設定して(ステップ2021)、処理を終了する。図
17は、通信管理モジュール101が実行する「LAN
ブロードキャスト送信処理」の内容を示すフローチャー
トである。前述の第1の実施例では、通番バージョン番
号と通番とを、それぞれの管理テーブルから読み込んで
いたが(図9のステップ1061〜1062)、この第
3の実施例では、タイマの現在値(以下、この値を「タ
イムスタンプ」と定義する)を読み込み(ステップ20
31)、LANに送出するメッセージの編集処理を行い
(2032)、LAN1、LAN2にメッセージを送出
し(2033)、処理を終了する。ここで、もし、メッ
セージの送信間隔が、タイマの分解能よりも小さくなる
と、異なる複数のメッセージに対して同一のタイムスタ
ンプが付与されることになり、受信側装置が受信処理す
べき有効なメッセージを誤って廃棄処理してしまう畏れ
がある。従って、タイマの分解能は、メッセージの送信
間隔に比較して、十分小さく取っておく必要がある。
【0062】図18は、LANに送信されるメッセージ
のフォーマットを示す。本実施例では、図10に示した
フィールド303と304の代わりに、上記タイムスタ
ンプの値TIMEをセットするためのフィールド204
1を設ける。
【0063】図19は、通信管理モジュール101が実
行する「LANブロードキャスト受信処理」の内容を示
すフローチャートである。この処理は、第1の実施例と
同様、LAN制御装置3i、4iがLANから受信した
メッセージを受信バッファ102に転送したタイミング
で、OS107によって起動される。また、受信メッセ
ージをアクセスするための受信バッファのアドレスと、
メッセージ長とが、起動時のパラメータとして指定され
る。
【0064】LANブロードキャスト受信処理では、ま
ず、起動パラメータに基づいて、受信バッファ102に
格納されている受信メッセージにアクセスし、そのヘッ
ダ部から、送信元アドレスとタイムスタンプとを、それ
ぞれ変数SA、TIMEに読み込む(ステップ205
1)。次に、受信タイムスタンプ管理テーブル2011
内の上記SAと対応するエントリーをアクセスし(20
52)、受信タイムスタンプの値を変数R_TIMEに
読み込み(2053)、その値が "0”か否かをチェッ
クする(2054)。もし、値が "0”の場合は、当該
送信元ノードから、システム立ち上げ後の最初のメッセ
ージを受信したことを意味している。よって、この場合
は、受信タイムスタンプ管理テーブル内の上記アクセス
エントリーに、今回受信したメッセージのタイムスタン
プR_TIMEの値をセットして(2056)、LAN
系業務タスク104の起動処理(2057)を行った
後、このルーチンを終了する。
【0065】上記判定ステップ2054において、も
し、R_TIMEの値が"0"でない場合は、受信メッセ
ージのタイムスタンプTIMEと、受信タイムスタンプ
R_TIMEとを比較する(2055)。もし、TIM
Eの値がR_TIMEの値より大きければ、上記受信メ
ッセージは初めて受信する有効メッセージであると判断
し、上記受信タイムスタンプ管理テーブルの更新処理
(2056)と、LAN系業務タスクの起動処理(20
57)を行った後、このルーチンを終了する。一方、T
IMEの値がR_TIMEの値と等しいか、或いは、小
さい場合は、今回の受信メッセージは、既に受信済のメ
ッセージと同一のものであると判断し、受信メッセージ
を廃棄(2058)した後、このルーチンを終了する。
【0066】以上のように、各ノードが複数のLANに
冗長にメッセージを送信するようにした通信方式におい
て、各送信メッセージにタイムスタンプを付加するよう
にすると、受信側では受信メッセージのタイムスタンプ
の値から、先着メッセージのみをノード内に取り込み、
後着の重複メッセージを廃棄することができる。
【0067】
【発明の効果】本発明によれば、複数の通信経路で接続
された情報処理装置間のメッセージ送受信において、送
信側は同一通番を付与したメッセージを複数の通信経路
に送出し、受信側は通番比較によって先着メッセージの
みを処理装置内に取り込む場合に、送信側の情報処理装
置がダウン等で通番を初期化したとしても、受信側は送
信側が再立ち上げ後に送出したメッセージを正しく受信
することができる。よって、従来に比べて、より高信頼
なメッセージ通信が可能となる。
【0068】また、再立ち上げ後、通番初期化を他の情
報処理装置に通知するための制御メッセージの送受信プ
ロトコルが不要であり、よって通信処理がより簡単に実
現できる。
【図面の簡単な説明】
【図1】本発明によるメッセージ通信制御の概要を説明
するためのメッセージ・シーケンスを示す図。
【図2】本発明のメッセージ通信制御が適用されるネッ
トワークシステムの1例を示す図。
【図3】ネットワークを構成するノード1iのソフトウ
エアの構成を示す図。
【図4】LAN通信管理テーブル114の構成を示す
図。
【図5】LAN通番管理テーブル115の構成を示す
図。
【図6】受信通番バージョン管理テーブル1151の構
成を示す図。
【図7】受信通番管理テーブル1170の構成を示す
図。
【図8】イニシャル処理タスク105の機能を示すフロ
ーチャート。
【図9】LANブロードキャスト送信処理モジュールの
機能を示すフローチャート。
【図10】LANメッセージのフォーマットの1例を示
す図。
【図11】LANブロードキャスト受信処理モジュール
の機能を示すフローチャート。
【図12】従来のメッセージ通信制御方法を説明するた
めのメッセージ・シーケンスを示す図。
【図13】本発明の第2の実施例におけるイニシャル処
理タスクの機能を示すフローチャート。
【図14】本発明の第3の実施例におけるLAN通番管
理テーブルの構成を示す図。
【図15】本発明の第3の実施例における受信タイムス
タンプ管理テーブルの構成を示す図。
【図16】本発明の第3の実施例におけるイニシャル処
理タスクの機能を示すフローチャート。
【図17】本発明の第3の実施例におけるLANブロー
ドキャスト送信処理モジュールの機能を示すフローチャ
ート。
【図18】本発明の第3の実施例におけるLANメッセ
ージのフォーマットを示す図。
【図19】本発明の第3の実施例におけるLANブロー
ドキャスト受信処理モジュールの機能を示すフローチャ
ート。
【符号の説明】
V_SEQ…通番バージョン番号、SEQ…送信通番、
ML…メッセージ長、SA…送信元ノード番号、VER
…バージョン番号、DATA…データ本体、R_VER
…受信通番バージョン番号、R_SEQ…受信通番、T
IME…タイムスタンプ、R_TIME…受信タイムス
タンプ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 綿谷 洋 茨城県日立市大みか町五丁目2番1号 株式会社日立製作所大みか工場内 (72)発明者 片岡 健二 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 中村 勤 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 菊池 久雄 茨城県日立市大みか町5丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (72)発明者 都筑 治男 茨城県日立市大みか町5丁目2番1号 日立プロセスコンピュータエンジニアリ ング株式会社内 (56)参考文献 特開 平1−208050(JP,A) 特開 平2−217951(JP,A) 特開 昭64−44148(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/28 H04L 29/08

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】送信側の装置と受信側の装置とがネットワ
    ークを介してメッセージを送受信するメッセージ通信方
    法であって、 前記送信側の装置が、メッセージ送信の都度更新される
    通番と、通番初期化までは維持され通番初期化が行なわ
    れる毎に更新される通番バージョン番号とを、各送信メ
    ッセージに付加して前記ネットワークに送出し、 前記受信側の装置が、非重複メッセージとして受信処理
    した最新の受信メッセージに付されている通番と通番バ
    ージョン番号とを、それぞれ、受信通番および受信通番
    バージョン番号として記憶しておき、上記ネットワーク
    から新たなメッセージを受信した場合に、該受信メッセ
    ージに付されている通番バージョン番号と記憶している
    前記受信通番バージョン番号とを比較し、前記新たな受
    信メッセージの通番バージョン番号が前記記憶している
    受信通番バージョン番号よりも新しい場合には、前記受
    信メッセージを非重複メッセージと判断し、前記新たな
    受信メッセージの通番バージョン番号が前記記憶してい
    る受信通番バージョン番号と同じ場合は、前記新たな受
    信メッセージの通番と前記記憶している受信通番との比
    較結果により、上記新たな受信メッセージが重複メッセ
    ージか否かを判断することを特徴とするメッセージ通信
    制御方法。
  2. 【請求項2】1つ以上の送信側の装置と受信側の装置と
    が複数の通信路を介してメッセージを送受信するメッセ
    ージ通信方法であって、 前記送信側の装置が、メッセージを送信するごとにカウ
    ントアップされる通番と、通番の初期化までは維持され
    通番の初期化の都度更新される通番バージョン番号とを
    付加した送信メッセージを、上記複数の通信路のそれぞ
    れに送出し、 前記受信側の装置が、前記送信側装置別に最新の有効受
    信メッセージの通番と通番バージョン番号の値を、それ
    ぞれ受信通番と受信通番バージョン番号として記憶し、 上記何れかの通信路からの新たなメッセージの受信の都
    度、該新たな受信メッセージの通番バージョン番号を、
    前記送信側装置別の受信通番バージョンと比較し、 不一致の場合は、該新たな受信メッセージを有効メッセ
    ージと判断して当該受信側の装置内に取り込み、 一致する場合は、該新たな受信メッセージの通番を対応
    する受信通番と比較することによって、該受信メッセー
    ジが既受信メッセージと重複して受信されたものか否か
    の判断を行うことを特徴とするメッセージ通信制御方
    法。
  3. 【請求項3】請求項1、または2に記載のメッセージ通
    信制御方法において、 前記送信側の装置が、前記通番バージョン番号を不揮発
    性記憶媒体に記憶しておき、 前記通番の初期化時に、上記不揮発性記憶媒体に記憶さ
    れている通番バージョン番号を更新し、 該更新された通番バージョン番号を、その後の送信メッ
    セージに付加することを特徴とするメッセージ通信制御
    方法。
  4. 【請求項4】特許請求項1、または2に記載のメッセー
    ジ通信制御方法において、 前記通番バージョン番号として、通番の初期化の都度カ
    ウントアップされる数値を適用することを特徴とするメ
    ッセージ通信制御方法。
  5. 【請求項5】特許請求項1、または2に記載のメッセー
    ジ通信制御方法において、 前記通番バージョン番号として、通番の初期化の時刻を
    示す情報を適用することを特徴とするメッセージ通信制
    御方法。
  6. 【請求項6】複数の情報処理装置が一つ以上の通信経路
    を有する通信媒体を介してメッセージを送受する通信シ
    ステムにおいて、 メッセージの送信側となる情報処理装置が、送信メッセ
    ージに付与する通番と、前記通番初期化までは維持され
    上記通番を初期化する毎に更新される通番バージョン番
    号とを生成するための手段と、上記通番と通番バージョ
    ン番号とを各送信メッセージに付加するための手段と、
    上記各送信メッセージを上記通信経路のそれぞれに送出
    するための手段を有し、 メッセージの受信側となる情報処理装置が、上記通信経
    路からメッセージを受信するための手段と、上記受信手
    段で受信されたメッセージのうち、当該情報処理装置内
    に取り込まれた最新の受信メッセージに付加されていた
    通番と通番バージョン番号の値を、それぞれ受信通番お
    よび受信通番バージョン番号として、送信側情報処理装
    置別に記憶する手段と、上記受信手段で受信された新た
    なメッセージについて、送信側情報処理装置別に、該受
    信メッセージに付加されている通番バージョン番号と上
    記記憶手段に記憶されている受信通番バージョンとを比
    較し、該新たな受信メッセージの通番バージョン番号が
    上記受信通番バージョン番号より新しい場合は、該受信
    メッセージを情報処理装置内に取り込み、上記新たな受
    信メッセージの通番バージョン番号と上記受信通番バー
    ジョン番号とが一致する場合は、該新たな受信メッセー
    ジの通番と上記受信通番との比較結果に応じて、該新た
    な受信メッセージを情報処理装置内に取り込むか否かを
    判断する手段を有することを特徴とする通信システム。
JP24729691A 1991-09-26 1991-09-26 メッセージ通信制御方法および通信システム Expired - Fee Related JP3304365B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24729691A JP3304365B2 (ja) 1991-09-26 1991-09-26 メッセージ通信制御方法および通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24729691A JP3304365B2 (ja) 1991-09-26 1991-09-26 メッセージ通信制御方法および通信システム

Publications (2)

Publication Number Publication Date
JPH0591108A JPH0591108A (ja) 1993-04-09
JP3304365B2 true JP3304365B2 (ja) 2002-07-22

Family

ID=17161323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24729691A Expired - Fee Related JP3304365B2 (ja) 1991-09-26 1991-09-26 メッセージ通信制御方法および通信システム

Country Status (1)

Country Link
JP (1) JP3304365B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9400228A (nl) * 1994-02-15 1995-09-01 Stichting Regionale Kabeltelev Werkwijze en inrichting voor ontvangstcontrole bij datatransmissie.
JPH10262093A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd 伝送制御方法
JP4098434B2 (ja) * 1999-03-10 2008-06-11 株式会社東芝 同報伝送方式
US6765893B1 (en) * 2000-03-31 2004-07-20 Qualcomm Incorporated Dynamic recognition of an empty general paging message
JP2008211682A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd 受信プログラム、送信プログラム、送受信システム、および送受信方法
JP5900509B2 (ja) * 2011-12-06 2016-04-06 富士通株式会社 ノード、通信方法、および通信システム
JP6555209B2 (ja) 2015-08-07 2019-08-07 株式会社デンソー 通信システム、管理ノード、通信ノード、カウンタ同期方法、カウント値配信方法、カウント値初期化方法、プログラム、記録媒体
WO2017026361A1 (ja) * 2015-08-07 2017-02-16 株式会社デンソー 通信システム、管理ノード、通常ノード、カウンタ同期方法、プログラム、記録媒体

Also Published As

Publication number Publication date
JPH0591108A (ja) 1993-04-09

Similar Documents

Publication Publication Date Title
Amir et al. Membership algorithms for multicast communication groups
US6901580B2 (en) Configuration parameter sequencing and sequencer
JP2698336B2 (ja) デジタルデータ処理システムのためのローカルエリアネットワークに用いるノード
US6247141B1 (en) Protocol for providing replicated servers in a client-server system
EP0074864B1 (en) System and method for name-lookup in a local area network data communication system
CN100399282C (zh) 智能网络适配器的状态恢复及故障修复
US5396613A (en) Method and system for error recovery for cascaded servers
US7231406B2 (en) Fault-tolerant queue with autonomous client operation
US7107481B2 (en) Server takeover system and method
EP1125207B1 (en) Bi-directional process-to-process byte stream protocol
WO1991014230A1 (en) Message communication processing system
US9614646B2 (en) Method and system for robust message retransmission
JP2011171867A (ja) メールシステムにおけるデータストアサーバのデータ格納方法およびメール中継方法
JP3304365B2 (ja) メッセージ通信制御方法および通信システム
US8301750B2 (en) Apparatus, system, and method for facilitating communication between an enterprise information system and a client
CN112118322A (zh) 一种网络设备的数据同步方法、网络设备及系统
JP4071098B2 (ja) ネットワークフィルタドライバのためのアーキテクチャおよびランタイム環境
JPH09259096A (ja) ネットワーク高信頼化方式及びシステム
US6230283B1 (en) Logical connection resynchronization
JP3730545B2 (ja) サービス制御アプリケーション実行方法及びシステム
CN114615284A (zh) 集群内消息通知方法、接收方法及装置
Cisco Channel Interface Processor Microcode Release Note and Microcode Upgrade Requirements
Cisco Channel Interface Processor Microcode Release Note and Microcode Upgrade Requirements
US6237111B1 (en) Method for logical connection resynchronization
JP3088683B2 (ja) データ通信システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080510

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090510

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100510

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110510

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees