[go: up one dir, main page]

JP2006031685A - Socket connection management system and socket connection state check method - Google Patents

Socket connection management system and socket connection state check method Download PDF

Info

Publication number
JP2006031685A
JP2006031685A JP2005173124A JP2005173124A JP2006031685A JP 2006031685 A JP2006031685 A JP 2006031685A JP 2005173124 A JP2005173124 A JP 2005173124A JP 2005173124 A JP2005173124 A JP 2005173124A JP 2006031685 A JP2006031685 A JP 2006031685A
Authority
JP
Japan
Prior art keywords
socket
client
server
check
api
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
JP2005173124A
Other languages
Japanese (ja)
Inventor
Seung-Hak Paek
承 学 白
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006031685A publication Critical patent/JP2006031685A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 サーバ−クライアント上で実行される多くのアプリケーションプログラムモジュールがソケットの接続を管理する管理を行わなければならない不必要な作業を低減する。
【解決手段】 サーバまたはクライアントの通信のために必要なソケットを生成し、該当ソケットの接続状態をチェックするために定義されたAPIを呼び出して、生成されたソケットを管理する少なくとも1つのアプリケーションプログラムモジュールと、アプリケーションプログラムモジュールから任意のAPIが呼び出される場合、呼び出されたAPIに設定された動作を行うためのプログラムがコーディングされた共通ライブラリーモジュールと、共通ライブラリーモジュールにコーディングされたプログラムの実行により生成され、アプリケーションプログラムモジュールにより生成されたソケットの接続状態を周期的にチェックするソケットチェック実行モジュールとを備える。
【選択図】 図3
PROBLEM TO BE SOLVED: To reduce unnecessary work that many application program modules executed on a server-client must manage to manage socket connections.
At least one application program module that generates a socket necessary for server or client communication, calls an API defined for checking a connection state of the socket, and manages the generated socket When an arbitrary API is called from the application program module, a common library module in which a program for performing an operation set in the called API is coded, and execution of the program coded in the common library module And a socket check execution module that periodically checks the connection state of the socket generated by the application program module.
[Selection] Figure 3

Description

本発明は、サーバとクライアント間のソケット管理に関し、詳細には、BSD、ユニックス(Unix)(登録商標)、リナックス(Linux)系の運用体制を有するサーバ又は設備間の接続状態を管理し、接続に異常な問題が発生したときには接続を切り、再接続するソケット接続管理システム及びソケット接続状態のチェック方法に関する。   The present invention relates to socket management between a server and a client, and more specifically, manages a connection state between servers or facilities having a BSD, Unix (registered trademark), or Linux (Linux) system of operation and connection. The present invention relates to a socket connection management system that disconnects and reconnects when an abnormal problem occurs, and a socket connection state check method.

BSD、ユニックス(登録商標)、リナックス系のオペレーティングシステム(OS)を有するサーバまたは設備では、色々なアプリケーションが実行される。このようなアプリケーションが互いに通信を行うときは、TCP(Transmission Control Protocol)のような接続指向のプロトコルを使用する場合が多い。TCPは、信頼性があり、全二重、連続バイトを提供する接続指向プロトコルであって、伝送されるデータの信頼性のために、基本的にエラーチェック及び再伝送、そして流れ制御機能を提供する。したがって、サーバまたは設備で実行されるアプリケーションは、TCPプロトコルによって接続状態を知ることができ、これを用いて相互間の主要メッセージをやりとりする。   Various applications are executed in a server or facility having an operating system (OS) of BSD, Unix (registered trademark), or Linux. When such applications communicate with each other, a connection-oriented protocol such as TCP (Transmission Control Protocol) is often used. TCP is a reliable, full-duplex, connection-oriented protocol that provides continuous bytes, basically providing error checking and retransmission and flow control functions for the reliability of transmitted data. To do. Therefore, the application executed on the server or the facility can know the connection state by the TCP protocol, and exchanges main messages between them using this.

大部分のオペレーティングシステムは、接続指向プロトコルのためのインタフェースとしてソケット(socket)を使用していて、各々のアプリケーションは、それら各々が接続に必要なソケットを管理する。   Most operating systems use sockets as an interface for connection-oriented protocols, and each application manages the sockets they each need to connect.

従来の接続指向ソケットの方式は、正常な状態でサーバとクライアント間の接続あるいは解除が可能であり、相手の状態が切られると、解除できるようになっている。しかしながら、サーバ側でもクライアント側でも相手の電源が切られたり、着脱可能なスロットから構成された設備で接続相手が取り除かれる状況では、接続ソケットが直ちに解除されずに、比較的長い時間接続ソケットを維持するようになる。しかも、ソケットが継続的に維持されている状態であるとみなされるので、内部的に情報をやりとりすることも可能だと判断され、誤動作の原因になり得る。特に、リアルタイムシステムである場合には、さらに問題となる。   The conventional connection-oriented socket system can be connected or released between the server and the client in a normal state, and can be released when the other party is disconnected. However, in situations where the other party's power is turned off on the server side or the client side, or the other party is removed by equipment consisting of a detachable slot, the connection socket is not released immediately, and the connection socket is not connected for a relatively long time. To maintain. Moreover, since the socket is considered to be continuously maintained, it is determined that information can be exchanged internally, which may cause malfunction. In particular, it becomes a further problem in the case of a real-time system.

また、接続解除がなされない場合のみならず、サーバ―クライアント間のあるモジュールの誤動作に起因してサーバとクライアント間の接続が切られた状態では、所定のソケットを解除し、再接続しなければならないが、状況を認知しない場合には、誤動作状態を継続的に維持しているようになるエラーが発生する。   Also, not only when the connection is not released, but also when the connection between the server and the client is cut off due to a malfunction of a module between the server and the client, the specified socket must be released and reconnected. However, if the situation is not recognized, an error occurs that causes the malfunction state to be continuously maintained.

図1は、従来の接続指向ソケットを利用した場合のエラーを示すフローチャートである。   FIG. 1 is a flowchart showing an error when a conventional connection-oriented socket is used.

図1を参照すれば、サーバ1は、第1のクライアント2及び第2のクライアント3とソケットを生成して通信を行っているうちに、第2のクライアント3に電力障害が発生したにもかかわらず、これを認知せずに、続いて第2のクライアント3にデータを伝送することによって、データ伝送のエラーを招いている。   Referring to FIG. 1, the server 1 generates sockets with the first client 2 and the second client 3 and communicates with each other, even though a power failure occurs in the second client 3. However, without recognizing this, by subsequently transmitting data to the second client 3, an error in data transmission is caused.

一方、標準ソケットオプションのうち、“KEEPALIVE”という接続管理を行うものがあるが、一般的に2時間(7200秒)を基本値として有し、中間にいかなるメッセージの交換がない単純な方式なので、速やかな接続復旧が不可能である。   On the other hand, among standard socket options, there is one that performs connection management called “KEEPALIVE”. Generally, it has a basic value of 2 hours (7200 seconds), and there is no exchange of messages in the middle. Prompt connection recovery is impossible.

したがって、大部分のアプリケーションプログラムでは、上述のような場合の処理のために、別途に各アプリケーションプログラム毎に特定の方式を用いてチェックを行わなければならないが、この場合、アプリケーションプログラム毎に個別の接続管理方式を有しなければならないので、類似の機能をすべてのアプリケーションプログラムに全て具現しなければならないという非常に不必要な作業が重複する。   Therefore, in most application programs, for processing in the above-described case, a check must be performed separately using a specific method for each application program. In this case, an individual program is used for each application program. Since it must have a connection management system, the very unnecessary work of having all similar functions implemented in all application programs is duplicated.

また、各接続管理が一括して行われないので、実際には、サーバとクライアント間の接続問題なのか、単純に該当アプリケーション間の動作問題なのかを認識することができず、システム管理が難しく、複雑になる問題点がある。   In addition, since each connection management is not performed collectively, it is difficult to recognize whether the problem is actually a connection problem between the server and the client, or simply an operation problem between the corresponding applications, making system management difficult. There is a problem that becomes complicated.

本発明は、上述のような従来の問題点を解決するためになされたもので、本発明の目的は、サーバ−クライアント上で実行される多くのアプリケーションプログラムモジュールがソケットの接続を管理しなければならない不必要な作業を低減することができるソケット接続管理システム及びソケット接続状態のチェック方法を提供することにある。   The present invention has been made to solve the above-described conventional problems, and the object of the present invention is to make sure that many application program modules executed on a server-client manage socket connections. It is an object of the present invention to provide a socket connection management system and a method for checking a socket connection state that can reduce unnecessary work that should not be performed.

上記目的を達成するために、本発明の一態様に係るソケット接続管理システムは、サーバまたはクライアントの通信のために必要なソケットを生成し、該当ソケットの接続状態をチェックするために定義されたAPI(Application Programmable Interface)を呼び出して、生成されたソケットを管理する少なくとも1つのアプリケーションプログラムモジュールと、アプリケーションプログラムモジュールから任意のAPIが呼び出される場合に、呼び出されたAPIに設定された動作を行うためのプログラムがコーディングされた共通ライブラリーモジュールと、共通ライブラリーモジュールにコーディングされたプログラムの実行により生成され、アプリケーションプログラムモジュールにより生成されたソケットの接続状態を周期的にチェックするソケットチェック実行モジュールとを備えることを特徴とする。   To achieve the above object, a socket connection management system according to an aspect of the present invention generates a socket necessary for server or client communication, and defines an API defined for checking a connection state of the socket. (Application Programmable Interface) is called, and at least one application program module that manages the generated socket, and when an arbitrary API is called from the application program module, an operation set for the called API is performed. The common library module in which the program is coded and the socket connection status generated by the execution of the program coded in the common library module are periodically checked. And a socket check execution module.

また、本発明の他の態様に係るソケット接続状態のチェック方法は、サーバまたはクライアントの通信のために必要なソケットを生成し管理するようにプログラミングされたアプリケーションプログラムモジュールが実行されることによって、任意のソケットを生成する段階と、アプリケーションプログラムモジュールが、生成されたソケットの接続状態をチェックするために定義された任意のAPI(Application Programmable Interface)を呼び出す段階と、アプリケーションプログラムモジュールから任意のAPIが呼び出される場合に、呼び出されたAPIに設定された動作が共通ライブラリーモジュールで実行される段階と、共通ライブラリーモジュールにコーディングされたプログラムの実行により生成されたソケットチェック実行モジュールを用いて、アプリケーションプログラムモジュールにより生成されたソケットの接続状態を周期的にチェックする段階とを備えることを特徴とする。   In addition, the socket connection state check method according to another aspect of the present invention can be performed by executing an application program module programmed to generate and manage a socket required for server or client communication. Generating a socket, an application program module calling an arbitrary API (Application Programmable Interface) defined for checking the connection status of the generated socket, and an arbitrary API being called from the application program module When the operation is set, the operation set in the called API is executed by the common library module, and the socket check execution module generated by executing the program coded in the common library module. And periodically checking the connection state of the socket generated by the application program module using the program.

また、本発明のさらに他の態様に係るソケット接続状態のチェック方法は、任意のクライアントとソケットを設定するサーバにおいて設定されたソケットの接続状態をチェックする方法であって、クライアントとソケットを設定する場合に、該当ソケットの接続状態をチェックするためのプログラムが格納されたライブラリー関数を呼び出す段階と、呼び出されたライブラリー関数の実行により、周期的にチェックすべきソケットを登録する段階と、呼び出されたライブラリー関数の実行により、クライアントに周期的にソケットチェック要請メッセージを伝送し、該当クライアントから伝送されるソケットチェック応答メッセージが受信されたか否かによって、登録されたソケットの接続状態を周期的にチェックする段階とを備えることを特徴とする。   A method for checking a socket connection state according to still another aspect of the present invention is a method for checking a connection state of a socket set in a server for setting an arbitrary client and socket, wherein the client and the socket are set. In this case, a step of calling a library function that stores a program for checking the connection state of the corresponding socket, a step of registering a socket to be checked periodically by executing the called library function, and By executing the library function, the socket check request message is periodically transmitted to the client, and the connection status of the registered socket is periodically determined depending on whether the socket check response message transmitted from the client is received. And having a step of checking And butterflies.

また、本発明のさらに他の態様に係るソケット接続状態のチェック方法は、任意のサーバとソケットを設定しているクライアントにおいて該当ソケットの接続状態をチェックする方法であって、サーバとソケットを設定する場合に、該当ソケットの接続状態をチェックするためのプログラムが格納されたライブラリー関数を呼び出す段階と、呼び出されたライブラリー関数の実行により、サーバから周期的に受信されるソケットチェック要請メッセージに対してソケットチェック応答メッセージを伝送し、ソケットチェック要請メッセージが周期的に受信されるか否かによって、サーバと設定されたソケットの接続状態をチェックする段階とを備えることを特徴とする。   A method for checking a socket connection state according to still another aspect of the present invention is a method for checking a connection state of a corresponding socket in a client that has set a socket with an arbitrary server, and sets the server and the socket. In response to a socket check request message periodically received from the server by calling a library function that stores a program for checking the connection status of the corresponding socket, and executing the called library function. Transmitting a socket check response message, and checking a connection state between the server and the set socket according to whether the socket check request message is periodically received.

本発明によれば、TCPのような接続指向プロトコルにおいては基本的に備えない部分である、接続状態チェック、相手の電源オフ時における接続解除及び再接続機能を共通ライブラリー形態で実現することによって、いろいろなアプリケーションプログラムが1つのモジュールのインタフェース関数だけを用いて該当機能を提供することができる。   According to the present invention, by implementing a connection state check, a connection release and a reconnection function at the time of power-off of the other party in a common library form, which are basically not provided in a connection-oriented protocol such as TCP. Various application programs can provide corresponding functions using only interface functions of one module.

これにより、各アプリケーションプログラムは、所望の接続管理機能を有するだけでなく、システム管理に必要なサーバ−クライアント間の接続状態をも正確に把握することができ、速やかな接続復旧あるいは接続終了を可能にする。   As a result, each application program not only has the desired connection management function, but can also accurately grasp the connection state between the server and the client necessary for system management, enabling quick connection recovery or connection termination. To.

また、多くのアプリケーションプログラムモジュールが、ソケットの接続を管理しなければならない不必要な作業をなくし、1つのモジュールから構成されたライブラリーを用いて効率的に実現が可能である。これにより、ネットワーク設備間又はサーバクラスターリング環境において相手側の異常な電源オフやモジュールの脱落などのような例外な状況が発生する場合に、いろいろなアプリケーションプログラムで適用可能である。   In addition, many application program modules can eliminate the unnecessary work of managing connection of sockets and can be efficiently realized by using a library composed of one module. As a result, when an exceptional situation such as abnormal power off of the other party or dropping of a module occurs in a network clustering environment or in a server clustering environment, it can be applied with various application programs.

また、TCP接続において再接続や接続解除など速やかに処理されないエラーを簡単に且つ速やかに処理することができる。これにより、サーバ−クライアント間の接続管理を一元化できるシステム管理を実現することができ、システムの信頼性を高めることができる。   In addition, errors that are not processed promptly, such as reconnection and connection release in TCP connection, can be easily and quickly processed. As a result, system management that can unify server-client connection management can be realized, and the reliability of the system can be improved.

以下、添付の図面を参照して、本発明の好適な実施形態を詳細に説明する。ただし、本発明は、下記実施形態に限定されるものではなく、いろいろな変形が可能である。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to the following embodiments, and various modifications are possible.

図2は、本発明の一実施形態によるソケット管理システムを適用するサーバ−クライアントの構成図である。   FIG. 2 is a block diagram of a server-client to which a socket management system according to an embodiment of the present invention is applied.

図2を参照すれば、サーバ100と複数のクライアント200、300、400、500とがネットワークを介して接続されている。サーバ100で実行されているサーバアプリケーションプログラムモジュールと、各クライアント200、300、400、500で実行されているクライアントアプリケーションプログラムモジュールとは、ソケット通信により接続されている。   Referring to FIG. 2, the server 100 and a plurality of clients 200, 300, 400, 500 are connected via a network. The server application program module executed on the server 100 and the client application program module executed on each client 200, 300, 400, 500 are connected by socket communication.

サーバ100で実行されているサーバアプリケーションプログラムモジュールは、各クライアント200、300、400、500で実行されているクライアントアプリケーションプログラムモジュールとの通信のために必要なソケットを設定し、設定されたソケットの接続状態を周期的にチェックする。   The server application program module executed on the server 100 sets a socket necessary for communication with the client application program module executed on each client 200, 300, 400, 500, and connects the set socket. Check status periodically.

ここで、サーバ100または各クライアント200、300、400、500で実行される各アプリケーションプログラムモジュールは、該当アプリケーションプログラムモジュールにプログラミングされたプロセスを行うことによって、多様なサービスを提供する。これにより、アプリケーションプログラムモジュールは、サーバ100または各クライアント200、300、400、500で提供するサービスの種類に応じて多様な形態で実現されることができる。   Here, each application program module executed by the server 100 or each client 200, 300, 400, 500 provides various services by performing a process programmed in the application program module. Thus, the application program module can be realized in various forms according to the type of service provided by the server 100 or each of the clients 200, 300, 400, and 500.

さらに、アプリケーションプログラムモジュールは、サーバ−クライアント基盤の通信プロトコルによって多様なデジタル処理処置で運用される多様な種類のソフトウェアアプリケーションプログラムモジュールを含むことができる。   In addition, the application program modules can include various types of software application program modules that are operated in various digital processing procedures according to a server-client based communication protocol.

また、アプリケーションプログラムモジュールは、サーバ−クライアント基盤の通信プロトコルによって運用されることによって、サーバ100または各クライアント200、300、400、500で実行される場合に、サーバ100と各クライアント200、300、400、500で実行されているアプリケーションプログラムモジュール間の通信のためにソケットを生成し、通信が完了した後には、生成されたソケット接続を解除する一連の動作を行う。   In addition, the application program module is operated by a server-client based communication protocol, so that when executed by the server 100 or each client 200, 300, 400, 500, the server 100 and each client 200, 300, 400 , 500 generates a socket for communication between the application program modules, and after the communication is completed, a series of operations for releasing the generated socket connection are performed.

各アプリケーションプログラムモジュールは、サーバ100と各クライアント200、300、400、500との間に設定したソケットの接続状態をリアルタイムで把握する必要がある。このために、アプリケーションプログラムモジュールは、ソケットの接続状態をチェックするためにAPIを呼び出して、APIにより生成されたソケットチェック実行モジュールを用いてソケットチェック作業を行うようにする。   Each application program module needs to grasp the connection state of the socket set between the server 100 and each client 200, 300, 400, 500 in real time. For this purpose, the application program module calls an API to check the connection state of the socket, and performs a socket check operation using a socket check execution module generated by the API.

ここで、各アプリケーションプログラムモジュールは、任意のクライアントとの通信のためにソケットを生成し、生成されたソケットを維持したり解除する手続については、一般的な技術を準用する。従って、以下では、設定された任意のソケットをチェックするためにAPI(Application Programmable Interface)を呼び出して、APIにより生成されたソケットチェック実行モジュールを用いてソケットチェック作業を行う構成及び動作について詳細に説明する。   Here, each application program module generates a socket for communication with an arbitrary client, and applies a general technique to procedures for maintaining or releasing the generated socket. Therefore, in the following, a configuration and an operation in which an API (Application Programmable Interface) is called to check an arbitrary set socket and a socket check operation is performed using a socket check execution module generated by the API will be described in detail. To do.

本実施形態では、サーバ100と各クライアント200、300、400、500で実行されているアプリケーションプログラムモジュールが、相互間に設定されたソケットの接続状態をチェックするためのAPIを定義し、各アプリケーションプログラムモジュールでは、上記APIを呼び出して、各ソケットに対する接続状態を周期的にチェックする。   In the present embodiment, the application program module executed by the server 100 and each client 200, 300, 400, 500 defines an API for checking the connection state of sockets set between each other, and each application program The module calls the API and periodically checks the connection status for each socket.

これにより、ソケットの接続状態をチェックする機能を提供するためのAPIは、サーバ100とクライアント200、300、400、500でそれぞれ使用呼び出し可能なように2元化されている。以下、APIのソケット接続状態のチェック機能をヘルスチェック(Health−Check)と命名し、略字としてHC(またはhc)を使用する。これにより、ソケット接続状態のチェックのためのあらゆるAPIは、“hc_”で始まる。   As a result, the API for providing the function of checking the connection state of the socket is binarized so that the server 100 and the clients 200, 300, 400, 500 can be used and called. Hereinafter, the API socket connection state check function is named health check (Health-Check), and HC (or hc) is used as an abbreviation. Thus, every API for checking the socket connection status starts with “hc_”.

サーバとクライアントは、各周期毎にソケットの接続状態をチェックするためのメッセージをやりとりする。サーバでは、クライアントに各周期毎にソケットの接続状態をチェックするためのヘルスチェック要請メッセージ(HC_REQUEST)を伝送し、クライアントは、サーバにヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。   The server and client exchange messages for checking the connection status of the socket every cycle. The server transmits a health check request message (HC_REQUEST) for checking the connection state of the socket for each period to the client, and the client transmits a health check response message (HC_RESPONSE) to the server.

図3は、本発明の一実施形態によるサーバに動作するソケット管理システムの構成図である。   FIG. 3 is a block diagram of a socket management system operating on a server according to an embodiment of the present invention.

図3を参照すれば、サーバで実行されるソケット管理システムは、クライアントとの通信のために必要なソケットを生成し、該当ソケットの接続状態をチェックするために定義されたAPI(Application Programmable Interface)を呼び出して、上記生成されたソケットを管理する少なくとも1つ以上のアプリケーションプログラムモジュール110と、アプリケーションプログラムモジュール110から任意のAPIが呼び出される場合に、呼び出されたAPIに設定された動作を行うためのプログラムがコーディングされた共通ライブラリーモジュール120と、共通ライブラリーモジュール120にコーディングされたプログラムの実行により生成され、アプリケーションプログラムモジュール110により生成されたソケットの接続状態を周期的にチェックするソケットチェック実行モジュール130と、DB(データベース)140とを備えて構成される。   Referring to FIG. 3, the socket management system executed on the server generates a socket necessary for communication with the client, and defines an API (Application Programmable Interface) defined for checking the connection state of the socket. , And at least one application program module 110 for managing the generated socket, and when an arbitrary API is called from the application program module 110, an operation set for the called API is performed. A common library module 120 in which a program is coded, and a socket connection state generated by the execution of the program coded in the common library module 120 and generated by the application program module 110 And a socket check execution module 130 for checking automatically and a DB (database) 140.

アプリケーションプログラムモジュール110には、ソケットの接続状態をチェックするために定義されたAPIがエンコードされている。まず、定義されたAPIについて説明する。   The application program module 110 encodes an API defined for checking the connection state of the socket. First, the defined API will be described.

サーバ初期化API(hc_server_init)111は、ヘルスチェックで使用するヘルスチェック機能用スレッド(thread)を生成するAPIである。サーバ初期化APIは、アプリケーションプログラム開始部分に加えられる。以下、ヘルスチェック機能用スレッドをソケットチェック実行モジュール130と命名する。   A server initialization API (hc_server_init) 111 is an API that generates a thread for a health check function used in the health check. The server initialization API is added to the application program start part. Hereinafter, the thread for the health check function is named the socket check execution module 130.

サーバ登録API(hc_server_register)112は、ヘルスチェックで任意のソケットに対する接続状態をチェックできるようにソケットを登録するAPIである。サーバ登録APIは、アプリケーションプログラムモジュールにおいてサーバ用ソケットをオープンし、クライアントと接続される位置に加えられ、クライアントと接続されたソケットは、登録され、以後、状態を継続的にチェックするようになる。   The server registration API (hc_server_register) 112 is an API for registering a socket so that a connection state for an arbitrary socket can be checked by a health check. The server registration API opens a server socket in the application program module and is added to a position connected to the client. The socket connected to the client is registered, and thereafter the status is continuously checked.

サーバ登録取消API(hc_server_unregister)113は、ヘルスチェックでチェックしていたソケットの登録を取り消すAPIである。サーバ登録取消API113は、正常なソケットの解除時に、アプリケーションプログラムモジュールで使われる。サーバ登録取消API113は、アプリケーションプログラムモジュールにおいてクライアントと接続を解除する位置にコーディングされる。   The server registration cancellation API (hc_server_unregister) 113 is an API for canceling the registration of the socket checked by the health check. The server registration cancellation API 113 is used in the application program module when releasing a normal socket. The server registration cancellation API 113 is coded at a position for releasing the connection with the client in the application program module.

サーバプロセスAPI(hc_server_process)114は、サーバに実行されたアプリケーションプログラムモジュールによりソケットの接続状態をチェックするように登録された該当ソケットからデータを伝送された時に、該当データがヘルスチェック用データであるか否かを確認し処理する。サーバプロセスAPI114は、サーバ用であるから、ソケットチェック要請メッセージ(hc_request)に対する応答であるソケットチェック応答メッセージ(hc_response)を受信したときの処理のためのものである。   When the server process API (hc_server_process) 114 receives data from the corresponding socket registered so as to check the connection state of the socket by the application program module executed on the server, the corresponding data is data for health check. Confirm whether or not. Since the server process API 114 is for the server, it is for processing when a socket check response message (hc_response) that is a response to the socket check request message (hc_request) is received.

サーバ解除API(hc_server_exit)115は、登録されていた全てのソケットを登録解除し、ソケットチェック実行モジュール130を解除するAPIである。   The server release API (hc_server_exit) 115 is an API for releasing registration of all registered sockets and releasing the socket check execution module 130.

共通ライブラリーモジュール120は、アプリケーションプログラムモジュール110から任意のAPIが呼び出される場合に、呼び出された各APIに設定された動作を行うためのプログラムがコーディングされている。これにより、共通ライブラリーモジュール120は、サーバ初期化API111、サーバ登録API112、サーバ登録取消API113、サーバプロセスAPI114、サーバ解除API115に対応して定義された機能を行うことができるようにコーディングされたそれぞれのプログラムを具備している。   In the common library module 120, when an arbitrary API is called from the application program module 110, a program for performing an operation set in each called API is coded. As a result, the common library module 120 is coded so as to be able to perform functions defined corresponding to the server initialization API 111, the server registration API 112, the server registration cancellation API 113, the server process API 114, and the server cancellation API 115, respectively. The program is provided.

すなわち、アプリケーションプログラムモジュール110からサーバ初期化API(hc_server_init)111が呼び出されると、サーバ初期化API111に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ヘルスチェックで使用するソケットチェック実行モジュールを生成し、任意のソケットの接続状態を周期的にチェックする準備をする。   That is, when the server initialization API (hc_server_init) 111 is called from the application program module 110, the health code is executed by executing a program coded so as to be able to perform the function defined corresponding to the server initialization API 111. Create a socket check execution module to be used in the check, and prepare to periodically check the connection status of any socket.

アプリケーションプログラムモジュール110からサーバ登録API(hc_server_register)112が呼び出されると、サーバ登録API112に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ヘルスチェックで任意のソケットに対する接続状態をチェックできるように、ソケットを所定のソケットチェック実行モジュール130に登録する。   When the server registration API (hc_server_register) 112 is called from the application program module 110, an arbitrary program is executed in the health check by executing a program coded so as to be able to perform the function defined corresponding to the server registration API 112. The socket is registered in a predetermined socket check execution module 130 so that the connection state with respect to the socket can be checked.

アプリケーションプログラムモジュール110からサーバ登録取消API113が呼び出されると、サーバ登録取消API113に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ソケットチェック実行モジュール130でチェックしていたソケットの登録を取り消す。ソケットチェック実行モジュール130でソケットの登録を取り消せば、該当ソケットは解除される。   When the server registration cancellation API 113 is called from the application program module 110, the socket check execution module 130 checks by executing a program coded so as to be able to perform the function defined in correspondence with the server registration cancellation API 113. Cancel the registered socket. If the socket registration is canceled by the socket check execution module 130, the socket is released.

アプリケーションプログラムモジュール110からサーバプロセスAPI(hc_server_process)114が呼び出されると、サーバプロセスAPI114に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、クライアントから任意のメッセージが伝達される場合、該当メッセージがサーバから該当クライアントへ伝送したヘルスチェック要請メッセージに対するヘルスチェック応答メッセージであるか否かを確認し、それによりクライアントの状態値を変動させる。   When a server process API (hc_server_process) 114 is called from the application program module 110, an arbitrary message is received from the client by executing a program coded so as to be able to perform a function defined corresponding to the server process API 114. When the message is transmitted, it is confirmed whether or not the corresponding message is a health check response message corresponding to the health check request message transmitted from the server to the corresponding client, thereby changing the state value of the client.

アプリケーションプログラムモジュール110からサーバ解除API(hc_server_exit)115が呼び出されると、サーバ解除API115に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ソケットチェック実行モジュール130に該当ソケットの接続状態をチェックするために登録されていた全てのソケットを登録解除し、該当ソケットチェック実行モジュール130を解除させる。   When the server cancellation API (hc_server_exit) 115 is called from the application program module 110, the socket check execution module 130 is executed by executing a program coded so as to be able to perform the function defined corresponding to the server cancellation API 115. All the sockets registered for checking the connection state of the corresponding socket are deregistered, and the corresponding socket check execution module 130 is released.

アプリケーションプログラムモジュール110からサーバ初期化API111を呼び出すことによって、共通ライブラリーモジュール120にサーバ初期化API111に対応して定義された機能を行うことができるようにコーディングされたプログラムが実行されて、ソケットチェック実行モジュール130が生成される。   By calling the server initialization API 111 from the application program module 110, a program coded so as to be able to perform the function defined corresponding to the server initialization API 111 in the common library module 120 is executed, and the socket check is performed. An execution module 130 is generated.

ソケットチェック実行モジュール130は、各周期毎にアプリケーションプログラムモジュール110から指定されたソケットに対して該当ソケットの接続状態をチェックするために、ヘルスチェック要請メッセージを伝送し、それによりクライアントからヘルスチェック応答メッセージが受信されるか否かによって、該当ソケットの接続状態をチェックするようになる。   The socket check execution module 130 transmits a health check request message in order to check the connection state of the corresponding socket with respect to the socket designated by the application program module 110 at each cycle, thereby causing a health check response message from the client. Depending on whether or not is received, the connection status of the socket is checked.

DB140は、サーバ100とソケットを生成して通信を行っている各クライアントのID及びクライアントの状態情報を格納している。   The DB 140 stores the ID and status information of each client that is communicating with the server 100 by creating a socket.

図4は、本発明の一実施形態によるクライアントで動作するソケット管理システムの構成図である。   FIG. 4 is a block diagram of a socket management system operating on a client according to an embodiment of the present invention.

図4を参照すれば、クライアントで実行されるソケット管理システムは、ソケットの接続状態をチェックするAPIを呼び出すようにプログラミングされた少なくとも1つ以上のアプリケーションプログラムモジュール210と、アプリケーションプログラムモジュール210から任意のAPIが呼び出される場合、呼び出されたAPIに設定された動作を行うためのプログラムがコーディングされた共通ライブラリーモジュール220と、共通ライブラリーモジュール220にコーディングされたプログラムの実行により生成され、アプリケーションプログラムモジュール210により生成されたソケットの接続状態を周期的にチェックするソケットチェック実行モジュール230と、DB240とを備えて構成される。   Referring to FIG. 4, the socket management system executed on the client includes at least one application program module 210 programmed to call an API for checking the connection status of the socket, and any application program module 210. When an API is called, an application program module is generated by executing a common library module 220 in which a program for performing an operation set in the called API is coded, and a program coded in the common library module 220. The socket check execution module 230 that periodically checks the connection state of the socket generated by 210 and the DB 240 are configured.

アプリケーションプログラムモジュール210には、ソケットの接続状態をチェックするために定義されたAPIを有している。クライアントで定義されたAPIについて説明する。   The application program module 210 has an API defined for checking the connection state of the socket. The API defined by the client will be described.

クライアントには、クライアント初期化API211と、クライアントプロセスAPI212及びクライアント解除API213が定義されている。   In the client, a client initialization API 211, a client process API 212, and a client release API 213 are defined.

クライアント初期化API(hc_client_init)211は、ヘルスチェックで使用する変数を初期化するAPIである。クライアント初期化API211は、アプリケーションプログラムモジュールの開始部分にコーディングされる。   The client initialization API (hc_client_init) 211 is an API that initializes variables used in the health check. The client initialization API 211 is coded at the start of the application program module.

クライアントプロセスAPI(hc_client_process)212は、クライアントに実行されているアプリケーションプログラムモジュール210がサーバ100からデータを伝送された場合に、該当データがヘルスチェック用データであるか否かを確認し処理するAPIである。クライアントに実行されているAPIで、サーバから要請メッセージhc_requestを受信した場合の処理のためのものである。   A client process API (hc_client_process) 212 is an API that checks and processes whether or not the data is health check data when the application program module 210 executed by the client receives data from the server 100. is there. This is for processing when the request message hc_request is received from the server by the API executed by the client.

クライアント解除API(hc_client_exit)213は、必要な変数を初期化し、ヘルスチェック動作を終了するAPIである。   The client cancellation API (hc_client_exit) 213 is an API that initializes necessary variables and ends the health check operation.

共通ライブラリーモジュール220は、アプリケーションプログラムモジュール210から任意のAPIが呼び出される場合、呼び出された各APIに設定された動作を行うためのプログラムがコーディングされている。これにより、共通ライブラリーモジュール220は、クライアント初期化API211、クライアントプロセスAPI212、クライアント解除API213に対応して定義された機能を行うことができるようにコーディングされたそれぞれのプログラムを具備している。   In the common library module 220, when an arbitrary API is called from the application program module 210, a program for performing an operation set for each called API is coded. Accordingly, the common library module 220 includes respective programs coded so as to be able to perform functions defined corresponding to the client initialization API 211, the client process API 212, and the client release API 213.

すなわち、アプリケーションプログラムモジュール210からクライアント初期化API(hc_client_init)211が呼び出されると、クライアント初期化API211に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行して、ソケットチェックのための初期化を行い、ソケットチェック実行モジュール230を生成することによって、サーバと設定されたソケットの接続状態を周期的にチェックする準備をする。   That is, when the client initialization API (hc_client_init) 211 is called from the application program module 210, a program coded so as to be able to perform the function defined corresponding to the client initialization API 211 is executed, and the socket check is performed. Is prepared for periodically checking the connection state between the server and the set socket by generating the socket check execution module 230.

アプリケーションプログラムモジュール210からクライアントプロセスAPI212が呼び出されると、クライアントプロセスAPI212に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、クライアントに実行されているアプリケーションプログラムモジュール210がサーバ100からメッセージを伝送された場合に、該当メッセージがヘルスチェック要請メッセージ(HC_REQUEST)であるか否かを判断する。   When the client process API 212 is called from the application program module 210, the application program module executed on the client is executed by executing a program coded so as to be able to perform a function defined corresponding to the client process API 212. When 210 receives a message from the server 100, it determines whether the corresponding message is a health check request message (HC_REQUEST).

アプリケーションプログラムモジュール210からクライアント解除API213が呼び出されると、クライアント解除API213に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ヘルスチェック動作を解除し、該当ソケットチェック実行モジュール230を終了する動作を行う。   When the client release API 213 is called from the application program module 210, the health check operation is released by executing a program coded so as to perform the function defined in correspondence with the client release API 213, and the corresponding socket. An operation for terminating the check execution module 230 is performed.

