JP3600344B2 - Data communication method and data communication system - Google Patents
Data communication method and data communication system Download PDFInfo
- Publication number
- JP3600344B2 JP3600344B2 JP03218296A JP3218296A JP3600344B2 JP 3600344 B2 JP3600344 B2 JP 3600344B2 JP 03218296 A JP03218296 A JP 03218296A JP 3218296 A JP3218296 A JP 3218296A JP 3600344 B2 JP3600344 B2 JP 3600344B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- buffer
- communication
- serial number
- 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 - Lifetime
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、データ通信技術に係わり、特に、異機種の情報処理装置間でのデータ通信を行う際に、通信データの欠落等の発生を防止し、データ通信を確実に行うことや、異常な通信処理の発生時には、通信処理をリトライするような異常時処理を行うことを可能とする、データ通信技術に関する。
【0002】
【従来の技術】
近年、マルチメディアシステム等の技術発展に伴い、マルチメディアデータ等の各種のデータを、異機種の情報処理装置間で通信するため、各種のデータ通信方法が提案されている。
一般に、異機種の情報処理装置間でデータ通信を行うためには、採用する通信プロトコルを予め定めておき、送信側装置および受信側装置がデータの送信・受信を行う際に、予め定めたプロトコルに適合するようにデータを生成して、装置間でのデータ通信処理を行っている。
【0003】
このような通信方法を採用する通信システムの一例を、図10を参照して説明する。
図10は、異機種の情報処理装置である、コンピュータAおよびコンピュータBの間で、データ通信を行う通信システムを、機能ブロック図で示したものである。
【0004】
実際には、各機能部は、各種の処理や各構成要素の動作制御を行うCPU(中央処理装置)、CPUを動作させるためのプログラム等を格納したROM、各種の処理に対するワークエリアや各種データの格納領域を備えるRAM等を、有したハードウエア構成にて実現される。
コンピュータAは、送信処理プログラム(アプリケーション)とクライアント側送信部との間のインターフェイスとして機能するAPI(アプリケーション)部12と、通信対象となるデータを格納する領域を有する送信側バッファ14と、送信処理機能を有するクライアント側送信部16と、コンピュータB側から送信されてきた受信処理結果を格納するDB(データーベース)18とを有している。同様に、コンピュータBは、受信処理プログラム(アプリケーション)とサーバ側受信部との間のインターフェイスとして機能するAPI(アプリケーション)部22と、通信対象となるデータを格納する領域を有する受信バッファ24と、受信処理機能を有するサーバ側受信部26とを有している。さらに、両コンピュータは、光ファイバ等の伝送媒体で構成される通信網であるLAN28によって、通信可能に接続されている。
【0005】
さて、このようなシステムが、データ通信を行う際の動作について、その概要を説明する。
まず、API部12が送信処理プログラムを起動すると、該プログラムによって与えられた送信データは、送信側バッファ部に格納される(▲1▼)。
なお、送信処理プログラムが、順次生成する送信データは、送信バッファ部14に、順次、格納されることになる。次に、API部12は、クライアント側送信部16に、データ送信依頼のメッセージを発行する(▲2▼)。
【0006】
そして、メッセージを受け取ったクライアント側送信部16は、送信側バッファ14から、順次、送信データを獲得して、獲得したデータをLAN28を介して、サーバ側受信部26に送信する(▲3▼)。
このとき、クライアント側送信部16は、送信すべきデータが、コンピュータB側で受信可能となるように、当該データが、予め定めたプロトコルに適合するようなデ─タ加工を行い、加工したデータをLAN30上に送出する。
【0007】
さて、データを受信したサーバ側受信部26は、受信データを受信側バッファ24に格納し(▲4▼)、API部22に対して、処理依頼のメッセージを発行する(▲5▼)。
そして、メッセージを受け取ったAPI部22は、受信側バッファ24から受信データを獲得して(▲6▼)、獲得したデータに対する処理を行う。
【0008】
サーバ側受信部26は、この処理結果を受け取り、LAN28を介して、クライアント側送信部16に、処理結果を送信する(▲7▼)。
クライアント側送信部16は、受け取った処理結果を、DB(データーベース)18に格納する。
なお、サーバ側受信部26は、受信側バッファ24内の受信データを削除し(▲8▼)、また、クライアント側送信部16は、送信側バッファ14内の送信データを削除する(▲9▼)。
【0009】
以上のように、従来では、このようなシステム構成で、異機種の情報処理装置間でのデータ通信を行っていた。
ところで、以上の説明では、1つの送信データに注目して、システムの動作の流れについて説明したが、実際には、送信データが順次生成されて、上述したような通信処理が順次行われて、データ通信が実行されている。
【0010】
【発明が解決しようとする課題】
しかしながら、このような通信方法によれば、通信対象となるデータが、順次、適切に通信処理されたかを、簡易な方法で判断する術がなく、正常な動作が行われなくなる場合があっても、装置自体が異常動作を検出できないため、データ欠落等が生じたまま、通信処理が継続されてしまうという問題があった。
【0011】
なお、パリティチエック等の方法により、正常な通信処理が行われているか否かを調べる方法もあるが、データ線等のハードウエア物量の増大やソフトウエア容量の増加を招き、システムコストの向上を招いていた。
よって、データフレームの構成を変更する等の簡易な手法によって、通信データの欠落等の発生を防止し、異機種の情報処理装置間でのデータ通信を確実に行うとともに、異常な通信処理を行っているシステムに対する、予め定めた処理である異常時処理を行うことが可能な、データ通信方法の実現が望まれていた。
【0012】
そこで、本発明は、通信データのフィールド中に、簡易な情報を定義することによって、情報処理装置間でのデータ通信が確実に行えるとともに、異常通信処理を行っているシステムに対して、異常時処理を行うことが可能な、データ通信方法を提供することを目的とする。
また、本発明の他の目的は、送信側装置および受信側装置の間で、データ通信が行えない場合等に、通信処理を自動再開させる、データ通信方法を提供することにある。
【0013】
【課題を解決するための手段】
上記課題を解決し、本発明の目的を達成するため、請求項1記載の発明は、通信対象データを格納する領域を有する送信側バッファを備える送信側装置と、通信対象データを格納する領域を有する受信側バッファを備える、前記送信側装置と異機種の受信側装置との間でデータを通信する方法であって、
通信対象データの内、送信側装置から受信側装置に送信するデータである送信データを送信側バッファに格納するステップと、
送信側バッファから送信データを獲得して、獲得した送信データにシリアル番号を付与し、予め定めたプロトコルを用いて、受信側装置に送信するステップと、
送信側装置から送信されてきたデータを受信側バッファに格納するステップと、
受信側バッファからデータを獲得して、獲得したデータに対して、受信処理手順を定めた受信処理プログラムにしたがって受信処理した処理結果を表す応答データを、シリアル番号順に、前記予め定めたプロトコルを用いて、送信側装置に送信するステップと、
受信側装置から前記応答データとして送信側装置に送信された通信データのシリアル番号が連番であるか否かを判定し、連番でないときに、異常時処理を行い、連番であるときに、前記受信処理の対象となったデータを前記受信側バッファから削除するとともに、前記受信側バッファから削除されたデータに対応する前記送信側バッファ内のデータも、前記送信側バッファから削除するステップと、を含むデータ通信方法である。
【0014】
また、請求項2記載の発明は、前記異常時処理が、送信側装置または受信側装置が行う送信処理をリトライする処理であること、を特徴とするデータ通信方法である。
さらに、請求項3記載の発明は、通信対象データを格納する領域を有する送信側バッファを備える送信側装置と、通信対象データを格納する領域を有する受信側バッファを備える、前記送信側装置と異機種の受信側装置との間でデータを通信するシステムであって、
前記送信側装置は、
通信対象データの内、送信側装置から受信側装置に送信するデータである送信データを、送信側バッファに格納する、第1の格納処理手段と、
送信側バッファから送信データを獲得して、獲得した送信データにシリアル番号を付与し、予め定めたプロトコルを用いて、受信側装置に送信する、第1の送信処理手段と、
受信側装置から応答データとして送信された通信データのシリアル番号が連番であるか否かを判定し、連番でないときに、異常時処理を行い、連番であるときに、前記送信データを前記送信側バッファから削除する第1の処理手段と、を備え、また、
前記受信側装置は、
送信側装置から送信されてきた送信データを受信側バッファに格納する、第2の格納処理手段と、
受信側バッファからデータを獲得して、獲得したデータに対して、受信処理手順を定めた受信処理プログラムにしたがって受信処理した処理結果を表す応答データを、シリアル番号順に、前記予め定めたプロトコルを用いて、送信側装置に送信する、第2の送信処理手段と、
前記第1の処理手段が、前記受信データのシリアル番号が連番であると判断した場合には、前記受信処理の対象となったデータを前記受信用バッファから削除する第2の処理手段と、を備える、データ通信システムである。
【0015】
【発明の実施の形態】
以下、本発明の実施形態を、図面を参照しつつ説明する。
図1は、本発明にかかるデータ通信方法を用いて、異機種の情報処理装置である、コンピュータCおよびコンピュータDの間で、データ通信を行う通信システムを、機能ブロック図で示したものである。
【0016】
また、図2は、両コンピュータ(送信側装値、受信側装置に対応する)の、具体的なハードウエア構成例を示したハードウエア構成図である。
図2に示すように、各コンピュータは、各種の処理や構成要素の動作制御を行うCPU(中央処理装置)52と、CPUを動作させるためのプログラム等を格納したROM53と、各種の処理に対するワークエリアや各種データの格納領域を備えるRAM54と、通信を行うためのI/F(インターフェイス)回路55と、各種データ等を格納しておくためのハードディスク(HD)56と、データ通信不可能状態等の動作状態情報を含む、各種の情報を表示するためのCRT57と、装置を操作するためのキーボード58とを有し、各構成要素は、構成要素間での情報の伝送路として機能するシステムバス59に接続されている。
【0017】
また、例えば、ROM53内には、本発明にかかる通信処理を行うためのプログラム、CRT57を使用しての表示処理を行うためのプログラム、キーボード58を介して与えられる各種のコマンドに、対応した処理を行うためのプログラム等が、格納されている。
そして、CPU52は、ROM53内に格納されているプログラムにしたがった動作を行うように構成されている。
【0018】
なお、キーボードを介して与えるコマンドとしては、送信処理および受信処理の起動、停止、再開等が挙げられる。また、送信データは、送信処理プログラムの実行により、自動的に、送信側バッファ34に格納するようにしておくのが一般的であるが、キーボードを介して与えるようにすることも考えられる。
また、表示処理を行うことによって、CRT57に表示する表示内容としては、通信異常が発生した旨の表示や、受け取ったデータの内容の表示等が挙げられる。
【0019】
さて、先に述べたように、図1は、通信システムの機能ブロック図を示している。このようなブロック図は、CPU52が行う動作を、その機能に注目して記載したものであって、システム動作の理解を容易にするものである。
以下、図1の説明を行い、さらに、他の図面を参照して、各機能部が行う動作、即ち、本発明のデータ通信方法について説明する。
【0020】
コンピュータC(送信側装置)は、送信処理プログラム(アプリケーション)とクライアント機能36との間のインターフェイスとして機能するAPI(アプリケーション)部32と、通信データを格納する送信側バッファ34と、送信処理機能を有するクライアント機能36と、コンピュータD側から送られてきた処理結果を格納するDB(データーベース)37と、本装置を操作するために、各種のコマンドを入力するための入力装置38と、通信異常状態等の動作状態情報を含む情報を表示する表示装置39と、クライアント機能36の起動、停止、再開等の動作制御を行うプロセス制御部61と、を有している。なお、送信側バッファ34は、送信および受信データを一時的にバッファリングする機能を有している。
【0021】
図2に示した実際のハードウエア構成と比較すると分かるように、API部32、クライアント機能36およびプロセス制御部61は、I/F(インターフェイス)回路55と、RAM54のワークエリアと、ROM53に予め格納されたプログラムにしたがって、CPU52が行う処理動作と、で実現される機能である。
【0022】
また、送信側バッファ34、DB37、入力装置38、および、表示装置39は、夫々、RAM54の1部のエリア、HD56、CRT57、キーボード58に対応している。
同様に、コンピュータD(受信側装置)は、受信処理プログラム(アプリケーション)とサーバ機能36との間のインターフェイスとして機能するAPI(アプリケーション)部42と、通信データを格納する受信側バッファ44と、受信処理機能を有するサーバ機能46と、本装置を操作するために、各種のコマンドを入力するための入力装置48と、通信異常状態等の動作状態情報を含む情報を表示する表示装置49と、コンピュータC側から送られてきたデータを蓄積するDB(データーベース)51と、サーバ機能46の起動、停止、再開等の動作制御を行うプロセス制御部62と、を有している。
【0023】
また、受信側バッファ44は、送信および受信データを一時的にバッファリングする機能を有している。さらに、API部42は、通常、複数種類のアプリケーション、即ち、複数種類の受信処理プログラムを保持しており、後に述べる、電文フォーマット中の情報によって、いずれのアプリケーションが選択されるかが規定される。
【0024】
コンピュータDの機能ブロックについても、先ほどと同様に、図2に示した実際のハードウエア構成と比較すると分かるように、API部42、サーバ機能46およびプロセス制御部62は、I/F(インターフェイス)回路55と、RAM54のワークエリアと、ROM53に予め格納されたプログラムにしたがって、CPU52が行う処理動作と、で実現される機能である。
【0025】
また、送信バッファ部34、入力装置38、および、表示装置39は、夫々、RAM54の1部のエリア、CRT57、キーボード58に対応している。
また、両コンピュータは、光ファイバ等の伝送媒体で構成される通信網であるLAN50によって、通信可能に接続されている。
さて、次に、両コンピュータ間で行われるデータ通信の動作を、図面を参照して説明する。
【0026】
なお、図1に示すシステムで行うデータ通信は、アプリケーションや、CPU等のハードウエアが異なる、異機種のコンピュータ間でのデータ通信を想定している。
まず、コンピュータCのAPI部32が行う動作を、図3を参照して説明する。API部32は、アプリケーションである送信処理プログラムからの呼び出しによって動作を行い、送信側バッファ34に、送信データを登録し、送信依頼を行う旨のメッセージをクライアント機能宛に発行する動作を行う。これについて、詳細に説明する。
【0027】
まず、ステップS100において、送信処理プログラムは、「送信データの登録」処理を呼び出す。これに対して、ステップS106で、API部32は、バッファの空き状態を調べ、ステップS108にて、送信側バッファ34が満杯である場合には、満杯状態であるとして、ステップS100に戻り、ステップS102において、満杯状態であると判断される間は、ステップS100における処理を、暫く待ってから再度行う。
【0028】
一方、ステップS108において、送信側バッファ34が満杯でないと判断された場合には、送信データを送信側バッファ34に登録(格納)して、送信データの登録処理を行い、正常な登録処理を行ったとして、ステップS100にブランチする。
次に、ステップS102において、送信側バッファ34が満杯状態でないと判断された場合には、ステップS104に進み、「送信依頼」処理を呼び出す。
【0029】
これに対応して、ステップS112において、送信依頼メッセージを作成し、ついで、ステップS114において、サーバ機能との通信経路の状態を調査する。そして、ステップS116において、通信経路が遮断中であると判断した場合には、異常終了であると判断して、ステップS104に戻る。一方、ステップS116において、通信経路が遮断中でないと判断した場合には、ステップS118に進み、クライアント機能宛に、メッセージを発行して、正常終了であるとして、ステップS104に戻る。
【0030】
以上が、API部32が行う処理である。
次に、受信側のコンピュータDのAPI部42が行う動作を、図4を参照して説明しておくことにする。
API部42は、アプリケーションである受信処理プログラムの呼び出しによって動作を行い、サーバ機能46からの、受信処理依頼の旨のメッセージを受け取って、受信側バッファ44から受信データを獲得して、獲得した受信データを受信プログラム内に取り込むとともに、受信済のデータを受信バッファ44から抹消する動作を行う。また、受信済のデータをDB51に格納する動作も行う。
【0031】
以下、この動作について、詳細に説明する。
まず、ステップS120において、受信処理プログラムは、「データの受信」処理を呼び出す。これに対して、ステップS124で、API部42は、受信側バッファ44の空き状態を調べ、ステップS126にて、受信側バッファ44内にデータが存在すると判断した場合には、ステップS128において、コンピュータCから送られてきた送信データを、受信側バッファ44から読み出し、正常終了して、ステップS120に戻る。
【0032】
一方、ステップS126において、受信側バッファ44内にデータが存在しないと判断した場合には、ステップS130に進み、メッセージの受信待ちを行ってから、ステップS124にブランチし、データの受信動作を継続する。
次に、データの受信の呼び出しが完了したのち、ステップS122において、受信したデータをDB51等に格納する。
【0033】
そして、ステップS123において、「受信済データの抹消」を呼び出す。これに対して、API部42は、受信側バッファ44上の受信済データを抹消して、不要な受信データを廃棄する。
以上が、API部42が行う処理である。
次に、図5に示したフローチャートにしたがって、コンピュータC30のクライアント機能が行う処理について、説明する。
【0034】
クライアント機能36は、送信依頼メッセージを受け取ることによって、送信側バッファ34に格納されている送信データを、所定のフォーマットを有するデータである電文にして、サーバ機能46に、ソケット通信する動作を行う。
なお、クライアント機能が行う、このような動作は、プロセス制御部52の制御により行われる。なお、プロセス制御部52は、例えば、ユーザが入力装置38を介して与えたコマンドによって、クライアント機能36を起動、停止、再開するようにしておけばよい。
【0035】
また、データ通信は、仮想上の回線である論理回線を使用するものとし、後に述べるように、使用する論理回線を定める情報が、通信データのフィールド上に存在するような、データフォーマットになっている。
まず、最初に、ステップS140において、稼働中の状態を、例えばDB37の空きエリアに、ファイルとして格納する。なお、ここで、稼働中の状態とは、異常通信時から復旧して稼働した状態、手動操作による停止状態から復旧して稼働した状態等の、各種の状態が挙げられる。
【0036】
次に、ステップS142において、ソケット通信を行うための領域を、例えば、送信側バッファ34の一部のエリアに確保する。
次に、ステップS144において、サーバ機能46との通信経路の確立を行い、ステップS145において、通信経路が確立されたか否かを判定する。
そして、通信経路の確立不可能な場合には、ステップS172に進み、通信制御コンポーネントであるクライアント機能36の自動復旧を行う。ここでの自動復旧は、再度、通信経路の確立を行うべく、ステップS144に進むことである。一方、通信経路の確立が行われた場合には、ステップS146進む。
【0037】
ステップS146では、送信側バッファ34のデータ格納状態を調査し、さらに、ステップS148において、サーバ機能46に対して送信すべきデータが存在するか否かを判断する。送信すべきデータが存在しない場合には、ステップS166に進み、送信すべきデータが存在する場合には、ステップS150において、シリアル番号が発番済か否かを調べる。
【0038】
シリアル番号が発番済の場合には、ステップS154に進み、シリアル番号が未発番の場合には、ステップS152に進み、シリアル番号が連番になるように、発番してからステップS154に進む。なお、クライアント機能36は、送信側バッファ34の記憶エリアの一部を使用して、送信電文の発番済のシリアル番号の値の保持、更新を行う。
【0039】
ステップS154において、電文を編集し、編集した電文を、サーバ機能46に送信する。
さて、ここで、図7を参照して、送信電文のデータフォーマットについて説明する。本電文は、ヘッダ部と、シリアル番号および実際のデータを有するデータ部76とからなる。
【0040】
ヘッダ部は、異機種間でデータ通信を行うため採用するプロトコルである、TCP/IP等のプロトコル識別子70と、送信電文であるか応答電文であるかを示す情報である、電文識別子71と、送信データの発信元の装置を識別する情報である、ホスト名72と、サーバ機能およびクライアント機能間の通信で使用する仮想上の回線である論理回線の識別子である論理回線番号73と、コンピュータD側に存在する通信相手である、複数のアプリケーションのうちのいずれを選択するかを定める情報である情報コード74と、電文の長さを示す情報である電文長75とからなる。
【0041】
なお、電文識別子71としては、例えば、送信電文を「01」、応答電文を「10」とするデジタルデータを採用すればよく、また、ホスト名72としては、送信側装置固有に予め定めたデジタルデータを採用すればよい。
また、論理回線番号73は、回線固有に定めたデジタルデータを採用すればよく、情報コード74は、通信相手を定めるデジタルデータ、電文長75は、電文の長さを規定するデジタルデータを採用すればよい。
【0042】
シリアル番号としては、初期値を「1」として、順次、1だけ増分されるデジタルデータを採用すればよい。なお、通信プロトコルとしては、BSC等の他のプロトコルを採用してもよいことは、言うまでもない。
このように、ステップS154では、クライアント機能36は、送信データを、図7に示したような、フォーマットになるように加工する処理を行う。
【0043】
次に、ステップS156において、送信異常が発生したか否かを調べ、通信異常が発生した場合には、ステップS172に進み、一方、通信異常が発生していない場合には、ステップS158に進み、サーバ機能46からの応答電文の受信待ちを行う。
なお、ステップS156における、通信異常の発生の判断は、例えば、クライアント機能36が、回線異常を検出した場合等に、通信異常が発生したと判断するようにしておけばよい。もちろん、他の態様によって、通信異常の発生を判断してもよい。
【0044】
また、ステップS156からステップS172に進んだ際に行われる、クライアント機能36の自動復旧としては、例えば、現在使用している通信経路を遮断して、所定時間が経過するのを待ち、さらに、ステップS144に進んで、新たな通信経路を使用した通信処理(リトライ)を行うことが挙げられる。
次に、ステップS158において、応答電文を受信した際に、ステップS160において、通信異常を判断する。ここでの通信異常の判断は、応答電文中のシリアル番号が連番になっているか否かや、後に述べる応答電文が有する応答コードを参照して判定する。
【0045】
シリアル番号による、通信異常の判定を行うために、クライアント機能36は、送信側バッファ34の記憶エリアの一部を使用して、受信した応答電文のシリアル番号の値の保持、更新を行い、受信した応答電文のシリアル番号が、保持されている、最も新しいシリアル番号の連番になるか否かを判断すればよい。
即ち、クライアント機能36は、シリアル番号が連番になっていない場合、例えば、「1番」の次に、「3番」となるような、欠番の発生や、シリアル番号のダブルナンバリングが発生した場合等には、通信異常が発生したとして、ステップS172に進む。
【0046】
また、応答コードにより通信異常を判定するためには、クライアント機能36は、応答コードの内容を判断して、異常判定を行う。
そして、通信異常でない場合には、ステップS162に進み、一方、通信異常である場合には、ステップS172に進む。なお、ステップS160からステップS172に進んだ際に行われる、クライアント機能36の自動復旧としては、例えば、現在使用している通信経路を遮断して、所定時間が経過するのを待ち、さらに、ステップS144に進んで、新たな通信経路を使用したリトライ処理を行うことが挙げられる。
【0047】
次に、ステップS162においては、サーバ機能46から、受信側バッファ44が満杯の旨の応答である、バッファ満杯の応答電文が送られてきたか否かを判定し、かかる電文が送られてきた場合には、ステップS166に進み、一方、かかる電文が送られてこない場合には、ステップS164に進み、現在のシリアル番号を有する送信電文を、送信側バッファ34から削除する。これに続いて、削除した送信電文に対応する応答電文を、DB37に格納する処理を行う。
【0048】
そして、ステップS166では、メッセージの受信待ちを行い、停止指示命令が与えられていないかを、ステップS168にて判断する。
停止指示が与えられていない場合には、メッセージを受信すると、ステップS146にブランチして、電文送信の処理を継続する。一方、停止指示命令が与えられている場合には、ステップS170に進み、クライアント機能36を正常停止の状態にして、クライアント機能36の処理を終了する。
【0049】
なお、電文、応答電文、現在のシリアル番号、自動復旧の有無等の各種の情報を、表示装置39に表示可能に、表示処理のプログラムを予め生成しておき、当該プログラムを、所定のコマンドの投入に対応して、実行可能にしておくのが好ましい。
以上が、クライアント機能36が行う処理である。
【0050】
次に、図6を参照して、サーバ機能が行う動作について説明する。
サーバ機能は、クライアント機能から送られてくる電文に基づいて、受信側バッファにデータを登録して、該当する受信処理プログラムに、処理依頼のメッセージを発行し、さらに、処理結果に基づいて応答電文を作成して、クライアント機能に送り返す動作を行う。なお、サーバ機能も、プロセス制御部62により、その動作が制御される。このような制御は、例えば、入力装置48を介して、与える、起動、再開、終了等の指示に対応して行われる。以下、動作説明を詳細に行う。
【0051】
まず、ステップS180において、稼働中の状態を、例えばDB51の空きエリアに、ファイルとして格納する。なお、ここで、稼働中の状態とは、異常通信時から復旧して稼働した状態、手動操作による停止状態から復旧して稼働した状態等の、各種の状態が挙げられる。
次に、ステップS182において、受信側バッファ44のデータの格納状態を調べる。
【0052】
次に、ステップS184において、受信済の電文に対するシリアル番号を把握する。
なお、サーバ機能46は、受信側バッファ44の記憶エリアの一部を使用して、受信済の電文に対するシリアル番号の値の保持、更新を行う。
次に、ステップS186において、ソケット通信を行うための領域を、例えば、受信側バッファ44の一部のエリアに確保し、ステップS188において、通信経路の確立待ちを行い、通信経路が確立されれば、ステップS190に進む。
【0053】
ステップS190では、プロセス制御部62からの停止指示が存在するか否かを判定し、存在する場合には、ステップS192に進み、正常停止し、正常停止の状態を、稼働中の状態として記憶し、処理を終了する。
一方、プロセス制御部62からの停止指示が存在しない場合には、ステップS194に進んで、クライアント機能から電文が送られてくるのを待つ。
【0054】
電文が送られてきた場合、ステップS196において、再度、プロセス制御部62からの停止指示が存在するか否かを判定し、存在する場合には、ステップS192に進んで、所定の処理後、処理を終了する。一方、停止指示が存在しない場合には、ステップS198に進み、送られてきた電文が異常なデータか否かを判断する。
【0055】
ここでの通信異常の判断は、電文のフォーマットを参照して、フォーマットが異常であるかや、電文長が、所定値以上であるか等によって判断する。そして、異常データと判断されたときには、ステップS200に進み、異常扱いを行うか否かを判定する。そして、異常扱いをする場合には、ステップS202において、異常停止を行い、異常データをDB51に格納しておくとともに、異常停止の状態を、稼働中の状態として記憶し、処理を終了する。なお、ステップS202において、異常扱いしない場合には、ステップS204に進み、当該異常データを破棄するとともに、当該異常データを受信済である旨の応答電文を作成して、ステップS224に進む。
【0056】
一方、ステップS198において、異常データでないと判断された場合には、ステップS210に進み、シリアル番号を参照して、受信済のデータか否かを判断する。既に、受信済のデータである場合には、ステップS206において、当該電文を受信済である旨の応答電文を作成して、ステップS224に進む。
また、受信済のデータでない場合には、ステップS212において、受信側バッファ44のデータ格納状態を調べ、ステップS214に進む。ステップS214において、受信側バッファ44が満杯であると判定された場合、ステップS208に進み、バッファ満杯の旨の応答電文を作成して、ステップS224に進む。
【0057】
一方、受信側バッファ44が満杯でないと判定された場合には、ステップS216に進み、受信した電文である受信データを、受信側バッファ44に登録する。
次に、ステップS218において、受信データからシリアル番を獲得して、現在保持されているシリアル番号の値を更新する。
【0058】
次に、ステップS220において、受信データの情報コードを参照して、対応する処理プログラム宛のメッセージを、作成、発行する。
そして、ステップS222において、正常処理の応答電文を作成する。
さて、ここで、図8を参照して、応答電文のデータフォーマットについて説明する。本電文は、ヘッダ部と、シリアル番号および実際のデータを有するデータ部86とからなる。
【0059】
ヘッダ部は、異機種間でデータ通信を行うため採用するプロトコルである、TCP/IP等のプロトコル識別子80と、送信電文であるか応答電文であるかを示す情報である電文識別子81と、応答電文の発信元の装置を識別する情報であるホスト名82と、サーバ機能およびクライアント機能間の通信で使用する仮想上の回線である論理回線の識別子である論理回線番号83と、コンピュータD側に存在する通信相手である、複数のアプリケーションのうちのいずれを選択したものかを示す情報である情報コード84と、送られてきた電文に対する処理状態を示すコードである応答コード85とからなる。
【0060】
なお、電文識別子81としては、例えば、送信電文を「01」、応答電文を「10」とするデジタルデータを採用すればよく、また、ホスト名82としては、受信側装置固有に予め定めたデジタルデータを採用すればよい。
また、論理回線番号83は、回線固有に定めたデジタルデータを採用すればよく、情報コード84は、通信相手を定めるデジタルデータである。シリアル番号としては、初期値を「1」として、順次、1だけ増分されるデジタルデータを採用すればよい。
【0061】
さて、応答コード85は、図8(b)に示すように、電文の処理状態に応じて、応答電文に付されるコードである。例えば、ステップS222においては、正常処理を行ったので、コード「OK」が付されるし、また、ステップS204においては、フォーマットエラー等が発生しているので、コード「MERROR」等が付される。なお、コード「FERROR」が示す、振り分け異常とは、サーバ側に定義されていない情報コードが送られてきたことを意味する。
【0062】
このように、クライアント機能36は、図8(a)に示したような、フォーマットを有する応答電文の生成処理を行う。
次に、ステップS224において、サーバ機能46は、LAN50を介して、クライアント機能36側に、作成した応答電文を送信する。
そして、ステップS226において、通信異常が発生したか否かを判定する。
【0063】
即ち、通信異常が発生してない場合には、ステップS194にブランチして、電文待ち動作を行い、一方、通信異常が発生した場合には、ステップS228に進む。なお、ここでの通信異常の発生の判断は、例えば、サーバ機能46が、例えば、クライアント機能36が、回線異常を検出した場合等に、通信異常が発生したと判断するようにしておけばよい。もちろん、他の態様によって、通信異常の発生を判断してもよい。
【0064】
なお、ステップS228における、自動復旧処理は、例えば、現在使用している通信経路を遮断して、所定時間が経過するのを待ち、さらに、ステップS188に進んで、新たな通信経路を使用した通信処理(リトライ)を行うことが挙げられる。なお、電文、応答電文、現在のシリアル番号、自動復旧の有無等の各種の情報を、表示装置49に表示可能に、表示処理のプログラムを予め生成しておき、当該プログラムを、所定のコマンドの投入に対応して、実行可能にしておくのが好ましい。
【0065】
以上の処理が、サーバ機能が行う処理である。
次に、プロセス制御部61、62が、夫々、入力装置38、48を介して与えるコマンドによって行う、クライアント機能36、サーバ機能46の動作の制御について、図9を参照して説明する。
まず、ステップS300において、プロセス制御部61(62)は、通信制御コンポーネントであるクライアント機能36(サーバ機能46)の稼働状態を、論理回線単位に調べ、さらに、ステップS302において、論理回線単位の調査結果を、表示装置39(49)に一覧表示する。
【0066】
次に、ステップS304において、入力装置38(48)を介して、論理回線単位に、「停止、再開、終わり」の、動作指示コマンドを入力する。
ステップS306において、「終わり」なるコマンドが入力されたと判定されると、当該論理回線を使用しての通信処理を終了し、一方、それ以外のときには、ステップS308に進む。
【0067】
ステップS308においては、指定した動作指示と、稼働状態との一致を調べ、一致していれば、ステップS316に進み、一方、一致していない場合には、ステップS310に進む。入力された動作指示コマンドが、停止指示である場合には、ステップS312に進んで、該当する通信制御コンポーネントであるクライアント機能36(サーバ機能46)を停止して、ステップS316に進む。
【0068】
一方、入力された動作指示コマンドが、停止指示でない場合には、ステップS314に進んで、該当する通信制御コンポーネントであるクライアント機能36(サーバ機能46)を起動する。そして、ステップS316においては、入力された動作指示コマンドに対応する動作制御を行って、ステップS300にブランチし、プロセス制御部の動作を継続させる。
【0069】
なお、このような図9に示す一連の動作は、入力装置を介して与えるコマンドによって、強制終了するようにしておけばよい。
以上の説明によれば、本発明にかかる通信処理は、以下のように行われる。
まず、クライアント機能36は、API部32から与えられる送信データを送信側バッファ34に格納する。次に、クライアント機能36は、送信側バッファ34から送信データを獲得して、獲得した送信データにシリアル番号を付与し、予め定めたプロトコルを用いて、受信側装置であるコンピュータDに送信する。
【0070】
そして、受信側装置であるコンピュータDのサーバ機能46は、送信されてきたデータを受信側バッファ44に格納する。
次に、サーバ機能46は、受信側バッファからデータを獲得して、API部42に渡し、API部42は、獲得したデータに対して、受信処理手順を定めた受信処理プログラムにしたがって受信処理した処理結果を、サーバ機能46に渡す。
【0071】
次に、サーバ機能46は、応答データを、シリアル番号順に、前記予め定めたプロトコルを用いて、送信側装置であるコンピュータCに送信する。
そして、クライアント機能36は、応答データとして送信されてきた通信データのシリアル番号が連番であるか否かを判定し、連番でないときに、異常時処理を行う。一方、連番であるときには、サーバ機能46は、前記受信処理の対象となったデータを受信側バッファ44から削除する。
【0072】
この時、クライアント機能36は、受信側バッファ44から削除されたデータに対応する送信側バッファ34内のデータを、送信側バッファ34から削除する。
このような処理を行うことによって、機種が異なる送信側装置と受信側装置との間で、本発明にかかるデータ通信が行われることになる。
【0073】
なお、本実施形態において、請求項1、2記載の各ステップは、図3乃至図6に記載した一連のステップ内に含まれる。
また、請求項3記載の第1の格納処理手段は、ステップS100、106から110までのステップを含むステップに対応し、第1の送信処理手段は、ステップS104、ステップS112から118、ステップS140から154までのステップを含むステップに対応し、さらに、第1の処理手段は、ステップS158、160、164、172のステップを含むステップに対応する。
【0074】
さらに、第2の格納処理手段は、ステップS216を含むステップに対応し、第2の送信処理手段は、ステップS120、ステップS124から128、ステップS218から224までのステップを含むステップに対応し、さらに、第2の処理手段は、ステップS132を含むステップに対応する。
なお、図1に示すシステム構成では、いわゆる1対1型の通信システムとなっているが、他のコンピュータを、さらに、LAN50に接続して、「N対M型(但し、N,Mは、自然数)」の通信システムを構成しても、本発明の通信方法を適用することが可能である。これについては、データフォーマット中の、ホスト名72、82を参照して、クライアント機能36およびサーバ機能46が、LAN50上を伝送するデータのうちで、自装置に必要なデータを獲得する処理を行うように、処理プログラムを格納し、該処理プログラムを実行可能な構成にしておけばよい。したがって、図1に示すシステムは、本発明の理解の容易化のために採用した、システム構成の一例にすぎない。
【0075】
以上のように、本発明によれば、シリアル番号を用いて、データ欠落防止や通信異常が発生した場合に行う異常時処理を自動的に行うデータ通信方法を実現できることになる。
【0076】
【発明の効果】
以上説明してきたように、請求項1記載の発明によれば、通信データのフィールド中に、シリアル番号を与えて、該シリアル番号の連番状態を考慮して、処理を行うことによって、通信データの欠落等の発生を防止し、異機種の情報処理装置間でのデータ通信を確実に行うことを可能とするとともに、異常通信を行っているシステムに対する異常時処理を自動で行うことも可能とする、データ通信方法を実現できる。
【0077】
また、請求項2記載の発明によれば、送信側装置および受信側装置の間で、データ通信が行えない場合等に、通信処理をリトライすることによって、通信処理を自動再開させることを特徴とするデータ通信方法が実現可能になる。
さらに、請求項3記載の発明によれば、本発明にかかる通信方法を使用し、通信データの欠落等の発生を防止し、異機種の情報処理装置間でのデータ通信を確実に行うことを可能とするシステムを実現できる。
【図面の簡単な説明】
【図1】本発明にかかる通信システムの機能ブロック図である。
【図2】送信側および受信側装置のハードウエア構成図である。
【図3】API部32が行う処理を示すフローチャートである。
【図4】API部42が行う処理を示すフローチャートである。
【図5】クライアント機能が行う処理を示すフローチャートである。
【図6】サーバ機能が行う処理を示すフローチャートである。
【図7】電文フォーマットの説明図である。
【図8】応答電文フォーマットの説明図である。
【図9】プロセス制御部が行う処理を示すフローチャートである。
【図10】従来例の説明図である。
【符号の説明】
10 コンピュータA
12 API部
14 送信側バッファ
16 クライアント側送信部
20 コンピュータB
22 API部
24 受信側バッファ
26 サーバ側受信部
28 LAN
30 コンピュータC
32 API部
34 送信側バッファ
36 クライアント機能
37 データーベース(DB)
38 入力装置
39 表示装置
40 コンピュータD
42 API部
44 受信側バッファ
46 サーバ機能
48 入力装置
49 表示装置
50 LAN
52 CPU
53 ROM
54 RAM
55 I/F(インターフェイス)回路
56 ハードディスク
57 CRT
58 キーボード
59 システムバス
61 プロセス制御部
62 プロセス制御部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to data communication technology, and in particular, when performing data communication between information processing apparatuses of different models, it is possible to prevent the occurrence of loss of communication data, etc. The present invention relates to a data communication technique that enables an abnormal process such as retrying a communication process when a communication process occurs.
[0002]
[Prior art]
In recent years, along with technological development of multimedia systems and the like, various data communication methods have been proposed for communicating various data such as multimedia data between information processing apparatuses of different types.
Generally, in order to perform data communication between different types of information processing devices, a communication protocol to be adopted is determined in advance, and a predetermined protocol is used when a transmitting device and a receiving device transmit and receive data. The data is generated so as to conform to the above, and the data communication processing between the devices is performed.
[0003]
An example of a communication system employing such a communication method will be described with reference to FIG.
FIG. 10 is a functional block diagram showing a communication system for performing data communication between a computer A and a computer B, which are different types of information processing apparatuses.
[0004]
Actually, each functional unit includes a CPU (Central Processing Unit) for controlling various processes and operation of each component, a ROM storing a program for operating the CPU, a work area and various data for various processes. Is realized by a hardware configuration having a RAM or the like having a storage area of.
The computer A includes an API (application)
[0005]
Now, an outline of an operation when such a system performs data communication will be described.
First, when the
Note that the transmission data sequentially generated by the transmission processing program is sequentially stored in the
[0006]
Then, the client-side transmitting
At this time, the client-side transmitting
[0007]
The server-side receiving
Then, the
[0008]
The server-
The client-
Note that the server-side receiving
[0009]
As described above, conventionally, data communication between information processing apparatuses of different types has been performed with such a system configuration.
By the way, in the above description, the flow of the operation of the system has been described by focusing on one piece of transmission data. However, actually, the transmission data is sequentially generated, and the communication processing as described above is sequentially performed. Data communication is running.
[0010]
[Problems to be solved by the invention]
However, according to such a communication method, there is no way to determine in a simple manner whether or not the data to be communicated has been sequentially and appropriately subjected to communication processing, and even if normal operation may not be performed. However, since the apparatus itself cannot detect an abnormal operation, there has been a problem that communication processing is continued with data loss or the like occurring.
[0011]
There is also a method of checking whether or not normal communication processing is being performed by a method such as a parity check.However, the amount of hardware such as data lines and the amount of software are increased, and the system cost is increased. I was invited.
Therefore, by using a simple method such as changing the configuration of the data frame, it is possible to prevent the occurrence of loss of communication data, etc., to reliably perform data communication between information processing apparatuses of different types, and to perform abnormal communication processing. It has been desired to realize a data communication method capable of performing an abnormal time process, which is a predetermined process, for a system in which the data communication is performed.
[0012]
Therefore, the present invention provides a method of defining simple information in a field of communication data to ensure reliable data communication between information processing apparatuses and to provide a system for performing abnormal communication processing with an abnormal communication process. An object of the present invention is to provide a data communication method capable of performing processing.
Another object of the present invention is to provide a data communication method for automatically resuming communication processing when data communication cannot be performed between a transmitting apparatus and a receiving apparatus.
[0013]
[Means for Solving the Problems]
In order to solve the above problems and achieve the object of the present invention, the invention according to claim 1 includes a transmitting apparatus including a transmitting buffer having an area for storing data to be communicated, and an area for storing data to be communicated. A method for communicating data between the transmitting device and a heterogeneous receiving device, comprising a receiving buffer having:
Storing, in the transmission buffer, transmission data, which is data to be transmitted from the transmitting device to the receiving device, of the communication target data;
Acquiring transmission data from the transmission buffer, adding a serial number to the acquired transmission data, and transmitting the transmission data to the reception device using a predetermined protocol;
Storing the data transmitted from the transmitting device in a receiving buffer;
Acquiring data from the receiving buffer, and using the predetermined protocol, in response to the acquired data, response data representing a processing result of receiving processing according to a receiving processing program that defines a receiving processing procedure, in order of serial number. Transmitting to the transmitting device;
Sent from the receiving device to the transmitting device as the response data It is determined whether or not the serial number of the communication data is a serial number. If the serial number is not a serial number, an abnormal process is performed. And deleting the data in the transmission buffer corresponding to the data deleted from the reception buffer from the transmission buffer.
[0014]
The invention according to claim 2 is the data communication method, wherein the abnormal-time process is a process of retrying a transmission process performed by the transmitting device or the receiving device.
Further, the invention according to claim 3 is different from the transmission-side device which includes a transmission-side buffer having an area for storing communication target data and a reception-side buffer having an area for storing communication target data. A system for communicating data with a receiving device of a model,
The transmitting device,
First storage processing means for storing, in the transmission-side buffer, transmission data, which is data transmitted from the transmission-side apparatus to the reception-side apparatus, among the communication target data;
First transmission processing means for acquiring transmission data from the transmission buffer, adding a serial number to the acquired transmission data, and transmitting the transmission data to the reception device using a predetermined protocol;
Receiving Transmitted from the remote device as response data A first process of determining whether or not the serial number of the data is a serial number, performing an abnormal-time process when the serial number is not a serial number, and deleting the transmission data from the transmission-side buffer when the serial number is a serial number Means, and
The receiving device,
Second storage processing means for storing transmission data transmitted from the transmission-side device in a reception-side buffer;
Acquiring data from the receiving buffer, and using the predetermined protocol, in response to the acquired data, response data representing a processing result of receiving processing according to a receiving processing program that defines a receiving processing procedure, in order of serial number. A second transmission processing means for transmitting to the transmission-side device;
When the first processing means determines that the serial number of the received data is a serial number, the second processing means deletes the data subjected to the reception processing from the reception buffer; A data communication system comprising:
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a functional block diagram showing a communication system for performing data communication between computers C and D, which are different types of information processing apparatuses, using the data communication method according to the present invention. .
[0016]
FIG. 2 is a hardware configuration diagram showing a specific example of a hardware configuration of both computers (corresponding to a transmission-side device and a reception-side device).
As shown in FIG. 2, each computer includes a CPU (Central Processing Unit) 52 for controlling various processes and operation of components, a
[0017]
Further, for example, the
The
[0018]
Note that commands given via the keyboard include start, stop, and restart of transmission processing and reception processing. In general, the transmission data is automatically stored in the
The display content displayed on the
[0019]
As described above, FIG. 1 shows a functional block diagram of the communication system. Such a block diagram describes the operation performed by the
Hereinafter, the operation performed by each functional unit, that is, the data communication method of the present invention will be described with reference to FIG.
[0020]
The computer C (transmission-side device) includes an API (application)
[0021]
As can be seen from a comparison with the actual hardware configuration shown in FIG. 2, the
[0022]
The
Similarly, the computer D (reception-side device) includes an API (application)
[0023]
The receiving
[0024]
As with the functional blocks of the computer D, the
[0025]
The
The two computers are communicably connected by a
Now, the operation of data communication performed between the two computers will be described with reference to the drawings.
[0026]
The data communication performed by the system shown in FIG. 1 is assumed to be data communication between different types of computers having different hardware such as applications and CPUs.
First, an operation performed by the
[0027]
First, in step S100, the transmission processing program calls a “registration of transmission data” processing. On the other hand, in step S106, the
[0028]
On the other hand, if it is determined in step S108 that the
Next, in step S102, it is determined that the
[0029]
In response to this, in step S112, a transmission request message is created, and then, in step S114, the state of the communication path with the server function is checked. If it is determined in step S116 that the communication path is being interrupted, it is determined that the communication is abnormally terminated, and the process returns to step S104. On the other hand, if it is determined in step S116 that the communication route is not interrupted, the process proceeds to step S118, where a message is issued to the client function, and the process is determined to be normally completed, and the process returns to step S104.
[0030]
The processing performed by the
Next, an operation performed by the
The
[0031]
Hereinafter, this operation will be described in detail.
First, in step S120, the reception processing program calls “data reception” processing. On the other hand, in step S124, the
[0032]
On the other hand, if it is determined in step S126 that there is no data in the receiving
Next, after the data reception call is completed, the received data is stored in the
[0033]
Then, in step S123, "delete received data" is called. On the other hand, the
The processing performed by the
Next, processing performed by the client function of the computer C30 will be described with reference to the flowchart shown in FIG.
[0034]
Upon receiving the transmission request message, the
Note that such operations performed by the client function are performed under the control of the
[0035]
In addition, data communication uses a logical line that is a virtual line, and, as described later, a data format in which information that defines the logical line to be used exists in a communication data field. I have.
First, in step S140, the operating state is stored as a file, for example, in an empty area of the
[0036]
Next, in step S142, an area for performing socket communication is secured, for example, in a partial area of the
Next, in step S144, a communication path with the
If the communication path cannot be established, the process proceeds to step S172, where the
[0037]
In step S146, the data storage state of the
[0038]
If the serial number has been issued, the process proceeds to step S154. If the serial number has not been issued, the process proceeds to step S152, and the process proceeds to step S154 so that the serial number is serialized. move on. The
[0039]
In step S154, the message is edited, and the edited message is transmitted to the
Now, the data format of the transmission message will be described with reference to FIG. This telegram includes a header section and a
[0040]
The header portion includes a
[0041]
As the
The
[0042]
As the serial number, digital data that is sequentially incremented by one with an initial value of “1” may be employed. Needless to say, another protocol such as BSC may be adopted as the communication protocol.
As described above, in step S154, the
[0043]
Next, in step S156, it is checked whether or not a transmission error has occurred. If a communication error has occurred, the process proceeds to step S172. If a communication error has not occurred, the process proceeds to step S158. It waits for a response message from the
The determination of the occurrence of a communication error in step S156 may be made, for example, such that the
[0044]
The automatic recovery of the
Next, when a response message is received in step S158, a communication abnormality is determined in step S160. Here, the communication abnormality is determined by referring to whether or not the serial number in the response message is a serial number and a response code of the response message described later.
[0045]
In order to determine a communication error based on the serial number, the
That is, the
[0046]
In addition, in order to determine a communication error based on the response code, the
If the communication is not abnormal, the process proceeds to step S162, and if the communication is abnormal, the process proceeds to step S172. The automatic recovery of the
[0047]
Next, in step S162, it is determined whether or not a response message indicating that the receiving
[0048]
Then, in step S166, reception of a message is waited, and it is determined in step S168 whether a stop instruction command has been given.
When the stop instruction has not been given, when the message is received, the flow branches to step S146 to continue the message transmission process. On the other hand, if the stop instruction command has been given, the process proceeds to step S170, where the
[0049]
Note that a display processing program is generated in advance so that various information such as a telegram, a response telegram, the current serial number, and whether or not automatic recovery has been performed can be displayed on the display device 39, and the program is converted into a predetermined command. It is preferable to make it executable according to the input.
The above is the processing performed by the
[0050]
Next, an operation performed by the server function will be described with reference to FIG.
The server function registers data in the receiving buffer based on the message sent from the client function, issues a processing request message to the corresponding reception processing program, and further responds to the response message based on the processing result. Is created and sent back to the client function. The operation of the server function is also controlled by the
[0051]
First, in step S180, the operating state is stored as a file, for example, in an empty area of the
Next, in step S182, the data storage state of the receiving
[0052]
Next, in step S184, the serial number of the received message is grasped.
The
Next, in step S186, an area for performing socket communication is secured, for example, in a partial area of the receiving
[0053]
In step S190, it is determined whether or not there is a stop instruction from the
On the other hand, if there is no stop instruction from the
[0054]
If the message has been sent, in step S196, it is determined again whether or not there is a stop instruction from the
[0055]
Here, the communication abnormality is determined by referring to the format of the message and determining whether the format is abnormal, whether the message length is equal to or more than a predetermined value, and the like. Then, when it is determined that the data is abnormal, the process proceeds to step S200, and it is determined whether or not to perform the abnormal handling. Then, in the case of handling as abnormal, in step S202, abnormal stop is performed, the abnormal data is stored in the
[0056]
On the other hand, if it is determined in step S198 that the data is not abnormal data, the process proceeds to step S210, and it is determined whether or not the data is received by referring to the serial number. If the data has already been received, in step S206, a response message indicating that the message has been received is created, and the process proceeds to step S224.
If the data has not been received, the data storage state of the receiving
[0057]
On the other hand, if it is determined that the receiving
Next, in step S218, a serial number is obtained from the received data, and the value of the currently held serial number is updated.
[0058]
Next, in step S220, a message addressed to the corresponding processing program is created and issued with reference to the information code of the received data.
Then, in step S222, a response message for normal processing is created.
Now, the data format of the response message will be described with reference to FIG. This telegram includes a header section and a
[0059]
The header section includes a
[0060]
As the
The
[0061]
As shown in FIG. 8B, the
[0062]
As described above, the
Next, in step S224, the
Then, in step S226, it is determined whether a communication error has occurred.
[0063]
That is, if a communication error has not occurred, the flow branches to step S194 to perform a message waiting operation, while if a communication error has occurred, the process proceeds to step S228. Here, the determination of the occurrence of the communication error may be made, for example, such that the
[0064]
Note that the automatic restoration processing in step S228 is performed, for example, by interrupting the communication path currently used, waiting for a predetermined time to elapse, and further proceeding to step S188 to perform communication using the new communication path. Processing (retry) may be performed. Note that a display processing program is generated in advance so that various information such as a telegram, a response telegram, the current serial number, and whether or not automatic recovery has been performed can be displayed on the
[0065]
The above processing is the processing performed by the server function.
Next, control of operations of the
First, in step S300, the process control unit 61 (62) checks the operating state of the client function 36 (server function 46), which is a communication control component, for each logical line, and further, in step S302, checks for each logical line. The results are displayed in a list on the display device 39 (49).
[0066]
Next, in step S304, an operation instruction command of "stop, restart, end" is input for each logical line via the input device 38 (48).
If it is determined in step S306 that the "end" command has been input, the communication process using the logical line is terminated. Otherwise, the process proceeds to step S308.
[0067]
In step S308, a check is made to determine whether the specified operation instruction matches the operating state. If they match, the process proceeds to step S316. If not, the process proceeds to step S310. If the input operation instruction command is a stop instruction, the flow advances to step S312 to stop the client function 36 (server function 46) as a corresponding communication control component, and the flow advances to step S316.
[0068]
On the other hand, if the input operation instruction command is not a stop instruction, the process proceeds to step S314 to activate the client function 36 (server function 46), which is the corresponding communication control component. Then, in step S316, the operation control corresponding to the input operation instruction command is performed, and the process branches to step S300 to continue the operation of the process control unit.
[0069]
The series of operations shown in FIG. 9 may be forcibly terminated by a command given via the input device.
According to the above description, the communication processing according to the present invention is performed as follows.
First, the
[0070]
Then, the
Next, the
[0071]
Next, the
Then, the
[0072]
At this time, the
By performing such processing, the data communication according to the present invention is performed between the transmitting device and the receiving device having different models.
[0073]
In this embodiment, each step described in claims 1 and 2 is included in a series of steps described in FIGS. 3 to 6.
Further, the first storage processing means corresponds to a step including steps S100, 106 to 110, and the first transmission processing means corresponds to step S104, steps S112 to 118, and step S140. The first processing means corresponds to steps including steps S158, S160, S164, and S172.
[0074]
Further, the second storage processing means corresponds to a step including step S216, the second transmission processing means corresponds to a step including steps S120, steps S124 to 128, and steps S218 to 224. , The second processing means corresponds to the step including step S132.
Although the system configuration shown in FIG. 1 is a so-called one-to-one communication system, another computer is further connected to the
[0075]
As described above, according to the present invention, it is possible to realize a data communication method that uses a serial number to prevent data loss and automatically performs an abnormal process when a communication error occurs.
[0076]
【The invention's effect】
As described above, according to the first aspect of the present invention, a serial number is given in a field of communication data, and processing is performed in consideration of a serial number state of the serial number. Data loss between different types of information processing equipment, and automatically perform abnormal processing for systems that are performing abnormal communication. A data communication method.
[0077]
According to the second aspect of the present invention, when data communication cannot be performed between the transmitting device and the receiving device, the communication process is automatically restarted by retrying the communication process. Data communication method to be implemented becomes feasible.
Further, according to the third aspect of the present invention, the communication method according to the present invention is used to prevent a loss of communication data and the like, and to reliably perform data communication between information processing apparatuses of different models. A possible system can be realized.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a communication system according to the present invention.
FIG. 2 is a hardware configuration diagram of a transmission side device and a reception side device.
FIG. 3 is a flowchart illustrating a process performed by an
FIG. 4 is a flowchart illustrating a process performed by an API unit.
FIG. 5 is a flowchart illustrating processing performed by a client function.
FIG. 6 is a flowchart illustrating a process performed by a server function.
FIG. 7 is an explanatory diagram of a message format.
FIG. 8 is an explanatory diagram of a response message format.
FIG. 9 is a flowchart illustrating a process performed by a process control unit.
FIG. 10 is an explanatory diagram of a conventional example.
[Explanation of symbols]
10 Computer A
12 API section
14 Transmission buffer
16 Client side transmission section
20 Computer B
22 API section
24 Receiving buffer
26 Server-side receiver
28 LAN
30 Computer C
32 API section
34 Transmit buffer
36 Client Function
37 Database (DB)
38 Input device
39 Display device
40 Computer D
42 API section
44 Receive buffer
46 Server Function
48 input device
49 Display device
50 LAN
52 CPU
53 ROM
54 RAM
55 I / F (interface) circuit
56 Hard Disk
57 CRT
58 Keyboard
59 System bus
61 Process control unit
62 Process control unit
Claims (3)
通信対象データの内、送信側装置から受信側装置に送信するデータである送信データを送信側バッファに格納するステップと、
送信側バッファから送信データを獲得して、獲得した送信データにシリアル番号を付与し、予め定めたプロトコルを用いて、受信側装置に送信するステップと、
送信側装置から送信されてきたデータを受信側バッファに格納するステップと、
受信側バッファからデータを獲得して、獲得したデータに対して、受信処理手順を定めた受信処理プログラムにしたがって受信処理した処理結果を表す応答データを、シリアル番号順に、前記予め定めたプロトコルを用いて、送信側装置に送信するステップと、
受信側装置から前記応答データとして送信側装置に送信された通信データのシリアル番号が連番であるか否かを判定し、連番でないときに、異常時処理を行い、連番であるときに、前記受信処理の対象となったデータを前記受信側バッファから削除するとともに、前記受信側バッファから削除されたデータに対応する前記送信側バッファ内のデータも、前記送信側バッファから削除するステップと、を含むデータ通信方法。A transmission-side device including a transmission-side buffer having an area for storing communication target data, and a reception-side buffer having an area for storing communication target data, data between the transmission-side device and a different type of reception-side device. A method of communicating
Storing, in the transmission buffer, transmission data, which is data to be transmitted from the transmitting device to the receiving device, of the communication target data;
Acquiring transmission data from the transmission buffer, adding a serial number to the acquired transmission data, and transmitting the transmission data to the reception device using a predetermined protocol;
Storing the data transmitted from the transmitting device in a receiving buffer;
Acquiring data from the receiving buffer, and using the predetermined protocol, in response to the acquired data, response data representing a processing result of receiving processing according to a receiving processing program that defines a receiving processing procedure, in order of serial number. Transmitting to the transmitting device;
It is determined whether or not the serial number of the communication data transmitted from the receiving device to the transmitting device as the response data is a serial number. Deleting the data subjected to the reception process from the reception buffer, and also deleting the data in the transmission buffer corresponding to the data deleted from the reception buffer from the transmission buffer. A data communication method including:
前記送信側装置は、
通信対象データの内、送信側装置から受信側装置に送信するデータである送信データを、送信側バッファに格納する、第1の格納処理手段と、
送信側バッファから送信データを獲得して、獲得した送信データにシリアル番号を付与し、予め定めたプロトコルを用いて、受信側装置に送信する、第1の送信処理手段と、
受信側装置から応答データとして送信された通信データのシリアル番号が連番であるか否かを判定し、連番でないときに、異常時処理を行い、連番であるときに、前記送信データを前記送信側バッファから削除する第1の処理手段と、を備え、また、
前記受信側装置は、
送信側装置から送信されてきた送信データを受信側バッファに格納する、第2の格納処理手段と、
受信側バッファからデータを獲得して、獲得したデータに対して、受信処理手順を定めた受信処理プログラムにしたがって受信処理した処理結果を表す応答データを、シリアル番号順に、前記予め定めたプロトコルを用いて、送信側装置に送信する、第2の送信処理手段と、
前記第1の処理手段が、前記受信データのシリアル番号が連番であると判断した場合には、前記受信処理の対象となったデータを前記受信用バッファから削除する第2の処理手段と、を備える、データ通信システム。A transmission-side device including a transmission-side buffer having an area for storing communication target data, and a reception-side buffer having an area for storing communication target data, data between the transmission-side device and a different type of reception-side device. A communication system,
The transmitting device,
First storage processing means for storing, in the transmission-side buffer, transmission data, which is data transmitted from the transmission-side apparatus to the reception-side apparatus, among the communication target data;
First transmission processing means for acquiring transmission data from the transmission buffer, adding a serial number to the acquired transmission data, and transmitting the transmission data to the reception device using a predetermined protocol;
It is determined whether or not the serial number of the communication data transmitted as response data from the receiving device is a serial number.If the serial number is not a serial number, an abnormal process is performed. First processing means for deleting from the transmission-side buffer;
The receiving device,
Second storage processing means for storing transmission data transmitted from the transmission-side device in a reception-side buffer;
Acquiring data from the receiving buffer, and using the predetermined protocol, in response to the acquired data, response data representing a processing result of receiving processing according to a receiving processing program that defines a receiving processing procedure, in order of serial number. A second transmission processing means for transmitting to the transmission-side device;
When the first processing means determines that the serial number of the received data is a serial number, the second processing means deletes the data subjected to the reception processing from the reception buffer; A data communication system comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03218296A JP3600344B2 (en) | 1996-02-20 | 1996-02-20 | Data communication method and data communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03218296A JP3600344B2 (en) | 1996-02-20 | 1996-02-20 | Data communication method and data communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09233057A JPH09233057A (en) | 1997-09-05 |
JP3600344B2 true JP3600344B2 (en) | 2004-12-15 |
Family
ID=12351789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03218296A Expired - Lifetime JP3600344B2 (en) | 1996-02-20 | 1996-02-20 | Data communication method and data communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3600344B2 (en) |
-
1996
- 1996-02-20 JP JP03218296A patent/JP3600344B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09233057A (en) | 1997-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111726420A (en) | Communication method, device, equipment and storage medium based on RPA | |
US7519950B2 (en) | Method and system for version negotiation of distributed objects | |
JPH10187567A (en) | Socket binding method for communication system | |
US5752251A (en) | Method and apparatus for recovering aborted file (or data) transmission | |
JP3600344B2 (en) | Data communication method and data communication system | |
JP3407002B2 (en) | Message relay device and message relay method | |
US6950854B2 (en) | Dial back e-mail system using binary protocol | |
JP5418070B2 (en) | Business operation support method and computer apparatus | |
CN111182047B (en) | Method and system for transferring files between large data platforms across a network | |
CN115714805A (en) | Cross-platform communication connection method and system and electronic equipment | |
US7568194B2 (en) | Method and system for availability checking on distributed objects | |
JPH064496A (en) | Operating method of network computer system wherein data-conversion overhead is minimized | |
JPH08249279A (en) | Online system | |
US20040030789A1 (en) | System and method for testing a protocol | |
JPH07105153A (en) | Method for file transfer between different kinds of computers | |
KR100256894B1 (en) | Simulator for testing brsc part of ip | |
JP3219240B2 (en) | Communication processing method and device | |
JPH05216737A (en) | Application cooperative processing system in file transfer | |
US7055066B2 (en) | Loading error restoring apparatus and method of exchange | |
CN115422279A (en) | Method for driving relational database acquisition based on event message | |
JP2002318790A (en) | System and program for communication applied to decentralized object environment | |
JPH10254791A (en) | Data communication device | |
CN115086263A (en) | IM message sending method, system, storage medium and computer equipment of IOS terminal | |
JPH02253366A (en) | Communication message assuring system | |
JPH09223083A (en) | Compressing/restoring system for transfer file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040406 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040607 |
|
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: 20040824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040916 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070924 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120924 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |