JPH10336242A - データ通信システム - Google Patents
データ通信システムInfo
- Publication number
- JPH10336242A JPH10336242A JP14054097A JP14054097A JPH10336242A JP H10336242 A JPH10336242 A JP H10336242A JP 14054097 A JP14054097 A JP 14054097A JP 14054097 A JP14054097 A JP 14054097A JP H10336242 A JPH10336242 A JP H10336242A
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication
- application
- transmission
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
負荷をかけることなくアプリケーション間通信の再開を
自動的に行う。 【解決手段】 通信処理部33は、通信を行う相互のア
プリケーションの組にセッションIDを割り当て各アプ
リケーションに通知し、各アプリケーション識別情報と
共に通信管理テーブル40で管理する。また、セッショ
ンIDが付加された送信データを受け取ると、通信管理
テーブル40に基づいてデータを渡すべきアプリケーシ
ョンを特定する。通信処理部13,33は、データ送信
時に送信データを送信データ情報保持部14に保持し、
回線断後復旧後には保持したデータを再送する。また、
データ受信時に受信データをアプリケーションに渡すと
共に受信データ情報保持部34に一時保持する。但し、
回線復旧後のデータ受信であれば、受信したデータと保
持したデータとを比較し、一致すれば受信データをアプ
リケーションへ渡さない。
Description
ム、特に通信回線を介したアプリケーション間通信の実
行中に通信回線が切断されたとき並びにその後復旧され
たときの処理に関する。
として従来からあるクライアント・サーバシステムの一
例を示したシステム構成図である。図11において、回
線制御部1,2は、クライアント3、サーバ4それぞれ
において所定の通信プロトコルに基づき通信回線5を介
しての通信処理を行うための手段である。アプリケーシ
ョン実行部6,7は、相互にデータ送受信を行うアプリ
ケーションを実行するための手段であり、実行中の各ア
プリケーションがデータ通信を行うことになる。このク
ライアント・サーバシステムにおいてTCP/IPプロ
トコルを使用して通信を行う場合、各回線制御部1,2
は、通信相手先(サーバ4、クライアント3)との間の
ソケットをオープンして通信路を確立し、アプリケーシ
ョン間からデータの受け渡しを行う。
品質や使用環境によっては、通信回線5がデータ通信中
に一時的に切れてしまう場合がある。回線断中のデータ
送信は、当然ながら正常に終了しないわけであるが、回
線制御部1,2は、このとき所定の通信プロトコルに従
った所定回数のデータの再送を行う。そして、データ再
送中に通信回線5が復旧した場合は、その再送処理によ
りデータ通信が正常に終了するので、各アプリケーショ
ンには正常終了のステータスが返されることになる。こ
れにより、一時的な回線断によっては、各アプリケーシ
ョンに何ら影響を与えずに処理を進めさせることができ
た。
線が切断した場合、通信プロトコルレベルでの再送の試
行回数が所定数を越えてしまったりタイムアウトが発生
したりして、結果的に通信プロトコルレベルでは対応し
きれない場合がある。このとき、通信プロトコルは、通
信を行っていたクライアント、サーバ上の各アプリケー
ションに対して、通信エラーが発生したという旨のステ
ータスを返すことになる。このため、各アプリケーショ
ンでは、多くの場合、通信エラーの発生により何らかの
処理を行わなくてはならない。場合によっては、処理の
途中であってもその処理を強制的に終了させなければな
らない。特に、データ送信側においては、データ送信中
に回線断が発生すると、送信データは相手に届いたの
か、それとも通信相手先から発せられる受信確認応答の
受信が失敗したのかなどの切分けも困難であり、データ
の再送をすべきかどうかの判断が難しい。一方、データ
受信側のアプリケーションにとっては、再送により同じ
データを二度受信してしまう場合もあり得る。また、ア
プリケーションの内容によっては、処理を最初からやり
直さなければならないものや、一旦握ったリソースを放
さないことにより二度と通信を再開することができなく
なる場合もあった。
際、このような様々な事態を想定して復旧処理や再送処
理のルーチンを作成しなければならず、アプリケーショ
ンの開発者に多大な負担をかけていた。
おいて複数のデータ受信アプリケーションが待機してい
た場合、データ送信アプリケーションは、どのデータ受
信アプリケーションと通信路を再形成して処理を再開す
ればよいのか一意に特定できない。このため、データ送
信アプリケーションは、やむを得ずデータ受信アプリケ
ーションを再起動して最初から処理をやり直すことにな
るが、この際、回線断前に行っていた処理結果を破棄し
なければならず効率的でない。場合によっては、どこま
で前回の処理結果を破棄すべきなのか特定できない場合
もあり得る。
になされたものであり、その目的は、回線断から復旧し
た後にアプリケーション間通信の再開を自動的に行うデ
ータ通信システムを提供することにある。
するために、第1の発明に係るデータ通信システムは、
通信回線を介してデータ通信を行うアプリケーションを
実行するアプリケーション実行手段と、所定の通信手順
に基づき回線の接続、切断、復旧処理及びその旨の通知
を行う回線制御手段とを備えた少なくとも2台のコンピ
ュータを有するデータ通信システムにおいて、第1のコ
ンピュータは、前記通信回線を介して相互にデータ通信
を行う相互のアプリケーションの組を識別するための組
識別情報を前記アプリケーションの組に割り当てる組識
別情報管理手段と、組識別情報に各アプリケーションを
特定しうるアプリケーション識別情報を対応させて記憶
する通信管理テーブルと、各アプリケーションに、当該
アプリケーションに割り当てられた組識別情報を通知す
る組識別情報通知手段と、送信するデータを保持するた
めの第1の送信データ保持手段と、内部で動作するアプ
リケーションから組識別情報が付加された送信データを
受け取ったとき、その組識別情報に基づき前記通信管理
テーブルを参照することによってデータ送信先となるア
プリケーションを特定し、前記送信データをその送信先
アプリケーションが動作する前記コンピュータへ送信す
るとともに前記送信データを組識別情報を付加したまま
前記第1の送信データ保持手段に書き込む第1の送信処
理手段と、前記通信回線を介して受信したデータに関す
る情報を保持するための第1の受信データ情報保持手段
と、前記通信回線を介して組識別情報が付加された受信
データを受け取ったとき、その組識別情報に基づき前記
通信管理テーブルを参照することによってデータの渡し
先となるアプリケーションを特定し、前記受信データを
そのアプリケーションに渡すとともに受信データに関す
る情報を前記第1の受信データ情報保持手段に書き込む
第1の受信処理手段とを有し、第1のコンピュータと通
信を行う少なくとも1台の第2のコンピュータは、送信
するデータを保持するための第2の送信データ保持手段
と、内部で動作するアプリケーションから組識別情報が
付加された送信データを、前記第1のコンピュータへ送
信すると共に前記第2の送信データ保持手段に書き込む
第2の送信処理手段と、前記通信回線を介して受信した
データに関する情報を保持するための第2の受信データ
情報保持手段と、前記通信回線を介して受信したデータ
を送信先となるアプリケーションに渡すと共に受信した
データに関する情報を前記第2の受信データ情報保持手
段に書き込む第2の受信処理手段とを有し、前記各送信
処理手段は、通信回線断後、通信回線の復旧を確認した
とき前記送信データ情報保持手段に保持した送信データ
を再送し、前記各受信処理手段は、通信回線復旧後にデ
ータを受信したとき、前記受信データ情報保持手段に保
持した受信したデータに関する情報に基づき、通信回線
復旧後に受信したデータがすでに受信済みであると判断
したときにはアプリケーションへのデータ渡し及び受信
データ情報の前記受信データ情報保持手段への書込みを
行わないようにしたものである。
第1の発明において、前記第1のコンピュータは、サー
バコンピュータであり、前記第2のコンピュータは、前
記サーバコンピュータと前記通信回線を介してデータ通
信を相互に行う1乃至複数のクライアントコンピュータ
であるものとする。
好適な実施の形態について説明する。
の一実施の形態を示した全体構成図である。本実施の形
態では、本発明に係るデータ通信システムを有線若しく
は無線の通信回線5を介して接続されたコンピュータ
(クライアント10及びサーバ30)で構成され、TC
P/IPに基づきデータ通信を行うクライアント・サー
バシステムに適用した場合の例で説明する。なお、クラ
イアント10及びサーバ30は、一般的なコンピュータ
であり、データの送受信を双方向に行うことができる。
また、本実施の形態では、便宜上、1台のクライアント
10のみを図示する。なお、本実施の形態では、本発明
に係る第1のコンピュータがサーバ30であり、第2の
コンピュータがクライアント10である。
行部11、回線制御部12、通信処理部13、送信デー
タ保持部14及び受信データ情報保持部15を有してお
り、更に通信処理部33には、送信処理部16と受信処
理部17とが搭載されている。アプリケーション実行部
11は、通信回線5を介してデータ通信を行うアプリケ
ーションを実行するアプリケーション実行手段である。
回線制御部12は、回線制御手段として設けられ、所定
の通信手順に基づき回線の接続、切断、復旧処理等の回
線制御、通信制御を行い、更に回線断、復旧等が発生し
た旨の通知を行う。TCP/IPの通信プロトコルに基
づく通信を行う場合、サーバ30との間のソケットをオ
ープンする。送信データ保持部14は、第2の送信デー
タ保持手段として設けられ、送信処理部16によるデー
タ送信時に送信するデータを保持するために設けられた
手段である。受信データ情報保持部15は、第2の受信
データ情報保持手段として設けられ、通信回線5を介し
て受信したデータに関する情報を保持するための手段で
ある。送信処理部16は、第2の送信処理手段として設
けられ、内部で動作するクライアントアプリケーション
から組識別情報が付加された送信データをサーバ30へ
送信すると共に送信データ保持部14に書き込む。受信
処理部17は、第2の受信処理手段として設けられ、通
信回線5を介して受信したデータを送信先となるサーバ
アプリケーションに渡すと共に受信したデータに関する
情報を受信データ情報保持部15に書き込むことで保持
する。通信処理部13は、送信処理部16と受信処理部
17を搭載することで各機能を含むと共に一般的な通信
処理機能を有している。
1、回線制御部32、通信処理部33、送信データ保持
部34、受信データ情報保持部35及び通信管理テーブ
ル40を有しており、更に通信処理部33には、送信処
理部36、受信処理部37、組識別情報通知部38及び
組識別情報管理部39が搭載されている。アプリケーシ
ョン実行部11は、通信回線5を介してデータ通信を行
うアプリケーションを実行するアプリケーション実行手
段であり、同時に複数の通信アプリケーションを実行す
ることができる。回線制御部12は、回線制御手段とし
て設けられ、所定の通信手順に基づき回線の接続、切
断、復旧処理等の回線制御、通信制御を行い、更に回線
断、復旧等が発生した旨の通知を行う。TCP/IPの
通信プロトコルに基づく通信を行う場合、クライアント
10との間のソケットをオープンする。
タ保持手段として設けられ、送信処理部36によるデー
タ送信時に送信するデータを保持するために設けられた
手段である。受信データ情報保持部35は、第1の受信
データ情報保持手段として設けられ、通信回線5を介し
て受信したデータに関する情報を保持するための手段で
ある。送信処理部36は、第1の送信処理手段として設
けられ、内部で動作するサーバアプリケーションから組
識別情報が付加された送信データを受け取ると、その組
識別情報に基づき通信管理テーブル40を参照すること
によってデータ送信先となるクライアントアプリケーシ
ョンを特定し、送信データをそのクライアントアプリケ
ーションが動作するクライアント10へ送信する。ま
た、送信データを組識別情報を付加したまま送信データ
保持部34に書き込むことで保持する。受信処理部37
は、第1の受信処理手段として設けられ、通信回線5を
介して組識別情報が付加された受信データを受け取る
と、その組識別情報に基づき通信管理テーブル40を参
照することによってデータの渡し先となるアプリケーシ
ョンを特定し、受信データをそのアプリケーションに渡
し、また、受信データに関する情報を受信データ情報保
持部35に書き込む。組識別情報通知部38は、組識別
情報通知手段として設けられ、通信を行うクライアント
アプリケーション及びサーバアプリケーションに、その
アプリケーションに割り当てられた組識別情報を通知す
る。組識別情報管理部39は、組識別情報管理手段とし
て設けられ、通信回線5を介して相互にデータ通信を行
う相互のアプリケーションの組を識別するための組識別
情報を、そのアプリケーションの組に割り当てるなど、
通信路の形成、削除、回線の切断、復旧に伴い、通信管
理テーブル40の更新を行う。通信処理部33は、送信
処理部36と受信処理部37を搭載することで各機能を
含むと共に一般的な通信処理機能を有している。更に、
通信処理に応じて組識別情報通知部38及び組識別情報
管理部39としての機能を発揮する。通信管理テーブル
40は、組識別情報に各アプリケーションを特定しうる
アプリケーション識別情報を対応させて記憶する。
ーブル40の構成例を示した図である。このテーブルに
おいて、通信を行う各アプリケーションを特定し関連づ
けている。クライアントアプリケーション識別情報とし
ては、クライアント10側のアプリケーションを特定す
るための識別情報としてMACアドレス及び使用する通
信ソケットハンドルの番号を含んでいる。本実施の形態
におけるクライアント10のアプリケーション実行部1
1は、同時には唯一の通信アプリケーションのみを実行
するため、他のクライアントと識別可能なMACアドレ
スをアプリケーション識別情報として使用するが、複数
動作させるのであれば、IPアドレスやクライアントア
プリケーション名等他の情報も付加する必要がある。サ
ーバアプリケーション識別情報としては、サーバ30側
のアプリケーションを特定するための識別情報としてサ
ーバ名及び使用する通信ソケットハンドルの番号を含ん
でいる。このアプリケーションの組に各組を識別するた
めの組識別情報としてセッションIDを割り当て、更に
このレコードデータの有効“Y”/無効“Y”並びに回
線断中“E”を示す有効フラグを付加する。なお、本実
施の形態で用いる各アプリケーションの識別情報は例示
であり、システム構成やアプリケーションの構成に応じ
て識別可能な他の情報を用いればよい。
11,31、通信処理部13,33は、各機能を実現す
るアプリケーションソフトウェアをCPU上で実行する
ことで実現される。また、回線制御部12,32は、T
CP/IPなどの所定の通信プロトコルに基づいた通信
を実現するためのハードウェア、ソフトウェア等で実現
される。通信管理テーブル40は、メモリ上に設ける
が、ディスク装置などの読み書き可能な記憶媒体でも実
現可能である。送信データ保持部14,34及び受信デ
ータ情報保持部15,35も同様である。
プリケーション間通信の途中で通信回線5が切断された
後、回線が復旧したときにアプリケーションに負担をか
けることなくデータの再送を行えるようにしたことであ
る。更に、回線復旧時に再接続先となるコンピュータ
(サーバ30)において複数のアプリケーションが動作
していても、その中から回線断前に通信を行っていたア
プリケーションを一意に特定できるようにしたことであ
る。これにより、通信回線5が復旧した後でもアプリケ
ーションに負荷をかけることなくデータ通信を再開させ
ることができる。
各フローチャートを用いて説明するが、まず、アプリケ
ーション間に通信路を形成する際に行われる回線接続処
理、回線確立後にクライアント10がサーバ30に対し
てデータを正常に送信するときの処理、回線確立後にサ
ーバ30がクライアント10に対してデータを正常に送
信するときの処理及びアプリケーション間通信が終了し
通信路を切断する通信終了処理について説明する。その
後にデータ通信中に回線断が発生したときの処理につい
て説明する。
13における処理を示したフローチャートであり、図4
は、サーバ30の側の通信処理部33における処理を示
したフローチャートであるが、まず最初に図3及び図4
を用いてアプリケーション間に通信路を形成する際に行
われる回線接続処理についてクライアント10から接続
要求を出した場合を例にして説明する。
る通信処理部13は、アプリケーション実行部11で動
作しているアプリケーション(以下、「クライアントア
プリケーション」という)からサーバ30側のアプリケ
ーション(以下、「サーバアプリケーション」という)
と通信を行うための要求を受け付けると、サーバ30側
に接続要求を出す(ステップ100,101)。
処理部33は、通信回線5を介してクライアント10か
らの接続要求を受け付けると(ステップ200)、ま
ず、通信管理テーブル40から空いているエントリを探
してセッションIDを取得する(ステップ201)。エ
ントリの空きは、有効フラグを参照することで把握でき
る。すなわち、“N”の有効フラグのエントリを未使用
と判断できる。そして、通信処理部33は、通信先とな
るサーバアプリケーションを起動する(ステップ20
2)。接続要求には、クライアント10側のMACアド
レス、通信ソケットハンドル番号及び通信相手先となる
サーバ名が含まれているので、これから起動の対象を特
定できる。そして、起動されたサーバアプリケーション
にセッションIDを通知する(ステップ203)。サー
バアプリケーションが起動されクライアントアプリケー
ションとの通信路が確立されると、通信処理部33は、
通信管理テーブル40に各アプリケーションの識別情報
を書き込み(ステップ204)、有効フラグを“Y”に
変更することでこのアプリケーション組のエントリの登
録を終えた後(ステップ205)、クライアント10へ
セッションIDとともに接続処理の完了を通知する(ス
テップ206)。
3は、送られてきたセッションIDをデータ通信要求元
のアプリケーションに渡す(ステップ103)。
信路が確立されると、次のようにしてアプリケーション
間通信が行われる。まず、クライアント10からサーバ
30へのデータを送信する際に行われる処理(図3のス
テップ111、図4のステップ221)について図5及
び図6に示したフローチャートを用いて説明するが、こ
こではデータ送信が正常終了したときについて説明す
る。
プリケーションにデータを送信する場合、クライアント
アプリケーションは、送信するデータに通信路形成時に
知らされたセッションIDを付加して送信要求を通信処
理部13に渡すことになる。通信処理部13は、クライ
アントアプリケーションから送られてきた送信するデー
タ本体とセッションIDを受け取ると(ステップ14
1)、その送信するデータを送信データ保持部14に書
き込むことで保持した後(ステップ142)、データ本
体にセッションIDを付加したままサーバ30へ送信す
る(ステップ143,144)。なお、送信するデータ
のフォーマットの例を図7に示す。
3は、クライアント10から送られてきたデータを受信
すると(ステップ261)、受信データに含まれている
セッションIDにより通信管理テーブル40を検索して
サーバ名を取得することによって通信相手となるサーバ
アプリケーションを特定し(ステップ262)、そのア
プリケーションにデータを渡す(ステップ263,26
7)。そして、受信したデータをそのまま受信データ情
報保持部35に書き込む(ステップ268)。なお、前
回のデータ受信処理において受信データ情報保持部35
に保持した同一セッションIDのデータが存在すれば、
それを消去する。この処理を終了すると、正常にデータ
を受信した旨を表す受信確認応答をクライアント10へ
送出する(ステップ269)。なお、この受信確認応答
メッセージのデータフォーマットの例を図8に示す。
ーバ30から送られてきた受信確認応答を受け取ること
でデータ送信処理が正常に終了したことを確認すると
(ステップ147,148)、送信データ情報保持部1
4に一時保持しておいたデータを消去する(ステップ1
49)。このようにして、クライアントアプリケーショ
ンから送出されたデータは、特定のサーバアプリケーシ
ョンに送られる。
のデータ送信処理(図4のステップ211、図3のステ
ップ111)について図9及び図10に示したフローチ
ャートを用いて説明するが、ここではデータ送信が正常
終了したときについて説明する。
プリケーションにデータを送信する場合、サーバアプリ
ケーションは、送信するデータに通信路形成時に知らさ
れたセッションIDを付加して送信要求を通信処理部3
3に渡すことになる。通信処理部33は、サーバアプリ
ケーションから送られてきた送信するデータ本体とセッ
ションIDを受け取ると(ステップ271)、受け取っ
たセッションIDにより通信管理テーブル40を検索し
て通信相手となるクライアントアプリケーションを特定
する(ステップ272)。そして、その送信するデータ
を送信データ保持部34に書き込むことで保持した後
(ステップ273)、特定したクライアントアプリケー
ションへ送信する(ステップ274,275)。送信す
るデータのフォーマットは、図7と同じでよいが、セッ
ションIDを必ずしも付加する必要はない。
処理部13は、サーバ30から送られてきたデータを受
信すると(ステップ151)、実行中の特定のアプリケ
ーションにデータを渡す(ステップ155)。そして、
受信したデータをそのまま受信データ情報保持部15に
書き込む(ステップ156)。なお、前回のデータ受信
処理において受信データ情報保持部15に保持したデー
タが存在すれば、それを消去する。この処理を終了する
と、正常にデータを受信した旨を表す受信確認応答をサ
ーバ30へ送出する(ステップ157)。受信確認応答
メッセージのデータフォーマットは、図8と同じであ
る。
ント10から送られてきた受信確認応答を受け取ること
でデータ送信処理が正常に終了したことを確認すると
(ステップ279,280)、送信データ情報保持部3
4に一時保持しておいたデータを消去する(ステップ2
81)。このようにして、サーバアプリケーションから
送出されたデータは、特定のクライアントアプリケーシ
ョンに送られる。
完了して通信を終了する場合、クライアントアプリケー
ションは、その切断要求にセッションIDを付加して送
出する。通信処理部13は、このセッションIDが付加
された切断要求データをサーバ30へ送信する(ステッ
プ100,131)。
受信データに含まれているセッションIDにより通信管
理テーブル40を検索して通信相手となっていたサーバ
アプリケーションを特定し(ステップ231)、その実
行を終了し、又は自ら終了させる(ステップ232)。
そして、通信が終了したそのアプリケーションの組のエ
ントリの有効フラグを“N”に変更する(ステップ23
3)。なお、このとき、各回線制御部12,32は、ア
プリケーション間の通信路を切断する。
通信を行うが、本実施の形態においては、セッションI
Dをデータに付加してデータ通信を行うことを特徴とし
ている。
れたとき及び回線が復旧したときの処理について説明す
る。なお、クライアント10又はサーバ30のいずれが
データ送信側又はデータ受信側となったとしても行われ
る処理は基本的にはほぼ同様なので、ここではクライア
ント10がサーバ30に対してデータを送信したときの
場合を例にして説明する。クライアント10がデータを
送信して受信応答確認を受信するまでの間に通信回線5
の切断が発生するタイミングとして、クライアント10
のデータ送信後サーバ30のデータ受信前に発生する場
合と、クライアント10が送信したデータをサーバ30
が受信した後受信確認応答送信後クライアント10のデ
ータ受信前に発生する場合とが考えられる。ここでは、
まず、クライアント10のデータ送信後サーバ30のデ
ータ受信前に回線断が発生した場合のデータ通信処理に
ついて説明する。
1により実行されているアプリケーションからデータを
受け取り、そのデータを送信データ情報保持部14に保
持するとともにサーバ30へ送信するまでの通信処理部
13における処理は、上記と同じである(ステップ14
1〜144)。ここで、データを送信したものの受信確
認応答受信前に回線断による通信エラーが発生したとす
る。通信処理部13は、回線が切れたことを回線制御部
12からの通知を受けることで知ることができるが、回
線断がサーバ30によるデータ受信後に発生したのか、
それともデータ受信後受信確認応答送出後に発生したの
かの判別ができない。そこで、通信処理部13は、回線
断による通信エラーが発生したとき(ステップ146)
又はタイムアウトにより受信確認応答を正常に受信でき
なかったとき(ステップ147,148)、その後に回
線が復旧したときに先ほどの送信したデータを再送する
が、本実施の形態においては、送信データ情報保持部1
4に一時保持したデータを取り出してサーバ30へ自動
再送することになる(ステップ143,145)。これ
により、データ送信要求をしたクライアントアプリケー
ションに回線断を知らせることなくデータの再送を行う
ことができるので、当該アプリケーションに回線断並び
のその復旧処理による影響を及ぼさないで済む。なお、
通信処理部13は、回線が復旧した旨を回線制御部12
から送られてくることにより知ることができる。
は、通信回線5が切断したという回線制御部32からの
通知を受け取ると(ステップ200)、通信管理テーブ
ル40において“Y”となっている全ての有効フラグを
回線断が発生したことを示すための“E”に変更する
(ステップ241)。
は、クライアント10から通信回線5を経由して送られ
てきたデータを受け取ることになるが(ステップ26
1)、ここでの処理ではクライアント10のデータ送信
後サーバ30のデータ受信前に回線断が発生しているの
で、ここで受信したデータは、再送時のデータである。
通信処理部33は、受信データに含まれているセッショ
ンIDにより通信管理テーブル40を検索することによ
ってサーバアプリケーションを特定する(ステップ26
2)。ここで、通信処理部33は、通信管理テーブル4
0の該当するエントリの有効フラグを参照して、及び回
線制御部32からの通知により回線復旧後の処理である
ことを認識することができるので(ステップ263)、
有効フラグ“E”を“Y”に変更した後(ステップ26
4)、受信したデータと受信データ情報保持部35に保
持されているデータとを比較する(ステップ265)。
再送前にクライアント10が送出した再送と同一のデー
タは、回線断により受信されていないはずであるから、
この比較処理においてデータは一致しないはずである。
従って、通信処理部33は、回線復旧後の受信データが
クライアント10からまだ受け取っていないデータであ
ると判断して、上記と同様に受信データをサーバアプリ
ケーションに渡すとともに受信データ情報保持部35に
書き込む(ステップ267,268)。そして、正常に
データを受信した旨を表す受信確認応答をクライアント
10へ送出する(ステップ269)。なお、回線復旧直
後のデータ受信である旨をサーバアプリケーションにデ
ータと共に知らせるようにしてもよい。
ーバ30から送られてきた受信確認応答を正常に受け取
ると(ステップ147,148)、送信データ情報保持
部14に一時保持した送信データを消去する(ステップ
149)。
をサーバ30が受信した後、サーバ30が送信した受信
確認応答をクライアント10が受信する前に回線断が発
生した場合のデータ通信処理について説明する。
れているアプリケーションからデータを受け取り、その
データを送信データ情報保持部14に保持するとともに
サーバ30へ正常に送信するまでの通信処理部13にお
ける処理は、上記と同じである(ステップ141〜14
4)。
ライアント10から通信回線5を経由して送られてきた
データを受け取ると(ステップ261)、その受信デー
タをセッションIDにより特定したサーバアプリケーシ
ョンに渡すとともに(ステップ267)、受信データ情
報保持部35に書き込み(ステップ268)、その後、
受信確認応答をクライアント10へ送出する(ステップ
269)。ここまでの処理は、最初に説明したデータ通
信が正常に終了した場合の処理と同じである。
認応答をクライアント10が受け取る前に回線断が発生
し、その後復旧したとする。このとき、通信処理部13
は、当然ながら受信確認応答を受け取っていないが、こ
れは、回線断がサーバ30によるデータ受信後に発生し
たのか、それともデータ受信後受信確認応答送出後に発
生したのかの判別ができない。そこで、通信処理部13
は、回線断による通信エラーが発生したとき(ステップ
146)又はタイムアウトにより受信確認応答を正常に
受信できなかったとき(ステップ147,148)、回
線が復旧したことを確認した後、送信データ情報保持部
14に一時保持したデータを取り出してサーバ30に再
送することになる(ステップ143,145)。
ント10から送られてきたデータを受け取る(ステップ
261)。ここで受信したデータは、受信確認応答送出
後に発生した回線断の後に受信したデータであり、再送
時のデータである。通信処理部33は、受信データに含
まれているセッションIDにより通信管理テーブル40
を検索することによってサーバアプリケーションを特定
する(ステップ262)。ここで、通信処理部33は、
通信管理テーブル40の該当するエントリの有効フラグ
を参照して、及び回線制御部32からの通知により回線
復旧後の処理であることを認識することができるので
(ステップ263)、有効フラグ“E”を“Y”に変更
した後(ステップ264)、受信したデータと受信デー
タ情報保持部35に保持されているデータとを比較する
(ステップ265)。
のデータは、前述したように、回線断前にすでに受信さ
れ、サーバアプリケーションに渡され、かつ受信データ
情報保持部35にすでに書き込まれている。従って、比
較するデータの内容は一致することになるので、通信処
理部33は、受信データをサーバアプリケーションへ渡
す処理(ステップ267)及び受信データ情報保持部3
5へ書き込む処理(ステップ268)を行わずに受信確
認応答の送出のみを行うことになる(ステップ26
9)。このように、通常のデータ受信処理において受信
データ情報保持部35に受信データを一時保持してお
き、回線復旧後における処理において上記比較処理を行
うことで、データが再送されてきたとしてもアプリケー
ションに同じデータを二度渡すことを防止することがで
きる。また、回線断が発生したとしてもデータ通信を自
動的に再開することができるので、アプリケーションに
回線断を知らせる必要もなく、回線断並びのその復旧処
理による影響を及ぼさないで済む。
ーバ30から送られてきた受信確認応答を正常に受け取
ると(ステップ147,148)、送信データ情報保持
部14に一時保持した送信データを消去する(ステップ
149)。
線断がデータ送信時あるいは受信確認応答時に発生した
としても回線復旧後にアプリケーションに負荷をかける
ことなくデータの再送を行うことができるので、回線断
後におけるデータ通信処理を自動的に再開することがで
きる。これにより、データの送信並びに受信をする各ア
プリケーションに回線断に対する復旧、再送等の処理を
含ませる必要がなくなる。
ンIDを用いて通信相手を特定しているので、サーバア
プリケーションを再起動し直して処理を最初からやり直
す必要もなく、回線断発生時に中断したところから処理
を再開させることができる。すなわち、通信路が切断さ
れた各アプリケーションは、回線断による通信エラーが
発生したとしても通信回線5が回復するまでの間、処理
を途中で終了させずに待機していればよい。そして、回
線が復旧したとき、回線断前の相手と改めてデータ通信
を再開することになるが、前述したようにデータ送信中
に回線断が発生していれば、データの再送を自動的に行
うことになる。回線復旧時、サーバ30において待機中
のサーバアプリケーションが複数存在していても、本実
施の形態ではセッションIDを用いて通信相手を特定す
るようにしているので、通信管理テーブル40を参照す
ることによってクライアントアプリケーションと回線断
前に通信をしていたサーバアプリケーションを待機中の
中から一意に特定することができる。そして、回線断発
生時に中断したところから処理を再開すればよい。これ
は、トランザクション処理を行うサーバアプリケーショ
ンにとっては、回線断前に行った処理を無駄にせずに済
むので非常に効果的である。
いては、送信データを一時保持するようにしたので、送
信元のクライアントアプリケーションから再度送信すべ
きデータを送ってもらうことなく回線復旧後におけるデ
ータ再送処理を行うことができる。また、受信確認応答
受信後に一時保持した送信データを消去するようにした
ので、保持するための無駄な容量を使用しないで済む。
特に、本実施の形態では、送信データのフォーマットの
まま保持するようにしたので、再送の際に余計な変換処
理等を行わないで済む。
は、受信データ情報として受信データをそのまま一時保
持するようにし、回線復旧後にはデータ再送によって受
信したデータを保持したデータと比較するようにしたの
で、同じデータをサーバアプリケーションに再度渡すこ
とがない。また、新たに受信データを保持する際、前回
のデータ受信時に保持したデータを消去するようにした
ので、保持するための無駄な容量を使用しないで済む。
タ送信時に回線断が発生したときの処理は、クライアン
ト10がサーバ30に対してデータを送信したときとほ
ぼ同様である。ただ、サーバ30に設けられている通信
管理テーブル40へのアクセス、特に回線復旧直後のデ
ータ送信時に、データ通信を行う相互のアプリケーショ
ンの組に該当する有効フラグを“E”から“Y”に変更
する処理(ステップ276)が含まれることが異なる。
送信してから受信確認応答を受信するまでの間に様々な
タイミングで回線断を認識することになるため、回線断
を図5に示したステップ146からステップ148又は
図9に示したステップ278からステップ280と異な
る手順で認識するようにしてもよい。この処理手順は、
本発明の設計事項の範囲内である。
ト・サーバシステムを例にして本発明に係るデータ通信
システムを説明したが、コンピュータを接続する通信線
が切断される可能性のある様々な形態のデータ通信シス
テムに適用できることはいうまでもない。また、各実施
の形態では、1台のクライアント10のみの例で説明し
たが、送受信されるデータにクライアント10又はアプ
リケーションを識別するための情報(MACアドレス、
IPアドレス、アプリケーション名等)を付加すること
によって複数のクライアント10を接続したシステム構
成においても容易に適用することができる。
するようにし、その保持したデータと回線断直後に送ら
れてきたデータとを比較するようにしたので、アプリケ
ーションに同一のデータを二度送信することを防止する
ことができる。
信が正常に終了しなかったときにその一時保持したデー
タを再送するようにしたので、回線断が発生してもデー
タ通信を行っていたアプリケーションに回線断に基づく
復旧処理等をさせることなくデータ通信を再開すること
ができる。
相互のアプリケーションの組に組識別情報を割り当て、
データを送信する際にはこの組識別情報を利用して通信
相手を特定するようにしたので、通信回線が切断され復
旧したとき、回線断前に通信をしていたアプリケーショ
ンを一意に特定することができる。このため、アプリケ
ーション間で回線断時から処理を再開することが容易に
できる。
形態を示した全体構成図である。
成例を示した図である。
処理部における処理を示したフローチャートである。
における処理を示したフローチャートである。
処理部におけるデータ送信処理を示したフローチャート
である。
におけるデータ受信処理を示したフローチャートであ
る。
ーマットの例を示した図である。
マットの例を示した図である。
におけるデータ送信処理を示したフローチャートであ
る。
信処理部におけるデータ受信処理を示したフローチャー
トである。
示したシステム構成図である。
リケーション実行部、12,32 回線制御部、13,
33 通信処理部、14,34 送信データ情報保持
部、15,35 受信データ情報保持部、16,36
送信処理部、17,37 受信処理部、38 組織別情
報通知部、39 組織別情報管理部、40通信管理テー
ブル。
Claims (2)
- 【請求項1】 通信回線を介してデータ通信を行うアプ
リケーションを実行するアプリケーション実行手段と、 所定の通信手順に基づき回線の接続、切断、復旧処理及
びその旨の通知を行う回線制御手段と、 を備えた少なくとも2台のコンピュータを有するデータ
通信システムにおいて、 第1のコンピュータは、 前記通信回線を介して相互にデータ通信を行う相互のア
プリケーションの組を識別するための組識別情報を前記
アプリケーションの組に割り当てる組識別情報管理手段
と、 組識別情報に各アプリケーションを特定しうるアプリケ
ーション識別情報を対応させて記憶する通信管理テーブ
ルと、 各アプリケーションに、当該アプリケーションに割り当
てられた組識別情報を通知する組識別情報通知手段と、 送信するデータを保持するための第1の送信データ保持
手段と、 内部で動作するアプリケーションから組識別情報が付加
された送信データを受け取ったとき、その組識別情報に
基づき前記通信管理テーブルを参照することによってデ
ータ送信先となるアプリケーションを特定し、前記送信
データをその送信先アプリケーションが動作する前記コ
ンピュータへ送信するとともに前記送信データを組識別
情報を付加したまま前記第1の送信データ保持手段に書
き込む第1の送信処理手段と、 前記通信回線を介して受信したデータに関する情報を保
持するための第1の受信データ情報保持手段と、 前記通信回線を介して組識別情報が付加された受信デー
タを受け取ったとき、その組識別情報に基づき前記通信
管理テーブルを参照することによってデータの渡し先と
なるアプリケーションを特定し、前記受信データをその
アプリケーションに渡すとともに受信データに関する情
報を前記第1の受信データ情報保持手段に書き込む第1
の受信処理手段と、 を有し、 第1のコンピュータと通信を行う少なくとも1台の第2
のコンピュータは、 送信するデータを保持するための第2の送信データ保持
手段と、 内部で動作するアプリケーションから組識別情報が付加
された送信データを、前記第1のコンピュータへ送信す
ると共に前記第2の送信データ保持手段に書き込む第2
の送信処理手段と、 前記通信回線を介して受信したデータに関する情報を保
持するための第2の受信データ情報保持手段と、 前記通信回線を介して受信したデータを送信先となるア
プリケーションに渡すと共に受信したデータに関する情
報を前記第2の受信データ情報保持手段に書き込む第2
の受信処理手段と、 を有し、 前記各送信処理手段は、通信回線断後、通信回線の復旧
を確認したとき前記送信データ情報保持手段に保持した
送信データを再送し、 前記各受信処理手段は、通信回線復旧後にデータを受信
したとき、前記受信データ情報保持手段に保持した受信
したデータに関する情報に基づき、通信回線復旧後に受
信したデータがすでに受信済みであると判断したときに
はアプリケーションへのデータ渡し及び受信データ情報
の前記受信データ情報保持手段への書込みを行わないこ
とを特徴とするデータ通信システム。 - 【請求項2】 前記第1のコンピュータは、サーバコン
ピュータであり、 前記第2のコンピュータは、前記サーバコンピュータと
前記通信回線を介してデータ通信を相互に行う1乃至複
数のクライアントコンピュータであることを特徴とする
請求項1記載のデータ通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14054097A JP3088683B2 (ja) | 1997-05-29 | 1997-05-29 | データ通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14054097A JP3088683B2 (ja) | 1997-05-29 | 1997-05-29 | データ通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10336242A true JPH10336242A (ja) | 1998-12-18 |
JP3088683B2 JP3088683B2 (ja) | 2000-09-18 |
Family
ID=15271057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14054097A Expired - Fee Related JP3088683B2 (ja) | 1997-05-29 | 1997-05-29 | データ通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3088683B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005011315A (ja) * | 2003-06-18 | 2005-01-13 | Xybernaut Corp | 保守及び検査システムと方法 |
JP2005524264A (ja) * | 2002-04-25 | 2005-08-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークにおけるデータ転送を管理するデータ処理システムおよび方法 |
JP2006094510A (ja) * | 2004-09-21 | 2006-04-06 | Microsoft Corp | レートを同期させたクロックを使用した高信頼メッセージング |
JP2013513880A (ja) * | 2009-12-15 | 2013-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 非同期クライアント・サーバ・トランザクションを保護するための方法、システム、およびコンピュータ使用可能プログラム製品 |
-
1997
- 1997-05-29 JP JP14054097A patent/JP3088683B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005524264A (ja) * | 2002-04-25 | 2005-08-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークにおけるデータ転送を管理するデータ処理システムおよび方法 |
JP2005011315A (ja) * | 2003-06-18 | 2005-01-13 | Xybernaut Corp | 保守及び検査システムと方法 |
JP2006094510A (ja) * | 2004-09-21 | 2006-04-06 | Microsoft Corp | レートを同期させたクロックを使用した高信頼メッセージング |
JP2013513880A (ja) * | 2009-12-15 | 2013-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 非同期クライアント・サーバ・トランザクションを保護するための方法、システム、およびコンピュータ使用可能プログラム製品 |
Also Published As
Publication number | Publication date |
---|---|
JP3088683B2 (ja) | 2000-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6065040A (en) | Computer system having agent retracting method and agent returning method | |
US6934247B2 (en) | Recovery following process or system failure | |
JP2004032224A (ja) | サーバ引継システムおよびその方法 | |
WO1991014230A1 (en) | Message communication processing system | |
WO2009097776A1 (zh) | 一种实现业务升级的系统、装置及方法 | |
US6880013B2 (en) | Permanent TCP connections across system reboots | |
US10789138B2 (en) | SMB service fault processing method and storage device | |
JPH10112740A (ja) | 情報処理装置、通信方法および記憶媒体 | |
JPH11340986A (ja) | 無線通信システムで用いられる装置とプログラム記録媒体 | |
JP3608905B2 (ja) | データ通信システム及びデータ通信方法 | |
US20040123183A1 (en) | Method and apparatus for recovering from a failure in a distributed event notification system | |
US8156174B2 (en) | Method and system for information exchange utilizing an asynchronous persistent store protocol | |
JP3088683B2 (ja) | データ通信システム | |
KR100597405B1 (ko) | 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법 | |
JP4757670B2 (ja) | システム切替方法、その計算機システム及びプログラム | |
JP3515839B2 (ja) | コンピュータシステム間通信システム | |
JP2003242050A (ja) | サーバ・クライアント間データ転送方法およそのサーバクライアントシステム | |
JPH0591108A (ja) | メツセージ通信制御方法および通信システム | |
JP3709319B2 (ja) | 端末からホストコンピュータへの再接続方法 | |
JPH114259A (ja) | 仮想コネクション通信装置及び通信方法 | |
JPH11312111A (ja) | データベース復旧方法及びデータベース管理システム | |
JPH10320326A (ja) | チェックポイント通信処理システム、及びチェックポイント通信処理方法、この通信処理方法を格納した記憶媒体 | |
JPH10336274A (ja) | データ通信システム及びデータ通信方法 | |
JP2019067301A (ja) | プログラム実行装置およびプログラム実行方法 | |
JPH0997237A (ja) | オンライントランザクション処理システムの入力電文保証方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070714 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080714 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |