JP2010004449A - Communicating system, client apparatus, and server apparatus - Google Patents

Communicating system, client apparatus, and server apparatus Download PDF

Info

Publication number
JP2010004449A
JP2010004449A JP2008163160A JP2008163160A JP2010004449A JP 2010004449 A JP2010004449 A JP 2010004449A JP 2008163160 A JP2008163160 A JP 2008163160A JP 2008163160 A JP2008163160 A JP 2008163160A JP 2010004449 A JP2010004449 A JP 2010004449A
Authority
JP
Japan
Prior art keywords
connection
client
request
server
server device
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
JP2008163160A
Other languages
Japanese (ja)
Inventor
Hitoshi Miyamoto
仁史 宮本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008163160A priority Critical patent/JP2010004449A/en
Publication of JP2010004449A publication Critical patent/JP2010004449A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To materialize restoration of connection by a simple procedure in a short time, when the connection between clients and a server is disconnected. <P>SOLUTION: When each client 1 detects disconnection of the connection, the client transmits a connection connecting request for requesting a new set up for connection together with an apparatus number to the server 2 without transmitting a connection closing request for requesting a closing process as to the disconnected connection, and the server administrates the connection in association with the apparatus number, and when it receives the connection connecting request together with the apparatus number from any of the clients without receiving the connection closing request, it determines a connection to be an object. cancels the determined connection, and performs processing to set up a new connection with the client which is the transmission source of the connection connecting request. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、サーバ装置とクライアント装置との間でコネクションを確立し、当該コネクションを用いてデータ通信を行う、通信システムに関するものである。
より具体的には、例えば、DSRC(Dedicated Short Range Communication)システムにおいて1台のサーバ装置と接続された複数のクライアント装置間でTCP(Transmission Control Protocol)によるソケットを利用したコネクションを確立し、当該コネクションによりデータ通信を行う、TCPソケットによるクライアント/サーバ装置に関するものである。
The present invention relates to a communication system in which a connection is established between a server device and a client device, and data communication is performed using the connection.
More specifically, for example, a connection using a TCP (Transmission Control Protocol) socket is established between a plurality of client devices connected to one server device in a DSRC (Dedicated Short Range Communication) system. The present invention relates to a client / server apparatus using a TCP socket that performs data communication according to.

TCP/IPを利用したクライアント/サーバシステムにおいて、ソケットインタフェイスを利用したサーバとクライアント間にTCPポートを介したコネクションを確立し、当該コネクションによってデータ通信を行う方法がある。   In a client / server system using TCP / IP, there is a method of establishing a connection via a TCP port between a server and a client using a socket interface and performing data communication by the connection.

このようなシステムでは、TCPポートでのコネクション確立中のデータ送受信エラーや通信ケーブルの抜けによる等によるエラー発生時には、OS(Operating System)のタイムアウト時間を利用した検出による自動コネクションクローズ処理や人によるサーバとクライアントのリセット操作によるソフトウェア再立上などの方法がある。   In such a system, when a data transmission / reception error during connection establishment at the TCP port or an error due to disconnection of a communication cable occurs, automatic connection close processing by detection using an OS (Operating System) timeout period or a human server And restarting the software by resetting the client.

しかし、このような方法ではOS依存によるエラー検出タイムアウト時間の短縮限界やリセット操作によるソフトウェア再立上時間がかかる等の課題がある。   However, such a method has problems such as an OS-dependent error detection timeout time reduction limit and a software restart time required for a reset operation.

このようなエラー発生時に、コネクション確立要求が自動的に出力されて、コネクションが確立され、エラー処理のための手間が必要なくなり、コネクション復旧までの時間が短縮される方法がある(例えば特許文献1)。
特開平5−346896号公報(第4頁、第一図)
When such an error occurs, a connection establishment request is automatically output, a connection is established, and there is no need for error handling, and there is a method for shortening the time until connection recovery (for example, Patent Document 1). ).
Japanese Patent Laid-Open No. 5-346896 (page 4, first figure)

然るに、特許文献1に記載のシステムでは、実行シーケンスや各サブシステムが非常に複雑である。
また、ハードウェア上の制約やソフトウェア上の制約により複雑な実行シーケンスや多数のサブシステムを実装するのが困難な場合があり、特にDSRC応用システムにおいてTCPでのソケットインタフェイスでの実装が困難であるという課題がある。
However, in the system described in Patent Document 1, the execution sequence and each subsystem are very complicated.
In addition, it may be difficult to implement complex execution sequences and a large number of subsystems due to hardware restrictions and software restrictions. Especially in DSRC application systems, it is difficult to implement with TCP socket interface. There is a problem that there is.

本発明は、上記のような課題を解決することを主な目的の一つとしており、簡易な処理手順により短時間にコネクションを復旧させることができる仕組みを実現することを主な目的とする。   One of the main objects of the present invention is to solve the above-described problems, and the main object of the present invention is to realize a mechanism that can restore a connection in a short time by a simple processing procedure.

本発明に係る通信システムは、
サーバ装置と、前記サーバ装置との間に設定されたコネクションを用いて前記サーバ装置とデータ通信を行う一つ以上のクライアント装置とを備える通信システムにおいて、
各クライアント装置は、
前記サーバ装置との間のコネクションが切断されていることを検知した場合に、前記サーバ装置に対して、切断されているコネクションについてクローズ処理を要求するコネクションクローズ処理要求を送信することなく、新たなコネクションの設定を要求するコネクション設定要求を自装置の識別情報とともに送信し、
前記サーバ装置は、
クライアント装置との間に設定されているコネクションを、対応するクライアント装置の識別情報に関連付けて管理し、
いずれかのクライアント装置から、前記コネクションクローズ処理要求を受信することなく、当該クライアント装置の識別情報とともにコネクション設定要求を受信した場合に、受信した識別情報に基づき、コネクション設定要求の送信元のクライアント装置との間に設定されているコネクションを判別し、判別したコネクションを破棄するとともに、コネクション設定要求の送信元のクライアント装置との間に新たなコネクションを設定するための処理を行うことを特徴とする。
A communication system according to the present invention includes:
In a communication system comprising a server device and one or more client devices that perform data communication with the server device using a connection established between the server device,
Each client device
When it is detected that the connection with the server device is disconnected, a new connection close processing request for requesting the close processing for the disconnected connection is sent to the server device A connection setting request for requesting connection setting is transmitted together with identification information of the own device,
The server device
Manage the connection set up with the client device in association with the identification information of the corresponding client device,
When a connection setting request is received together with identification information of the client device without receiving the connection close processing request from any client device, the client device that is the transmission source of the connection setting request based on the received identification information The connection set between and is determined, the determined connection is discarded, and a process for setting a new connection with the client device that is the transmission source of the connection setting request is performed. .

本発明によれば、コネクションクローズ処理要求の送信を伴わずにコネクションを復旧させることができるため、簡易な処理手順により短時間にコネクションを復旧させることができる。   According to the present invention, since the connection can be recovered without sending a connection close processing request, the connection can be recovered in a short time by a simple processing procedure.

実施の形態1.
本実施の形態では、データ送受信のエラー発生をコネクション監視から自動的に検知し、クライアントからサーバへのコネクションクローズ処理要求なしに自動的にコネクションを復旧する仕組みを説明する。
Embodiment 1 FIG.
In the present embodiment, a mechanism for automatically detecting data transmission / reception errors from connection monitoring and automatically restoring the connection without requesting a connection close process from the client to the server will be described.

図1は本実施の形態に係る通信システムを構成するクライアント装置1(以下、単にクライアントともいう)およびサーバ装置2(以下、単にサーバともいう)のTCPレイヤでの構成およびサーバ2が1台に対してクライアントは複数台(N台)接続されること示している。   FIG. 1 shows a TCP layer configuration of a client device 1 (hereinafter also simply referred to as a client) and a server device 2 (hereinafter also simply referred to as a server) constituting the communication system according to the present embodiment, and a single server 2. On the other hand, a plurality of (N) clients are connected.

本システムでは、クライアント1a〜1nは、例えば、OSI(Open Systems Interconnection)参照モデルの3層と4層プロトコルとしてTCP、1および2層プロトコルとしてイーサネット(登録商標)を具備したOSを使用し、またサーバ2も同様なプロトコルとしてTCPとイーサネット(登録商標)を持ったOSを使用しており、伝送路3を介して接続されている。   In this system, the clients 1a to 1n use, for example, an OS provided with TCP as the 3rd layer and 4th layer protocol of the OSI (Open Systems Interconnection) reference model, and Ethernet (registered trademark) as the 2nd layer protocol. The server 2 also uses an OS having TCP and Ethernet (registered trademark) as a similar protocol, and is connected via the transmission path 3.

サーバ2及びクライアント1a〜1nは1対Nのシステムを構築しているが、データ通信等の状態ではサーバ2は各クライアントを特定の機器番号(クライアントの識別情報)で判別し、N個の論理コネクションポートを持っている。
サーバ2は、クライアントが接続しにきた場合は通信スレッドを生成して、生成した通信スレッドがクライアントとの通信を担当する。また、クライアントの機器番号の管理は別のスレッド(機器番号管理スレッド)が担当しており、機器番号でスレッドを判別する。
なお、本実施の形態では、機器番号で各クライアントを判別することとしているが、識別情報であれば機器番号でなくてもよく、例えば、IPアドレス、MAC(Media Access Control)アドレス等で各クライアントを判別してもよい。
The server 2 and the clients 1a to 1n construct a one-to-N system. However, in the state of data communication or the like, the server 2 discriminates each client by a specific device number (client identification information), and N logic Have a connection port.
The server 2 generates a communication thread when the client comes to connect, and the generated communication thread is in charge of communication with the client. Further, the management of the client device number is handled by another thread (device number management thread), and the thread is determined by the device number.
In the present embodiment, each client is identified by a device number. However, if it is identification information, it does not have to be a device number. For example, each client is identified by an IP address, a MAC (Media Access Control) address, or the like. May be determined.

クライアント1a〜1nは、コネクションを介してデータの送受信を行うデータ通信部11と、クライアントとサーバ間でコネクションのデータ送受信の通信状態監視を行いかつ、ケーブルの抜け等によるデータ送受信のエラーを検知すると自コネクションのクローズ処理を行い上記クローズ処理と平行してコネクション制御部10にコネクション制御部20に対してコネクション接続要求(コネクション設定要求)を出すよう指示を行うコネクション監視部12と、コネクション監視部12からの指示によりサーバ2のコネクション制御部20に対してコネクション接続までコネクション接続要求を出し続けるコネクション制御部10と、TCPレイヤ(不図示)を有する。   When the clients 1a to 1n monitor the communication status of the data transmission / reception of the connection between the client and the server and the data communication unit 11 that transmits / receives data via the connection and detect an error in data transmission / reception due to a cable disconnection or the like A connection monitoring unit 12 that performs a close process of its own connection and instructs the connection control unit 10 to issue a connection connection request (connection setting request) to the connection control unit 20 in parallel with the close process, and a connection monitoring unit 12 The connection control unit 10 continues to issue a connection connection request to the connection control unit 20 of the server 2 until the connection is established, and a TCP layer (not shown).

サーバ2は、コネクションを介してデータの送受信を行うデータ通信部21と、クライアント1のコネクション制御部10の接続要求に対して通信用スレッド生成するのと同時にデータ管理用スレッドを生成し、データ管理スレッドに含まれるクライアントの機器番号を監視し、同じ機器番号を持つクライアントがコネクション接続要求を出した場合は、古いコネクションを破棄し、新しく接続にきた同じ機器番号のクライアントとコネクションを生成するコネクション制御部20と、TCPレイヤ(不図示)を有する。
データ通信部21は、通常のデータの送受信以外に、あるクライアントとの間のコネクションが切断されている場合に、新たなコネクションの設定を要求するコネクション接続要求(コネクション設定要求)を当該クライアントの機器番号(識別情報)とともに受信し、コネクション設定要求受信部の例である。
The server 2 generates a data management thread at the same time as generating a communication thread in response to a connection request from the data communication unit 21 that transmits and receives data via the connection and the connection control unit 10 of the client 1, and manages the data Connection control that monitors the device number of the client included in the thread, and when a client with the same device number issues a connection connection request, discards the old connection and creates a connection with the client of the same device number that has newly connected Part 20 and a TCP layer (not shown).
The data communication unit 21 sends a connection connection request (connection setting request) for requesting setting of a new connection when the connection with a certain client is disconnected in addition to transmission / reception of normal data. This is an example of a connection setting request receiving unit that receives the number (identification information).

このような構成により、クライアント1a〜1nとサーバ2間では、ソケットインタフェイスによって確立したコネクション両端の通信ポート(TCPポート)を介してデータ通信が行われる。   With such a configuration, data communication is performed between the clients 1a to 1n and the server 2 via communication ports (TCP ports) at both ends of the connection established by the socket interface.

本実施の形態に係る通信装置の動作を以下にて概説する。
各クライアント1a〜1nは、サーバ2との間のコネクションが切断されていることを検知した場合に、サーバ2に対して、切断されているコネクションについてクローズ処理を要求するコネクションクローズ処理要求を送信することなく、新たなコネクションの設定を要求するコネクション接続要求を自装置の機器番号とともに送信する。
サーバ2は、クライアントとの間に設定されているコネクションを、対応するクライアントの機器番号に関連付けて管理しており、いずれかのクライアントから、コネクションクローズ処理要求を受信することなく、当該クライアントの機器番号とともにコネクション接続要求を受信した場合に、受信した機器番号に基づき、コネクション接続要求の送信元のクライアントとの間に設定されているコネクションを判別し、判別したコネクションを破棄するとともに、コネクション接続要求の送信元のクライアントとの間に新たなコネクションを設定するための処理を行う。
The operation of the communication apparatus according to the present embodiment will be outlined below.
When each of the clients 1a to 1n detects that the connection with the server 2 is disconnected, the client 1a to 1n transmits a connection close processing request for requesting close processing for the disconnected connection to the server 2. Instead, a connection request for setting a new connection is transmitted together with the device number of the own apparatus.
The server 2 manages the connection set with the client in association with the device number of the corresponding client, and does not receive a connection close processing request from any client, and the client device When the connection connection request is received together with the number, the connection set with the client that is the source of the connection connection request is determined based on the received device number, the determined connection is discarded, and the connection connection request Process for setting a new connection with the client of the transmission source.

次に、本実施の形態に係るクライアント1a〜1n及びサーバ2の動作例を説明する前提として、通常のTCP/IPプロトコルにおける動作例を説明する。   Next, an operation example in a normal TCP / IP protocol will be described as a premise for explaining an operation example of the clients 1a to 1n and the server 2 according to the present embodiment.

1)常時サーバは受動態で、クライアントは能動態である。
2)何らかの要因でクライアントとサーバ間のコネクションが切断され、再接続される場合、まず、クライアントからサーバに対しコネクションクローズ処理要求を送信する。
3)次に、サーバは上記のコネクションクローズ処理要求を受けて初めてコネクションクローズ処理を行う。即ちクライアントからコネクションクローズ処理要求を受信しない限り、サーバにおけるコネクションポートは開かれた状態のままである。
4)上記のサーバにおけるコネクションクローズ処理が終了すると、サーバはクライアントに対し、コネクションクローズが終了したことを通知する。
5)サーバからのコネクションクローズ終了の通知を受けて、クライアントはサーバに、コネクション接続要求を送信する。
6)サーバは、上記コネクション接続要求を受けて初めてコネクションを設定し、データ送信等の通信処理が可能となる。
1) The server is always passive and the client is active.
2) When the connection between the client and the server is disconnected and reconnected for some reason, first, a connection close processing request is transmitted from the client to the server.
3) Next, the server performs connection close processing only after receiving the connection close processing request. That is, unless a connection close processing request is received from the client, the connection port in the server remains open.
4) When the connection close process in the server is completed, the server notifies the client that the connection close has been completed.
5) Upon receiving a notification of the end of connection close from the server, the client transmits a connection connection request to the server.
6) The server sets up a connection only after receiving the connection connection request, and communication processing such as data transmission becomes possible.

次に、本実施の形態に係る通信システムにおけるクライアント1a〜1nとサーバ2間においてデータ通信エラーが発生した場合のコネクション復旧処理を、図2のフローチャートを使用して説明する。
なお、以下では、図1のクライアント1aとサーバ2間のコネクションが切断された場合を例にして説明を行う。
Next, connection recovery processing when a data communication error occurs between the clients 1a to 1n and the server 2 in the communication system according to the present embodiment will be described using the flowchart of FIG.
In the following description, the case where the connection between the client 1a and the server 2 in FIG. 1 is disconnected will be described as an example.

通常のデータ通信時にはクライアント1aとサーバ2の間に通信を担当する通信スレッドとデータ管理を担当するデータスレッド(機器番号管理スレッド)とのコネクションが確立しており、当該コネクションを通じてデータ通信部11とデータ通信部21によりデータ送受信が行われている(図2のステップ100とステップ200の“OK”)。   During normal data communication, a connection between a communication thread in charge of communication and a data thread in charge of data management (device number management thread) is established between the client 1a and the server 2, and the data communication unit 11 is connected through the connection. Data transmission / reception is performed by the data communication unit 21 (“OK” in step 100 and step 200 in FIG. 2).

次に、例えばクライアント1aのTCPポート内でデータ送受信エラーが発生した場合、クライアント1aでコネクション上でのデータ送受信を監視しているコネクション監視部12が、データ送受信が行われていないとの判断を行い、コネクションの切断を検知し(ステップ101で“コネクション断”)、クライアント1a側のコネクションをクローズさせる(ステップ102)。そして、コネクションが再接続されるまで(クライアント1aにおいてポートが設定されるまで)、待ち状態となる。
クライアント1aにおいてコネクションが再接続されると、コネクション制御部10が、コネクションの再接続を検出し(ステップ102で“コネクション接続”)、サーバ2のコネクション制御部20にコネクション接続要求を出す(ステップ103)。このとき、コネクション制御部20は、通常のTCP/IPの処理シーケンスで必要であったコネクションクローズ処理要求は送信せずに、データ通信部11を介して即座にコネクション接続要求をサーバ2に送信する。
Next, for example, when a data transmission / reception error occurs in the TCP port of the client 1a, the connection monitoring unit 12 that monitors data transmission / reception on the connection by the client 1a determines that data transmission / reception is not performed. Then, disconnection of the connection is detected (“connection disconnection” in step 101), and the connection on the client 1a side is closed (step 102). And it will be in a waiting state until a connection is reconnected (until a port is set in the client 1a).
When the connection is reconnected in the client 1a, the connection control unit 10 detects the connection reconnection (“connection connection” in step 102), and issues a connection connection request to the connection control unit 20 of the server 2 (step 103). ). At this time, the connection control unit 20 immediately transmits a connection connection request to the server 2 via the data communication unit 11 without transmitting a connection close processing request required in the normal TCP / IP processing sequence. .

サーバ2では、クライアント1aのコネクション制御部10からのコネクション接続要求を受け、コネクション制御部20にて通信を担当する通信スレッドと機器番号も含めたデータ管理を担当するデータスレッドを生成するが、クライアント1aからはコネクションクローズ処理要求がきていないので、データ送受信前の同一機器番号を持つスレッドが残っているため、コネクション制御部20は、同一機器番号を持つクライアントがコネクション接続要求に来たと判断する(ステップ201)。
次に、コネクション制御部20は、開いたままのポート(旧スレッド)を破棄して古いコネクションを破棄し(ステップ202)、同一機器番号の新しいポートを開き(新スレッド)、同一の通信スレッドとデータ管理スレッドによる新しいコネクションをクライアント1aとの間に確立し(ステップ203)、最新に要求されたTCPポートを正とする(ステップ200の“OK”)。
また、クライアント1aのコネクション監視部12が、ステップ203で行われたコネクション接続を検出し、再び、クライアント1a側からデータ送受信等の通信シーケンス処理が成される。
The server 2 receives a connection connection request from the connection control unit 10 of the client 1a and generates a communication thread in charge of communication in the connection control unit 20 and a data thread in charge of data management including the device number. Since no connection close processing request has been received from 1a, there remains a thread having the same device number before data transmission / reception, so that the connection control unit 20 determines that a client having the same device number has come to the connection connection request ( Step 201).
Next, the connection control unit 20 discards the open port (old thread) and discards the old connection (step 202), opens a new port with the same device number (new thread), and sets the same communication thread. A new connection by the data management thread is established with the client 1a (step 203), and the latest requested TCP port is set as positive (“OK” in step 200).
Further, the connection monitoring unit 12 of the client 1a detects the connection connection performed in step 203, and communication sequence processing such as data transmission / reception is performed again from the client 1a side.

上記のように、クライアント1とサーバ2間に最新コネクション確立後、当該最新コネクションにより、データ送受信エラーから復旧したデータ送受信を行う(ステップ100とステップ200の“OK”)。   As described above, after the latest connection is established between the client 1 and the server 2, data transmission / reception recovered from the data transmission / reception error is performed by the latest connection ("OK" in step 100 and step 200).

なお、クライアントとサーバ間のコネクションがなんらかの理由で切断された場合(図3(a))は、通常のTCP/IPプロトコルでは、図3(b)に示すように、コネクションクローズ処理要求を省略して同一機器番号のクライアントが再接続を要求した場合、上述の通り、コネクションポートが開いたままになっており、再接続できずサーバの通信ソフトウェアやその他の処理ソフトウェアがハングアップし、サーバダウンという現象が起きる。また、仮に、クライアントが切断されたコネクションのコネクションクローズ処理要求を伴ってコネクションの再接続を要求した場合でも、システム復旧(再接続検出)に時間がかかることになる。
これに対して、本実施の形態では、図3(c)に示すように、サーバ2の例えばアプリケーションソフトウエアで、同じ機器番号を持つクライアントが接続しに来た場合は古いスレッド(通信スレッド及び機器番号管理スレッド)の破棄処理を行うとともに、同じ機器番号に対して新しいスレッド(通信スレッド及び機器番号管理スレッド)を生成して、コネクションを確立する。
If the connection between the client and the server is cut for some reason (FIG. 3A), the normal TCP / IP protocol omits the connection close processing request as shown in FIG. 3B. If a client with the same device number requests reconnection, the connection port remains open as described above, and the server communication software or other processing software hangs up and cannot be reconnected. A phenomenon occurs. Even if the client requests connection reconnection with a connection close processing request for a disconnected connection, it takes time to recover the system (detection of reconnection).
On the other hand, in this embodiment, as shown in FIG. 3C, when a client having the same device number comes to connect with the application software of the server 2, for example, an old thread (communication thread and communication thread). A device number management thread is discarded, and a new thread (communication thread and device number management thread) is generated for the same device number to establish a connection.

また、サーバ2側でのデータ送受信エラーが起きた場合でも、上記と同様な自動復旧を行い、当該最新コネクションによりデータ送受信が可能である。   Even when a data transmission / reception error occurs on the server 2 side, automatic recovery similar to the above is performed, and data transmission / reception can be performed through the latest connection.

本ケースの場合でも、クライアント1aのコネクション監視部12での当該エラーの検知が、コネクション上でのデータ送受信を監視しているためデータ送受信が行われていないとの判断ができるため、可能であり、当該エラーを検知し、クライアント1a側のコネクションをクローズさせるとともに(ステップ102)、続いてコネクション制御部10にサーバ2のコネクション制御部20に通信接続要求を出す(ステップ103)。   Even in this case, detection of the error by the connection monitoring unit 12 of the client 1a is possible because it can be determined that data transmission / reception is not performed because data transmission / reception on the connection is monitored. Then, the error is detected, the connection on the client 1a side is closed (step 102), and then a communication connection request is issued to the connection control unit 20 of the server 2 to the connection control unit 10 (step 103).

サーバ2でも同様に、クライアント1aのコネクション制御部10からの接続要求を受け、コネクション制御部20にて通信を担当する通信スレッドと機器番号も含めたデータ管理を担当するデータスレッドを生成するが、クライアント1からはコネクションクローズ処理要求がきていないので、データ送受信前の同一機器番号を持つスレッドが残っているため、同一機器番号を持つクライアントが接続要求に来たと判断し(ステップ201)、古いコネクションを破棄し(ステップ202)、同一の通信スレッドとデータ管理スレッドによる新しいコネクションを確立し(ステップ203)、最新に要求されたTCPポートを正とし(ステップ200の“OK”)、クライアント1とサーバ2間に最新コネクション確立後、当該最新コネクションにより、データ送受信エラーから復旧したデータ送受信を行うことが可能である(ステップ100とステップ200の“OK”)。   Similarly, the server 2 receives a connection request from the connection control unit 10 of the client 1a and generates a communication thread in charge of communication in the connection control unit 20 and a data thread in charge of data management including the device number. Since the client 1 has not received a connection close processing request, there remains a thread having the same device number before data transmission / reception, so it is determined that the client having the same device number has come to the connection request (step 201), and the old connection (Step 202), a new connection is established by the same communication thread and data management thread (step 203), the latest requested TCP port is made positive (“OK” in step 200), and the client 1 and server After establishing the latest connection between the two, the latest connection The ® down, it is possible to perform data transmission and reception to recover from data transmission errors ( "OK" in step 100 and step 200).

コネクションエラーにはクライアントとサーバと接続している伝送路3の通信ケーブルの抜けも考えられるが、この場合でもクライアント側あるいはサーバ側での通信ケーブルによる本システムでのコネクション復旧が可能である。   A connection error may be caused by disconnection of the communication cable of the transmission path 3 connected to the client and the server. However, even in this case, the connection can be recovered in this system by the communication cable on the client side or the server side.

即ち、クライアント側での通信ケーブルの抜けにおいても、クライアント1のコネクション監視部12がコネクション上でのデータ送受信の状態を監視しており、上記データ送受信エラーと同様な復旧フローにて対応できる。つまり、通信ケーブルが抜けたことによりコネクション監視部12がコネクションの切断を検出し、通信ケーブルが接続された際に、コネクション制御部10が、データ送受信エラー発生時と同様に、コネクションクローズ処理要求を送信することなく、コネクション接続要求を送信し、サーバ2では、図2のステップ201以降の処理を行う。
また、サーバ側での通信ケーブルの抜けも上記と同様な理由で上記データ送受信エラーと同様な復旧フローにて対応可能である。
That is, even when the communication cable is disconnected on the client side, the connection monitoring unit 12 of the client 1 monitors the data transmission / reception state on the connection, and can cope with the recovery flow similar to the data transmission / reception error. In other words, when the communication cable is disconnected, the connection monitoring unit 12 detects the disconnection of the connection, and when the communication cable is connected, the connection control unit 10 issues a connection close processing request in the same manner as when a data transmission / reception error occurs. The server 2 transmits a connection connection request without transmitting, and the server 2 performs the processing after step 201 in FIG.
Further, disconnection of the communication cable on the server side can be handled by the same recovery flow as that of the data transmission / reception error for the same reason as described above.

このように、本実施の形態に係る通信システムによれば、クライアントまたはサーバ側のコネクション上でのデータ送受信エラーが発生した場合でも、簡単なシーケンスとソフトウェアの構造で自動的に古いコネクションが破棄され、新しいコネクションが確立されため、エラー処理のための手間がなくなり、コネクション復旧時間の大幅な短縮がなされる。   As described above, according to the communication system according to the present embodiment, even when a data transmission / reception error occurs on the connection on the client or server side, the old connection is automatically discarded with a simple sequence and software structure. Since a new connection is established, there is no need for error handling, and the connection recovery time is greatly reduced.

また、通信ケーブルの抜けの場合でも、簡単なシーケンスとソフトウェアの構造で自動的に古いコネクションが破棄され、新しいコネクションが確立されため、エラー処理のための手間がなくなり、コネクション復旧時間の大幅な短縮がなされる。   Even if the communication cable is disconnected, the old connection is automatically discarded and a new connection is established automatically with a simple sequence and software structure, eliminating the need for error handling and greatly reducing connection recovery time. Is made.

また、ハードウェアやソフトウェアの制約から、TCP/IPの規格通りにコネクションクローズ処理要求を送信できない構成のクライアントにおいても、適切にコネクションの復旧処理を行うことができる。   In addition, a connection recovery process can be appropriately performed even in a client having a configuration in which a connection close process request cannot be transmitted in accordance with the TCP / IP standard due to hardware and software restrictions.

最後に、本実施の形態に示したクライアント1及びサーバ2のハードウェア構成例について説明する。
図4は、本実施の形態に示すクライアント1及びサーバ2のハードウェア資源の一例を示す図である。
なお、図4の構成は、あくまでもクライアント1及びサーバ2のハードウェア構成の一例を示すものであり、クライアント1及びサーバ2のハードウェア構成は図4に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the client 1 and the server 2 shown in the present embodiment will be described.
FIG. 4 is a diagram illustrating an example of hardware resources of the client 1 and the server 2 illustrated in the present embodiment.
The configuration in FIG. 4 is merely an example of the hardware configuration of the client 1 and the server 2, and the hardware configuration of the client 1 and the server 2 is not limited to the configuration illustrated in FIG. There may be.

図4において、クライアント1及びサーバ2は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 4, the client 1 and the server 2 include a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, a processing unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。   As shown in FIG. 1, the communication board 915 is connected to a network. For example, the communication board 915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), or the like.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
クライアント1及びサーバ2の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the client 1 and the server 2 are activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、本実施の形態の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   The program group 923 stores programs for executing the functions described as “˜units” in the description of the present embodiment. The program is read and executed by the CPU 911.

ファイル群924には、本実施の形態の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の検出」、「〜の生成」、「〜の破棄」、「〜の接続」、「〜の監視」、「〜の設定」、「〜の登録」、「〜の要求」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the description of the present embodiment, the file group 924 includes “determination of”, “calculation of”, “comparison of”, “detection of”, “generation of”, “discarding of”, Information, data, signal values, variable values, etc. indicating the results of the processing described as “connection of”, “monitoring of”, “setting of”, “registration of”, “request for”, etc. Parameters are stored as items of “˜file” and “˜database”.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
Also, the arrows in the flowcharts described in this embodiment mainly indicate input / output of data and signals, and the data and signal values are the memory of the RAM 914, the flexible disk of the FDD904, the compact disk of the CDD905, and the magnetic disk device. It is recorded on a recording medium such as a 920 magnetic disk, other optical disks, minidisks, and DVDs. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “˜unit” in the description of the present embodiment may be “˜circuit”, “˜device”, “˜device”, and “˜step”, “˜”. “Procedure” and “˜Process” may be used. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. In other words, the program causes the computer to function as “to part” of the present embodiment. Alternatively, the procedure or method of “˜unit” in the present embodiment is executed by a computer.

このように、本実施の形態に示すクライアント1及びサーバ2は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the client 1 and the server 2 described in the present embodiment include a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, and a display device as an output device and a communication board. As described above, the function indicated as “to part” is realized by using these processing device, storage device, input device, and output device.

実施の形態1に係る通信システムの構成例を示す図。1 is a diagram illustrating a configuration example of a communication system according to Embodiment 1. FIG. 実施の形態1に係る通信システムにおける動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example in the communication system according to the first embodiment. 実施の形態1に係る通信システム及び通常のTCP/IPプロトコルにおける処理例を示す図。The figure which shows the process example in the communication system which concerns on Embodiment 1, and a normal TCP / IP protocol. 実施の形態1に係るクライアント装置及びサーバ装置のハードウェア構成例を示す図。FIG. 3 is a diagram illustrating a hardware configuration example of a client device and a server device according to the first embodiment.

符号の説明Explanation of symbols

1 クライアント装置、2 サーバ装置、3 伝送路、10 コネクション制御部、11 データ通信部、12 コネクション監視部、20 コネクション制御部、21 データ通信部。   1 client device, 2 server device, 3 transmission path, 10 connection control unit, 11 data communication unit, 12 connection monitoring unit, 20 connection control unit, 21 data communication unit.

Claims (5)

サーバ装置と、前記サーバ装置との間に設定されたコネクションを用いて前記サーバ装置とデータ通信を行う一つ以上のクライアント装置とを備える通信システムにおいて、
各クライアント装置は、
前記サーバ装置との間のコネクションが切断されていることを検知した場合に、前記サーバ装置に対して、切断されているコネクションについてクローズ処理を要求するコネクションクローズ処理要求を送信することなく、新たなコネクションの設定を要求するコネクション設定要求を自装置の識別情報とともに送信し、
前記サーバ装置は、
クライアント装置との間に設定されているコネクションを、対応するクライアント装置の識別情報に関連付けて管理し、
いずれかのクライアント装置から、前記コネクションクローズ処理要求を受信することなく、当該クライアント装置の識別情報とともにコネクション設定要求を受信した場合に、受信した識別情報に基づき、コネクション設定要求の送信元のクライアント装置との間に設定されているコネクションを判別し、判別したコネクションを破棄するとともに、コネクション設定要求の送信元のクライアント装置との間に新たなコネクションを設定するための処理を行うことを特徴とする通信システム。
In a communication system comprising a server device and one or more client devices that perform data communication with the server device using a connection established between the server device,
Each client device
When it is detected that the connection with the server device is disconnected, a new connection close processing request for requesting the close processing for the disconnected connection is sent to the server device A connection setting request for requesting connection setting is transmitted together with identification information of the own device,
The server device
Manage the connection set up with the client device in association with the identification information of the corresponding client device,
When a connection setting request is received together with identification information of the client device without receiving the connection close processing request from any client device, the client device that is the transmission source of the connection setting request based on the received identification information The connection set between and is determined, the determined connection is discarded, and a process for setting a new connection with the client device that is the transmission source of the connection setting request is performed. Communications system.
前記クライアント装置は、
前記サーバ装置との間でデータ通信エラーが発生して前記サーバ装置との間のコネクションが切断されていることを検知した場合に、前記サーバ装置に対して、前記コネクションクローズ処理要求を送信することなく、前記コネクション設定要求を自装置の識別情報とともに送信することを特徴とする請求項1に記載の通信システム。
The client device is
When it is detected that a data communication error has occurred with the server device and the connection with the server device has been disconnected, the connection close processing request is transmitted to the server device. 2. The communication system according to claim 1, wherein the connection setting request is transmitted together with identification information of the own device.
前記クライアント装置は、
前記サーバ装置に接続している通信ケーブルにエラーが発生して前記サーバ装置との間のコネクションが切断されていることを検知した場合に、前記通信ケーブルのエラーが解消した際に、前記サーバ装置に対して、前記コネクションクローズ処理要求を送信することなく、前記コネクション設定要求を自装置の識別情報とともに送信することを特徴とする請求項1に記載の通信システム。
The client device is
When it is detected that an error has occurred in the communication cable connected to the server device and the connection with the server device has been disconnected, the server device can be used when the error of the communication cable is resolved. The communication system according to claim 1, wherein the connection setting request is transmitted together with identification information of the own device without transmitting the connection close processing request.
サーバ装置との間に設定されたコネクションを用いて前記サーバ装置とデータ通信を行うクライアント装置において、
前記サーバ装置との間に設定されているコネクションを監視し、コネクションの切断を検知するコネクション監視部と、
前記コネクション監視部によりコネクションの切断が検知された場合に、前記サーバ装置に対して、切断されているコネクションについてクローズ処理を要求するコネクションクローズ処理要求を送信することなく、新たなコネクションの設定を要求するコネクション設定要求を自装置の識別情報とともに送信するコネクション制御部とを有することを特徴とするクライアント装置。
In a client device that performs data communication with the server device using a connection established with the server device,
A connection monitoring unit for monitoring a connection set between the server device and detecting disconnection of the connection;
When connection disconnection is detected by the connection monitoring unit, a request for setting a new connection is sent to the server device without sending a connection close processing request for requesting close processing for the disconnected connection. And a connection control unit that transmits a connection setting request to be transmitted together with identification information of the own device.
一つ以上のクライアント装置との間にコネクションを設定し、設定したコネクションを用いて各クライアント装置とデータ通信を行うサーバ装置において、
コネクションが切断されていることを検知したクライアント装置から、切断されているコネクションについてクローズ処理を要求するコネクションクローズ処理要求を受信することなく、新たなコネクションの設定を要求するコネクション設定要求を当該クライアント装置の識別情報とともに受信するコネクション設定要求受信部と、
クライアント装置との間に設定されているコネクションを対応するクライアント装置の識別情報に関連付けて管理しており、前記コネクション設定要求受信部により前記コネクション設定要求と識別情報が受信された場合に、受信された識別情報に基づき、コネクション設定要求の送信元のクライアント装置との間に設定されているコネクションを判別し、判別したコネクションを破棄するとともに、コネクション設定要求の送信元のクライアント装置との間に新たなコネクションを設定するための処理を行うコネクション制御部とを有することを特徴とするサーバ装置。
In a server device that sets a connection with one or more client devices and performs data communication with each client device using the set connection,
The client apparatus sends a connection setting request for requesting a new connection without receiving a connection closing process request for requesting a closing process for the disconnected connection from the client apparatus that has detected that the connection is disconnected. A connection setting request receiving unit that receives the identification information of
It is received when the connection set with the client device is managed in association with the identification information of the corresponding client device, and the connection setting request and the identification information are received by the connection setting request receiving unit. Based on the identified information, the connection setting with the client device that is the source of the connection setting request is determined, the determined connection is discarded, and a new connection is established with the client device that is the source of the connection setting request. And a connection control unit that performs processing for setting a secure connection.
JP2008163160A 2008-06-23 2008-06-23 Communicating system, client apparatus, and server apparatus Pending JP2010004449A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008163160A JP2010004449A (en) 2008-06-23 2008-06-23 Communicating system, client apparatus, and server apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008163160A JP2010004449A (en) 2008-06-23 2008-06-23 Communicating system, client apparatus, and server apparatus

Publications (1)

Publication Number Publication Date
JP2010004449A true JP2010004449A (en) 2010-01-07

Family

ID=41585741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008163160A Pending JP2010004449A (en) 2008-06-23 2008-06-23 Communicating system, client apparatus, and server apparatus

Country Status (1)

Country Link
JP (1) JP2010004449A (en)

Similar Documents

Publication Publication Date Title
JP5872731B2 (en) Computer implemented method, non-transitory computer readable medium and computer system for communicating detection of link failure to each of a plurality of nodes of a cluster
US8886927B2 (en) Method, apparatus and system for preventing DDoS attacks in cloud system
US11330071B2 (en) Inter-process communication fault detection and recovery system
US9697069B2 (en) Providing a remote diagnosis for an information appliance via a secure connection
US9197503B2 (en) Enhanced remote presence
JP6183931B2 (en) Cluster system, server apparatus, cluster system management method, and program
WO2013117081A1 (en) Service information processing method, apparatus and system for external device and virtual device
US9608884B2 (en) System and method for remote management of a computer
WO2014091663A1 (en) Detecting and isolating dropped or out-of-order packets in communication networks
US20090077218A1 (en) Software Method And System For Controlling And Observing Computer Networking Devices
US20090319699A1 (en) Preventing Loss of Access to a Storage System During a Concurrent Code Load
US7120837B1 (en) System and method for delayed error handling
US8055991B2 (en) Error detection and recovery using an asynchronous transaction journal
JP4413806B2 (en) Fault isolation method, communication apparatus and program having fault isolation function
US7856573B2 (en) WPAR halted attack introspection stack execution detection
US7733774B1 (en) Method and apparatus for detecting process failure
US8693483B2 (en) Adjusting MSS of packets sent to a bridge device positioned between virtual and physical LANS
JP2010004449A (en) Communicating system, client apparatus, and server apparatus
US6957361B2 (en) Method, system, and program for error handling in a dual adaptor system
CN114422428A (en) Restarting method and apparatus for service node, electronic device and storage medium
US10951536B1 (en) Sequence number recovery in stateful devices
JP2007183739A (en) Information processor and method, and program
JPH1051452A (en) Connection state check method via switching device
Papp et al. RoViM: Rotating Virtual Machines for Security and Fault-Tolerance