アプリケーションプログラムモジュール210からサーバ初期化API211を呼び出すことによって、共通ライブラリーモジュール220にサーバ初期化API211に対応して定義された機能を行うことができるようにコーディングされたプログラムが実行されて、ソケットチェック実行モジュール230が生成される。   By calling the server initialization API 211 from the application program module 210, a program coded so as to be able to perform the function defined corresponding to the server initialization API 211 in the common library module 220 is executed, and the socket check is performed. An execution module 230 is generated.

ソケットチェック実行モジュール230は、各周期毎にアプリケーションプログラムモジュール210から指定されたソケットに対して該当ソケットの接続状態をチェックするために伝送されるヘルスチェック要請メッセージを受信すれば、それにより、サーバにヘルスチェック応答メッセージを伝送することによって、サーバからヘルスチェック応答メッセージが受信されるか否かによって、該当ソケットの接続状態をチェックできるようにする。   If the socket check execution module 230 receives a health check request message transmitted to check the connection status of the corresponding socket with respect to the socket designated from the application program module 210 at each cycle, the socket check execution module 230 By transmitting the health check response message, the connection state of the corresponding socket can be checked depending on whether the health check response message is received from the server.

DB240は、サーバ100と設定されたソケットを維持するためのサーバ100に対するソケット設定情報を格納している。   The DB 240 stores socket setting information for the server 100 for maintaining the socket set with the server 100.

図5は、本発明の一実施形態によるソケット接続状態のチェックのためのメッセージ(HCメッセージ)の構成図である。   FIG. 5 is a configuration diagram of a message (HC message) for checking a socket connection state according to an embodiment of the present invention.

図5を参照すれば、ヘルスチェックメッセージのヘッダーは、マジックナンバーフィールド(Magic Number)と、メッセージタイプフィールド(Message Type)と、クライアントIDフィールド(Client ID)と、パケット長さフィールド(Length)とから構成され、ボディーは、タイムスタンプフィールド(Timestamp)と、タイムアウト値フィールド(Timeout Value)と、予備フィールド(Reserved)とから構成される。   Referring to FIG. 5, the header of the health check message includes a magic number field (Magic Number), a message type field (Message Type), a client ID field (Client ID), and a packet length field (Length). The body includes a time stamp field (Timestamp), a time-out value field (Timeout Value), and a reserved field (Reserved).

マジックナンバーフィールドと、メッセージタイプフィールドと、クライアントIDフィールド、及びパケット長さフィールドは、各々2バイトずつ割り当てられている。   Each of the magic number field, the message type field, the client ID field, and the packet length field is assigned 2 bytes.

マジックナンバーフィールドに設定される値は、ソケットの接続状態をチェックするためのマジックナンバーであり、該当メッセージがヘルスチェックメッセージであるか否かを判別するために特定値が設定され、ここではサーバのシステム時間値が設定される。   The value set in the magic number field is a magic number for checking the connection status of the socket, and a specific value is set to determine whether or not the corresponding message is a health check message. The system time value is set.

メッセージタイプフィールドには、該当メッセージがヘルスチェック要請メッセージなのか、又はヘルスチェック応答メッセージなのかを表示するための値が設定される。   A value for displaying whether the corresponding message is a health check request message or a health check response message is set in the message type field.

クライアントIDフィールドは、サーバとソケット接続が設定されたクライアントIDの識別子が設定され、各クライアントを区別する。   In the client ID field, an identifier of a client ID in which a socket connection with the server is set is set, and each client is distinguished.

パケット長さフィールドは、該当パケットの伝送エラーをチェックするために、メッセージの長さが設定される。   In the packet length field, the length of the message is set in order to check the transmission error of the corresponding packet.

タイムスタンプフィールドには、該当パケットが伝送される時間情報が設定される。タイムスタンプ値は、サーバとクライアント間にメッセージを送受信する場合、正常に動作するか否かを確認するために、サーバで現在時間をタイムスタンプフィールドに設定して、クライアントに伝送し、クライアントはこの値をそのままヘルスチェック応答メッセージ(HC_RESPONSE)に設定してサーバに伝送する。サーバでは、この値が正確にクライアントから来るか否かをチェックして、クライアントの状態を判断する。   In the time stamp field, time information for transmitting the packet is set. When sending and receiving a message between the server and the client, the time stamp value is transmitted to the client by setting the current time in the time stamp field on the server in order to check whether or not the server operates normally. The value is set in the health check response message (HC_RESPONSE) as it is and transmitted to the server. The server checks whether this value comes correctly from the client, and determines the state of the client.

タイムアウト値フィールドは、サーバからクライアントにヘルスチェック要請メッセージを伝送した後から時間をカウントして、一定時間が経過するまでヘルスチェック応答メッセージが受信されないと、該当ソケットの接続状態が遮断されたものと判断し、ソケットを強制的に遮断するためのタイムアウト設定値である。   In the timeout value field, the time after the health check request message is transmitted from the server to the client is counted, and if the health check response message is not received until a certain time elapses, the connection status of the corresponding socket is blocked. This is the timeout setting value for determining and forcibly blocking the socket.

サーバの伝送周期Tsが変化すれば、クライアントの待ち周期Tcも変わらなければならないので、Tc値が変化する場合、タイムアウト値を設定して伝送する。このとき、Tcは、Ts+αの値を有することが好適である。ここで、αは、ユーザにより設定される余裕値である。   If the server transmission cycle Ts changes, the client wait cycle Tc must also change. Therefore, when the Tc value changes, a timeout value is set and transmitted. At this time, Tc preferably has a value of Ts + α. Here, α is a margin value set by the user.

一方、サーバ100で各クライアントを管理するためには、クライアントの状態情報を格納していなければならない。これにより、サーバ100では、登録されたクライアントのソケット毎に配列あるいは接続リスト(linked list)形態でDB140を構成し、クライアントID(client ID)、クライアントソケット(client socket)、クライアント状態(client status)を格納する。   On the other hand, in order to manage each client by the server 100, it is necessary to store client status information. Accordingly, the server 100 configures the DB 140 in the form of an array or a linked list for each registered client socket, and includes a client ID (client ID), a client socket (client socket), and a client status (client status). Is stored.

クライアントの状態は、図6に示すように、3つの状態を有することができる。   The client state can have three states as shown in FIG.

最初には、終了状態(HC_ST_CLOSED)で任意のソケットがソケットチェックのためにソケットチェック実行モジュール130に登録されれば、状態が正常状態(HC_ST_NORMAL)に変化し、サーバのソケットチェック実行モジュール130から該当クライアント200にヘルスチェック要請メッセージ(HC_REQUEST)を伝送すれば、伝送状態(HC_ST_SEND)となる。ここで、クライアント200からヘルスチェック応答メッセージを受信すれば、状態が再び正常状態(HC_ST_NORMAL)に変化する。サーバ100では、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送し、次回のチェック時に、このクライアント200の状態をチェックする。   Initially, if an arbitrary socket is registered in the socket check execution module 130 for the socket check in the end state (HC_ST_CLOSED), the state changes to a normal state (HC_ST_NORMAL), and the server socket check execution module 130 If a health check request message (HC_REQUEST) is transmitted to the client 200, the transmission state (HC_ST_SEND) is entered. Here, if the health check response message is received from the client 200, the state changes to the normal state (HC_ST_NORMAL) again. The server 100 transmits a health check request message (HC_REQUEST), and checks the state of the client 200 at the next check.

これにより、サーバ100からヘルスチェック要請メッセージを受信したクライアントは、サーバ100にヘルスチェック応答メッセージを伝送するようになり、サーバ100では、ヘルスチェック応答メッセージが受信されたか否かによって該当クライアントの状態を判断し、DB140に該当クライアントの状態を設定する。   As a result, the client that has received the health check request message from the server 100 transmits the health check response message to the server 100, and the server 100 changes the state of the corresponding client depending on whether the health check response message is received. Judgment is made and the status of the corresponding client is set in the DB 140.

サーバ100で実行されているアプリケーションプログラムモジュール110では、クライアントから任意のメッセージが受信されれば、サーバプロセスAPI114を呼び出す。サーバプロセスAPI114が呼び出されれば、共通ライブラリーモジュール120にコーディングされたプログラムが実行されることによって、クライアントから受信された該当メッセージがヘルスチェック応答メッセージであるか否かを判断する。この判断の結果、ヘルスチェック応答メッセージである場合、該当クライアントの状態値を正常状態(HC_ST_NORMAL)に設定する。   When an arbitrary message is received from the client, the application program module 110 executed by the server 100 calls the server process API 114. When the server process API 114 is called, the program coded in the common library module 120 is executed to determine whether the corresponding message received from the client is a health check response message. If the result of this determination is a health check response message, the status value of the corresponding client is set to the normal status (HC_ST_NORMAL).

正常状態(HC_ST_NORMAL)なら、正常にヘルスチェック応答メッセージを受信した場合であるが、伝送状態(HC_ST_SENT)に残っているなら、無応答(No response)である場合である。   If it is in the normal state (HC_ST_NORMAL), it is a case where the health check response message is normally received.

図7は、本発明の一実施形態によるソケット管理システムを適用してサーバでソケットの管理を説明するフローチャートである。   FIG. 7 is a flowchart for explaining socket management in a server by applying a socket management system according to an embodiment of the present invention.

図7を参照すれば、サーバで任意のアプリケーションプログラムモジュールが実行されると、アプリケーションプログラムにより、設定されたクライアントとソケットを形成する手続を行うとともに、該当ソケットの接続状態をチェックするために、アプリケーションプログラムモジュールにコーディングされたAPIを呼び出す(ステップ100。なお図中ではステップをSと略す。以下同じ。)。アプリケーションプログラムモジュール110によりAPIが呼び出されると、共通ライブラリーモジュール120では、呼び出されたAPIに対応して定義されたプログラムを実行して、ソケットの接続状態を周期的にチェックするためのソケットチェック実行モジュール130を生成する(ステップ200)。   Referring to FIG. 7, when an arbitrary application program module is executed on the server, the application program performs a procedure for forming a socket with the set client, and checks the connection status of the socket. An API coded in the program module is called (step 100. In the figure, step is abbreviated as S. The same applies hereinafter). When the API is called by the application program module 110, the common library module 120 executes a program defined corresponding to the called API, and executes a socket check for periodically checking the connection state of the socket. A module 130 is generated (step 200).

アプリケーションプログラムモジュール110は、任意のクライアントとソケットを生成した後、ソケットの接続状態を周期的にチェックするために、ソケットチェック実行モジュール130に該当ソケットを登録するためのAPIを呼び出す。これにより、共通ライブラリーモジュール120では、該当APIに対応して定義されたプログラムを実行して、任意のソケットに対するヘルスチェックのために、該当ソケットをソケットチェック実行モジュール130に登録する(ステップ300)。   The application program module 110 generates an arbitrary client and socket, and then calls an API for registering the socket in the socket check execution module 130 in order to periodically check the connection state of the socket. As a result, the common library module 120 executes the program defined corresponding to the corresponding API, and registers the corresponding socket in the socket check execution module 130 for the health check for an arbitrary socket (step 300). .

ソケットチェック実行モジュール130では、登録されたソケットの接続状態を周期的にチェックする(ステップ400)。   The socket check execution module 130 periodically checks the connection status of the registered socket (step 400).

図8は、本発明の一実施形態によるサーバでのソケットチェック実行モジュールの動作を示すフローチャートである。   FIG. 8 is a flowchart showing an operation of the socket check execution module in the server according to the embodiment of the present invention.

図8を参照すれば、サーバ100で一旦生成されたソケットチェック実行モジュール130は、ソケットの接続状態を周期的にチェックすべきソケットを登録され、設定された手続によってヘルスチェックを周期的に行う(ステップ410)。   Referring to FIG. 8, the socket check execution module 130 once generated by the server 100 is registered with a socket to periodically check the connection state of the socket, and periodically performs a health check according to a set procedure ( Step 410).

一回のヘルスチェック動作が行われると、ソケットチェック実行モジュール130では、現在の時間情報を獲得し(ステップ420)、ヘルスチェックリストに登録されたソケットを有しているクライアントに伝送するヘルスチェック要請メッセージ(HC_REQUEST)を生成する(ステップ430)。この際、生成されるヘルスチェック要請メッセージのヘッダーには、該当ソケットが設定されているクライアントのIDと、現在の時間情報及びタイムアウト値が設定される。   When one health check operation is performed, the socket check execution module 130 acquires current time information (step 420) and transmits a health check request to a client having a socket registered in the health check list. A message (HC_REQUEST) is generated (step 430). At this time, the ID of the client in which the corresponding socket is set, the current time information, and the timeout value are set in the header of the generated health check request message.

ソケットチェック実行モジュール130は、生成されたヘルスチェック要請メッセージ(HC_REQUEST)を、ソケットを設定している該当クライアントに伝送する(ステップ440)。   The socket check execution module 130 transmits the generated health check request message (HC_REQUEST) to the corresponding client that has set the socket (step 440).

図9は、本発明の一実施形態によるサーバのソケットチェック実行モジュールが登録されたソケットの接続状態を周期的にチェックする動作を示すフローチャートである。   FIG. 9 is a flowchart illustrating an operation of periodically checking a connection state of a registered socket by a socket check execution module of a server according to an embodiment of the present invention.

図9を参照すれば、ソケットチェック実行モジュール130は、DB140に設定された該当クライアントの状態値を読み取り(ステップ411)、クライアントの状態値が無応答状態であるか否かを判断する(ステップ412)。クライアントの状態が正常状態(HC_ST_NORMAL)なら、正常にメッセージを受信した場合であるが、伝送状態(HC_ST_SENT)のままであるなら、無応答(No response)である場合だと判断できる。   Referring to FIG. 9, the socket check execution module 130 reads the status value of the corresponding client set in the DB 140 (step 411), and determines whether the client status value is a non-response state (step 412). ). If the client state is normal (HC_ST_NORMAL), it is a case where the message is normally received. If the client state remains in the transmission state (HC_ST_SENT), it can be determined that there is no response (No response).

この判断の結果、無応答である場合には、第1のカウント値を増加させる(ステップ413)。そして、第1のカウント値が、所定の第1の許容回数Nsを超過するか否かを判断する(ステップ414)。ここで、第1の許容回数Nsは、サーバ100で応答のないクライアント200、300を待つ最大回数を意味する。   If there is no response as a result of this determination, the first count value is increased (step 413). Then, it is determined whether or not the first count value exceeds a predetermined first allowable number of times Ns (step 414). Here, the first allowable number of times Ns means the maximum number of times the server 100 waits for the clients 200 and 300 that do not respond.

この判断の結果、第1のカウント値が、所定の第1の許容回数Nsを超過する場合には、該当クライアント200、300とのソケット接続を解除する(ステップ415)。   As a result of this determination, when the first count value exceeds the predetermined first allowable number Ns, the socket connection with the corresponding clients 200 and 300 is released (step 415).

一方、クライアント200、300の状態値が無応答状態であるか否かを判断した結果、無応答でない場合には、間違った応答であるか否かを判断する(ステップ416)。この判断の結果、応答はあるが、マジック値が異なるクライアント200、300が、間違いを有している場合には、第2のカウント値を増加させる(ステップ417)。そして、上記第2のカウント値が、所定の第2の許容回数Ns_wを超過するか否かを判断する(ステップ418)。ここで、第2の許容回数Ns_wは、サーバ100が、マジック値が異なるクライアント200、300からの間違いを有する連続的な応答を待つ最大回数を意味する。   On the other hand, as a result of determining whether or not the state values of the clients 200 and 300 are in a no-response state, if it is not a response, it is determined whether or not the response is an incorrect response (step 416). As a result of this determination, if there is a response but the clients 200 and 300 having different magic values have an error, the second count value is increased (step 417). Then, it is determined whether or not the second count value exceeds a predetermined second allowable number of times Ns_w (step 418). Here, the second allowable number of times Ns_w means the maximum number of times that the server 100 waits for a continuous response having errors from the clients 200 and 300 having different magic values.

この判断の結果、第2のカウント値が所定の第2の許容回数Ns_wを超過する場合には、ログ(log)やタイムアウト(timeout)値を調整する(ステップ419)。   As a result of this determination, if the second count value exceeds a predetermined second allowable number Ns_w, the log and timeout values are adjusted (step 419).

図10は、本発明の一実施形態によるクライアントのソケットチェック実行モジュールがソケットをチェックするときに行う動作を示すフローチャートである。   FIG. 10 is a flowchart illustrating an operation performed when the socket check execution module of the client checks a socket according to an embodiment of the present invention.

図10を参照すれば、クライアントのソケットチェック実行モジュール230は、受信周期のタイムアウト前に、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)が受信されたか否かを判断する(ステップ510)。この判断の結果、ヘルスチェック要請メッセージ(HC_REQUEST)が受信された場合、それに対するヘルスチェック応答メッセージ(HC_RESPONSE)をサーバ100に伝送する(ステップ520)。   Referring to FIG. 10, the socket check execution module 230 of the client determines whether a health check request message (HC_REQUEST) is received from the server 100 before the reception cycle times out (step 510). If a health check request message (HC_REQUEST) is received as a result of this determination, a health check response message (HC_RESPONSE) is transmitted to the server 100 (step 520).

ソケットチェック実行モジュール230は、ヘルスチェック応答メッセージ(HC_RESPONSE)をサーバ100に伝送した場合には、受信周期カウンタ(図示せず)を初期化した後(ステップ530)、受信周期を新しくカウントする(ステップ540)。   When the health check response message (HC_RESPONSE) is transmitted to the server 100, the socket check execution module 230 initializes a reception cycle counter (not shown) (step 530) and then newly counts the reception cycle (step). 540).

一方、この判断の結果、受信周期のタイムアウト前に、ヘルスチェック要請メッセージ(HC_REQUEST)が受信されずに、受信周期のタイムアウトを超過した場合、タイムアウトが超過した回数をカウントするカウント値を増加させ(ステップ550)、このカウント値が許容回数を超過するか否かを判断する(ステップ560)。この判断の結果、該当カウント値が許容回数を超過しない場合には、受信周期カウンタを初期化し(ステップ530)、受信周期をカウントする(ステップ540)手続を行い、この判断の結果、該当カウント値が許容回数を超過する場合には、ソケット接続を解除する(ステップ570)。   On the other hand, as a result of this determination, if the health check request message (HC_REQUEST) is not received before the reception cycle time-out and the reception cycle time-out is exceeded, the count value for counting the number of times the time-out has been exceeded is increased ( Step 550), it is determined whether this count value exceeds the allowable number of times (step 560). As a result of this determination, if the corresponding count value does not exceed the allowable number of times, the reception cycle counter is initialized (step 530) and the reception cycle is counted (step 540). If the number exceeds the allowable number, the socket connection is released (step 570).

図11は、本発明の一実施形態によるサーバとクライアント間のヘルスチェックメッセージ伝送のフローチャートである。   FIG. 11 is a flowchart of a health check message transmission between a server and a client according to an embodiment of the present invention.

ソケットのヘルスチェック機能は、サーバ100とクライアント200、300間の周期的なヘルスチェックデータと両方のタイマーを用いて実現される。サーバ100では、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送し、クライアント200、300では、これに対する応答としてヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。   The socket health check function is realized by using periodic health check data between the server 100 and the clients 200 and 300 and both timers. The server 100 transmits a health check request message (HC_REQUEST), and the clients 200 and 300 transmit a health check response message (HC_RESPONSE) as a response thereto.

ここで、Tsは、サーバ100からクライアントら200、300にヘルスチェック要請メッセージ(HC_REQUEST)を伝送する周期であって、Tsタイムアウトが起こると、クライアント状態をチェックし、正常なクライアントにヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。   Here, Ts is a period for transmitting a health check request message (HC_REQUEST) from the server 100 to the clients 200 and 300. When Ts timeout occurs, the client state is checked and a health check request message is sent to a normal client. (HC_REQUEST) is transmitted.

図11を参照すれば、第1のクライアント200は、サーバ100にソケット設定メッセージを伝送して、接続を試みる。これにより、サーバ100は、第1のクライアント200に接続を設定し、接続承認メッセージを伝送する。これにより、第1のクライアント200とサーバ100との間に1つのソケットが設定される。   Referring to FIG. 11, the first client 200 transmits a socket setting message to the server 100 and attempts connection. As a result, the server 100 sets a connection to the first client 200 and transmits a connection approval message. As a result, one socket is set between the first client 200 and the server 100.

一方、第2のクライアント300も、サーバ100にソケット設定メッセージを伝送して、接続を試みる。これにより、サーバ100は、第2のクライアント300に接続を設定し、接続承認メッセージを伝送する。これにより、第2のクライアント300とサーバ100との間に1つのソケットが設定される。   On the other hand, the second client 300 also transmits a socket setting message to the server 100 to attempt connection. As a result, the server 100 sets a connection to the second client 300 and transmits a connection approval message. As a result, one socket is set between the second client 300 and the server 100.

サーバ100は、第1のクライアント200及び第2のクライアント300と各々ソケットを設定した後、一定周期毎に第1のクライアント200及び第2のクライアント300にソケットの接続状態をチェックするためのヘルスチェック要請メッセージ(HC_REQUEST)を各々伝送する。   The server 100 sets the socket with the first client 200 and the second client 300, and then checks the connection status of the socket with the first client 200 and the second client 300 at regular intervals. Each request message (HC_REQUEST) is transmitted.

サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200及び第2のクライアント300は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。   The first client 200 and the second client 300 that have received the health check request message (HC_REQUEST) from the server 100 transmit a health check response message (HC_RESPONSE) to the server 100.

第1のクライアント200及び第2のクライアント300からヘルスチェック応答メッセージ(HC_RESPONSE)を受信したサーバ100は、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する時間になれば、第1のクライアント200及び第2のクライアント300にヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。この際、伝送されるヘルスチェック要請メッセージ(HC_REQUEST)は、以前に伝送されたヘルスチェック要請メッセージ(HC_REQUEST)とマジックナンバー値が互いに異なるように設定される。   The server 100 that receives the health check response message (HC_RESPONSE) from the first client 200 and the second client 300 receives the first client 200 and the second client when it is time to transmit the health check request message (HC_REQUEST). A health check request message (HC_REQUEST) is transmitted to the client 300. At this time, the transmitted health check request message (HC_REQUEST) is set so that the magic number value is different from the previously transmitted health check request message (HC_REQUEST).

同様に、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200及び第2のクライアントは、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。   Similarly, the first client 200 and the second client that have received the health check request message (HC_REQUEST) from the server 100 transmit a health check response message (HC_RESPONSE) to the server 100.

図12は、本発明の一実施形態によるヘルスチェックメッセージを用いたクライアント障害発見及び処理のフローチャートである。   FIG. 12 is a flowchart of client failure detection and processing using a health check message according to an embodiment of the present invention.

ここで、Tsは、サーバ100からクライアント200、300にヘルスチェック要請メッセージ(HC_REQUEST)を伝送する周期であって、第1の許容回数Nsは、サーバ100で応答のないクライアント200、300を待つ最大回数である。すなわち、Ts*Ns時間のあいだクライアントから応答メッセージがなければ、サーバで接続を解除するのに使われる変数である。   Here, Ts is a cycle of transmitting a health check request message (HC_REQUEST) from the server 100 to the clients 200 and 300, and the first allowable number Ns is the maximum waiting for the clients 200 and 300 that do not respond in the server 100. Is the number of times. That is, if there is no response message from the client for a time of Ts * Ns, this is a variable used to release the connection at the server.

図12を参照すれば、サーバ100は、第1のクライアント200及び第2のクライアント300と各々ソケットを設定した後、一定周期毎に第1のクライアント200及び第2のクライアント300にソケットの接続状態をチェックするためのヘルスチェック要請メッセージ(HC_REQUEST)を各々伝送する。   Referring to FIG. 12, the server 100 sets the sockets with the first client 200 and the second client 300, and then connects the sockets to the first client 200 and the second client 300 at regular intervals. A health check request message (HC_REQUEST) for checking each is transmitted.

サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200及び第2のクライアント300は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。   The first client 200 and the second client 300 that have received the health check request message (HC_REQUEST) from the server 100 transmit a health check response message (HC_RESPONSE) to the server 100.

第1のクライアント200及び第2のクライアント300からヘルスチェック応答メッセージ(HC_RESPONSE)を受信したサーバ100は、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する時間になれば、第1のクライアント200及び第2のクライアント300にヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。この際、伝送されるヘルスチェック要請メッセージ(HC_REQUEST)は、以前に伝送されたヘルスチェック要請メッセージ(HC_REQUEST)とマジックナンバー値が互い異なるように設定される。   The server 100 that receives the health check response message (HC_RESPONSE) from the first client 200 and the second client 300 receives the first client 200 and the second client when it is time to transmit the health check request message (HC_REQUEST). A health check request message (HC_REQUEST) is transmitted to the client 300. At this time, the transmitted health check request message (HC_REQUEST) is set such that the magic number value is different from the previously transmitted health check request message (HC_REQUEST).

同様に、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。   Similarly, the first client 200 that has received the health check request message (HC_REQUEST) from the server 100 transmits a health check response message (HC_RESPONSE) to the server 100.

一方、第2のクライアント300で障害が発生した場合、第2のクライアント300は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を送ることができない。クライアント障害には、例えば、クライアントの電源オフのようなエラーがあり得る。   On the other hand, when a failure occurs in the second client 300, the second client 300 cannot send a health check response message (HC_RESPONSE) to the server 100. The client failure may include an error such as a client power-off.

サーバ100は、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する時間になれば、第1のクライアント200及び第2のクライアント300にヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。この際、伝送されるヘルスチェック要請メッセージ(HC_REQUEST)は、以前に伝送されたヘルスチェック要請メッセージ(HC_REQUEST)とマジックナンバー値が互いに異なるように設定される。   When it is time to transmit the health check request message (HC_REQUEST), the server 100 transmits the health check request message (HC_REQUEST) to the first client 200 and the second client 300. At this time, the transmitted health check request message (HC_REQUEST) is set so that the magic number value is different from the previously transmitted health check request message (HC_REQUEST).

同様に、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。   Similarly, the first client 200 that has received the health check request message (HC_REQUEST) from the server 100 transmits a health check response message (HC_RESPONSE) to the server 100.

一方、第2のクライアント300は、未だ障害が解決されていない状態であるから、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を送ることができない。   On the other hand, the second client 300 cannot send a health check response message (HC_RESPONSE) to the server 100 because the failure has not yet been resolved.

サーバ100は、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する時間になれば、第1のクライアント200に対してはマジックナンバー値を異に設定して、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。   When it is time to transmit the health check request message (HC_REQUEST), the server 100 sets a different magic number value for the first client 200 and transmits the health check request message (HC_REQUEST).

しかしながら、サーバ100は、第2のクライアント300に対しては第2のクライアント300から受信されるべきヘルスチェック応答メッセージが受信されない回数が、所定の回数Nsを超過する場合に、第2のクライアント300と設定したソケットの接続を解除する。   However, when the number of times that the health check response message that should be received from the second client 300 is not received for the second client 300 exceeds the predetermined number Ns, the server 100 determines that the second client 300 Disconnect the socket set with.

図13は、本実施形態によるヘルスチェックメッセージを用いたサーバの障害発見及び処理の流れを示すフローチャートである。   FIG. 13 is a flowchart showing a server failure detection and processing flow using the health check message according to the present embodiment.

ここで、Tcは、クライアント200、300からヘルスチェック要請メッセージ(HC_REQUEST)を受信した後、次回のヘルスチェック要請メッセージ(HC_REQUEST)を受信するまで待つタイマーの周期である。   Here, Tc is a period of a timer that waits until the next health check request message (HC_REQUEST) is received after receiving the health check request message (HC_REQUEST) from the clients 200 and 300.

Ncは、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を送らない場合、クライアント200、300が待つ最大回数であって、Tc*Nc時間のあいだサーバの応答がなければ、設定されたソケットの接続を解除する。   If Nc does not send a health check request message (HC_REQUEST) from the server 100, the maximum number of times that the clients 200 and 300 wait, and if there is no response from the server for Tc * Nc time, the connection of the set socket is set. To release.

図13を参照すれば、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を第1のクライアント200及び第2のクライアント200に伝送する。これにより、第1のクライアント200及び第2のクライアント300は、それに対するヘルスチェック応答メッセージ(HC_RESPONSE)をサーバ100に伝送する。   Referring to FIG. 13, a health check request message (HC_REQUEST) is transmitted from the server 100 to the first client 200 and the second client 200. As a result, the first client 200 and the second client 300 transmit a health check response message (HC_RESPONSE) to the server 100 in response thereto.

サーバ100では、所定の周期毎にヘルスチェック要請メッセージを第1のクライアント200及び第2のクライアント300に伝送するようになるが、サーバ100に障害が発生した場合には、これ以上ヘルスチェック要請メッセージを伝送することができない。   In the server 100, a health check request message is transmitted to the first client 200 and the second client 300 at predetermined intervals. When a failure occurs in the server 100, the health check request message is further transmitted. Cannot be transmitted.

サーバ障害には、例えば、サーバの電源オフのようなエラーがあり得る。この場合、クライアントが再接続を要求すべきかは、アプリケーションプログラムによって異なることができるので、オプションとして処理する。   Server failures can include errors such as server power off, for example. In this case, whether or not the client should request reconnection may vary depending on the application program, and is therefore processed as an option.

第1のクライアント200及び第2のクライアント300は、サーバ100にヘルスチェック応答メッセージを伝送した後、サーバ100からヘルスチェック要請メッセージが受信されるか否かをチェックする。   After transmitting the health check response message to the server 100, the first client 200 and the second client 300 check whether a health check request message is received from the server 100.

さらに、第1のクライアント200及び第2のクライアント300は、これらがサーバ100にヘルスチェック応答メッセージを伝送した後、経過した時間をチェックして、伝送周期Tcタイムアウトを経過した回数が、所定の回数Ncを超過する場合、サーバ100と維持していたソケットの接続を解除する。   Furthermore, the first client 200 and the second client 300 check the elapsed time after they transmit the health check response message to the server 100, and the number of times that the transmission cycle Tc timeout has elapsed is a predetermined number of times. When Nc is exceeded, the connection between the server 100 and the maintained socket is released.

そして、第1のクライアント200及び第2のクライアント300は、サーバ100に新しいソケットを設定するために、新しい接続を試みる。   Then, the first client 200 and the second client 300 try a new connection in order to set a new socket in the server 100.

従来の接続指向ソケットを利用したときのエラーを示すフローチャートである。It is a flowchart which shows an error when using the conventional connection oriented socket. 本発明の一実施形態によるソケット管理システムを適用するサーバ―クライアントの構成図である。1 is a configuration diagram of a server-client to which a socket management system according to an embodiment of the present invention is applied. FIG. 本発明の一実施形態によるサーバで動作するソケット管理システムの構成図である。1 is a configuration diagram of a socket management system operating on a server according to an embodiment of the present invention. FIG. 本発明の一実施形態によるクライアントで動作するソケット管理システムの構成図である。1 is a configuration diagram of a socket management system operating on a client according to an embodiment of the present invention; FIG. 本発明の一実施形態によるソケット接続状態のチェックのためのメッセージ(HCメッセージ)の構成図である。It is a block diagram of the message (HC message) for the check of the socket connection state by one Embodiment of this invention. クライアントの状態図である。It is a state diagram of a client. 本発明の一実施形態によるソケット管理システムを適用して、サーバでソケットを管理する流れを示すフローチャートである。6 is a flowchart illustrating a flow of managing a socket in a server by applying a socket management system according to an embodiment of the present invention. 本発明の一実施形態によるサーバでのソケットチェック実行モジュールの動作を示すフローチャートである。6 is a flowchart illustrating an operation of a socket check execution module in a server according to an embodiment of the present invention. 本発明の一実施形態によるサーバのソケットチェック実行モジュールが登録されたソケットの接続状態を周期的にチェックする動作を示すフローチャートである。4 is a flowchart illustrating an operation of periodically checking a connection state of a registered socket by a server socket check execution module according to an exemplary embodiment of the present invention. 本発明の一実施形態によるクライアントのソケットチェック実行モジュールがソケットをチェックするときに行う動作を示すフローチャートである。4 is a flowchart illustrating an operation performed when a socket check execution module of a client according to an exemplary embodiment of the present invention checks a socket. 本発明の一実施形態によるサーバとクライアント間のヘルスチェックメッセージ伝送のフローチャートである。4 is a flowchart of health check message transmission between a server and a client according to an exemplary embodiment of the present invention. 本発明の一実施形態によるヘルスチェックメッセージを用いたクライアント障害発見及び処理のフローチャートである。6 is a flowchart of client failure discovery and processing using a health check message according to an embodiment of the present invention. 本発明の一実施形態によるヘルスチェックメッセージを用いたサーバの障害発見及び処理のフローチャートである。6 is a flowchart of server failure discovery and processing using a health check message according to an exemplary embodiment of the present invention.

符号の説明Explanation of symbols

100 サーバ
200 クライアント1
300 クライアント2
400 クライアント3
500 クライアント4
110 アプリケーションプログラムモジュール
120 共通ライブラリーモジュール
130 ソケットチェック実行モジュール
210 アプリケーションプログラムモジュール
220 共通ライブラリーモジュール
230 ソケットチェック実行モジュール
100 server 200 client 1
300 Client 2
400 Client 3
500 clients 4
110 Application Program Module 120 Common Library Module 130 Socket Check Execution Module 210 Application Program Module 220 Common Library Module 230 Socket Check Execution Module

Claims (21)

サーバまたはクライアントの通信のために必要なソケットを生成し、該当ソケットの接続状態をチェックするために定義されたAPI(Application Programmable Interface)を呼び出して、前記生成されたソケットを管理する少なくとも1つのアプリケーションプログラムモジュールと、
前記アプリケーションプログラムモジュールから任意のAPIが呼び出される場合には、呼び出されたAPIに設定された動作を行うためのプログラムがコーディングされた共通ライブラリーモジュールと、
前記共通ライブラリーモジュールにコーディングされたプログラムの実行により生成され、前記生成されたソケットの接続状態を周期的にチェックするソケットチェック実行モジュールと、
を備えることを特徴とするソケット接続管理システム。
At least one application that generates a socket required for server or client communication, calls an API (Application Programmable Interface) defined to check the connection status of the socket, and manages the generated socket A program module;
When an arbitrary API is called from the application program module, a common library module in which a program for performing an operation set in the called API is coded;
A socket check execution module that is generated by executing a program coded in the common library module and periodically checks the connection state of the generated socket;
A socket connection management system comprising:
前記APIは、
ソケットチェック実行モジュールを生成するためのサーバ初期化APIと、
任意のソケットに対する接続状態をチェックできるように、前記生成されたソケットチェック実行モジュールにソケットを登録するためのサーバ登録APIと、
前記ソケットチェック実行モジュールに登録されており接続状態をチェックしていたソケットの登録を取り消すためのサーバ登録取消APIと、
クライアントから受信されるソケットチェック用メッセージを処理するためのサーバプロセスAPIと、
前記ソケットチェック実行モジュールに登録されていた全てのソケットを登録解除し、ソケットチェック実行モジュールを解除するためのサーバ解除APIと、
の中で少なくとも1つのAPIを含むことを特徴とする請求項1に記載のソケット接続管理システム。
The API is
A server initialization API for generating a socket check execution module;
A server registration API for registering a socket in the generated socket check execution module so that a connection state to an arbitrary socket can be checked;
A server registration cancellation API for canceling the registration of the socket registered in the socket check execution module and checking the connection state;
A server process API for processing a socket check message received from a client;
A server release API for unregistering all sockets registered in the socket check execution module and releasing the socket check execution module;
The socket connection management system according to claim 1, comprising at least one API.
前記共通ライブラリーモジュールは、
ソケットチェック実行モジュールを生成するためのサーバ初期化APIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
任意のソケットに対する接続状態をチェックできるように、前記生成されたソケットチェック実行モジュールにソケットを登録するためのサーバ登録APIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
前記ソケットチェック実行モジュールに登録されており接続状態をチェックしていたソケットの登録を取り消すためのサーバ登録取消APIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
クライアントから受信されるソケットチェック用メッセージを処理するためのサーバプロセスAPIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
前記ソケットチェック実行モジュールに登録されていた全てのソケットを登録解除し、ソケットチェック実行モジュールを解除するためのサーバ解除APIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
の中で少なくとも1つを備えることを特徴とする請求項1に記載のソケット接続管理システム。
The common library module is
A program coded to perform a function defined in response to a call to a server initialization API for generating a socket check execution module;
A program coded to perform a function defined in response to a call to a server registration API for registering a socket in the generated socket check execution module so that a connection state for an arbitrary socket can be checked;
A program coded to perform a function defined in response to a call to a server registration cancellation API for canceling registration of a socket that has been registered in the socket check execution module and that has been checking the connection state;
A program coded to perform a function defined in response to a call to a server process API for processing a socket check message received from a client;
A program coded to perform a function defined in response to a call to a server release API for releasing all sockets registered in the socket check execution module and releasing the socket check execution module;
The socket connection management system according to claim 1, wherein at least one of the socket connection management systems is provided.
前記ソケットチェック実行モジュールは、サーバに搭載され、
該サーバと任意のソケットを設定しているクライアントに周期的にソケットチェック要請メッセージを伝送し、該当クライアントから伝送されるソケットチェック応答メッセージが受信されたか否かによって、登録されたソケットの接続状態を周期的にチェックすることを特徴とする請求項1に記載のソケット接続管理システム。
The socket check execution module is mounted on a server,
A socket check request message is periodically transmitted to the client that has set up an arbitrary socket with the server, and the connection status of the registered socket is determined depending on whether or not a socket check response message transmitted from the client is received. The socket connection management system according to claim 1, wherein the socket connection management system is periodically checked.
ソケットを生成しているクライアントの状態情報を格納するDBをさらに備えることを特徴とする請求項1に記載のソケット接続管理システム。   The socket connection management system according to claim 1, further comprising a DB that stores status information of a client that is generating a socket. 前記クライアントの状態情報は、ソケットチェック用メッセージが送受信されたか否かに応じて、終了状態、伝送状態及び正常状態を含むことを特徴とする請求項5に記載のソケット接続管理システム。   6. The socket connection management system according to claim 5, wherein the status information of the client includes an end status, a transmission status, and a normal status depending on whether or not a socket check message is transmitted / received. 前記APIは、
ソケットチェック実行モジュールを生成するためのクライアント初期化APIと、
サーバから受信されるソケットチェック用メッセージを処理するためのクライアントプロセスAPIと、
前記ソケットチェック実行モジュールに登録されていた全てのソケットを登録解除し、ソケットチェック実行モジュールを解除するためのクライアント解除APIと、
の中で少なくとも1つのAPIを含むことを特徴とする請求項1に記載のソケット接続管理システム。
The API is
A client initialization API for generating a socket check execution module;
A client process API for processing socket check messages received from the server;
A client release API for unregistering all sockets registered in the socket check execution module and releasing the socket check execution module;
The socket connection management system according to claim 1, comprising at least one API.
前記共通ライブラリーモジュールは、
ソケットチェック実行モジュールを生成するためのクライアント初期化APIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
サーバから受信されるソケットチェック用メッセージを処理するためのクライアントプロセスAPIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
前記ソケットチェック実行モジュールに登録されていた全てのソケットを登録解除し、ソケットチェック実行モジュールを解除するためのクライアント解除APIの呼び出しに対応して定義された機能を行うようにコーディングされたプログラムと、
の中で少なくとも1つを備えることを特徴とする請求項1に記載のソケット接続管理システム。
The common library module is
A program coded to perform a function defined in response to a call to a client initialization API to generate a socket check execution module;
A program coded to perform a function defined in response to a call to a client process API for processing a socket check message received from a server;
A program coded to perform a function defined in response to calling a client release API for releasing all sockets registered in the socket check execution module and releasing the socket check execution module;
The socket connection management system according to claim 1, wherein at least one of the socket connection management systems is provided.
前記ソケットチェック実行モジュールは、クライアントに搭載され、
該当クライアントとソケットを設定しているサーバから周期的に伝送されるソケットチェック要請メッセージに応じて、サーバにソケットチェック応答メッセージを伝送することを特徴とする請求項1に記載のソケット接続管理システム。
The socket check execution module is mounted on the client,
The socket connection management system according to claim 1, wherein a socket check response message is transmitted to the server in response to a socket check request message periodically transmitted from a server in which the corresponding client and the socket are set.
サーバまたはクライアントの通信のために必要なソケットを生成し管理するようにプログラミングされたアプリケーションプログラムモジュールによって、任意のソケットを生成する段階と、
前記アプリケーションプログラムモジュールが、前記生成されたソケットの接続状態をチェックするために定義された任意のAPIを呼び出す段階と、
前記アプリケーションプログラムモジュールから任意のAPIが呼び出される場合に、呼び出されたAPIに設定された動作が共通ライブラリーモジュールで実行される段階と、
前記共通ライブラリーモジュールにより生成されたソケットチェック実行モジュールを用いて、前記生成されたソケットの接続状態を周期的にチェックする段階と、
を有することを特徴とするソケット接続状態のチェック方法。
Creating any socket by an application program module programmed to create and manage the sockets necessary for server or client communication; and
The application program module calling any API defined to check the connection status of the generated socket;
When an arbitrary API is called from the application program module, an operation set in the called API is executed in the common library module;
Using the socket check execution module generated by the common library module to periodically check the connection state of the generated socket;
A method for checking a socket connection state, comprising:
前記周期的にチェックする段階は、
サーバとソケットを設定しているクライアントに周期的にソケットチェック要請メッセージを伝送し、該当クライアントから伝送されるソケットチェック応答メッセージが受信されたか否かによって、登録されたソケットの接続状態を周期的にチェックすることを特徴とする請求項10に記載のソケット接続状態のチェック方法。
The periodically checking step includes:
A socket check request message is periodically transmitted to the server and the client setting the socket, and the connection status of the registered socket is periodically determined depending on whether or not a socket check response message transmitted from the client is received. The method of checking a socket connection state according to claim 10, wherein the check is performed.
前記周期的にチェックする段階は、
サーバから周期的に伝送されるソケットチェック要請メッセージに応じて、サーバにソケットチェック応答メッセージを伝送することを特徴とする請求項10に記載のソケット接続状態のチェック方法。
The periodically checking step includes:
11. The socket connection status check method according to claim 10, wherein a socket check response message is transmitted to the server in response to a socket check request message periodically transmitted from the server.
前記共通ライブラリーモジュールは、サーバに搭載され、
前記共通ライブラリーモジュールで実行される段階は、
生成されたソケットの接続状態をチェックするためのソケットチェック実行モジュールを生成する段階と、
任意のソケットに対する接続状態をチェックできるように、前記生成されたソケットチェック実行モジュールに該当ソケットを登録する段階と、
前記生成されたソケットチェック実行モジュールを用いて、サーバとソケットを設定しているクライアントに周期的にソケットチェック要請メッセージを伝送し、該当クライアントから伝送されるソケットチェック応答メッセージが受信されたか否かによって、登録されたソケットの接続状態を周期的にチェックする段階と、
を有することを特徴とする請求項10に記載のソケット接続状態のチェック方法。
The common library module is mounted on a server,
The steps performed in the common library module include:
Generating a socket check execution module for checking the connection status of the generated socket;
Registering the corresponding socket in the generated socket check execution module so that a connection state to an arbitrary socket can be checked;
By using the generated socket check execution module, a socket check request message is periodically transmitted to a client setting a server and a socket, and a socket check response message transmitted from the corresponding client is received or not. , Periodically checking the connection status of registered sockets;
The method for checking a socket connection state according to claim 10, comprising:
前記共通ライブラリーモジュールは、クライアントに搭載され、
前記共通ライブラリーモジュールで実行される段階は、
生成されたソケットの接続状態をチェックするためのソケットチェック実行モジュールを生成する段階と、
前記生成されたソケットチェック実行モジュールによりサーバから周期的に伝送されるソケットチェック要請メッセージに応じて、サーバにソケットチェック応答メッセージを伝送する段階と、
を有することを特徴とする請求項10に記載のソケット接続状態のチェック方法。
The common library module is mounted on a client,
The steps performed in the common library module include:
Generating a socket check execution module for checking the connection status of the generated socket;
Transmitting a socket check response message to the server in response to a socket check request message periodically transmitted from the server by the generated socket check execution module;
The method for checking a socket connection state according to claim 10, comprising:
前記共通ライブラリーモジュールは、クライアントに搭載され、
前記共通ライブラリーモジュールで実行される段階は、
生成されたソケットの接続状態をチェックするためのソケットチェック実行モジュールを生成する段階と、
前記生成されたソケットチェック実行モジュールによりサーバから周期的に伝送されるソケットチェック要請メッセージが所定の周期内に受信されない回数が一定回数を超過する場合に接続したソケットを解除する段階と、
を有することを特徴とする請求項10に記載のソケット接続状態のチェック方法。
The common library module is mounted on a client,
The steps performed in the common library module include:
Generating a socket check execution module for checking the connection status of the generated socket;
Releasing the connected socket when the number of times that the socket check request message periodically transmitted from the server by the generated socket check execution module is not received within a predetermined period exceeds a certain number of times;
The method for checking a socket connection state according to claim 10, comprising:
任意のクライアントとソケットを設定するサーバにおいて前記設定されたソケットの接続状態をチェックする方法であって、
前記クライアントとソケットを設定した場合に、該当ソケットの接続状態をチェックするためのプログラムが格納されたライブラリー関数を呼び出す段階と、
前記呼び出されたライブラリー関数の実行により、周期的にチェックすべきソケットを登録する段階と、
前記呼び出されたライブラリー関数の実行により、前記クライアントに周期的にソケットチェック要請メッセージを伝送し、該当クライアントから伝送されるソケットチェック応答メッセージが受信されたか否かによって、登録されたソケットの接続状態を周期的にチェックする段階と、
を有することを特徴とするソケット接続状態のチェック方法。
A method for checking a connection state of the set socket in a server for setting a socket with an arbitrary client,
Calling a library function that stores a program for checking the connection status of the socket when the client and socket are set;
Registering sockets to be checked periodically by execution of the called library function;
By executing the called library function, a socket check request message is periodically transmitted to the client, and a connection state of a registered socket is determined depending on whether a socket check response message transmitted from the client is received. Periodically checking
A method for checking a socket connection state, comprising:
前記周期的にチェックする段階は、
現在の時間情報を獲得する段階と、
前記ソケットを設定しているクライアントに周期的にソケット接続状態をチェックするための要請メッセージに、前記獲得した時間情報を添付して伝送する段階と、
前記クライアントから伝送される応答メッセージが受信されたか否かによって、前記ソケットの接続状態をチェックする段階と、
を有することを特徴とする請求項16に記載のソケット接続状態のチェック方法。
The periodically checking step includes:
Getting the current time information,
Transmitting the acquired time information attached to a request message for periodically checking the socket connection state to the client setting the socket;
Checking the connection status of the socket according to whether a response message transmitted from the client is received;
The socket connection state check method according to claim 16, further comprising:
前記ソケットの接続状態をチェックする段階は、
前記クライアントにソケットの接続状態をチェックするための要請メッセージを伝送した後に、所定の伝送周期のタイムアウトを超過するまで前記クライアントから応答メッセージがない無応答状態であるか否かを判断する段階と、
前記判断の結果、無応答状態である場合に、前記伝送周期のタイムアウトを超過した回数をカウントして、所定の許容回数を超過した場合には、ソケット接続を解除する段階と、
を有することを特徴とする請求項17に記載のソケット接続状態のチェック方法。
Checking the connection status of the socket includes
After transmitting a request message for checking a connection state of a socket to the client, determining whether or not there is no response message from the client until a timeout of a predetermined transmission period is exceeded;
If the result of the determination is that there is no response, counting the number of times that the timeout of the transmission cycle has been exceeded, and if the predetermined allowable number of times has been exceeded, releasing the socket connection;
The socket connection state checking method according to claim 17, further comprising:
前記ソケットの接続状態をチェックする段階は、
前記クライアントから応答メッセージが受信される場合に、該当応答メッセージに含まれた時間情報が前記クライアントへ伝送した要請メッセージに格納された時間情報と一致する正常な応答メッセージであるか否かを判断する段階と、
前記判断の結果、前記時間情報が一致しない場合には、異常な応答メッセージが受信された回数をカウントして、所定の許容回数を超過した場合には、前記クライアントとのソケット接続を解除する段階と、
を有することを特徴とする請求項17に記載のソケット接続状態のチェック方法。
Checking the connection status of the socket includes
When a response message is received from the client, it is determined whether the time information included in the corresponding response message is a normal response message that matches the time information stored in the request message transmitted to the client. Stages,
If the time information does not match as a result of the determination, the number of times that an abnormal response message is received is counted, and if the predetermined allowable number is exceeded, the socket connection with the client is released. When,
The socket connection state checking method according to claim 17, further comprising:
任意のサーバとソケットを設定しているクライアントにおいて該当ソケットの接続状態をチェックする方法であって、
前記サーバとソケットを設定する場合に、該当ソケットの接続状態をチェックするためのプログラムが格納されたライブラリー関数を呼び出す段階と、
前記呼び出されたライブラリー関数の実行により、前記サーバから周期的に受信されるソケットチェック要請メッセージに対してソケットチェック応答メッセージを伝送し、前記ソケットチェック要請メッセージが周期的に受信されるか否かによって、前記サーバと設定されたソケットの接続状態をチェックする段階と、
を有することを特徴とするソケット接続状態のチェック方法。
A method of checking the connection status of a socket in a client that has set up a socket with an arbitrary server,
Calling a library function that stores a program for checking the connection status of the socket when setting the server and socket;
Whether or not the socket check request message is periodically received by transmitting a socket check response message to the socket check request message periodically received from the server by executing the called library function. A step of checking a connection state between the server and a set socket;
A method for checking a socket connection state, comprising:
前記ソケットの接続状態をチェックする段階は、
前記サーバに前記ソケットチェック応答メッセージを伝送した後に、所定の伝送周期のタイムアウトを超過する前に、前記サーバからソケットチェック要請メッセージが受信されたか否かを判断する段階と、
前記判断の結果、前記伝送周期のタイムアウトを超過するまで前記ソケットチェック要請メッセージが受信されていない場合には、前記伝送周期のタイムアウトを超過した回数をカウントして、所定の許容回数を超過した場合には、ソケット接続を解除する段階と、
を有することを特徴とする請求項20に記載のソケット接続状態のチェック方法。
Checking the connection status of the socket includes
Determining whether a socket check request message has been received from the server after transmitting the socket check response message to the server and before exceeding a predetermined transmission period timeout;
As a result of the determination, if the socket check request message is not received until the transmission cycle timeout is exceeded, the number of times that the transmission cycle timeout has been exceeded is counted, and a predetermined allowable number of times is exceeded. The stage of disconnecting the socket,
21. The method for checking a socket connection state according to claim 20, further comprising:
JP2005173124A 2004-07-21 2005-06-14 Socket connection management system and socket connection state check method Pending JP2006031685A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040056963A KR100560752B1 (en) 2004-07-21 2004-07-21 Socket connection management system and its socket connection status check method

Publications (1)

Publication Number Publication Date
JP2006031685A true JP2006031685A (en) 2006-02-02

Family

ID=34937830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005173124A Pending JP2006031685A (en) 2004-07-21 2005-06-14 Socket connection management system and socket connection state check method

Country Status (5)

Country Link
US (1) US20060020705A1 (en)
EP (1) EP1619855B1 (en)
JP (1) JP2006031685A (en)
KR (1) KR100560752B1 (en)
CN (1) CN1725757A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010170389A (en) * 2009-01-23 2010-08-05 Alpine Electronics Inc Data processing system
US8024445B2 (en) 2008-03-28 2011-09-20 Seiko Epson Corporation Socket management device and socket management method
JP2016146139A (en) * 2015-02-09 2016-08-12 富士通株式会社 Conversation management system, conversation management method, and conversation management program

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282534A1 (en) * 2005-06-09 2006-12-14 International Business Machines Corporation Application error dampening of dynamic request distribution
CN100438438C (en) * 2006-02-15 2008-11-26 华为技术有限公司 A method for network entity interface state maintenance
JP4877032B2 (en) * 2007-04-19 2012-02-15 ソニー株式会社 Wireless communication apparatus, wireless communication method and program
CN101202704B (en) * 2007-09-07 2010-08-18 深圳市同洲电子股份有限公司 Method and system for transmitting data
CN101448137B (en) * 2008-12-24 2011-05-04 深圳创维-Rgb电子有限公司 Method for video ordering
WO2011006300A1 (en) * 2009-07-16 2011-01-20 Hewlett-Packard Development Company, L.P. Acronym extraction
CN102339234B (en) * 2011-07-12 2013-04-17 迈普通信技术股份有限公司 Device for operating protocol stack and method
US9276830B2 (en) * 2011-09-06 2016-03-01 Broadcom Corporation Secure electronic element network
CN103441999A (en) * 2013-08-21 2013-12-11 好耶网络科技(上海)有限公司 Control method for socket connection pool
US20150281167A1 (en) * 2014-03-31 2015-10-01 Google Inc. Specifying a MAC Address Based on Location
KR101680736B1 (en) * 2015-07-16 2016-11-29 한림성심대학교 산학협력단 Process for checking status of network device
CN105071996A (en) * 2015-08-31 2015-11-18 浙江开盈信息科技有限公司 Terminal on-line detection method, terminal and server
CN105843738A (en) * 2016-03-22 2016-08-10 汉柏科技有限公司 Inter-process communication statistics and debugging method and system
US10574661B2 (en) * 2016-09-01 2020-02-25 Vmware, Inc. Method and system for preventing unauthorized access to smart card devices in a remote desktop infrastructure
US11108673B2 (en) * 2017-09-18 2021-08-31 Citrix Systems, Inc. Extensible, decentralized health checking of cloud service components and capabilities
KR101958933B1 (en) * 2018-12-18 2019-03-18 주식회사 웨어밸리 Apparatus for and method of acquiring inner information of database by socket injection
KR102171722B1 (en) 2019-10-22 2020-10-29 주식회사 동화인포텍 Production of orders with forecasts, inventory management, integrated planning system and their operating methods
KR102211437B1 (en) 2019-10-22 2021-02-03 윤종열 Production of orders with forecasts, inventory management, integrated planning operating methods
CN111628818B (en) * 2020-05-15 2022-04-01 哈尔滨工业大学 Distributed real-time communication method and device for air-ground unmanned system and multi-unmanned system
KR20230077262A (en) 2021-11-25 2023-06-01 주식회사 와이티 SaaS(Software-as-a-Service) system of open source-based intelligent manufacturing process workflow
CN116340014B (en) * 2021-12-24 2025-08-19 北京字节跳动网络技术有限公司 Function processing method, device, equipment and storage medium
CN115914328B (en) * 2023-01-30 2023-06-23 天翼云科技有限公司 Network health detection method, device, electronic equipment and storage medium
KR102637167B1 (en) 2023-07-13 2024-02-16 (주)알엠에이 Method for optimal transfering product employing manufacturer process and manufacturer schedule among company
KR102626117B1 (en) 2023-07-13 2024-01-17 (주)알엠에이 Method for simulation of optimal production according to physical distribution environment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
JPH10105490A (en) 1996-09-30 1998-04-24 Hitachi Ltd Server failure monitoring and countermeasures
KR20010108868A (en) * 2000-06-01 2001-12-08 서평원 Method for connection deactivating of transmission system in network management system
FI20001630A7 (en) * 2000-06-30 2001-12-31 Nokia Corp Defining quality of service for data flows
KR20020033219A (en) * 2000-10-30 2002-05-06 구자홍 Method for materializing connection-oriented socket interface
US6880013B2 (en) * 2000-12-29 2005-04-12 International Business Machines Corporation Permanent TCP connections across system reboots
US20030177283A1 (en) * 2002-03-18 2003-09-18 Hamilton Thomas E. Application program interface
US7152111B2 (en) * 2002-08-15 2006-12-19 Digi International Inc. Method and apparatus for a client connection manager

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024445B2 (en) 2008-03-28 2011-09-20 Seiko Epson Corporation Socket management device and socket management method
JP2010170389A (en) * 2009-01-23 2010-08-05 Alpine Electronics Inc Data processing system
JP2016146139A (en) * 2015-02-09 2016-08-12 富士通株式会社 Conversation management system, conversation management method, and conversation management program

Also Published As

Publication number Publication date
EP1619855A1 (en) 2006-01-25
KR20060007732A (en) 2006-01-26
CN1725757A (en) 2006-01-25
US20060020705A1 (en) 2006-01-26
EP1619855B1 (en) 2008-05-07
KR100560752B1 (en) 2006-03-13

Similar Documents

Publication Publication Date Title
JP2006031685A (en) Socket connection management system and socket connection state check method
EP3324576B1 (en) System for fast detection of communication path failures
CN102064954B (en) Distributed fault tolerant system, equipment and method
WO2002095580A1 (en) Methods and systems for automatically configuring network monitoring system
CN107852415B (en) Method and apparatus for non-reactive transfer of data between networks
EP2323344A1 (en) Method for preventing thread hanging in a multi-thread communication program
US10523547B2 (en) Methods, systems, and computer readable media for multiple bidirectional forwarding detection (BFD) session optimization
US6452946B1 (en) Apparatus and method for improving performance in master and slave communications systems
JP3337945B2 (en) Connection management method and management system
CN101420770A (en) Fault connection processing method and system in wireless transmission
US6891801B1 (en) Method of operating a data transmission system
EP2018024A1 (en) Call processing system and method
KR101587332B1 (en) Method for checking connectivity between controllers and network apparatuses
JP2003188905A (en) Multiplexing system and method for TCP / IP communication in server / client system
CN100563237C (en) A data transmission method with multiple transmission channels
US8140888B1 (en) High availability network processing system
JP2002026932A (en) Monitoring and control system
US20020120772A1 (en) Manager-to-agent model system
US8233386B2 (en) Device that uses parameters to provide multi-channel serial data transmissions and method thereof
CN113542052A (en) A node fault determination method, device and server
KR100279660B1 (en) Redundancy Monitoring of Fault Monitoring Devices Using Internet Control Message Protocol (ICMP)
KR100273969B1 (en) M interface protocal method for matching network in exchange system
CN115348163B (en) Router and WAN port self-adaptive configuration method
US9521096B2 (en) Computer telephony integration with connection of the computer via a presence-server
KR100242425B1 (en) A method for monitoring the network status between redundant type network management systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080805