JP2006031685A - Socket connection management system and socket connection state check method - Google Patents
Socket connection management system and socket connection state check method Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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に設定された動作を行うためのプログラムがコーディングされた共通ライブラリーモジュールと、共通ライブラリーモジュールにコーディングされたプログラムの実行により生成され、アプリケーションプログラムモジュールにより生成されたソケットの接続状態を周期的にチェックするソケットチェック実行モジュールとを備える。
【選択図】 図3PROBLEM 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
一方、標準ソケットオプションのうち、“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
サーバ100で実行されているサーバアプリケーションプログラムモジュールは、各クライアント200、300、400、500で実行されているクライアントアプリケーションプログラムモジュールとの通信のために必要なソケットを設定し、設定されたソケットの接続状態を周期的にチェックする。
The server application program module executed on the
ここで、サーバ100または各クライアント200、300、400、500で実行される各アプリケーションプログラムモジュールは、該当アプリケーションプログラムモジュールにプログラミングされたプロセスを行うことによって、多様なサービスを提供する。これにより、アプリケーションプログラムモジュールは、サーバ100または各クライアント200、300、400、500で提供するサービスの種類に応じて多様な形態で実現されることができる。
Here, each application program module executed by the
さらに、アプリケーションプログラムモジュールは、サーバ−クライアント基盤の通信プロトコルによって多様なデジタル処理処置で運用される多様な種類のソフトウェアアプリケーションプログラムモジュールを含むことができる。 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
各アプリケーションプログラムモジュールは、サーバ100と各クライアント200、300、400、500との間に設定したソケットの接続状態をリアルタイムで把握する必要がある。このために、アプリケーションプログラムモジュールは、ソケットの接続状態をチェックするためにAPIを呼び出して、APIにより生成されたソケットチェック実行モジュールを用いてソケットチェック作業を行うようにする。
Each application program module needs to grasp the connection state of the socket set between the
ここで、各アプリケーションプログラムモジュールは、任意のクライアントとの通信のためにソケットを生成し、生成されたソケットを維持したり解除する手続については、一般的な技術を準用する。従って、以下では、設定された任意のソケットをチェックするために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
これにより、ソケットの接続状態をチェックする機能を提供するための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
サーバとクライアントは、各周期毎にソケットの接続状態をチェックするためのメッセージをやりとりする。サーバでは、クライアントに各周期毎にソケットの接続状態をチェックするためのヘルスチェック要請メッセージ(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
アプリケーションプログラムモジュール110には、ソケットの接続状態をチェックするために定義されたAPIがエンコードされている。まず、定義されたAPIについて説明する。
The
サーバ初期化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
サーバ登録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
サーバプロセス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
サーバ解除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
共通ライブラリーモジュール120は、アプリケーションプログラムモジュール110から任意のAPIが呼び出される場合に、呼び出された各APIに設定された動作を行うためのプログラムがコーディングされている。これにより、共通ライブラリーモジュール120は、サーバ初期化API111、サーバ登録API112、サーバ登録取消API113、サーバプロセスAPI114、サーバ解除API115に対応して定義された機能を行うことができるようにコーディングされたそれぞれのプログラムを具備している。
In the
すなわち、アプリケーションプログラムモジュール110からサーバ初期化API(hc_server_init)111が呼び出されると、サーバ初期化API111に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ヘルスチェックで使用するソケットチェック実行モジュールを生成し、任意のソケットの接続状態を周期的にチェックする準備をする。
That is, when the server initialization API (hc_server_init) 111 is called from the
アプリケーションプログラムモジュール110からサーバ登録API(hc_server_register)112が呼び出されると、サーバ登録API112に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ヘルスチェックで任意のソケットに対する接続状態をチェックできるように、ソケットを所定のソケットチェック実行モジュール130に登録する。
When the server registration API (hc_server_register) 112 is called from the
アプリケーションプログラムモジュール110からサーバ登録取消API113が呼び出されると、サーバ登録取消API113に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ソケットチェック実行モジュール130でチェックしていたソケットの登録を取り消す。ソケットチェック実行モジュール130でソケットの登録を取り消せば、該当ソケットは解除される。
When the server
アプリケーションプログラムモジュール110からサーバプロセスAPI(hc_server_process)114が呼び出されると、サーバプロセスAPI114に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、クライアントから任意のメッセージが伝達される場合、該当メッセージがサーバから該当クライアントへ伝送したヘルスチェック要請メッセージに対するヘルスチェック応答メッセージであるか否かを確認し、それによりクライアントの状態値を変動させる。
When a server process API (hc_server_process) 114 is called from the
アプリケーションプログラムモジュール110からサーバ解除API(hc_server_exit)115が呼び出されると、サーバ解除API115に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ソケットチェック実行モジュール130に該当ソケットの接続状態をチェックするために登録されていた全てのソケットを登録解除し、該当ソケットチェック実行モジュール130を解除させる。
When the server cancellation API (hc_server_exit) 115 is called from the
アプリケーションプログラムモジュール110からサーバ初期化API111を呼び出すことによって、共通ライブラリーモジュール120にサーバ初期化API111に対応して定義された機能を行うことができるようにコーディングされたプログラムが実行されて、ソケットチェック実行モジュール130が生成される。
By calling the
ソケットチェック実行モジュール130は、各周期毎にアプリケーションプログラムモジュール110から指定されたソケットに対して該当ソケットの接続状態をチェックするために、ヘルスチェック要請メッセージを伝送し、それによりクライアントからヘルスチェック応答メッセージが受信されるか否かによって、該当ソケットの接続状態をチェックするようになる。
The socket
DB140は、サーバ100とソケットを生成して通信を行っている各クライアントのID及びクライアントの状態情報を格納している。
The
図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
アプリケーションプログラムモジュール210には、ソケットの接続状態をチェックするために定義されたAPIを有している。クライアントで定義されたAPIについて説明する。
The
クライアントには、クライアント初期化API211と、クライアントプロセスAPI212及びクライアント解除API213が定義されている。
In the client, a
クライアント初期化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
クライアントプロセス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
クライアント解除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
すなわち、アプリケーションプログラムモジュール210からクライアント初期化API(hc_client_init)211が呼び出されると、クライアント初期化API211に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行して、ソケットチェックのための初期化を行い、ソケットチェック実行モジュール230を生成することによって、サーバと設定されたソケットの接続状態を周期的にチェックする準備をする。
That is, when the client initialization API (hc_client_init) 211 is called from the
アプリケーションプログラムモジュール210からクライアントプロセスAPI212が呼び出されると、クライアントプロセスAPI212に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、クライアントに実行されているアプリケーションプログラムモジュール210がサーバ100からメッセージを伝送された場合に、該当メッセージがヘルスチェック要請メッセージ(HC_REQUEST)であるか否かを判断する。
When the
アプリケーションプログラムモジュール210からクライアント解除API213が呼び出されると、クライアント解除API213に対応して定義された機能を行うことができるようにコーディングされたプログラムを実行することによって、ヘルスチェック動作を解除し、該当ソケットチェック実行モジュール230を終了する動作を行う。
When the
アプリケーションプログラムモジュール210からサーバ初期化API211を呼び出すことによって、共通ライブラリーモジュール220にサーバ初期化API211に対応して定義された機能を行うことができるようにコーディングされたプログラムが実行されて、ソケットチェック実行モジュール230が生成される。
By calling the
ソケットチェック実行モジュール230は、各周期毎にアプリケーションプログラムモジュール210から指定されたソケットに対して該当ソケットの接続状態をチェックするために伝送されるヘルスチェック要請メッセージを受信すれば、それにより、サーバにヘルスチェック応答メッセージを伝送することによって、サーバからヘルスチェック応答メッセージが受信されるか否かによって、該当ソケットの接続状態をチェックできるようにする。
If the socket
DB240は、サーバ100と設定されたソケットを維持するためのサーバ100に対するソケット設定情報を格納している。
The
図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
クライアントの状態は、図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
これにより、サーバ100からヘルスチェック要請メッセージを受信したクライアントは、サーバ100にヘルスチェック応答メッセージを伝送するようになり、サーバ100では、ヘルスチェック応答メッセージが受信されたか否かによって該当クライアントの状態を判断し、DB140に該当クライアントの状態を設定する。
As a result, the client that has received the health check request message from the
サーバ100で実行されているアプリケーションプログラムモジュール110では、クライアントから任意のメッセージが受信されれば、サーバプロセスAPI114を呼び出す。サーバプロセスAPI114が呼び出されれば、共通ライブラリーモジュール120にコーディングされたプログラムが実行されることによって、クライアントから受信された該当メッセージがヘルスチェック応答メッセージであるか否かを判断する。この判断の結果、ヘルスチェック応答メッセージである場合、該当クライアントの状態値を正常状態(HC_ST_NORMAL)に設定する。
When an arbitrary message is received from the client, the
正常状態(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 (
アプリケーションプログラムモジュール110は、任意のクライアントとソケットを生成した後、ソケットの接続状態を周期的にチェックするために、ソケットチェック実行モジュール130に該当ソケットを登録するためのAPIを呼び出す。これにより、共通ライブラリーモジュール120では、該当APIに対応して定義されたプログラムを実行して、任意のソケットに対するヘルスチェックのために、該当ソケットをソケットチェック実行モジュール130に登録する(ステップ300)。
The
ソケットチェック実行モジュール130では、登録されたソケットの接続状態を周期的にチェックする(ステップ400)。
The socket
図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
一回のヘルスチェック動作が行われると、ソケットチェック実行モジュール130では、現在の時間情報を獲得し(ステップ420)、ヘルスチェックリストに登録されたソケットを有しているクライアントに伝送するヘルスチェック要請メッセージ(HC_REQUEST)を生成する(ステップ430)。この際、生成されるヘルスチェック要請メッセージのヘッダーには、該当ソケットが設定されているクライアントのIDと、現在の時間情報及びタイムアウト値が設定される。
When one health check operation is performed, the socket
ソケットチェック実行モジュール130は、生成されたヘルスチェック要請メッセージ(HC_REQUEST)を、ソケットを設定している該当クライアントに伝送する(ステップ440)。
The socket
図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
この判断の結果、無応答である場合には、第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
この判断の結果、第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
一方、クライアント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
この判断の結果、第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
ソケットチェック実行モジュール230は、ヘルスチェック応答メッセージ(HC_RESPONSE)をサーバ100に伝送した場合には、受信周期カウンタ(図示せず)を初期化した後(ステップ530)、受信周期を新しくカウントする(ステップ540)。
When the health check response message (HC_RESPONSE) is transmitted to the
一方、この判断の結果、受信周期のタイムアウト前に、ヘルスチェック要請メッセージ(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
ここで、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
図11を参照すれば、第1のクライアント200は、サーバ100にソケット設定メッセージを伝送して、接続を試みる。これにより、サーバ100は、第1のクライアント200に接続を設定し、接続承認メッセージを伝送する。これにより、第1のクライアント200とサーバ100との間に1つのソケットが設定される。
Referring to FIG. 11, the
一方、第2のクライアント300も、サーバ100にソケット設定メッセージを伝送して、接続を試みる。これにより、サーバ100は、第2のクライアント300に接続を設定し、接続承認メッセージを伝送する。これにより、第2のクライアント300とサーバ100との間に1つのソケットが設定される。
On the other hand, the
サーバ100は、第1のクライアント200及び第2のクライアント300と各々ソケットを設定した後、一定周期毎に第1のクライアント200及び第2のクライアント300にソケットの接続状態をチェックするためのヘルスチェック要請メッセージ(HC_REQUEST)を各々伝送する。
The
サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200及び第2のクライアント300は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。
The
第1のクライアント200及び第2のクライアント300からヘルスチェック応答メッセージ(HC_RESPONSE)を受信したサーバ100は、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する時間になれば、第1のクライアント200及び第2のクライアント300にヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。この際、伝送されるヘルスチェック要請メッセージ(HC_REQUEST)は、以前に伝送されたヘルスチェック要請メッセージ(HC_REQUEST)とマジックナンバー値が互いに異なるように設定される。
The
同様に、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200及び第2のクライアントは、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。
Similarly, the
図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
図12を参照すれば、サーバ100は、第1のクライアント200及び第2のクライアント300と各々ソケットを設定した後、一定周期毎に第1のクライアント200及び第2のクライアント300にソケットの接続状態をチェックするためのヘルスチェック要請メッセージ(HC_REQUEST)を各々伝送する。
Referring to FIG. 12, the
サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200及び第2のクライアント300は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。
The
第1のクライアント200及び第2のクライアント300からヘルスチェック応答メッセージ(HC_RESPONSE)を受信したサーバ100は、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する時間になれば、第1のクライアント200及び第2のクライアント300にヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。この際、伝送されるヘルスチェック要請メッセージ(HC_REQUEST)は、以前に伝送されたヘルスチェック要請メッセージ(HC_REQUEST)とマジックナンバー値が互い異なるように設定される。
The
同様に、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。
Similarly, the
一方、第2のクライアント300で障害が発生した場合、第2のクライアント300は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を送ることができない。クライアント障害には、例えば、クライアントの電源オフのようなエラーがあり得る。
On the other hand, when a failure occurs in the
サーバ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
同様に、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を受信した第1のクライアント200は、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を伝送する。
Similarly, the
一方、第2のクライアント300は、未だ障害が解決されていない状態であるから、サーバ100にヘルスチェック応答メッセージ(HC_RESPONSE)を送ることができない。
On the other hand, the
サーバ100は、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する時間になれば、第1のクライアント200に対してはマジックナンバー値を異に設定して、ヘルスチェック要請メッセージ(HC_REQUEST)を伝送する。
When it is time to transmit the health check request message (HC_REQUEST), the
しかしながら、サーバ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
図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
Ncは、サーバ100からヘルスチェック要請メッセージ(HC_REQUEST)を送らない場合、クライアント200、300が待つ最大回数であって、Tc*Nc時間のあいだサーバの応答がなければ、設定されたソケットの接続を解除する。
If Nc does not send a health check request message (HC_REQUEST) from the
図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
サーバ100では、所定の周期毎にヘルスチェック要請メッセージを第1のクライアント200及び第2のクライアント300に伝送するようになるが、サーバ100に障害が発生した場合には、これ以上ヘルスチェック要請メッセージを伝送することができない。
In the
サーバ障害には、例えば、サーバの電源オフのようなエラーがあり得る。この場合、クライアントが再接続を要求すべきかは、アプリケーションプログラムによって異なることができるので、オプションとして処理する。 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
さらに、第1のクライアント200及び第2のクライアント300は、これらがサーバ100にヘルスチェック応答メッセージを伝送した後、経過した時間をチェックして、伝送周期Tcタイムアウトを経過した回数が、所定の回数Ncを超過する場合、サーバ100と維持していたソケットの接続を解除する。
Furthermore, the
そして、第1のクライアント200及び第2のクライアント300は、サーバ100に新しいソケットを設定するために、新しい接続を試みる。
Then, the
100 サーバ
200 クライアント1
300 クライアント2
400 クライアント3
500 クライアント4
110 アプリケーションプログラムモジュール
120 共通ライブラリーモジュール
130 ソケットチェック実行モジュール
210 アプリケーションプログラムモジュール
220 共通ライブラリーモジュール
230 ソケットチェック実行モジュール
100
300
400
500 clients 4
110
Claims (21)
前記アプリケーションプログラムモジュールから任意の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と、
の中で少なくとも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.
ソケットチェック実行モジュールを生成するためのクライアント初期化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:
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)
| 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)
| 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)
| 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 |
-
2004
- 2004-07-21 KR KR1020040056963A patent/KR100560752B1/en not_active Expired - Fee Related
-
2005
- 2005-01-03 US US11/025,899 patent/US20060020705A1/en not_active Abandoned
- 2005-06-14 JP JP2005173124A patent/JP2006031685A/en active Pending
- 2005-07-12 EP EP05015096A patent/EP1619855B1/en not_active Expired - Lifetime
- 2005-07-21 CN CNA2005100859675A patent/CN1725757A/en active Pending
Cited By (3)
| 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 |