JPH05334104A - データグラム型マルチプロセス間ソケット通信でのデータ制御装置 - Google Patents

データグラム型マルチプロセス間ソケット通信でのデータ制御装置

Info

Publication number
JPH05334104A
JPH05334104A JP4138922A JP13892292A JPH05334104A JP H05334104 A JPH05334104 A JP H05334104A JP 4138922 A JP4138922 A JP 4138922A JP 13892292 A JP13892292 A JP 13892292A JP H05334104 A JPH05334104 A JP H05334104A
Authority
JP
Japan
Prior art keywords
data
list
transmission
unit
transmitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4138922A
Other languages
English (en)
Inventor
Yukiyo Nakano
幸世 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP4138922A priority Critical patent/JPH05334104A/ja
Publication of JPH05334104A publication Critical patent/JPH05334104A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 多数のプロセス間でデータ転送を行う場合,
データ受信の1本化の点で,データ転送の信頼性の低い
データグラム型ソケット通信を利用した時の,データの
順序反転,重複,紛失を回復する。 【構成】 順序反転,重複回避の為に,データにナンバ
リングしてから送信する方式をとり,受信側はその番号
をキーにして,順序反転,重複,紛失を検出する。受信
データは,受信順に受信データリストへチェーンし,順
番抜けのあるデータは,順番待ちデータリストに連続デ
ータ受信まで退避する。これらのリストの状況を管理す
る管理表をもとに,紛失データの再送要求を行う。デー
タ紛失の原因であるRecvキューオーバーフロー状態
を回避する為に,キュー格納データを1回の受信要求に
よりプロセス内部に取り込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,データグラム型マルチ
プロセス間ソケット通信でのデータ制御方式に関し,特
に多数のプロセス間で頻繁にデータの送受信を行うシス
テムに関する。
【0002】
【従来の技術】ソケットインターフェースは,4.2/
4.3BSD系のUNIXでプロセス間通信の方法とし
て提供されている機能である。ソケットにおける通信の
形式には,現在,コネクション型とデータグラム型との
2つが定義されている。
【0003】従来,データグラム型は,コネクション型
と異なり,データの紛失,重複,順序反転に対する処置
をプロトコルレベルでサポートされておらず,データ転
送の信頼性の点では,コネクション型よりも劣ってい
る。
【0004】しかし,複数プロセスで頻繁にデータの送
受信を行う際,コネクション型では,通信相手分のコネ
クションを確立しなければならず,確立後も複数コネク
ションの管理が複雑である。また,受信プロセス側にお
いて,送信プロセス間のデータの順序性が保証されない
欠点がある。(1コネクション内での順序性は,保証さ
れている。) これと比較してデータグラム型では,プロセスごとに識
別名を付け,その識別名を指定しただけで送信可能であ
り,受信側も1つの自プロセスキューで全相手プロセス
のデータを受信すれば良いので,送信プロセス間のデー
タの順序性は保証される。
【0005】以上の点により,マルチプロセス間でデー
タのやりとりを行う場合,データ転送の信頼性には欠け
るが,データグラム型のソケット通信を採用している。
【0006】
【発明が解決しようとする課題】従来のデータグラム型
ソケット通信では,前述したように,転送データの紛
失,重複,順序反転が発生する可能性がある。
【0007】そこで,本発明の第1の技術的課題は,送
信時に紛失データの検出が容易になり,データの紛失を
回避できるとともに,プロセス間の順序反転が回避でき
る受信装置を提供することにある。
【0008】また,本発明の第2の技術的課題は,デー
タの紛失を回避でき,通信中の順序反転/重複/紛失を
検出することが可能な送信装置を提供することにある。
【0009】また,本発明の第3の技術的課題は,前記
送信装置及び前記受信装置を備えたデータ制御装置を提
供することにある。
【0010】
【課題を解決するための手段】本発明によれば,データ
グラム型マルチプロセス間でソケット通信を行う上での
転送データの順序反転/重複を回避する為のナンバリン
グ送信部と,送信相手先ビジー時の送信データの紛失を
回避するための相手先ビジー検出部と,再送要求対応の
為に送信データを保持するセーブ送信データリスト部と
を備えたことを特徴とする送信装置が得られる。
【0011】本発明によれば,レシーブキュー(以下,
Recvキューと呼ぶ)のオーバーフローにより,送信
不可能になることを回避する為のRecvキュー滞留デ
ータ排出部と,ソートされた受信データをチェーンする
受信データリスト部と,順番抜けで一時データを退避す
る順番待ちデータリスト部と,リストを更新,追加及び
参照することで,受信データのソート及びデータ紛失・
重複の検出を行うリスト管理部と,リストの更新・追加
・参照等の際に,アクセスを高速化する為に利用するリ
スト管理表とを備えたことを特徴とする受信装置が得ら
れる。
【0012】本発明によれば,前記送信装置と,前記受
信装置とを備えていることを特徴とするデータ制御装置
が得られる。
【0013】
【作用】本発明のデータグラム型マルチプロセス間ソケ
ット通信でのデータ制御装置は,送信装置と受信装置と
を備えている。
【0014】また,本発明の送信装置においては,ナン
バリング送信部は,データグラム型マルチプロセス間で
ソケット通信を行う上での転送データの順序反転/重複
を回避する。相手先ビジー検出部は,送信相手先ビジー
時の送信データの紛失を回避する。セーブ送信データリ
スト部は,再送要求対応の為に送信データを保持する。
【0015】また,本発明の受信装置においては,Re
cvキュー滞留データ排出部はレシーブキュー(以下,
Recvキューと呼ぶ)のオーバーフローにより,送信
不可能になることを回避する。受信データリスト部は,
ソートされた受信データをチェーンする。順番待ちデー
タリスト部は,順番抜けで一時データを退避する。
【0016】リスト管理部は,リストを更新,追加及び
参照することで,受信データのソート及びデータ紛失・
重複の検出を行う。リスト管理表は,リストの更新・追
加・参照等の際に,アクセスを高速化する為に利用され
る。
【0017】
【実施例】次に,本発明の実施例について,図面を参照
して詳細に説明する。
【0018】図1は本発明の実施例に係るデータ制御装
置の全体構成図であり,複数プロセス間データ転送方式
の処理構成と,処理の流れを示している。図2は図1の
Recvキューの滞留データ排出部の処理方式を示す図
である。図3は,他のプロセスからのデータ受信方式を
夫々示す図である。図4は,図3のリスト管理表の詳細
を示す図である。図5は,他プロセスへの送信方式,図
6では,図5に関連した送信時の相手先ビジー検出部の
処理方式を示している。図7は,データ紛失時の再送方
式を示す図である。図8は各リストの構造図を示す図で
ある。
【0019】図1において,データ制御装置は,受信部
50,送信部60及び処理部70とを備えている。受信
部50は,Recvキュー滞留データ排出部210と,
リスト管理部220と,リスト管理表330と,受信デ
ータ310と,順番待ちデータ320と,再送信要求部
223とを備えている。また,リスト管理部220は,
受信データソート部221と,順番待ちチェック部22
2及び再送要求部223とを備えている。
【0020】送信部60は,相手先ビジー検出部23
0,ナンバリング送信部240,セーブ送信データを備
えたセーブリスト管理部250と,再送データ検索部2
60とを備えている。
【0021】Recvキュー滞留データ排出部210
は,受信要求時に,Recvキュー160に格納されて
いる全データをプロセス内部に取り込み格納する。
【0022】このデータは,再送要求データ24と,通
常の受信データ14にディスパッチされる。具体的に
は,図2で示すように,Recvキュー滞留データ排出
部210は,ソケットにノンブロッキング設定し(S1
段階),次に受信データが有か無かを判断し(S2段
階),有る場合には,データ蓄積を行う(S3段階)。
無い場合には,ソケットノンブロッキングの解除を行い
(S4段階),蓄積データがあるか,否かを判断し(S
5段階),有る場合には,データ受信処理を行い(S6
段階),無い場合には待機を行う(S7段階)。
【0023】図3は受信部のデータ処理動作を示してい
る。処理部70は,データ受信要求があった場合,(S
11段階),Recvキュー160がオーバーフローを
するのを防ぐために,Recvキュー160に格納され
ているデータをRecvキュー排出部210により取り
込む。次に,Recvキュー滞留データ排出部210
は,内部に取り込んだデータから再送データ24の通常
の受信データ14かを判断し(S12段階),再送要求
処理データであった場合,再送要求処理(S14´)を
行った後,S13に戻る。
【0024】一方,再送要求データではない場合,リス
ト管理部220に送られ,順序反転・重複・紛失回避の
ために送信時に付番された受信ナンバーを受信データソ
ート部でチェックする(S15段階)。受信ナンバーが
正常であり,順序が正しい場合は,受信データリスト3
10に追加する(S16段階)。受信データが受信デー
タリストにチェーンされている同一送信元プロセスのデ
ータに連続していない場合は,受信データに追加せず,
ライン20を通じてプロセスごとを順番待ちデータリス
トに退避しておく。受信データリスト310にデータを
追加した場合には,常に追加したデータの発信別プロセ
スの順番待ちデータ部320のリストを順番待ちデータ
リストからデータを外してライン19を通じて受信デー
タリスト310に追加する(S16段階)。また,受信
データのナンバーがリスト310中のデータと重複して
いる場合は,そのデータを破棄し,(S16´段階),
S13段階に戻る。以上の処理を一時的にプロセス内部
に取り込んだ全データを行った後,順番待ちデータ部3
20のリストと受信データ310リストのデータとを照
らし合わせて紛失しているデータについて,再信要求部
223は再信要求を行う(S20段階)。順番待ちデー
タ部320のデータと受信データリスト310との照
合,順序判定はリスト管理表を参照することでその都度
リストの検索を行うことを省略できる。
【0025】全ての受信処理終了の後,受信データリス
ト310の先頭データを受信要求のあった処理部に返却
する(S21段階)。 (蓄積データについて,追加する。)図4はリスト管理
表330を示している。図4で示すように,通信元別に
各データリスト(受信データリスト331,順番待ちデ
ータリスト332,セーブ送信データリスト333)
の,先頭ナンバー334,336,338と終端ナンバ
ー335,337,339を情報として持っている。受
信データリスト331は,複数プロセスのデータが混在
しているので,リストの実際の先頭・終端ではない。こ
の情報は,各々のリストを更新する度に,更新される。
【0026】従って,紛失しているデータの検出をリス
ト管理表330を参照して行うと以下の数1式ようにな
る。図4を例として説明すると,プロセスAでは,
【0027】
【数1】
【0028】以上のような方法で,全プロセスに対して
紛失データを検出し,再送要求を行う。
【0029】全ての受信処理終了後に,受信データリス
トの先頭データを受信要求のあった処理部に返却する
(図4参照)。図1に戻って,送信部60は,ナンバリ
ング送信部240,セーブ送信データリスト340を備
えたセーブリスト管理部250,相手ビジー検出部23
0,再送データ検索部260とを備えている。
【0030】図5は送信部60の動作を示している。図
1に更に図5を参照して,ナンバリング送信部240
は,送信データに連番でナンバーと自プロセス名を付加
する。
【0031】セーブリスト管理部250は送信データに
紛失があった場合の再送のために,データをセーブ送信
データリスト340に規定数保持しておく。この際,セ
ーブ送信データのリスト数が規定数以下か規定数以上か
を判断する(S42段階)。
【0032】セーブ送信データリスト340が規定数を
超えた場合は,リスト先頭のデータを破棄してから,チ
ェーン張り替えリストを更新し(S43´),新しくデ
ータを追加する。規定数以下の場合,リストに追加し
(S43),相手先ビジー検出部を駆動し送信を完了す
る(S44段階)。この場合の送信部に保持する規定数
とは,Recvキューに格納できるデータ数のMax値
である。この値は,以下の計算式でもとめられる。
【0033】セーブデータ数=データサイズ(byte)/R
ecvキューMaxサイズ(byte)Recvキューサイズ
は,システムで規定されている値であり,これを1デー
タサイズで割ったものがRecvキューに格納できるM
axデータ数となる。
【0034】受信処理では,Recvキューから排出さ
れた全データについてソート等の処理が終了すると,リ
スト管理表をチェックして再送要求を行う。そのため,
Recvキューに格納されたデータが全て同一プロセス
からのもので,その中のデータが紛失した場合を考慮し
て,送信部で保持しておく必要のあるデータ数の最小値
がセーブデータ数になる。
【0035】図6は相手先ビジー検出部230の動作を
示している。相手先ビジー検出部230は,相手先のビ
ジー状態が正常か否かを検出して,正常の場合は送信し
て送信完了する。ビジー時には,送信可能状態になるま
で繰り返し,送信を完了させ,又リトライオーバーの場
合には,異常終了する。
【0036】図7は再送データ検索部の動作を示してい
る。再送データ検索部は,受信部の再送要求部223か
らの再送要求(S30段階)に対して,セーブ送信デー
タリスト340をナンバーキーを検索して(S31段
階)する。再送要求データ数以下のセーブ送信データを
破棄し(S32段階),次に,相手先ビジー検出部を駆
動してデータを再送する。
【0037】最後に,各データリストの構造について,
図8で示す。図8の構造図弟子召すように,受信データ
を順序配列した受信データリストや,順番抜けのデータ
を退避する順番待ちデータリスト,再送のために送信デ
ータを保持しておくセーブ送信データリスト等は,多層
構造を有している。
【0038】
【発明の効果】この様に,本発明のマルチプロセス間ソ
ケット通信(データグラム型)でのデータ制御方式を利
用することにより,以下の効果が生じる。
【0039】データグラム型のソケット通信で発生する
以下の現象を回避する。 (1)1回の受信要求時にRecvキュー中の格納デー
タ全てを,プロセス内部に取り込むことで,送信時にR
ecvキューオーバーフローで送信データが,紛失する
ことがなくなる。さらに,送信時に相手プロセスのビジ
ー状態を検出し,送信可能状態になるまでリトライする
ことで,データの紛失を回避できる。 (2)送信時にデータにナンバリングすることで,通信
中の順序反転/重複/紛失の検出をすることが可能にな
る。 (3)順序反転が生じた場合,順番待ちデータリストに
一時退避することで,受信データのソートが可能にな
る。 (4)順番待ちデータリストと受信データリストの先頭
ナンバー・終端ナンバーの情報をリスト管理表に持つこ
とで,紛失データの検出が容易になり,紛失データに関
して再送要求を行うことで,データの紛失を回避でき
る。 (5)受信データリストに全相手プロセスの受信データ
をRecvキューに格納されていた順にチェーンするこ
とで,プロセス間の順序反転が回避できる。
【図面の簡単な説明】
【図1】本発明の全体構成図である。
【図2】Recvキュー滞留データ排出部の詳細処理フ
ローである。
【図3】受信方式の処理フローである。
【図4】受信処理で紛失データの検出/受信データの順
序確認の際に利用するリスト管理表である。
【図5】送信方式の処理フローである。
【図6】図5のデータ送信時の相手先ビジー検出部の処
理フローである。
【図7】再送方式の処理フローである。
【図8】各データリストの構造を示す図である。
【符号の説明】
10−13 プロセスEへの送信データ 14 他プロセスからの受信データ 16 処理部の受信要求に対する返却データ(受信デ
ータリストの先頭データ) 24 他プロセスからの再送要求データ 28 処理部の送信要求に対する送信データ 31 他プロセスへの送信データ 110−150 1システムを構成するプロセス群 160 プロセスEのRecvキュー 210 Recvキュー滞留データ排出部 220 リスト管理部 221 受信データソート部 222 順番待ちチェック部 223 再送要求部 230 相手先ビジー検出部 240 ナンバリング送信部 250 セーブリスト管理部 260 再送データ検索部 310 受信データリスト 320 順番待ちデータ部 330 リスト管理表 340 セーブ送信データリスト

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 データグラム型マルチプロセス間でソケ
    ット通信を行う上での転送データの順序反転/重複を回
    避する為のナンバリング送信部と,送信相手先ビジー時
    の送信データの紛失を回避するための相手先ビジー検出
    部と,再送要求対応の為に送信データを保持するセーブ
    送信データリスト部とを備えたことを特徴とする送信装
    置。
  2. 【請求項2】 Recvキューのオーバーフローによ
    り,送信不可能になることを回避する為のRecvキュ
    ー滞留データ排出部と,ソートされた受信データをチェ
    ーンする受信データリスト部と,順番抜けで一時データ
    を退避する順番待ちデータリスト部と,リストを更新,
    追加及び参照することで,受信データのソート及びデー
    タ紛失・重複の検出を行うリスト管理部と,リストの更
    新・追加・参照等の際に,アクセスを高速化する為に利
    用するリスト管理表とを備えたことを特徴とする受信装
    置。
  3. 【請求項3】 請求項1記載の送信装置と,請求項2記
    載の受信装置とを備えていることを特徴とするデータ制
    御装置。
JP4138922A 1992-05-29 1992-05-29 データグラム型マルチプロセス間ソケット通信でのデータ制御装置 Pending JPH05334104A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4138922A JPH05334104A (ja) 1992-05-29 1992-05-29 データグラム型マルチプロセス間ソケット通信でのデータ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4138922A JPH05334104A (ja) 1992-05-29 1992-05-29 データグラム型マルチプロセス間ソケット通信でのデータ制御装置

Publications (1)

Publication Number Publication Date
JPH05334104A true JPH05334104A (ja) 1993-12-17

Family

ID=15233274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4138922A Pending JPH05334104A (ja) 1992-05-29 1992-05-29 データグラム型マルチプロセス間ソケット通信でのデータ制御装置

Country Status (1)

Country Link
JP (1) JPH05334104A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020327A (ja) * 1998-06-26 2000-01-21 Digital Vision Laboratories:Kk 分散処理装置とその方法およびネットワークシステム
JP2003256594A (ja) * 2002-03-05 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 電子申請システムおよび電子文書受信方法
US7680138B2 (en) 2004-07-26 2010-03-16 Panasonic Corporation Inter-module communication apparatus
JP2014236453A (ja) * 2013-06-05 2014-12-15 富士通株式会社 情報処理装置、情報処理システム及び情報処理システムの制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62216548A (ja) * 1986-03-18 1987-09-24 Fujitsu Ltd デ−タ転送方式
JPS6429146A (en) * 1987-07-24 1989-01-31 Nec Corp Transmission control method
JPH0223749A (ja) * 1988-07-13 1990-01-25 Nec Corp 転送データの送信管理装置
JPH02101841A (ja) * 1988-10-11 1990-04-13 Nec Corp 同報通信方法
JPH03102553A (ja) * 1989-09-18 1991-04-26 Nec Corp コンピュータ通信の応答確認方式
JPH03265336A (ja) * 1990-03-15 1991-11-26 Nec Corp ホスト計算機障害時の電文保証方式

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62216548A (ja) * 1986-03-18 1987-09-24 Fujitsu Ltd デ−タ転送方式
JPS6429146A (en) * 1987-07-24 1989-01-31 Nec Corp Transmission control method
JPH0223749A (ja) * 1988-07-13 1990-01-25 Nec Corp 転送データの送信管理装置
JPH02101841A (ja) * 1988-10-11 1990-04-13 Nec Corp 同報通信方法
JPH03102553A (ja) * 1989-09-18 1991-04-26 Nec Corp コンピュータ通信の応答確認方式
JPH03265336A (ja) * 1990-03-15 1991-11-26 Nec Corp ホスト計算機障害時の電文保証方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020327A (ja) * 1998-06-26 2000-01-21 Digital Vision Laboratories:Kk 分散処理装置とその方法およびネットワークシステム
JP2003256594A (ja) * 2002-03-05 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 電子申請システムおよび電子文書受信方法
US7680138B2 (en) 2004-07-26 2010-03-16 Panasonic Corporation Inter-module communication apparatus
JP2014236453A (ja) * 2013-06-05 2014-12-15 富士通株式会社 情報処理装置、情報処理システム及び情報処理システムの制御方法

Similar Documents

Publication Publication Date Title
US5432798A (en) Data communication method and system
CA2205068C (en) Multi-processor environments
US6128283A (en) Method and apparatus for data transmission using a positive group acknowledgement protocol
EP0464014A2 (en) Communications systems using a fault tolerant protocol
EP0851623B1 (en) Multiplex transmission system
JPH06104956A (ja) 通信装置
US6421317B1 (en) Method and apparatus for an automatic load balancing and back-up of a multi-users network
JPH09160858A (ja) データ再送方法及びサーバ
US20030076826A1 (en) Reliably transmitting a frame to multiple destinations by embedding sequence numbers in the frame
JPH05334104A (ja) データグラム型マルチプロセス間ソケット通信でのデータ制御装置
US6570852B1 (en) Relay communication system
JP2764896B2 (ja) データ送達確認システム
US6396806B1 (en) Transmission line duplexing processing method and apparatus thereof, and recording medium for recording its processing procedure
JPH0528072A (ja) 計算機システム
CN117453622A (zh) 基于Rabbit MQ的文件交互系统
US20030061375A1 (en) Hardware mechanism for receiving frames from a link
US5469446A (en) Retry filter and circulating echo method and apparatus
JPH11234347A (ja) データ通信におけるバッファ管理方法および方式
JPS61214829A (ja) 系間通信制御方式
JP2926550B2 (ja) ファクシミリ装置
JP2750923B2 (ja) ネットワーク接続障害回避方式
JPH0556084A (ja) 通信制御装置のデータ送信方法
AU689005C (en) Multi-processor environments
JPH08263407A (ja) Osi管理のエージェントシステムおよびマネージャシ ステムにおける事象情報管理方式およびその方法
JPS63300349A (ja) コンピュ−タ間のデ−タ送信開始確認方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980729