JP3732671B2 - Transmission device, transmission method, and recording medium recording transmission software - Google Patents
Transmission device, transmission method, and recording medium recording transmission software Download PDFInfo
- Publication number
- JP3732671B2 JP3732671B2 JP05775399A JP5775399A JP3732671B2 JP 3732671 B2 JP3732671 B2 JP 3732671B2 JP 05775399 A JP05775399 A JP 05775399A JP 5775399 A JP5775399 A JP 5775399A JP 3732671 B2 JP3732671 B2 JP 3732671B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- transmission
- retransmission
- time
- minimum
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims description 187
- 238000000034 method Methods 0.000 title claims description 36
- 238000004891 communication Methods 0.000 claims description 72
- 230000014759 maintenance of location Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 16
- 238000005259 measurement Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、分散システムにおけるマルチキャスト通信に関する技術の改良にかかわるもので、より具体的には、送信メッセージの再送用控えを保持する期間を保証することで、優れた信頼性でメッセージ通信を行うようにしたものである。
【0002】
【従来の技術】
近年、コンピュータ技術の普及に伴い、複数の計算機をローカルエリアネットワーク(LAN)などの通信路で結合した分散システムが普及しつつあり、このような分散システムに接続された各計算機やその通信装置の間で、マルチキャストによってメッセージを交換する例も知られている。
【0003】
そして、マルチキャストでは、従来のユニキャストと異なり、すべての受信装置が受信した事の確認が困難であり、メッセージの到達を保証するためには、次のような手法が用いられる。すなわち、送信側の送信装置では、通し番号の役割を果たす情報(通信カウントと呼ぶ)を各メッセージに付加して送信するとともに、送信したメッセージの再送用控えを有限のバッファなどの記憶領域に保存する。
【0004】
そして、受信側の受信装置では、受信したメッセージに付加されている通信カウントに抜けが生じた場合、抜けた番号のメッセージを送信側に再送要求し、送信側では保存している再送用控えに基づいてメッセージを再送する。
【0005】
この場合、送信側では、記憶領域も有限であるため、新しいメッセージを送信するたびに、最も古い再送用控えから順次消去することで、新しい再送用控えの記憶領域を確保していた。
【0006】
【発明が解決しようとする課題】
しかしながら、上記のような従来技術では、単位時間あたりに送信されるメッセージの数が多いほど、各メッセージの再送用控えは、新しいメッセージの再送用控えの記憶領域を確保するため、短時間に消去されていた。この場合、通信量や再送の頻度によっては、メッセージが短時間で削除されるため再送要求に応じることができず、通信の信頼性が低下する可能性があった。
【0007】
特に、再送要求が発生するような場合は、そもそもネットワークや受信装置の負荷が高くなっている場合が多く、再送されたメッセージや、再送要求されたメッセージ以降のメッセージも紛失する可能性も高く、信頼性の向上が潜在的に望まれていた。また、従来技術では、このように負荷が高いときでも新規メッセージの送受信が制限されないため、通信の流量を制御するのが困難という問題点もあった。
【0008】
なお、これらの問題点を解決するためには、前のメッセージを送信してから少なくとも一定時間以上あけてから次のメッセージを送信することも考えられるが、この場合は応答性が悪くなるという問題点があった。
【0009】
この発明は、上記のような従来技術の問題点を解決するために提案されたもので、その目的は、送信メッセージの再送用控えを保持する期間を保証することで、優れた信頼性でメッセージ通信を行う送信装置、送信方法及び送信用ソフトウェアを記録した記録媒体を提供することである。
【0010】
【課題を解決するための手段】
上記の目的を達成するため、請求項1の発明は、ネットワークによって接続される複数の受信装置にメッセージをマルチキャスト送信するための送信装置において、各メッセージを、送信順序を示す情報である通信カウントとともに前記各受信装置に送信するための手段と、送信した各メッセージごとに、再送用控えとそのメッセージの発信時刻とそのメッセージの保持最小期間とを対応付けて記憶するための記憶手段と、メッセージの再送要求を前記受信装置から受信するための受信手段と、前記再送要求に応じて、記憶されている再送用控えに基づいてメッセージを再送するための手段と、新しいメッセージを送信しようとするときに、現在時刻と前記記憶手段に記憶される最も古い発信時刻とその発信時刻に対応付けて記憶される保持最小期間とに基づいて、その最も古い発信時刻に対応する再送用控えがその保持最小期間を経過しているか否かを判定し、判定された前記再送用控えの前記保持最小期間が経過するまでの間はその新しいメッセージの送信を抑止するための手段と、記憶されている再送用控えに基づいてメッセージを再送した場合に、再送に係るメッセージの前記保持最小期間を、予め決められた時間だけ延長するための手段とを備えたことを特徴とする。また、請求項4の発明は請求項1の発明を方法という見方から、請求項7は請求項1の発明をソフトウェアを記録した記録媒体の見方からとらえたものである。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態(以下「実施形態」という)について図面を参照しながら説明する。なお、本発明は、周辺機器を持つコンピュータを、ソフトウェアで制御することによって実現されることが一般的と考えられる。この場合、そのソフトウェアは、この明細書の記載にしたがった命令を組み合わせることで作られ、上に述べた従来技術と共通の部分には従来技術で説明した手法も使われる。また、そのソフトウェアは、プログラムコードだけでなく、プログラムコードの実行のときに使うために予め用意されたデータも含む。
【0015】
そして、そのソフトウェアは、CPU、コプロセッサ、各種チップセットといった処理装置、キーボードやマウスといった入力装置、メモリやハードディスク装置といった記憶装置、ディスプレイやプリンタといった出力装置などの物理的な資源を活用することで本発明の作用効果を実現する。
【0016】
但し、本発明を実現する具体的なソフトウェアやハードウェアの構成はいろいろ変更することができる。例えば、ソフトウェアの形式には、コンパイラ、インタプリタ、アセンブラなどいろいろあり、外部との情報をやり取りするにも、フロッピーディスクなどの着脱可能な記録媒体などいろいろ考えられる。また、本発明を実現するソフトウェアやプログラムを記録したCD−ROMのような記録媒体は、単独でも本発明の一態様である。さらに、本発明の機能の一部をLSIなどの物理的な電子回路で実現することも可能である。
【0017】
以上のように、コンピュータを使って本発明を実現する態様はいろいろ考えられるので、以下では、本発明や実施形態に含まれる個々の機能を実現する仮想的回路ブロックを使って、本発明と実施形態とを説明する。
【0018】
〔1.構成〕
〔1−1.分散システムの構成〕
図1は、本発明の適用対象となる分散システムの一例を示すものである。すなわち、この分散システムは、3つの計算機1a,1b,1cが、通信路であるローカルエリアネットワーク(LANと表す)によって接続されたもので、ある計算機から送信されたメッセージは、3つの計算機すべてに対して放送、ないしマルチキャストされる。
【0019】
また、図2は、本発明の適用対象となる分散システムの他の例を示すものである。この分散システムは、複数の部分ネットワークN1,N2,N3が、Gatewayやルータを介して相互に接続され、個々のネットワークN1,N2,N3に、それぞれ複数の計算機Cが接続されている。この例では、ネットワークN1,N2,N3にまたがって、複数の計算機C間でマルチキャストによる通信が行われる。
【0020】
そして、同じネットワークN1,N2又はN3に接続された各計算機Cには、同一のマルチキャストアドレスが振られており、論理的には図1と同様の環境で通信しあっていると見なすことができる。このため、以下では、図1のような分散システムを前提として説明を行なう。
【0021】
〔1−2.メッセージ送信のための構成〕
まず、図3は、図1及び図2に例示したようなネットワークに接続された計算機のうち、メッセージを送信する計算機の構成例を示す機能ブロック図である。すなわち、メッセージの送信を行う計算機1は、ネットワークによって接続される複数の受信装置にメッセージをマルチキャスト送信するための送信装置であり、本体処理部11と送信処理部12とを備えている。
【0022】
このうち本体処理部11は、計算機1上で動作するアプリケーションプログラムなどのプログラムを実行することによって情報処理を行う部分であり、このようなプログラムなど、メッセージ送信を依頼する側の部分をメッセージ処理部311と表す。また、送信処理部12は、本体処理部11内のプログラムからの送信要求に基づいて、ネットワークや他の計算機に対してメッセージを送信するための部分である。
【0023】
なお、このようなメッセージ送信のための送信処理部12を備えた計算機を送信装置又は送信側と呼び、送信されたメッセージを受信するための構成を備えた計算機を受信装置又は受信側と呼ぶ。
【0024】
また、この送信処理部12は、受信を行う計算機に設けられた受信装置にメッセージが到達しなかった場合、ネットワークを介してその受信装置から送られるメッセージ再送要求を受信し、送信処理部12内で当該メッセージの再送処理を行うことによって、メッセージの到達を本体処理部11に対して保証するように構成されている。
【0025】
すなわち、送信処理部12は、メッセージ送信部301と、再送要求受信部302と、通信カウント管理部303と、送信メッセージ記憶部304と、再送部305と、往復時間計測部306と、往復時間記録部307と、期間延長部308と、現在時刻計測部309と、抑止部310と、を備えている。
【0026】
このうち、通信カウント管理部303は、送信されるメッセージ(送信メッセージと呼ぶ)ごとに、送信順序を示す情報である通信カウントを提供する部分であり、メッセージ送信部301は、メッセージをこの通信カウントととも各受信装置に送信するための手段である。また、送信メッセージ記憶部304は、送信した各メッセージごとに、メッセージ本体などの再送用控えとそれに対応する保持最小期間とを記憶するための送信メッセージ記憶手段である。
【0027】
また、再送要求受信部302は、メッセージの再送要求を前記受信装置から受信するための受信手段であり、再送部305は、前記再送要求に応じ、送信メッセージ記憶部304に記憶されている再送用控えに基づいてメッセージを再送するための手段である。
【0028】
また、抑止部310は、新しいメッセージを送信しようとするときに、送信メッセージ記憶部304において、前記保持最小期間未了の再送用控えを消去しないとその新しいメッセージの再送用控えを記憶できない場合に、その新しいメッセージの送信を抑止するための手段である。
【0029】
また、期間延長部308は、再送に係るメッセージの前記保持最小期間を、予め決められた時間だけ延長するための手段である。なお、往復時間計測部306及び往復時間記録部307は、メッセージ及び再送要求の往復時間に基づいて、メッセージの保持最小期間を延長する場合に、設けるか又は活動状態にする必要がある部分で、予め決められた期間すなわち既定値分の延長のみを行う場合には省く事ができる。
【0030】
すなわち、往復時間計測部306は、再送要求の発信時刻と、その再送要求に係るメッセージの発信時刻とに基づいて、メッセージ及び再送要求の往復時間を計測するための手段であり、この場合、期間延長部308は、再送要求に係るメッセージの保持最小期間を、計測された往復時間に基づいて延長するための手段として構成される。
【0031】
また、往復時間記録部307は、計測された往復時間の履歴を記憶するための手段であり、この場合、期間延長部308は、例えば、再送に係るメッセージの保持最小期間を、少なくとも、往復時間記録部307に履歴として記憶されている各往復時間の平均値だけ延長するように構成される。また、現在時刻計測部309は、上記のような往復時間の計測などのために、システム内蔵時計などを使って現在時刻を得るための部分である。
【0032】
〔1−3.メッセージ受信のための構成〕
次に、図4は、図1及び図2に例示したようなネットワークに接続された計算機のうち、メッセージを受信する計算機の構成例を示す機能ブロック図である。すなわち、計算機2は、本体処理部21と受信処理部22とを備え、本体処理部21には、計算機上で動作するプログラムなどによって、受信したメッセージに基づいて情報処理を行うメッセージ処理部407が実現されている。
【0033】
また、受信処理部22は、ネットワークからメッセージを受信し、本体処理部21のメッセージ処理部407へメッセージを渡し、メッセージの抜けを検出した場合には、受信処理部22から当該メッセージの再送要求を送信装置へ送るように構成されている。
【0034】
具体的には、受信処理部22は、メッセージ受信部401と、メッセージ抜け検出部403と、メッセージ順序調整部404と、受信履歴記憶部405と、受信メッセージ退避記憶部406と、再送要求送信部402と、を備えている。このうちメッセージ受信部401は、送信されたメッセージをネットワークから受信する部分であり、受信履歴記憶部405は、受信したメッセージの通信カウントの履歴を記憶するための部分である。
【0035】
また、メッセージ抜け検出部403は、受信したメッセージの通信カウントと、それまでに受信したメッセージについて受信履歴記憶部405に記憶されている通信カウントの受信履歴と、に基づいて、送信されたが受信していないメッセージ、すなわちメッセージの抜けを検出するための手段である。
【0036】
すなわち、このようにメッセージが抜けたことは、直前に受信したメッセージから見て、通信カウントが1つ以上とんだ後のメッセージが受信されたことによって検出されるが、受信メッセージ退避記憶部406は、このように通信カウントが1つとんでいる後のメッセージ及びそれに続くメッセージを記憶することによって退避させておく部分である。
【0037】
また、メッセージ順序調整部404は、メッセージの順序を調整するための部分であり、再送要求送信部402は、受信していないメッセージについて、送信側の送信装置に再送要求するための手段である。
【0038】
なお、図3に示した送信装置及び図4に示した受信装置とは、あわせて通信システムを構成しており、また、図1及び図2に示したような分散システムに含まれる各計算機の全部又は一部が、図3に示したメッセージ送信のための構成と、図4に示したメッセージ受信のための構成の両方を備えることも考えられる。
【0039】
〔2.データ構造〕
次に、上記のような本実施形態において、メッセージや再送要求のやり取りや、その他の情報の記憶に用いられるデータ構造の例を示す。
〔2−1.送信メッセージの構造〕
まず、送信装置から送信されるメッセージである送信メッセージの構造の例を図5に示す。すなわち、通信カウント500には、メッセージ送信の順序を表す情報として、その送信装置から何度目に送信されたメッセージであるかを表す通信カウントが登録される。また、送信装置ID501には、当該メッセージがどの送信装置から送信されたものであるかを表す送信元情報が登録され、例えば、送信元情報の具体例として、送信元計算機IDなどが考えられる。
【0040】
また、発信時刻502は、メッセージを発信する際に現在時刻が登録される。また、メッセージ本体503には、送信装置から受信装置へ送られる情報であるメッセージの本体が登録される。なお、メッセージの再送をする場合には、発信時刻502としては、そのメッセージが最初に送信された発信時刻ではなく、再送を行う際の現在時刻が登録される。
【0041】
〔2−2.再送要求の構造〕
また、図6は、受信装置から送信装置に送られる再送要求の構造の例を示す図である。すなわち、送信装置ID600には、受信装置が受信したメッセージを送信した送信装置の送信装置ID501が登録される。また、受信メッセージ発信時刻601は、往復時間を測定する場合にのみ必要なもので、受信装置が受信した最新のメッセージの発信時刻502が登録され、あるいは、このような発信時刻に対して、受信装置が最後にメッセージを受信した時刻から再送要求を発信する時刻を引いた値を加えて補正した時刻が、登録される。この補正により、送信装置は、再送要求の受信時刻から、再送要求中の受信メッセージ発信時刻を引く事で往復時間を算出することができる。
【0042】
なお、図5中の発信時刻502と図6中の受信メッセージ発信時刻601は、メッセージの往復時間を測定する場合にのみ使用されるため、送信メッセージ記憶部304のメッセージ保持最小期間を延長する際に、メッセージと再送要求との往復時間を使用する場合のみ必要であり、既定値の延長のみを行う場合には省く事ができる。
【0043】
〔2−3.送信メッセージを記憶する場合の構造〕
また、図7は、図3中の送信メッセージ記憶部304に記憶される情報の構造の例を示す図である。このうち(a)は、メッセージの本体を取り出して送信メッセージ記憶部304に記憶させる場合の例であり、(b)は、送信メッセージ記憶部304に、図5に示した構造のメッセージをそっくりそのまま記憶させる場合の例である。
【0044】
いずれの場合でも、送信メッセージ記憶部304内のデータ構造は、複数のメッセージを登録できる構造を持ち、古いメッセージ領域から順に再利用される構造となっているものとする。なお、メッセージは、メッセージ送信部301から送信される際に、この送信メッセージ記憶部304に登録される。
【0045】
まず、図7(a)の場合、通信カウント700aには、通信カウントとして、送信装置からのメッセージ送信回数が登録される。また、発信時刻701aには当該メッセージを送信した時刻が登録される。なお、メッセージを再送する場合、発信時刻701aには、1回目の送信時刻を登録する場合と、再送時の現在時刻を登録する場合とが考えられる。
【0046】
また、メッセージ保持最小期間は、そのメッセージをいつまで消去しないで保持するかの最小期間が登録される。また、メッセージ本体703aには、図5のメッセージ構造のうち、送信するメッセージ本体503を登録する。
【0047】
一方、図7(b)は、図7(a)のメッセージ保持最小期間702aに対応するメッセージ保持最小期間700bの他に、メッセージ本体503など送信メッセージに含まれる個々の要素を記録する代わりに、図5に例示したようなメッセージ構造を、そっくりそのまま記憶する場合の例である。
【0048】
このメッセージ構造には、図5に示したIPアドレスのような送信装置ID501なども含まれる。また、この例では、図7の通信カウント700a及び発信時刻701aに代えて、それぞれ、メッセージ構造701b内に、図5に示したような通信カウント500と発信時刻502とが、入れ子になって記憶されることになる。
【0049】
〔2−4.受信履歴の構造〕
また、図8は、図4に示した受信履歴記憶部405に記憶される情報の構造の例を示し、具体的には、図5に示した受信メッセージの通信カウント500と送信装置ID501とが、それぞれ、通信カウント801及び送信装置ID800というペアになって記憶されている。
【0050】
ただし、ある送信装置から受信したメッセージの通信カウント500が、その送信装置について登録されている最新の通信カウント801に1を足したものでない場合には、メッセージ抜け検出部403によってメッセージに抜けが生じたと判定されるが、この場合、通信カウント801は更新されないものとする。
【0051】
〔2−5.往復時間を記録する場合の構造〕
また、図9は、図3に示した往復時間記録部307に記録される情報の構造の例を示すものである。すなわち、往復時間記録部307には、往復時間計測部306により計算された往復時間901が、受信装置ID900ごとに登録される。そして、このうち往復時間901としては、最新の計測された往復時間を、あるいは、記憶された時刻と計測値の加重平均を、あるいは、一定個数の最新の計測値の履歴を、記憶するものとする。
【0052】
〔3.作用〕
以上のように構成された本実施形態は、以下のように作用する。なお、送信メッセージ記憶部304は、図7(a)に例示したデータ構造を持つものとする。
【0053】
〔3−1.メッセージ送信に関する手順〕
まず、図10は、メッセージの送信に関する処理手順の一例を示すフローチャートである。すなわち、メッセージ処理部311は、他の計算機にメッセージを送信しようとするときは、メッセージの送信要求をメッセージ送信部301に送り、この送信要求を受けたメッセージ送信部301は、図10に示す手順を実行する。
【0054】
この手順では、まず、メッセージ送信部301は、送信メッセージ記憶部304(送信メッセージ記憶手段)から、最も古い発信時刻701aをもつ領域を読み出すなどして確保する(ステップ1001)。
【0055】
続いて、抑止部310が、現在時刻をシステム内蔵時計などから受け取り、当該領域の発信時刻701aからメッセージ保持最小期間702aが既に経過しているかどうかを判定する(ステップ1002)。この結果、保持最小期間がまだ経過していなければ、抑止部310はメッセージ送信部301に対して、その保持最小期間が経過するまで送信を行わずに待機させ(ステップ1003)、この間は、他の送信要求も受け付けられないものとする。
【0056】
また、この待機が終了した後、及びステップ1002の判定においてすでに保持最小期間が経過していた場合は、確保していた上記メッセージ領域から最古のメッセージ703aを消去することによって(ステップ1004)、新しく送信するメッセージを記憶するための領域とする。
【0057】
そして、このように送信メッセージ記憶部304(送信メッセージ記憶手段)に確保された領域に、新しく送信するメッセージとそれに関する他の情報を登録する(ステップ1005)。より具体的には、メッセージ構造のうち、メッセージ本体703aには送信するメッセージ本体を、また、当該領域の通信カウント700aには送信装置の通信カウント管理部303によって決定された通信カウントの値を、また、発信時刻701aには上記のシステム内蔵時計などから得られる現在時刻を登録する。さらに、メッセージ保持最小期間702aには、既定の値、例えば10秒を登録する。
【0058】
また、メッセージ送信部301は、実際に送信対象となるメッセージ構造に、メッセージ本体など必要な情報をセットする(ステップ1006)。例えば、図5に示したメッセージ構造の場合、通信カウント500には、送信メッセージ記憶部304に記憶した通信カウント700aの値、あるいは、通信カウント管理部303から再読み出しした通信カウントの値をセットする。
【0059】
また、送信装置ID501には送信装置のIPアドレスのような識別子を、発信時刻502には、送信メッセージ記憶部304に登録した発信時刻701a、あるいは、改めてシステム内蔵時計などから受け取った現在時刻を登録する。また、発信しようとするメッセージ本体はメッセージ本体503にセットする。
【0060】
なお、上記のような送信メッセージ記憶部304への登録(ステップ1005)と、送信するメッセージ構造の作成(ステップ1006)のどちらを先に行うかの順序は自由であり、図7(b)の例では、メッセージ構造の作成(ステップ1006)を先に行うが、逆の順序で行うことも可能である。
【0061】
そして、送信装置では、通信カウント管理部303の通信カウントは1を加え(ステップ1007)、通信路へ当該メッセージ構造を送信する(ステップ1008)。
【0062】
〔3−2.メッセージの受信と再送要求の手順〕
次に、上記のように送信されたメッセージを受信装置が受信し、メッセージの処理や再送要求を行う手順を図11のフローチャートに示す。すなわち、この手順では、メッセージ受信部401がメッセージを受信すると(ステップ1101)、メッセージ抜け検出部403が、受信メッセージの通信カウントと、受信メッセージの送信装置IDごとに受信履歴記憶部405に記憶されている通信カウントと、を比較することによって、メッセージが抜けたかどうかを判定する(ステップ1102)。
【0063】
ここで、受信メッセージがすでに受信済みであった場合、受信メッセージは破棄され(ステップ1103)、手順は終了する。このようにすでに受信済みのメッセージを受信する場合としては、ある受信装置にとって受信済のメッセージが、同じマルチキャストアドレスを持つ他の受信装置からの再送要求にしたがって、再度マルチキャストされた場合などが考えられる。
【0064】
また、ステップ1102の判定において、受信メッセージに抜けがあった場合、再送すべき通信カウントを抽出(ステップ1109)して再送要求を送信し(ステップ1111)、ステップ1101で受信したメッセージを受信メッセージ退避記憶部406に記憶し(ステップ1112)、手順を終了する。
【0065】
なお、メッセージ順序調整部404の役割としては、メッセージの紛失や再送などにより、送信された順序でメッセージを受け取れなかった場合に、メッセージ処理部407に、送信された順序でメッセージを渡すことが考えられる。
【0066】
また、ステップ1102において、受信メッセージに抜けが無いと判定された場合、受信メッセージはメッセージ処理部407に渡され、処理される(ステップ1104)。また、この場合、受信履歴記憶部405に記憶された通信カウント801には1が加えられる(ステップ1105)。
【0067】
なお、受信メッセージ退避記憶部406に所望の退避メッセージ、すなわちメッセージ処理部407が次に処理すべきメッセージがあれば(ステップ1106)、そのメッセージについては、メッセージIDなどに応じた処理を行い(ステップ1107)、そのたびに通信カウント801に1を加える(ステップ1108)という手順が、所望のメッセージがなくなるまで繰り返される(ステップ1106)。
【0068】
すなわち、再送要求は、あるメッセージとその後に届いた次のメッセージの通信カウントが、1以上とんでいた場合に送信されるので、再送要求の際に、前記次のメッセージは受信メッセージ退避記憶部406に記憶すなわち退避される(ステップ1112)。
【0069】
そして、このように退避された次のメッセージが処理可能になるのは、通信カウントのとんでいる部分のメッセージが再送要求にしたがって受信され、ステップ1104で処理された後である。このため、ステップ1104で受信メッセージを処理した後、ステップ1106から1108の手順で、退避しておいたメッセージを処理しているものである。
【0070】
〔3−3.メッセージ再送に関する手順の例〕
次に、上記のように送信される再送要求に応じて、送信装置がメッセージを再送する手順の一例を図12に示す。なお、ここでは、往復時刻を計測することなく、再送に係るメッセージの保持最小期間を予め決められた既定値だけ延長する例を示すため、ステップ1202はないものとし、ステップ1202については、後に示す他の例で説明する。
【0071】
すなわち、この手順では、まず、再送要求受信部302が、図6の構造を持つメッセージ再送要求を受信すると(ステップ1201)、受信した送信装置の再送部305は、その再送要求が当該送信装置宛てかどうかを、再送要求中の送信装置ID600に基づいて判定する(ステップ1203)。この判定において、再送要求がその送信装置以外の他の送信装置宛ての場合は、再送要求を破棄するのみで(ステップ1208)、手順を終了する。
【0072】
一方、再送要求が自分宛てすなわち当該送信装置宛ての場合(ステップ1203)、再送部305は、送信メッセージ記憶部304(送信メッセージ記憶手段)から、所望のメッセージ、すなわち再送要求で指定されている通信カウント602と同じ通信カウント700aを持つメッセージを検索する(ステップ1204)。このとき、所望のメッセージが保持最小期間経過などで送信メッセージ記憶部304内に存在しない場合には(ステップ1205)、再送要求を破棄し(ステップ1208)、手順を終了する。
【0073】
また、ステップ1205の判断において、所望のメッセージが存在する場合、再送部305は、その所望のメッセージを再送する(ステップ1206)。その際、通信カウント500、送信装置ID501、発信時刻502には、送信メッセージ記憶部304に記憶してあるそれらの値と同一の値を用いる。
【0074】
この送信が完了すると、期間延長部308は、送信メッセージ記憶部304に記憶されている当該メッセージの保持最小期間702aに、予め決められた一定の既定値を加算することによって、保持最小期間を延長したうえ(ステップ1207)、再送要求を破棄して(ステップ1208)、手順を終了する。
【0075】
〔3−4.メッセージ再送に関する手順の他の例〕
次に、再送要求に応じてメッセージを再送する手順の他の例として、メッセージと再送要求との往復時刻を計測して、この往復時間の分だけメッセージの保持最小期間を延長する例について、ステップ1202の処理を含めて説明する。
【0076】
すなわち、この例では、メッセージの再送要求が届いた場合(ステップ1201)、当該送信装置宛ての再送要求かどうかを判定する(ステップ1203)前に、往復時間計測部306が、送信したメッセージとその後届いた再送要求との往復時刻を計測し、往復時間計測記録部307に記録する(ステップ1202)。
【0077】
すなわち、往復時間計測部306は、具体的には、メッセージ再送要求に含まれる受信メッセージ発信時刻601と、再送要求が届いたときの現在時刻から、メッセージ及び再送要求の往復時間を算出する。なお、算出の具体的な基準や手順は自由である。
【0078】
例えば、受信装置は、再送要求中の受信メッセージ発信時刻602として、受信装置が受信した最新のメッセージの発信時刻を、あるいは、その時刻から、受信装置が最後にメッセージを受信した時刻から再送要求を発信する時刻を引いた値を加えて補正した時刻を登録する。この補正により、送信装置は、再送要求の受信時刻から、再送要求中の受信メッセージ発信時刻を引く事で往復時間を算出することができる。
【0079】
そして、この例では、メッセージの保持最小期間を延長する(ステップ1207)際に、保持最小期間に既定値を加えるのではなく、往復時間記録部307に記録された往復時間に基づいて保持最小期間を延長する。なお、往復時間に基づいた保持最小期間の延長として、1つの往復時間そのものの分だけ延長するのみならず、1つ又は複数の往復時間に基づいて計算された時間の分だけ延長してもよい。
【0080】
例えば、延長する時間として、往復時間を定数倍した時間を使うこともできるし、再送要求を送った受信装置までの往復時間だけでなく、すべての受信装置ごとの往復時間の平均値や、あるいは、再送要求を送った受信装置とその他の受信装置の往復時間を加重平均した値や往復時間の最大値などを用いることもできる。
【0081】
〔3−5.ネットワーク構成とデータの例〕
上記のような通信システムのネットワーク構成の具体例を図13に示す。この例は、2台の送信装置1a,1bと、2台の受信装置2a,2bが、3台の計算機に配置されているもので、送信装置1bと受信装置2bとが、ある1つの計算機上に配置され、送信装置1aと受信装置2aとは、それぞれ1つずつの計算機上に配置されている。
【0082】
このような例では、例えば、受信装置2a上の受信履歴記憶部405では、図14に例示するように、各送信装置ごとに、送信装置IDと、その送信装置からメッセージ抜けなく最後に受信したメッセージの通信カウントが記憶される。例えば、この例で、送信装置1bから最後に届いたメッセージの通信カウントとしては「6」が記録されており、送信装置1bから次に届いたメッセージの通信カウントが「7」であれば抜けがないものとして処理されるが、送信装置1bから次に届いたメッセージの通信カウントが「8」であれば、通信カウントが「7」のメッセージが抜けたものと判断することができる。
【0083】
また、図13の例では、例えば、送信装置1aや1b上の往復時間記録部307では、図15に例示するように、各受信装置ごとに、受信装置IDと、その受信装置にメッセージを送ってから再送要求が帰ってくるまでの往復時間が記憶される。この例では、例えば、保持最小期間を延長する往復時間として、各受信装置ごとの往復時間の平均を用いる場合、この平均値は2.5m秒となる。
【0084】
〔4.効果〕
以上のように、本実施形態によれば、メッセージの再送用控えごとに、削除しない保持最小期間を管理し、期間未了の再送用控えを削除しないと新しいメッセージの再送用控えを保存できない場合は、新しいメッセージの送信を待機させる。これにより、送信メッセージが多いときでも、送信後一定時間は再送が保証され、通信の信頼性が改善される。
また、本実施形態では、メッセージ再送の際に保持最小期間を延長することで、ネットワークの通信量が多く再度の再送要求が発生するような場合も、メッセージの再度の再送を容易にし、通信の信頼性を改善することができる。
【0085】
また、本実施形態では、メッセージ再送の際、再送要求した受信装置との間でメッセージと再送要求が往復するのに必要な往復時間に基づいて保持最小期間を延長する。これによって、例え再送したメッセージが受信装置に受信されなくても、再度の再送要求が来る頃まで再送用控えを確保し、メッセージ通信の信頼性を改善することができる。
【0086】
また、本実施形態では、メッセージの保持最小期間を、少なくとも各往復時間の平均値だけ延長することによって、各時点ごとや、グループアドレス内の各計算機ごとの往復時間のばらつきを平均化でき、適切な時間幅だけ保持最小期間を延長することで、優れたパフォーマンスを実現することができる。
【0087】
つまり、本実施形態によれば、複数の計算機をネットワークによって接続した分散システム上に配置された例えばプロセス間で、マルチキャストを用いて情報交換する際、送信済みのメッセージを保持する期間の最小値を保証するとともに、再送発生時はその期間を適切に延長することによってメッセージの保存を保証する時間を動的に制御する。
【0088】
これによって、再送の失敗を減らして通信の信頼性を向上させ、ネットワークや受信装置の過負荷を抑制し、負荷が低い場合には短い保持最小期間によって、優れた効率で通信することが可能となる。
【0089】
〔5.他の実施の形態〕
なお、本発明は上記実施形態に限定されるものではなく、次に例示するような他の実施形態も包含するである。例えば、上記実施形態では、送信装置と受信装置の両方を備えた通信システムを示したが、本発明は、送信装置単独で実施し、既存の受信装置と組み合わせて使うことも可能である。
【0090】
また、メッセージの保持最小期間は、メッセージの再送用控えを削除しない最低限の期間を保証するもので、新しいメッセージが送信されない場合や、再送用控えの記憶領域が十分大きいような場合は、保持最小期間を超えて再送用控えを保存しておくことはもちろん差し支えない。また、この保持最小期間を、延長するための既定値は、ネットワークの負荷状態などに応じて一定の基準で変動するように構成してもよい。
【0091】
また、往復時間の計測については、どのような数値や時刻をどのように組み合わせて計算するかの具体的な基準や手順は自由であり、また、上記実施形態に示した構成や、データ構造、処理手順などについても、具体的な詳細は自由に変更して実施することが可能である。
【0092】
【発明の効果】
以上のように、本発明によれば、送信メッセージの再送用控えを保持する期間を保証することで、優れた信頼性でメッセージ通信を行う送信装置、送信方法及び送信用ソフトウェアを記録した記録媒体並びに通信システムを提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態における分散システムの構成の一例を示す図。
【図2】本発明の実施形態における分散システムの構成について、他の一例を示す図。
【図3】本発明の実施形態における送信装置の構成の一例を示す機能ブロック図。
【図4】本発明の実施形態における受信装置の構成の一例を示す機能ブロック図。
【図5】本発明の実施形態における送信メッセージのデータ構造の一例を示す概念図。
【図6】本発明の実施形態における再送要求のデータ構造の一例を示す概念図。
【図7】本発明の実施形態において、送信装置の送信メッセージ記憶部に記憶される情報のデータ構造の例を示す概念図。
【図8】本発明の実施形態における受信装置の受信履歴記憶部に記憶される情報のデータ構造の一例を示す概念図。
【図9】本発明の実施形態における送信装置の往復時間記録部に記憶される情報のデータ構造の一例を示す概念図。
【図10】本発明の実施形態において、送信装置がメッセージを送信する処理手順の一例を示すフローチャート。
【図11】本発明の実施形態において、受信装置が受信したメッセージの処理及び再送要求を行う処理手順の一例を示すフローチャート。
【図12】本発明の実施形態において、送信装置が再送要求にしたがってメッセージを再送する処理手順の一例を示すフローチャート。
【図13】本発明の実施形態における送信装置及び受信装置の配置の一例を示す図。
【図14】図13の例において、受信装置の受信履歴記憶部に記憶される情報の一例を示す図。
【図15】図13の例において、送信装置の往復時間記録部に記憶される情報の一例を示す図。
【符号の説明】
1,2…計算機
11,21…本体処理部
12…送信処理部
22…受信処理部
301…メッセージ送信部
302…再送要求受信部
303…通信カウント管理部
304…送信メッセージ記憶部
305…再送部
306…往復時間計測部
307…往復時間記録部
308…期間延長部
309…現在時刻計測部
310…抑止部
311,407…メッセージ処理部
401…メッセージ受信部
402…再送要求送信部
403…メッセージ抜け検出部
404…メッセージ順序調整部
405…受信履歴記憶部
406…受信メッセージ退避記憶部
407…メッセージ処理部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an improvement in technology related to multicast communication in a distributed system. More specifically, the present invention ensures message transmission with excellent reliability by guaranteeing a period for holding a refusal for retransmission of transmission messages. It is a thing.
[0002]
[Prior art]
In recent years, with the spread of computer technology, a distributed system in which a plurality of computers are connected by a communication path such as a local area network (LAN) is becoming widespread, and each computer connected to such a distributed system and its communication device is becoming popular. An example in which messages are exchanged by multicast is also known.
[0003]
In multicast, unlike conventional unicast, it is difficult to confirm that all reception devices have received, and the following technique is used to guarantee message arrival. In other words, the transmission device on the transmission side adds information (referred to as a communication count) serving as a serial number to each message and transmits it, and stores a retransmission copy of the transmitted message in a storage area such as a finite buffer. .
[0004]
When the receiving device on the receiving side has a missing communication count attached to the received message, it requests the sending side to resend the message with the missing number, and the sending side uses the stored copy for retransmission. Resend message based on
[0005]
In this case, since the storage area is also finite on the transmission side, each time a new message is transmitted, a new storage area for retransmission is secured by sequentially erasing from the oldest retransmission memory.
[0006]
[Problems to be solved by the invention]
However, in the conventional technique as described above, the larger the number of messages transmitted per unit time, the shorter the number of messages to be retransmitted for each message, so that a storage area for new messages to be retransmitted is secured. It had been. In this case, depending on the amount of communication and the frequency of retransmission, the message is deleted in a short time, so that it is not possible to respond to the retransmission request, and the reliability of communication may be reduced.
[0007]
In particular, when a re-transmission request occurs, the load on the network or the receiving device is often high in the first place, and there is a high possibility that a re-transmitted message or a message after the re-requested message will be lost. There was a potential desire for improved reliability. In addition, the conventional technique has a problem that it is difficult to control the flow rate of communication because transmission / reception of new messages is not restricted even when the load is high.
[0008]
In order to solve these problems, it may be possible to send the next message after at least a certain time after sending the previous message. In this case, however, the responsiveness deteriorates. There was a point.
[0009]
The present invention has been proposed in order to solve the above-described problems of the prior art, and its purpose is to guarantee a period for holding a retransmission record of a transmission message, thereby ensuring excellent reliability of the message. Communicate Transmission device, transmission method, and recording medium recording transmission software Is to provide.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, the invention of claim 1 is a transmitter for multicast transmission of messages to a plurality of receivers connected by a network, and each message is transmitted together with a communication count which is information indicating a transmission order. Means for transmitting to each of the receiving devices, a retransmission copy for each transmitted message, and Associating the message origination time with the minimum retention period of the message Storage means for storing; receiving means for receiving a message retransmission request from the receiving device; and means for resending a message based on a stored retransmission copy in response to the retransmission request; When trying to send a new message, Based on the current time, the oldest transmission time stored in the storage means, and the minimum holding period stored in association with the transmission time, the retransmission copy corresponding to the oldest transmission time has the minimum holding period. Judge whether or not it has passed Means for suppressing the transmission of the new message until the minimum holding period of the rescheduled copy has passed, and when resending the message based on the stored resend copy, Means for extending the minimum retention period of such a message by a predetermined time When It is provided with. Also, The fourth aspect of the invention is based on the first aspect of the invention from the viewpoint of a method, and the seventh aspect of the invention is based on the viewpoint of the recording medium on which the software is recorded.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention (hereinafter referred to as “embodiments”) will be described below with reference to the drawings. Note that it is generally considered that the present invention is realized by controlling a computer having a peripheral device with software. In this case, the software is created by combining instructions according to the description of this specification, and the method described in the prior art is used in common with the prior art described above. The software includes not only the program code but also data prepared in advance for use when executing the program code.
[0015]
The software uses physical resources such as a processing device such as a CPU, a coprocessor, and various chip sets, an input device such as a keyboard and a mouse, a storage device such as a memory and a hard disk device, and an output device such as a display and a printer. The effect of the present invention is realized.
[0016]
However, specific software and hardware configurations for realizing the present invention can be variously changed. For example, there are various types of software, such as a compiler, interpreter, and assembler. In order to exchange information with the outside, a variety of removable recording media such as a floppy disk can be considered. In addition, a recording medium such as a CD-ROM in which software or a program for realizing the present invention is recorded is an embodiment of the present invention alone. Furthermore, a part of the functions of the present invention can be realized by a physical electronic circuit such as an LSI.
[0017]
As described above, various aspects of implementing the present invention using a computer are conceivable. In the following, the present invention and implementation are performed using virtual circuit blocks that implement individual functions included in the present invention and embodiments. The form will be described.
[0018]
[1. Constitution〕
[1-1. Configuration of distributed system]
FIG. 1 shows an example of a distributed system to which the present invention is applied. That is, in this distributed system, three
[0019]
FIG. 2 shows another example of the distributed system to which the present invention is applied. In this distributed system, a plurality of partial networks N1, N2, and N3 are connected to each other via a gateway or router, and a plurality of computers C are connected to each of the networks N1, N2, and N3. In this example, multicast communication is performed between a plurality of computers C across the networks N1, N2, and N3.
[0020]
Each computer C connected to the same network N1, N2 or N3 is assigned the same multicast address, and can be considered logically communicating in the same environment as in FIG. . For this reason, the following description is based on the premise of the distributed system as shown in FIG.
[0021]
[1-2. Configuration for sending messages]
First, FIG. 3 is a functional block diagram illustrating a configuration example of a computer that transmits a message among computers connected to the network illustrated in FIGS. 1 and 2. That is, the computer 1 that transmits a message is a transmission device for multicast transmission of a message to a plurality of reception devices connected by a network, and includes a main
[0022]
The main
[0023]
Note that a computer including such a
[0024]
The
[0025]
That is, the
[0026]
Among these, the communication
[0027]
The retransmission
[0028]
Further, when the
[0029]
The
[0030]
That is, the round trip
[0031]
The round trip
[0032]
[1-3. Configuration for message reception]
Next, FIG. 4 is a functional block diagram illustrating a configuration example of a computer that receives a message among the computers connected to the network illustrated in FIGS. 1 and 2. That is, the computer 2 includes a main
[0033]
In addition, the
[0034]
Specifically, the
[0035]
In addition, the message
[0036]
In other words, such a missing message is detected by receiving a message after the communication count is one or more when viewed from the message received immediately before. In this way, the message is stored by storing the message after the communication count is one and the subsequent message.
[0037]
The message
[0038]
The transmitter shown in FIG. 3 and the receiver shown in FIG. 4 together form a communication system, and each computer included in the distributed system as shown in FIG. 1 and FIG. It is also conceivable that all or part of the configuration includes both the configuration for message transmission shown in FIG. 3 and the configuration for message reception shown in FIG.
[0039]
[2. data structure〕
Next, in this embodiment as described above, an example of a data structure used for exchanging messages and retransmission requests and storing other information will be shown.
[2-1. (Outgoing message structure)
First, FIG. 5 shows an example of the structure of a transmission message that is a message transmitted from the transmission apparatus. That is, in the
[0040]
As the
[0041]
[2-2. (Retransmission request structure)
FIG. 6 is a diagram illustrating an example of the structure of a retransmission request sent from the receiving apparatus to the transmitting apparatus. That is, in the
[0042]
Note that since the
[0043]
[2-3. (Structure for storing outgoing messages)
FIG. 7 is a diagram illustrating an example of a structure of information stored in the transmission
[0044]
In any case, it is assumed that the data structure in the transmission
[0045]
First, in the case of FIG. 7A, the
[0046]
The minimum message retention period is registered as the minimum period of time until the message is retained without being deleted. Further, the
[0047]
On the other hand, in FIG. 7B, instead of recording individual elements included in the transmission message such as the
[0048]
This message structure includes a
[0049]
[2-4. (Receiving history structure)
FIG. 8 shows an example of the structure of information stored in the reception
[0050]
However, if the
[0051]
[2-5. (Structure for recording round trip time)
FIG. 9 shows an example of the structure of information recorded in the round trip
[0052]
[3. Action)
The present embodiment configured as described above operates as follows. It is assumed that the transmission
[0053]
[3-1. Procedure for sending messages)
First, FIG. 10 is a flowchart illustrating an example of a processing procedure related to message transmission. That is, when the
[0054]
In this procedure, first, the
[0055]
Subsequently, the
[0056]
In addition, after the waiting is completed, and when the minimum retention period has already passed in the determination of
[0057]
Then, a message to be newly transmitted and other information related thereto are registered in the area secured in the transmission message storage unit 304 (transmission message storage means) in this way (step 1005). More specifically, in the message structure, the
[0058]
In addition, the
[0059]
Also, an identifier such as the IP address of the transmission device is registered in the
[0060]
Note that the order in which the registration to the transmission message storage unit 304 (step 1005) and the creation of the message structure to be transmitted (step 1006) are performed first is arbitrary, as shown in FIG. In the example, the message structure is created first (step 1006), but it is also possible to do it in the reverse order.
[0061]
In the transmission device, the communication count of the communication
[0062]
[3-2. (Receiving and resending request procedure)
Next, a procedure for receiving a message transmitted as described above and receiving the message and requesting retransmission is shown in the flowchart of FIG. That is, in this procedure, when the
[0063]
If the received message has already been received, the received message is discarded (step 1103), and the procedure ends. As a case where a message that has already been received is received in this way, a message that has already been received for a certain receiving device may be multicast again according to a retransmission request from another receiving device having the same multicast address. .
[0064]
If the received message is missing in the determination at
[0065]
Note that the role of the message
[0066]
If it is determined in
[0067]
If there is a desired evacuation message in the received message
[0068]
That is, since the retransmission request is transmitted when the communication count of a certain message and the next message that has arrived thereafter is 1 or more, the next message is received message saving
[0069]
The next message saved in this way can be processed after the message corresponding to the portion of the communication count is received according to the retransmission request and processed in
[0070]
[3-3. Example of procedures for resending messages]
Next, FIG. 12 shows an example of a procedure in which the transmission apparatus retransmits a message in response to the retransmission request transmitted as described above. Here, in order to show an example in which the minimum retention period of a message related to retransmission is extended by a predetermined value without measuring the round trip time,
[0071]
That is, in this procedure, first, when retransmission
[0072]
On the other hand, when the retransmission request is addressed to itself, that is, to the transmission device (step 1203), the
[0073]
If it is determined in
[0074]
When this transmission is completed, the
[0075]
[3-4. Other examples of procedures related to message retransmission]
Next, as another example of the procedure for resending a message in response to a resend request, the step of measuring the round trip time between the message and the resend request and extending the minimum message holding period by this round trip time The process including the
[0076]
That is, in this example, when a message retransmission request arrives (step 1201), the round-trip
[0077]
Specifically, the round trip
[0078]
For example, the receiving device sends a retransmission request from the time of the latest message received by the receiving device as the received
[0079]
In this example, when the minimum retention period of the message is extended (step 1207), the predetermined minimum value is not added to the minimum retention period, but the minimum retention period is based on the round trip time recorded in the round trip
[0080]
For example, as the extension time, it is possible to use a time obtained by multiplying the round trip time by a constant, and not only the round trip time to the receiving device that sent the retransmission request, but also the average value of the round trip time for all the receiving devices, or A value obtained by weighted averaging of round trip times between a receiving apparatus that has sent a retransmission request and another receiving apparatus, a maximum round trip time, or the like can also be used.
[0081]
[3-5. Example of network configuration and data)
A specific example of the network configuration of the communication system as described above is shown in FIG. In this example, two
[0082]
In such an example, for example, in the reception
[0083]
In the example of FIG. 13, for example, the round trip
[0084]
[4. effect〕
As described above, according to the present embodiment, for each message retransmission copy, the minimum retention period that is not deleted is managed, and the new message retransmission copy cannot be saved without deleting the retransmission copy that has not expired. Waits for a new message to be sent. As a result, even when there are many transmission messages, retransmission is guaranteed for a certain period of time after transmission, and communication reliability is improved.
Also, in this embodiment, by extending the minimum retention period when retransmitting a message, even if the amount of network communication is large and a re-transmission request is generated, the re-transmission of the message is facilitated, and the communication Reliability can be improved.
[0085]
Further, in this embodiment, at the time of message retransmission, the minimum holding period is extended based on the round trip time required for the message and the retransmission request to make a round trip with the receiving apparatus that has requested retransmission. As a result, even if the retransmitted message is not received by the receiving device, it is possible to secure a retransmission copy until a re-transmission request is received, thereby improving the reliability of message communication.
[0086]
Also, in this embodiment, by extending the minimum message retention period by at least the average value of each round trip time, it is possible to average the variation in round trip time for each time point and for each computer in the group address, and By extending the minimum retention period by an appropriate time width, excellent performance can be realized.
[0087]
In other words, according to the present embodiment, when exchanging information using, for example, processes between distributed systems in which a plurality of computers are connected by a network, using multicast, the minimum value of the period for holding transmitted messages is set. In addition to guaranteeing, when the retransmission occurs, the time for guaranteeing the storage of the message is dynamically controlled by appropriately extending the period.
[0088]
This reduces retransmission failures and improves communication reliability, suppresses overloading of the network and receiving device, and allows for efficient communication with a short minimum retention period when the load is low. Become.
[0089]
[5. Other Embodiments]
In addition, this invention is not limited to the said embodiment, Other embodiments which are illustrated next are included. For example, in the above-described embodiment, a communication system including both a transmission device and a reception device is shown. However, the present invention can be implemented by a transmission device alone and used in combination with an existing reception device.
[0090]
In addition, the minimum message retention period guarantees a minimum period in which the message resending copy is not deleted. If a new message is not sent or the resending copy storage area is sufficiently large, it is retained. Of course, it is safe to keep a copy for resending beyond the minimum period. Further, the default value for extending the minimum retention period may be configured to vary on a constant basis according to the load state of the network.
[0091]
In addition, for the round trip time measurement, specific criteria and procedures for calculating and combining what numerical values and times are free, and the configuration and data structure shown in the above embodiment, Specific details of the processing procedure and the like can be freely changed.
[0092]
【The invention's effect】
As described above, according to the present invention, a transmission apparatus, a transmission method, and a recording medium on which transmission software is recorded that performs message communication with excellent reliability by guaranteeing a period for holding a retransmission message retransmission copy. In addition, a communication system can be provided.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of the configuration of a distributed system in an embodiment of the present invention.
FIG. 2 is a diagram showing another example of the configuration of the distributed system in the embodiment of the present invention.
FIG. 3 is a functional block diagram illustrating an example of a configuration of a transmission device according to an embodiment of the present invention.
FIG. 4 is a functional block diagram showing an example of a configuration of a receiving device according to the embodiment of the present invention.
FIG. 5 is a conceptual diagram showing an example of a data structure of a transmission message in the embodiment of the present invention.
FIG. 6 is a conceptual diagram showing an example of a data structure of a retransmission request in the embodiment of the present invention.
FIG. 7 is a conceptual diagram illustrating an example of a data structure of information stored in a transmission message storage unit of a transmission device in the embodiment of the present invention.
FIG. 8 is a conceptual diagram showing an example of a data structure of information stored in a reception history storage unit of the reception device according to the embodiment of the present invention.
FIG. 9 is a conceptual diagram illustrating an example of a data structure of information stored in a round trip time recording unit of a transmission device according to an embodiment of the present invention.
FIG. 10 is a flowchart illustrating an example of a processing procedure in which a transmission device transmits a message in the embodiment of the present invention.
FIG. 11 is a flowchart showing an example of a processing procedure for processing a message received by the receiving apparatus and performing a retransmission request in the embodiment of the present invention.
FIG. 12 is a flowchart illustrating an example of a processing procedure in which a transmission apparatus retransmits a message according to a retransmission request in the embodiment of the present invention.
FIG. 13 is a diagram showing an example of the arrangement of transmission devices and reception devices in the embodiment of the present invention.
14 is a diagram showing an example of information stored in a reception history storage unit of the receiving device in the example of FIG.
15 is a diagram showing an example of information stored in a round trip time recording unit of the transmission device in the example of FIG.
[Explanation of symbols]
1, 2, ... Calculator
11, 21 ... Main body processing unit
12 ... Transmission processing unit
22. Reception processing unit
301 ... Message transmission unit
302 ... Retransmission request receiver
303 ... Communication count management unit
304: Transmission message storage unit
305 ... Retransmission part
306. Round trip time measurement unit
307: Round-trip time recording unit
308 ... Period extension
309 ... Current time measuring unit
310 ... deterrence part
311, 407 ... Message processing unit
401: Message receiver
402: Retransmission request transmission unit
403 ... Missing message detection unit
404: Message order adjustment unit
405: Reception history storage unit
406 ... Received message saving storage unit
407: Message processing unit
Claims (9)
各メッセージを、送信順序を示す情報である通信カウントとともに前記各受信装置に送信するための手段と、
送信した各メッセージごとに、再送用控えとそのメッセージの発信時刻とそのメッセージの保持最小期間とを対応付けて記憶するための記憶手段と、
メッセージの再送要求を前記受信装置から受信するための受信手段と、
前記再送要求に応じて、記憶されている再送用控えに基づいてメッセージを再送するための手段と、
新しいメッセージを送信しようとするときに、現在時刻と前記記憶手段に記憶される最も古い発信時刻とその発信時刻に対応付けて記憶される保持最小期間とに基づいて、その最も古い発信時刻に対応する再送用控えがその保持最小期間を経過しているか否かを判定し、判定された前記再送用控えの前記保持最小期間が経過するまでの間はその新しいメッセージの送信を抑止するための手段と、
記憶されている再送用控えに基づいてメッセージを再送した場合に、再送に係るメッセージの前記保持最小期間を、予め決められた時間だけ延長するための手段とを備えたことを特徴とする送信装置。In a transmission device for multicast transmission of a message to a plurality of reception devices connected by a network,
Means for transmitting each message to each receiving device together with a communication count which is information indicating a transmission order;
For each transmitted message, a storage means for storing a copy for retransmission, a transmission time of the message, and a retention minimum period of the message in association with each other ;
Receiving means for receiving a message retransmission request from the receiving device;
Means for resending the message based on the stored resending copy in response to the resending request;
When trying to send a new message, it corresponds to the oldest outgoing time based on the current time, the oldest outgoing time stored in the storage means and the minimum holding period stored in association with the outgoing time. Means for determining whether or not the retransmission reserve to be passed has passed its minimum holding period and suppressing transmission of the new message until the determined minimum hold duration of the retransmission reserve has elapsed When,
If based on the retransmission copy stored to resend the message, transmitting device the holding minimum duration of the message according to the retransmission, characterized in that a means for extending by a predetermined time .
各メッセージを、送信順序を示す情報である通信カウントとともに前記各受信装置に送信するためのステップと、
送信した各メッセージごとに、再送用控えとそのメッセージの発信時刻とそのメッセージの保持最小期間とを対応付けて記憶するためのステップと、
メッセージの再送要求を前記受信装置から受信するためのステップと、
前記再送要求に応じて、記憶されている再送用控えに基づいてメッセージを再送するためのステップと、
新しいメッセージを送信しようとするときに、現在時刻と前記記憶手段に記憶される最も古い発信時刻とその発信時刻に対応付けて記憶される保持最小期間とに基づいて、その最も古い発信時刻に対応する再送用控えがその保持最小期間を経過しているか否かを判定し、判定された前記再送用控えの前記保持最小期間が経過するまでの間はその新しいメッセージの送信を抑止するためのステップと、
記憶されている再送用控えに基づいてメッセージを再送した場合に、再送に係るメッセージの前記保持最小期間を、予め決められた時間だけ延長するためのステップと、を含むことを特徴とする送信方法。In a transmission method for multicast transmission of a message to a plurality of receiving devices connected by a network,
A step for transmitting each message to each receiving device together with a communication count which is information indicating a transmission order;
For each transmitted message, a step for storing a record for retransmission, a transmission time of the message, and a minimum retention period of the message in association with each other ;
Receiving a message retransmission request from the receiving device;
In response to the retransmission request, retransmitting the message based on a stored copy for retransmission;
When trying to send a new message, it corresponds to the oldest outgoing time based on the current time, the oldest outgoing time stored in the storage means and the minimum holding period stored in association with the outgoing time. A step for determining whether or not the retransmission reservation to be performed has passed the minimum holding period and suppressing transmission of the new message until the determined minimum holding period for the retransmission backup has elapsed. When,
And a step for extending the minimum holding period of the message related to retransmission for a predetermined time when the message is retransmitted based on a stored copy for retransmission. .
そのソフトウェアは前記コンピュータに、各メッセージを、送信順序を示す情報である通信カウントとともに前記各受信装置に送信させ、
送信した各メッセージごとに、再送用控えとそのメッセージの発信時刻とそのメッセージの保持最小期間とを対応付けて記憶させ、
メッセージの再送要求を前記受信装置から受信させ、
前記再送要求に応じて、記憶されている再送用控えに基づいてメッセージを再送させ、
新しいメッセージを送信しようとするときに、現在時刻と前記記憶手段に記憶される最も古い発信時刻とその発信時刻に対応付けて記憶される保持最小期間とに基づいて、その最も古い発信時刻に対応する再送用控えがその保持最小期間を経過しているか否かを判定させ、判定された前記再送用控えの前記保持最小期間が経過するまでの間はその新しいメッセージの送信を抑止させ、
記憶されている再送用控えに基づいてメッセージを再送した場合に、再送に係るメッセージの前記保持最小期間を、予め決められた時間だけ延長させることを特徴とする送信用ソフトウェアを記録した記録媒体。In a recording medium recording transmission software for multicast transmission of a message to a plurality of receiving devices connected by a network by controlling a computer,
The software causes the computer to transmit each message to each receiving device together with a communication count that is information indicating the transmission order,
For each message sent, a record for resending, the outgoing time of the message, and the minimum retention period of the message are stored in association with each other ,
Receiving a message retransmission request from the receiving device;
In response to the retransmission request, the message is retransmitted based on the stored copy for retransmission,
When trying to send a new message, it corresponds to the oldest outgoing time based on the current time, the oldest outgoing time stored in the storage means and the minimum holding period stored in association with the outgoing time. To determine whether or not the retransmission hold has passed its minimum holding period, and to suppress transmission of the new message until the determined minimum holding period of the retransmission backup has passed,
A recording medium on which transmission software is recorded, wherein when a message is retransmitted based on a stored copy for retransmission, the minimum holding period of the message related to retransmission is extended by a predetermined time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05775399A JP3732671B2 (en) | 1999-03-04 | 1999-03-04 | Transmission device, transmission method, and recording medium recording transmission software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05775399A JP3732671B2 (en) | 1999-03-04 | 1999-03-04 | Transmission device, transmission method, and recording medium recording transmission software |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000259534A JP2000259534A (en) | 2000-09-22 |
JP3732671B2 true JP3732671B2 (en) | 2006-01-05 |
Family
ID=13064653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05775399A Expired - Fee Related JP3732671B2 (en) | 1999-03-04 | 1999-03-04 | Transmission device, transmission method, and recording medium recording transmission software |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3732671B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8863149B2 (en) | 2010-01-06 | 2014-10-14 | Canon Kabushiki Kaisha | Message processing apparatus and message processing method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005027208A (en) * | 2003-07-01 | 2005-01-27 | Sony Corp | Apparatus and method of transmission, recording medium, and program |
JP2012221327A (en) * | 2011-04-11 | 2012-11-12 | Ntt Data Corp | Ic card processing system, ic card processing method, and program |
JP6379056B2 (en) * | 2015-02-16 | 2018-08-22 | 日本電信電話株式会社 | Message information management device, message information management method, and message information management program |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0528072A (en) * | 1991-07-18 | 1993-02-05 | Nec Corp | Computer system |
JPH05151123A (en) * | 1991-11-30 | 1993-06-18 | Nec Corp | Transmission data processor |
JPH05219056A (en) * | 1992-02-04 | 1993-08-27 | Nec Corp | Multi-address communication system |
JPH05327776A (en) * | 1992-05-19 | 1993-12-10 | Fujitsu Ltd | Data transfer method |
JP3268875B2 (en) * | 1993-02-26 | 2002-03-25 | 株式会社野村総合研究所 | Broadcast file transfer method and system |
JPH0787136A (en) * | 1993-06-23 | 1995-03-31 | Nec Corp | Multi-address communication system |
JPH0798690A (en) * | 1993-09-29 | 1995-04-11 | Shikoku Nippon Denki Software Kk | Inter-on-line system data transfer system |
JP3190214B2 (en) * | 1994-09-07 | 2001-07-23 | 株式会社東芝 | Data transmission / reception system |
JPH08202665A (en) * | 1995-01-30 | 1996-08-09 | Hitachi Ltd | Inter-computer coupling device in loosely coupled computers |
JPH08292920A (en) * | 1995-04-21 | 1996-11-05 | Nec Corp | Network management system |
JP3326672B2 (en) * | 1995-09-26 | 2002-09-24 | 日本電信電話株式会社 | Message retransmission method and system |
JPH09160858A (en) * | 1995-12-08 | 1997-06-20 | Nippon Telegr & Teleph Corp <Ntt> | Data resending method and server |
JPH10262093A (en) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | Transmission control method |
-
1999
- 1999-03-04 JP JP05775399A patent/JP3732671B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8863149B2 (en) | 2010-01-06 | 2014-10-14 | Canon Kabushiki Kaisha | Message processing apparatus and message processing method |
Also Published As
Publication number | Publication date |
---|---|
JP2000259534A (en) | 2000-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10798199B2 (en) | Network traffic accelerator | |
CN111327402B (en) | Method, device and system for retransmitting data | |
US6393023B1 (en) | System and method for acknowledging receipt of messages within a packet based communication network | |
KR101104046B1 (en) | Congestion reducing reliable transport packet retry engine | |
US7489637B2 (en) | Method of enhancing the efficiency of data flow in communication systems | |
JP2004297742A (en) | Communication device, communication control method and program | |
CN112104562B (en) | Congestion control method and device, communication network and computer storage medium | |
KR20040068880A (en) | Reactive bandwidth control for streaming data | |
CN108234087B (en) | Data transmission method and sending end | |
JP2013191931A (en) | Information processing device, congestion control method, and congestion control program | |
JP2006287925A (en) | Error recovery mechanism and network element comprising the same | |
JPH09160858A (en) | Data resending method and server | |
JP4244159B2 (en) | Reception device, communication system, and program | |
JP3732671B2 (en) | Transmission device, transmission method, and recording medium recording transmission software | |
CN110602568B (en) | A method, device and storage device for packet loss and retransmission of video stream transmission based on RTP | |
US7168022B2 (en) | Transmission control method and system | |
JP3520793B2 (en) | Error compensation method and error compensation device using the method | |
JPH11284657A (en) | Retransmission control system | |
KR20030030892A (en) | System for transmitting sequences of packets between a server and a mobile terminal | |
JP3415027B2 (en) | Data communication device and data communication method | |
JP2003304273A (en) | Device, program and method for repeating packet | |
JP5723307B2 (en) | Packet monitoring system | |
US7050393B2 (en) | Method, system, and product for alleviating router congestion | |
JPWO2012132283A1 (en) | COMMUNICATION DEVICE AND ITS COMMUNICATION CONTROL METHOD | |
US7839844B2 (en) | System and method for dynamically determining retransmit buffer time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050516 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050810 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050817 |
|
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: 20051011 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051013 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081021 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101021 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |