EP1619855B1 - System und Verfahren zur Verwaltung und Prüfung von Socketverbindungen zwischen einem Server und Clients - Google Patents

System und Verfahren zur Verwaltung und Prüfung von Socketverbindungen zwischen einem Server und Clients Download PDF

Info

Publication number
EP1619855B1
EP1619855B1 EP05015096A EP05015096A EP1619855B1 EP 1619855 B1 EP1619855 B1 EP 1619855B1 EP 05015096 A EP05015096 A EP 05015096A EP 05015096 A EP05015096 A EP 05015096A EP 1619855 B1 EP1619855 B1 EP 1619855B1
Authority
EP
European Patent Office
Prior art keywords
socket
check
server
client
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.)
Expired - Fee Related
Application number
EP05015096A
Other languages
English (en)
French (fr)
Other versions
EP1619855A1 (de
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 EP1619855A1 publication Critical patent/EP1619855A1/de
Application granted granted Critical
Publication of EP1619855B1 publication Critical patent/EP1619855B1/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]

Definitions

  • the present invention relates to socket management between a server and a client. More particularly, the present invention relates to a system adapted to manage and check a socket connections between servers or equipment having Berkeley Software Distribution (BSD)-based, Unix-based, or Linux-based operating systems and to disconnect or reconnect socket connections when an abnormal connection occurs.
  • BSD Berkeley Software Distribution
  • Servers or equipment having BSD-based, Unix-based, or Linux-based operating systems (OSs) have several application programs which are executed therein.
  • the application programs generally use a connection-oriented protocol such as the Transmission Control Protocol (TCP) to perform communication therebetween.
  • TCP Transmission Control Protocol
  • the TCP is a connection-oriented protocol which is reliable and provides full-duplex communication and a continuous stream of bytes.
  • the TCP provides an error check function, a retransmission function and a stream control function for the reliable transmission of data.
  • the application programs which are executed in the servers and the equipment recognizes a connection therebetween according to the TCP protocol, and transmits/receives messages to/from each other using the connection.
  • socket as an interface for a connection-oriented protocol
  • application programs manage sockets necessary for respective connections.
  • Connection-oriented sockets are implemented such that a connection between a server and a client can be established or released in a normal state and can also be released when the other party's connection is disconnected.
  • a socket connection is not immediately released but is maintained during a relatively long time.
  • the socket connection is regarded as being maintained, it is determined as being capable of transceiving information internally, which leads to an abnormal operation. In particular, a real-time system can undergo more serious problems.
  • a server creates sockets to communicate with a first client and a second client. Even though a power supply interruption occurs in the second client, the server does not recognize this fact and transmits data to the second client, resulting in a data transmission error.
  • Socket connection management is performed using a technique called "Keepalive” which is one standard socket option.
  • Keepalive a technique that is one standard socket option.
  • a default keepalive time is 2 hours (7200 seconds) and there is no message exchanged therebetween, and thus it is impossible to rapidly establish a reconnection.
  • the respective socket connection management is not consistently performed, and thus it is difficult to determine whether a problem results from a connection problem between a server and a client or an operation problem between corresponding application programs, thereby resulting in difficult and complicated system management.
  • a common library is not mounted on the server or the client, but provided separately to connect between the server and the client, which can raise difficulties for managing the socket and checking any malfunctions of the socket.
  • connection manager By providing for persistent connections with clients, the connection manager allows for servers to communicate with clients, which would otherwise be inaccessible.
  • an object of the present invention to provide a system adapted to manage socket connections and a method of checking socket connections to reduce unnecessary work of application program modules which are driven between a server and a client to manage socket connections.
  • a system for managing socket connections includes: at least one application program module adapted to create a socket necessary to communicate with a server or a client and to call an Application Program Interface API to check a socket connection of the created socket to manage the created socket; a common library module containing a program adapted to perform an operation set in the called API upon the API being called from the application program module; and a socket check execution module, created by executing the coded program in the common library module, and adapted to periodically check the socket connection of the created socket, wherein the API includes at least one of: a server initialization API adapted to create the socket check execution module; a server registration API adapted to register the socket in the created socket check execution module to check a socket connection of a certain socket; a server registration cancel API adapted to cancel registration of a socket registered in the socket check execution module and to check the socket connection; a server process API adapted to process a socket check message from the client; and a server release API adapted to release registration of all sockets registered in the socket
  • a method of checking socket connections includes: an application program module creating a socket, the application program module programmed to create and manage the socket necessary to communicate with one of a server and a client; the application program module calling an Application Program Interface API defined to check a socket connection of the created socket; a common library module executing a program to perform an operation set in the called API upon the API being called by the application program module; and a socket check execution mode, created by executing the program in the common library module, periodically checking a socket connection of the created socket, wherein the API includes at least one of: a server initialization API adapted to create the socket check execution module; a server registration API adapted to register the socket in the created socket check execution module to check a socket connection of a certain socket; a server registration cancel API adapted to cancel registration of a socket registered in the socket check execution module and to check the socket connection; a server process API adapted to process a socket check message from the client; and a server release API adapted to release registration of all sockets registered in
  • a method of checking socket connections of a socket in a server which sets the socket with a client includes: an application program module calling a library function storing a program to check a socket connection of a corresponding socket upon the socket with a client being set; a common library module registering a socket to be periodically checked by executing the called library function; and a socket check execution module periodically transmitting a socket check request message to the client by executing the called library function and periodically checking a socket connection of the registered socket according to whether or not a socket check response message has been received from the corresponding client, wherein checking the socket connection of the socket includes: determining whether or not the socket check response message has been received from the client before timeout of a preset transmission period after the socket check request message to check the socket connection of the socket has been transmitted to the client; and releasing a socket connection upon there being no response message as a result of the determination and the number of times that the timeout of the transmission period has occurs exceeding a preset threshold value.
  • a method of checking socket connections of a socket in a client that sets the socket with a server includes: an application program module calling a library function storing a program to check a socket connection of a corresponding socket upon the socket with the server being set; and a socket check execution module periodically transmitting a socket check response message in response to a socket check request message periodically received from the server by executing the called library function and checking the socket connection of the socket set with the server according to whether or not the socket check request message has been periodically received, wherein checking the socket connection of the socket includes: determining whether or not the socket check request message has been received from the server before timeout of a preset transmission period after the socket check response message has been transmitted to the server; and releasing the socket connection upon the socket check request message not being received within the timeout of the transmission period as a result of the determination and the number of times that the timeout of the transmission period has occurred exceeds a preset threshold value.
  • FIG. 1 is a view of errors occurring in a connection-oriented socket.
  • a server 1 creates sockets to communicate with a first client 2 and a second client 3. Even though a power supply interruption occurs in the second client 3, the server 1 does not recognize this fact and transmits data to the second client 3, resulting in a data transmission error.
  • Socket connection management is performed using a technique called "Keepalive” which is one standard socket option.
  • Keepalive a technique that is one standard socket option.
  • a default keepalive time is 2 hours (7200 seconds) and there is no message exchanged therebetween, and thus it is impossible to rapidly establish a reconnection.
  • socket connection management is not consistently performed, and thus it is difficult to determine whether a problem results from a connection problem between a server and a client or an operation problem between corresponding application programs, making it difficult and complicated to manage the system.
  • FIG. 2 is a view of a configuration of a server-client network system employing a system of managing socket connections in accordance with an embodiment of the present invention.
  • a server 100 and a plurality of clients 200, 300, 400 and 500 are connected through a network.
  • a server application program module driven in the server 100 and a client application program driven in the respective clients 200, 300, 400 and 500 are connected through socket communication.
  • the server application program module which is being driven in the server 100 sets a socket which is required for communication with the client application program module which is being driven in the respective clients 200, 300, 400 and 500 and which periodically checks a socket connection.
  • the respective application program modules driven in the server 100 or the respective clients 200, 300, 400 and 500 perform a process programmed therein to provide various services.
  • the application program modules can be implemented in various forms according to the kind of service provided by the server 100 or the respective clients 200, 300, 400 and 500.
  • the application program module can include various kinds of software application program modules which are operated in various digital processing devices by a server-client based communication protocol.
  • the application program module operates with the server-client based communication protocol, when it is executed in the server 100 or the respective clients 200, 300, 400 and 500, it creates a socket for communication between the application program modules which are being driven in the server 100 and the respective clients 200, 300, 400 and 500 and it releases a connection of the created socket after the communication has been completed.
  • the respective application program modules must check the socket connection between the server 100 and the respective clients 200, 300, 400 and 500 in real time.
  • the application program module calls an Application Program Interface (API) to check the socket connection and to perform a socket check with a socket check execution module created by the API.
  • API Application Program Interface
  • the respective application program modules create a socket for communication with a certain client and maintain or release the created socket.
  • the configuration and operation of the application program module which calls the API to check a certain socket and to perform a socket check with a socket check execution module created by the API will be explained below in detail.
  • the application program modules driven in the server 100 and the respective clients 200, 300, 400 and 500, define APIs for checking a socket connection of sockets set therebetween and call the APIs to periodically check a socket connection of the respective sockets.
  • the APIs for checking the socket connection are configured to be used in and called by the server 100 and the respective clients 200, 300, 400 and 500.
  • a socket connection check function of an API is referred to as "a health check (HC or hc)". That is, the APIs for checking the socket connection begin with an "hc”.
  • the server and the client periodically send and receive messages for checking the socket connection of the socket.
  • the server periodically transmits a health check request message HC_REQUEST to the client, and the client transmits a health check response message HC_RESPONSE to the server.
  • FIG. 3 is a block diagram of a configuration of a socket management system which operates in a server in accordance with an embodiment of the present invention.
  • the socket management system driven in the server includes at least one application program module 110 which creates a socket necessary for communication with a client and calls an API to check a socket connection of a corresponding socket to manage the created socket, a common library module 120 having a program to perform operations set in an API called from the application program module 110, a socket check execution module 130 created by executing the coded program in the common library module 120, the socket check execution module 130 periodically checking a socket connection of a socket created by the application program module 110, and a Database (DB) 140.
  • DB Database
  • the application program module 110 contains APIs that check the socket connection of the sockets.
  • the API defined in the server will be explained below.
  • a server initialization API (hc_server_init) 111 is an API that creates a thread for an HC function to perform a health check HC.
  • the server initialization API 111 is added to a starting portion of an application program.
  • the HC function thread is referred to as a socket check execution module.
  • a server registration API (hc_server_register) 112 is an API that registers a socket so that a socket connection of a certain socket can be checked for the health check HC.
  • the server registration API is added to a position of the application program module where a socket for a server is opened so as to be connected to a client. The socket connected to a client is registered and is then continually checked.
  • a server registration cancel API (hc_server_unregister) 113 is an API that cancels the registration of a socket being checked for the health check HC.
  • the server registration cancel API 113 is added to a position of the application program module 110 where a socket is normally released.
  • the server registration cancel API 113 releases a connection with a client.
  • a server process API (hc_server_process) 114 checks whether or not data received from a socket, registered for its socket connection to be checked by the application program module executed in the server, is data for the health check HC. The server process API 114 then processes the checked data.
  • the server process API is for a server and is used when a socket check response message HC_RESPONSE, responsive to a socket check request message HC_REQUEST, has been received.
  • a server release API (hc_server_exit) 115 is an API that releases all registered sockets and releases the socket check execution module 130.
  • the common library module 120 includes programs coded to perform operations set in the APIs called from the application program module 110.
  • the common library module 120 includes programs to perform functions defined to respectively correspond to the server initialization API, the server registration API, the server registration cancel API, the server process API, and the server release API.
  • the common library module 120 executes the program to perform a function defined to correspond to the server initialization API to create a socket check execution module to be used for the health check HC, thereby preparing to periodically checking a socket connection of a certain socket.
  • the common library module 120 executes a program to perform a function defined to correspond to the server registration API to register a socket in the created socket check execution module 130 to check a socket connection of a certain socket for the health check HC.
  • the common library module 120 executes a program to perform a function defined to correspond to the server registration cancel API to cancel registration of a socket being checked by the socket check execution module 130. The socket whose registration is canceled in the socket check execution module 130 is then released.
  • the common library module 120 executes a program to perform a function defined to correspond to the server process API to check whether or not a message transmitted from a client is a response message, responsive to a health check request message transmitted to a corresponding client from a server, to vary a state value of the client.
  • the common library module 120 executes a program to perform a function defined to correspond to the server release API to release registration of all sockets registered in the socket check execution module 130 to check a socket connection of a corresponding socket and to release the corresponding socket check execution module 130.
  • the socket check execution module 130 is created when the server initialization API is called from the application program module 110 and a program in the common library module 120 performs a function defined to correspond to the server initialization API.
  • the socket check execution module 130 periodically transmits a health check request message to check a socket connection of a socket designated by the application program module, and checks a socket connection of a corresponding socket according to whether or not a health check response message has been received from a client.
  • the DB 140 stores ID and state information of each client that creates a socket to communicate with the server.
  • FIG. 4 is a block diagram of a configuration of a socket management system which operates in a client in accordance with an embodiment of the present invention.
  • the socket management system driven in the client includes at least one application program module 210 to call an API for checking a socket connection of a socket, a common library module 220 having a program to perform an operation set in the API called from the application program module 210 when a certain API is called from the application program module 210, a socket check execution module 230 created by executing the program in the common library module 220 and periodically checking the socket connection of the socket created by the application program module 210, and a DB 240.
  • the application program module 210 includes APIs defined to check the socket connection of the socket.
  • the API defined in the client will be explained below.
  • the client includes a client initialization API 211, a client process API 212, and a client release API 213 defined therein.
  • the client initialization API (hc_client_init) 211 is an API to initialize parameters to be used for the health check HC.
  • the client initialization API 211 is positioned in a starting portion of an application program.
  • the client process API (hc_client_process) 212 checks whether or not the data received from the server 100 is data for the health check HC when the application program module 210 receives data from the server 100. The client process API 212 then processes the checked data.
  • the client process API is an API executed in the client and is used when a socket check request message HC_REQUEST has been received from the server 100.
  • the client release API (hc_client_exit) 213 is an API to initialize necessary parameters and to end an HC operation.
  • the common library module 220 When a certain API is called from the application program module 210, the common library module 220 includes programs to perform operations set in each of the called APIs. Thus, the common library module 220 includes programs to perform functions defined to respectively correspond to the client initialization API, the client process API, and the client release API.
  • the common library module 220 executes a program to perform a function defined to correspond to the client initialization API to perform initialization for a socket check and to create a socket check execution module, thereby preparing to periodically check a socket connection of a socket connected to the server.
  • the common library module 220 executes a program to perform a function defined to correspond to the client process API to determine whether or not a corresponding message received from the server 100 is a health check request message HC_REQUEST.
  • the common library module 220 executes a program to perform a function defined to correspond to the server release API to release a health check operation and to terminate the corresponding socket check execution module 230.
  • the socket check execution module 230 is created when the client initialization API is called from the application program module 210 and to execute a program in the common library module 220 to perform a function defined to correspond to the client initialization API.
  • the socket check execution module 230 periodically receives a health check request message to check a socket connection of a socket designated by the application program module and to transmit a health check response message to the server, thereby commanding the server to check a socket connection of a corresponding socket according to whether or not the health check response message has been received from the client.
  • the DB 240 stores socket setting information of the server 100 to maintain a socket set with the server 100.
  • FIG. 5 is a view of a configuration of a health check message to check a socket socket connection in accordance with an embodiment of the present invention.
  • a header of the health check message includes a magic number field, a message type field, a client ID field and a packet length field, and a body thereof includes a time stamp field, a timeout field and a reserved field.
  • the magic number field, the message type field, the client ID field and the packet length field are each assigned 2 bytes.
  • a value set in the magic number field is a magic number to check a socket connection of a socket and is set to a specific value to determine whether or not a corresponding message is a health check message.
  • a system time value of the server is set as a value of the magic number field.
  • a value indicating whether a corresponding message is a health check request message or a health check response message is set in the message type field.
  • An identifier of a client ID that sets a socket connection with the server is set in the client ID field to discriminate each client.
  • a message length is set in the packet length field to check a transmission error of a corresponding packet.
  • Time information that a corresponding packet has been transmitted is set in the time stamp field.
  • the server sets a current time in the time stamp field as a time stamp value and then transmits the current time to the client.
  • the client sets the current time in the health check response message HC_RESPONSE "as is" and then transmits the current time to the server.
  • the server checks whether or not the current time has been exactly transmitted from the client to thereby determine a state of the client.
  • the server After the server transmits a health check request message to the client, the elapsed time is measured.
  • a socket connection of a corresponding socket is regarded as being disconnected, and a socket is then forcibly cut off.
  • a timeout value for the predetermined time is set in the timeout field.
  • Ts When a transmission period Ts of the server is varied, a waiting period Tc of the client must be varied. Thus, a timeout value is set and transmitted whenever the Tc value is varied. It is preferable for Tc to equal Ts+a, where "a" is a tolerance value set by a user.
  • the server stores state information of the clients to manage the clients.
  • the DB 140 of the server 100 is configured in an arrangement or linked list form for all respective sockets of the registered clients, and a client ID, a client socket, and a client state are stored therein.
  • the client can have three states as shown in FIG. 6 .
  • the client transits to a normal state HC_ST_NORMAL from a closed state HC_ST_CLOSED when a socket is registered in the socket check execution module 130 for a socket check, and transits to a sent state HC_ST-SENT when the socket check execution module 130 of the server 100 transmits a health check request message HC_REQUEST to the corresponding client 200.
  • a health check response message HC_RESPONSE is received from the client 200, it transits to the normal state HC_ST_NORMAL.
  • the server 100 transmits a health check request message HC_REQUEST and then checks a state of the client 200 at the next checking time.
  • the clients which have received a health check request message from the server 100 transmit a health check response message to the server 100, and the server 100 determines a state of a corresponding client according to whether or not a health check response message has been received and sets the state of the corresponding client in the DB 140.
  • the application program module 110 being driven in the server 100 calls a server process API 114 when a certain message has been received from the client.
  • the server process API 114 is called, the program coded in the common library module 120 is executed to determine whether or not the corresponding message received from the client is a health check response message.
  • the state value of the corresponding client is set to the normal state HC_ST_NORMAL.
  • the normal state HC_ST_NORMAL indicates that the health check response message has been normally received, but when it remains in a sent state HC_ST_SENT, this indicates that there is no response message.
  • FIG. 7 is a flowchart of managing a socket in a server using a socket management system in accordance with an embodiment of the present invention.
  • the application program module when a certain application program module is driven in the server, the application program module performs a process for forming a socket with a set client and calls an API coded therein to check a socket connection of a corresponding socket (S100).
  • the API is called by the application program module 110, the common library module 120 drives a program defined to correspond to the called API to create a socket check execution module 130 to periodically check the socket connection of the socket (S200).
  • the application program module 110 After creating a socket and a client, the application program module 110 calls an API to register a corresponding socket in the socket check execution module 130 to periodically check the socket connection of the socket.
  • the common library module 120 drives a program defined to correspond to the corresponding API to register the corresponding socket in the socket check execution module 130 to perform a health check of the certain socket (S300).
  • the socket check execution module 130 periodically checks a socket connection of the registered socket (S400).
  • FIG. 8 is a flowchart of a socket check execution module in a server in accordance with an embodiment of the present invention.
  • the socket check execution module 130 created in the server 100 performs a periodical health check for sockets registered therein by a set process (S410).
  • the socket check execution module 130 obtains current time information (S420) to create a health check request message HC_REQUEST to be transmitted to the clients having a socket registered in a health check list (S430).
  • An ID of a client to set a corresponding socket, current time information and a timeout value are set in a header of the created health check request message.
  • the socket check execution module 130 transmits the created health check request message HC_REQUEST to the clients that set the socket (S440).
  • FIG. 9 is a flowchart of a socket check execution module in a server to periodically check a socket connection of a registered socket in accordance with the present invention.
  • the socket check execution module 130 reads a state value of a corresponding client set in the DB 140 (S411) to determine whether or not a state of the client is a no response state (S412).
  • a state of the client is a normal state HC_ST_NORMAL
  • the client is determined to have normally received a message, but when the client remains in a sent state HC_ST_SENT, it is determined to be in a no response state.
  • a first count value is increased (S413).
  • a determination is made as to whether or not the first count value exceeds a first set threshold value Ns (S414).
  • the first threshold value Ns is the maximum number of times that the server 100 waits for a response from the clients 200 and 300 from which no response has been sent.
  • a second count value is increased (S417).
  • the second threshold value Ns_w is the maximum number of times that the server 100 waits for a continuous response with an error from the clients 200 and 300 which are different in magic number value.
  • FIG. 10 is a flowchart of a socket check operation of a socket check execution module in a client in accordance with the present invention.
  • the socket check execution module 230 of the client determines whether or not a health check request message HC_REQUEST has been received from a server 100 before timeout of a reception period (S510).
  • a health check response message HC_RESPONSE is transmitted to the server 100 (S520).
  • the socket check execution module 230 initializes a reception period counter (not shown) before newly measuring the reception period (S540).
  • the number of time periods after the timeout of the reception period is counted to increase a count value (S550), and a determination is made as to whether or not the count value exceeds the threshold value (S560).
  • the reception period counter is initialized (S530) to perform a process of measuring the reception period (S540). However, when the count value exceeds the threshold value, a socket connection is released (570).
  • FIG. 11 is a view of the transmission of health check messages between a server and a client in accordance with an embodiment of the present invention.
  • a health check function of a socket is implemented by using health check data periodically transmitted between a server 100 and clients 200 and 300, and timers of both sides.
  • 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 in response thereto.
  • Ts denotes a period that the server 100 transmits the health check request message HC_REQUEST to the clients 200 and 300, and when a timeout of Ts occurs, the server 100 checks a state of the clients and transmits the health check request message HC_REQUEST to the clients that are in a normal state.
  • the first client 200 tries a connection to the server 100 by transmitting a socket setting message Connection Try.
  • the server 100 sets a connection to the first client 200 and transmits a connection acknowledge message Connection Ack.
  • a socket is set between the first client 200 and the server 100.
  • the second client 300 also tries a connection to the server 100 by transmitting a socket setting message Connection Try.
  • the server 100 sets a connection to the second client 300 and transmits a connection acknowledge message Connection Ack.
  • a socket is set between the second client 300 and the server 100.
  • the server 100 After setting the respective sockets with the first and second clients 200 and 300, the server 100 transmits the health check request message HC_REQUEST to the first and second clients 200 and 300 at a predetermined time period to check a socket connection of the sockets.
  • the first and second clients 200 and 300 that have received the health check request message HC_REQUEST from the server 100 transmit the health check response message HC_RESPONSE to the server 100.
  • the server 100 that has received the health check response message HC_RESPONSE from the first and second clients 200 and 300 transmits a health check request message HC_REQUEST to the first and second clients 200 and 300 when a time to transmit the health check request message HC_REQUEST is reached.
  • Different magic number values are set to the health check request message HC_REQUEST currently being transmitted and previously transmitted health check request message HC_REQUESST.
  • the first and second clients 200 and 300 that have received the health check request message HC_REQUEST from the server 100 transmit the health check response message HC_RESPONSE to the server 100.
  • FIG. 12 is a view of finding and processing a client problem using a health check message in accordance with the present invention.
  • Ts denotes a period that the server 100 transmits a health check request message HC_REQUEST to the clients 200 and 300
  • the first threshold value Ns is the maximum number of times that the server 100 waits for a response from the clients from which there is no response.
  • the server 100 transmits a health check request message HC_REQUEST to the first and second clients 200 and 300 at a predetermined time to check a socket connection of the sockets.
  • the first and second clients 200 and 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.
  • the server 100 that has received the health check response message HC_RESPONSE from the first and second clients 200 and 300 transmits the health check request message HC_REQUEST to the first and second clients 200 and 300 when a time to transmit the health check request message HC_REQUEST is reached.
  • Different magic number values are set to the health check request message HC_REQUEST currently transmitted and to the previously transmitted health check request message HC_REQUESST.
  • the first client 200 that has received the health check request message HC_REQUEST from the server 100 transmits the health check response message HC_RESPONSE to the server 100.
  • the second client 300 cannot transmit the health check response message HC_RESPONSE to the server 100.
  • An error such as power off of the client is an example of a client problem.
  • the server 100 transmits the health check request message HC_REQUEST to the first and second clients 200 and 300. Different magic number values are set to the health check request message HC_REQUEST currently transmitted and the previously transmitted health check request message HC_REQUEST.
  • the first client 200 that has received the health check request message HC_REQUEST from the server 100 transmits the health check response message HC_RESPONSE to the server 100.
  • the second client 300 cannot transmit the health check response message HC_RESPONSE to the server 100 since the client problem is not resolved yet.
  • the server 100 sets a different magic number value for the first client 200 to transmit a health check request message HC_REQUEST when a time to transmit a health check request message HC_REQUEST is reached.
  • the server 100 releases the socket connection that has been set with the second client 300.
  • FIG. 13 is a view of finding and processing a server problem by using a health check message in accordance with the present invention.
  • Tc denotes a period of a time that the clients 200 and 300 wait for receiving the next health check request message HC_REQUEST after receiving the health check request message HC_REQUEST.
  • Nc denotes the maximum number of times that the clients 200 and 300 wait for the health check request message HC_REQUEST when it does not receive the health check request message HC_REQUEST from the server 100.
  • the server 100 transmits the health check request message HC_REQUEST to the first and second clients 200 and 300.
  • the first and second clients 200 and 300 transmit the health check response message HC_RESPONSE to the server 100 in response thereto.
  • the server 100 transmits the health check request message HC_REQUEST to the first and second clients 200 and 300 at a set time, but the server 100 cannot transmit the health check request message when a problem occurs in the server 100.
  • An error such as power off of the server is an example of a server problem.
  • whether or not the client requests a reconnection depends on the application program and thus serves as an option.
  • the first and second clients 200 and 300 After transmitting the health check response message HC_RESPONSE to the server 100, the first and second clients 200 and 300 check whether or not the health check request message has been received from the server 100.
  • the first and second clients 200 and 300 check a time elapsed after transmitting the health check response message to the server 100. When the number of times that a timeout of the transmission period Tc has occurred exceeds the threshold value Nc, the first and second clients 200 and 300 release the socket connection with the server 100.
  • the first and second clients 200 and 300 try a new connection to set a new socket with the server 100.
  • the system to manage the socket connection and the socket socket connection check method according to the present invention have the following advantages.
  • a socket connection check, a connection release when the other party's power is off and a reconnection function, which are not provided in a connection-oriented protocol such as a TCP, are implemented in a form of a common library, and thus the application programs can be provided with the corresponding functions using only an interface function of one module.
  • the respective application programs can have desired connection management functions to precisely check a socket connection between a server and a client which is required for system management and to provide a fast connection recovery or connection release.

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)

Claims (17)

  1. System aufweisend:
    mindestens ein Anwendungsprogrammmodul (110), das eingerichtet ist, um einen Socket zu kreieren, der zum Kommunizieren mit einem Server oder einem Client gebraucht wird und zum Aufrufen einer Anwendungsprogrammschnittstelle API zum Prüfen einer Socket-Verbindung des kreierten Sockets zum Verwalten des kreierten Sockets;
    ein gemeinsames Bibliotheksmodul (120), das ein Programm enthält, das eingerichtet ist zum Ausführen einer Operation, die in der aufgerufenen API gesetzt ist, wenn die API von dem Anwendungsprogrammmodul (110) aufgerufen wurde; und
    ein Socket-Prüf-Ausführungsmodul (130), das kreiert wurde durch Ausführen des codierten Programms in dem gemeinsamen Bibliotheksmodul (120) und eingerichtet ist zum periodischen Prüfen der Socket-Verbindung des kreierten Sockets,
    wobei die API mindestens eine der Folgenden enthält:
    eine Serverinitialisierungs-API (111), die eingerichtet ist zum Kreieren des Socket-Prüfausführungsmoduls;
    eine Serverregistrierungs-API (112), die eingerichtet ist zum Registrieren des Sockets in dem kreierten Socket-Prüfausführungsmodul zum Prüfen einer Socket-Verbindung eines bestimmten Sockets;
    eine Serverregistrierungsabbruch-API (113), die eingerichtet ist zum Abbrechen der Registrierung eines Sockets, der in dem Socket-Prüf-Ausführungsmodul registriert wird und zum Prüfen der Socket-Verbindung;
    eine Serverprozess-API (114), die eingerichtet ist zum Verarbeiten einer Socket-Prüfmeldung von dem Client; und
    eine Serverfreigabe-API (115), die eingerichtet ist zum Freigeben der Registrierung von allen Sockets, die in dem Socket-Prüfausführungsmodul registriert sind und zum Freigeben des Socket-Prüfausführungsmoduls, und
    wobei das gemeinsame Bibliotheksmodul (120) mindestens eines der Folgenden enthält:
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverinitialisierungs-API (111) zu entsprechen, um das Socket-Prüfausführungsmodul zu kreieren;
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverregistrierungs-API (112) zu entsprechen, um einen Socket in dem kreierten Socket-Prüfausführungsmodul zu registrieren, um eine bestimmte Socket-Verbindung zu prüfen;
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverregistrierungsabbruchs-API (113) zu entsprechen, zum Abbrechen der Registrierung des Sockets, der in dem Socket-Prüfausführungsmodul registriert ist und dessen Socket-Verbindung geprüft wird;
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverprozess-API (114) zu entsprechen, zum Verarbeiten einer Socket-Prüfmeldung, die von dem Client empfangen wurde; und
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverfreigabe-API (115) zu entsprechen, zum Freigeben der Registrierung von allen Sockets, die in dem Socket-Prüfausführungsmodul registriert sind und das Socket-Prüfausführungsmodul.
  2. System nach Anspruch 1, wobei das Socket-Prüfausführungsmodul (130) in dem Server enthalten ist und eingerichtet ist, um periodisch eine Socket-Prüfanforderungsmeldung an einen Client zu übertragen, um einen bestimmten Socket mit dem Server zu setzen und um periodisch eine Socket-Verbindung des registrierten Sockets zu prüfen, ob eine Socket-Prüfantwortmeldung von dem korrespondierenden Client empfangen worden ist oder nicht.
  3. System nach Anspruch 1, weist weiterhin eine Datenbasis DB (140) auf, die eingerichtet ist zum Speichern von Zustandsinformation des Clients, der einen Socket kreiert.
  4. System nach Anspruch 3, wobei die Zustandsinformation des Clients einen Abschlusszustand, einen Gesendetzustand und einen Normalzustand enthält, gemäß ob eine Socket-Prüfmeldung gesendet und empfangen worden ist oder nicht.
  5. System nach Anspruch 1, wobei die API mindestens eine der Folgenden enthält:
    eine Client-Initialisierungs-API (211), die eingerichtet ist zum Kreieren des Socket-Prüfausführungsmoduls;
    eine Client-Prozess-API (212), die eingerichtet ist zum Verarbeiten einer Socket-Prüfmeldung, die empfangen von dem Server wird; und
    eine Client-Freigabe-API (213), die eingerichtet ist zum Freigeben der Registrierung von allen Sockets, die in dem Socket-Prüfausführungsmodul registriert sind.
  6. System nach Anspruch 1, wobei das gemeinsame Bibliotheksmodul (120) mindestens eines der Folgenden enthält:
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Client-Initialisierungs-API (211) zu entsprechen, zum Kreieren des Socket-Prüfausführungsmoduls;
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Client-Prozess-API (212) zu entsprechen, um eine Socket-Prüfmeldung zu verarbeiten, die von dem Server empfangen wird; und
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Client-Freigabe-API (213) zu entsprechen, zum Freigeben der Registrierung von allen Sockets, die in dem Socket-Prüfausführungsmodul registriert sind.
  7. System nach Anspruch 1, wobei das Socket-Prüfausführungsmodul (130) in dem Client enthalten ist und eingerichtet ist, um eine Socket-Prüfantwortmeldung an den Server zu übertragen gemäß einer Socket-Prüfanforderungsmeldung, die periodisch von dem Server übertragen wurde zum Setzen eines Sockets mit dem korrespondierenden Client.
  8. Verfahren aufweisend:
    ein Anwendungsprogrammmodul (110), das einen Socket kreiert, wobei das Anwendungsprogrammmodul programmiert ist zum Kreieren und Verwalten des Sockets, der notwendig ist zum Kommunizieren mit einem Server und einem Client;
    das Anwendungsprogrammmodul (110), wobei das eine Anwendungsprogrammschnittstelle API aufruft, die definiert ist zum Prüfen einer Socket-Verbindung des kreierten Sockets;
    ein gemeinsames Bibliotheksmodul (120), das ein Programm ausführt zum Durchführen einer Operation, die in der aufgerufenen API gesetzt ist, nachdem die API durch das Anwendungsprogrammmodul (110) aufgerufen ist; und
    ein Socket-Prüfausführungsmodul (130), das kreiert wird durch Ausführen des Programms in dem gemeinsamen Bibliotheksmodul (120), das periodisch eine Socket-Verbindung des kreierten Sockets prüft,
    wobei die API mindestens eine der Folgenden enthält:
    eine Serverinitialisierungs-API (111), die eingerichtet ist zum Kreieren des Socket-Prüfausführungsmoduls;
    eine Serverregistrierungs-API (112), die eingerichtet ist zum Registrieren des Sockets in dem kreierten Socket-Prüfausführungsmodul zum Prüfen einer Socket-Verbindung eines bestimmten Sockets;
    eine Serverregistrierungsabbruchs-API (113), die eingerichtet ist zum Abbrechen der Registrierung eines Sockets, der in dem Socket-Prüfausführungsmodul registriert ist und zum Prüfen der Socket-Verbindung;
    eine Serverprozess-API (114), die eingerichtet ist zum Verarbeiten einer Socket-Prüfmeldung von dem Client; und
    eine Serverfreigabe-API (115), die eingerichtet ist zum Freigeben der Registrierung von allen Sockets, die in dem Socket-Prüfausführungsmodul registriert sind und zum Freigeben des Socket-Prüfausführungsmoduls und
    wobei das gemeinsame Bibliotheksmodul (120) mindestens eines der Folgenden enthält:
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverinitialisierungs-API (111) zu entsprechen, zum Kreieren des Socket-Prüfausführungsmoduls;
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverregistrierungs-API (112) zu entsprechen, zum Registrieren eines Sockets in dem kreierten Socket-Prüfausführungsmodul zum Prüfen einer bestimmten Socket-Verbindung;
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverregistrierungsabbruchs-API (113) zu entsprechen, zum Abbrechen der Registrierung des Sockets, der in dem Socket-Prüfausführungsmodul registriert ist und dessen Socket-Verbindung geprüft wird;
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverprozess-API (114) zu entsprechen, zum Verarbeiten einer Socket-Prüfmeldung, die von dem Client empfangen wurde; und
    ein Programm, das eingerichtet ist zum Ausführen einer Funktion, die definiert ist, um einem Aufruf einer Serverfreigabe-API (115) zu entsprechen, zum Freigeben der Registrierung von allen Sockets, die in dem Socket-Prüfausführungsmodul registriert sind und dem Socket-Prüfausführungsmodul.
  9. Verfahren nach Anspruch 8, wobei beim periodischen Prüfen einer Socket-Verbindung des kreierten Sockets, eine Socket-Prüfanforderungsmeldung periodisch an den Client übertragen wird, um den Socket mit dem Server zu setzen, und eine Socket-Verbindung des registrierten Sockets wird periodisch geprüft, gemäß ob eine Socket-Prüfantwortmeldung von dem korrespondierenden Client empfangen worden ist oder nicht.
  10. Verfahren nach Anspruch 8, wobei beim periodischen Prüfen einer Socket-Verbindung des kreierten Sockets, eine Socket-Prüfantwortmeldung an den Server übertragen wird gemäß einer Socket-Prüfanforderungsmeldung, die periodisch von dem Server übertragen wird.
  11. Verfahren nach Anspruch 8, wobei das Programm in dem Server enthalten ist und programmiert ist, um auszuführen:
    Kreieren des Socket-Prüfausführungsmoduls zum Prüfen der Socket-Verbindung des kreierten Sockets;
    Registrieren des korrespondierenden Sockets in dem kreierten Socket-Prüfausführungsmodul, um die Socket-Verbindung des Sockets zu prüfen; und
    periodisches Übertragen einer Socket-Prüfanforderungsmeldung an den Client, um den Socket mit dem Server durch den kreierten Socket-Prüfausführungsmodul zu setzen, zum periodischen Prüfen einer Socket-Verbindung des registrierten Sockets, gemäß ob eine Socket-Prüfantwortmeldung von dem korrespondierenden Client empfangen worden ist oder nicht.
  12. Verfahren nach Anspruch 8, wobei das Programm in dem Client enthalten ist und programmiert ist, um auszuführen:
    Kreieren des Socket-Prüfausführungsmoduls zum Prüfen der Socket-Verbindung des kreierten Sockets; und
    Übertragen einer Socket-Prüfantwortmeldung an den Server gemäß einer Socket-Prüfanforderungsmeldung, die periodisch von dem Server durch das kreierte Socket-Prüfausführungsmodul übertragen wird.
  13. Verfahren nach Anspruch 8, wobei das Programm in dem Client enthalten ist und programmiert ist, um auszuführen:
    Kreieren des Socket-Prüfausführungsmoduls zum Prüfen der Socket-Verbindung des kreierten Sockets; und
    Freigeben des verbundenen Sockets durch das kreierte Socket-Prüfausführungsmodul, wenn die Anzahl der Fälle, in denen eine Socket-Prüfanforderungsmeldung, die periodisch von dem Server übertragen wurde, in einer gesetzten Zeitdauer nicht empfangen worden ist, eine vorbestimmte Anzahl überschreitet.
  14. Verfahren in einem Server aufweisend:
    ein Anwendungsprogrammmodul (110) ruft eine Bibliotheksfunktion auf zum Speichern eines Programmes zum Prüfen einer Socket-Verbindung eines korrespondierenden Sockets nachdem der Socket mit einem Client gesetzt wurde;
    ein gemeinsames Bibliotheksmodul (120) registriert einen Socket, um periodisch durch Ausführen der aufgerufenen Bibliotheksfunktion geprüft zu werden; und
    ein Socket-Prüfausführungsmodul (130) überträgt periodisch eine Socket-Prüfanforderungsmeldung an den Client durch Ausführen der aufgerufenen Bibliotheksfunktion und periodisches Prüfen einer Socket-Verbindung des registrierten Sockets, gemäß ob eine Socket-Prüfantwortmeldung von dem korrespondierenden Client empfangen worden ist oder nicht,
    wobei das Prüfen der Socket-Verbindung des Sockets enthält:
    Bestimmen, ob die Socket-Prüfantwortmeldung von dem Client vor Zeitablauf einer vorgesetzten Übertragungszeitdauer empfangen worden ist oder nicht, nachdem die Socket-Prüfanforderungsmeldung zum Prüfen der Socket-Verbindung des Sockets an den Client übertragen worden ist; und
    Freigeben einer Socket-Verbindung nachdem es keine Antwortmeldung gab infolge des Bestimmens und die Anzahl der Fälle, in denen der Zeitablauf der Übertragungszeitdauer auftrat, einen voreingestellten Schwellwert überschreitet.
  15. Verfahren nach Anspruch 14, wobei periodisches Prüfen einer Socket-Verbindung des registrierten Sockets enthält:
    Erhalten der aktuellen Zeitinformation;
    Hinzufügen der erhaltenen aktuellen Zeitinformation zu der Socket-Prüfanforderungsmeldung zum periodischen Prüfen der Socket-Verbindung des Sockets und zum Übertragen der Socket-Prüfanforderungsmeldung mit der aktuellen Zeitinformation an den Client, der den Socket setzt; und
    Prüfen der Socket-Verbindung des Sockets, gemäß ob die Socket-Prüfantwortmeldung von dem Client empfangen worden ist oder nicht.
  16. Verfahren nach Anspruch 15, wobei das Prüfen der Socket-Verbindung des Sockets enthält:
    Bestimmen, ob die empfangene Antwortmeldung eine normale Antwortmeldung ist oder nicht, in der Zeitinformation, die in der Antwortmeldung enthalten ist, übereinstimmt mit der Zeitinformation, die in der Socket-Prüfanforderungsmeldung gespeichert ist, die an den Client übertragen wurde, nachdem die Antwortmeldung von dem Client empfangen wurde; und
    Zählen der Anzahl der Fälle, in denen abnormale Antwortmeldungen empfangen wurden und Freigeben der Socket-Verbindung mit dem Client, wenn ein voreingestellter Schwellwert überschritten wird, nachdem die Zeitinformation nicht zusammenpasst.
  17. Verfahren in einem Client aufweisend:
    ein Anwendungsprogrammmodul (110) ruft eine Bibliotheksfunktion auf, die ein Programm speichert, um eine Socket-Verbindung eines korrespondierenden Sockets zu prüfen, nachdem der Socket mit dem Server gesetzt ist;
    ein Socket-Prüfausführungsmodul (130) überträgt periodisch eine Socket-Prüfantwortmeldung in Antwort auf eine Socket-Prüfanforderungsmeldung, die periodisch von dem Server durch Ausführen der aufgerufenen Bibliotheksfunktion empfangen wurde und Prüfen der Socket-Verbindung des Sockets, der mit dem Server gesetzt ist, gemäß ob die Socket-Prüfanforderungsmeldung periodisch empfangen worden ist oder nicht,
    wobei das Prüfen der Socket-Verbindung des Sockets enthält:
    Bestimmen, ob die Socket-Prüfanforderungsmeldung von dem Server vor Zeitablauf einer voreingestellten Übertragungsperiode empfangen worden ist oder nicht, nachdem die Socket-Prüfantwortmeldung an den Server übertragen worden ist; und
    Freigeben der Socket-Verbindung, nachdem die Socket-Prüfanforderungsmeldung nicht innerhalb des Zeitablaufs der Übertragungszeitdauer empfangen worden ist infolge des Bestimmens und die Anzahl der Fälle, in denen der Zeitablauf der Übertragungsperiode auftrat, einen voreingestellten Schwellwert überschreitet.
EP05015096A 2004-07-21 2005-07-12 System und Verfahren zur Verwaltung und Prüfung von Socketverbindungen zwischen einem Server und Clients Expired - Fee Related EP1619855B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040056963A KR100560752B1 (ko) 2004-07-21 2004-07-21 소켓 연결 관리 시스템 및 그 소켓 연결 상태 체크 방법

Publications (2)

Publication Number Publication Date
EP1619855A1 EP1619855A1 (de) 2006-01-25
EP1619855B1 true EP1619855B1 (de) 2008-05-07

Family

ID=34937830

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05015096A Expired - Fee Related EP1619855B1 (de) 2004-07-21 2005-07-12 System und Verfahren zur Verwaltung und Prüfung von Socketverbindungen zwischen einem Server und Clients

Country Status (5)

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

Families Citing this family (25)

* 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 (zh) * 2006-02-15 2008-11-26 华为技术有限公司 一种网络实体接口状态维护的方法
JP4877032B2 (ja) * 2007-04-19 2012-02-15 ソニー株式会社 無線通信装置、無線通信方法およびプログラム
CN101202704B (zh) * 2007-09-07 2010-08-18 深圳市同洲电子股份有限公司 一种数据的传输方法及系统
JP4586873B2 (ja) * 2008-03-28 2010-11-24 セイコーエプソン株式会社 ソケット管理装置及び方法
CN101448137B (zh) * 2008-12-24 2011-05-04 深圳创维-Rgb电子有限公司 一种视频点播的方法
JP5276456B2 (ja) * 2009-01-23 2013-08-28 アルパイン株式会社 データ処理システム
WO2011006300A1 (en) * 2009-07-16 2011-01-20 Hewlett-Packard Development Company, L.P. Acronym extraction
CN102339234B (zh) * 2011-07-12 2013-04-17 迈普通信技术股份有限公司 一种协议栈运行装置和方法
US9276830B2 (en) * 2011-09-06 2016-03-01 Broadcom Corporation Secure electronic element network
CN103441999A (zh) * 2013-08-21 2013-12-11 好耶网络科技(上海)有限公司 一种套接字连接池控制方法
US20150281167A1 (en) * 2014-03-31 2015-10-01 Google Inc. Specifying a MAC Address Based on Location
JP6413817B2 (ja) * 2015-02-09 2018-10-31 富士通株式会社 会話管理システム、会話管理方法及び会話管理プログラム
KR101680736B1 (ko) * 2015-07-16 2016-11-29 한림성심대학교 산학협력단 네트워크 장비 상태 확인 프로세스
CN105071996A (zh) * 2015-08-31 2015-11-18 浙江开盈信息科技有限公司 一种终端在线的检测方法、终端及其服务器
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 (ko) * 2018-12-18 2019-03-18 주식회사 웨어밸리 소켓 인젝션을 통한 데이터베이스 내의 정보 수집 방법 및 장치
KR102211437B1 (ko) 2019-10-22 2021-02-03 윤종열 Mrp를 기반으로 수주예측정보를 산출하여 재고를 관리하는 통합 재고관리 운영방법
KR102171722B1 (ko) 2019-10-22 2020-10-29 주식회사 동화인포텍 수주예측정보를 이용한 생산, 재고관리 계획통합시스템
CN111628818B (zh) * 2020-05-15 2022-04-01 哈尔滨工业大学 空地无人系统分布式实时通信方法、装置及多无人系统
KR20230077262A (ko) 2021-11-25 2023-06-01 주식회사 와이티 오픈소스기반 지능형 제조공정 워크플로우 SaaS 시스템
CN116340014A (zh) * 2021-12-24 2023-06-27 北京字节跳动网络技术有限公司 函数处理方法、装置、设备及存储介质
KR102637167B1 (ko) 2023-07-13 2024-02-16 (주)알엠에이 생산 공정 및 기업간 생산 계획과 연동된 제품 이송최적화 방법
KR102626117B1 (ko) 2023-07-13 2024-01-17 (주)알엠에이 물류환경에 따른 최적 생산 시뮬레이션 방법

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 (ja) 1996-09-30 1998-04-24 Hitachi Ltd サーバの障害監視及び対策方法
KR20010108868A (ko) * 2000-06-01 2001-12-08 서평원 망관리시스템의 전송장치 연동 복원방법
FI20001630A (fi) * 2000-06-30 2001-12-31 Nokia Mobile Phones Ltd Palvelun laadun määritys datavirroille
KR20020033219A (ko) * 2000-10-30 2002-05-06 구자홍 연결지향 소켓 인터페이스 구현방법
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

Also Published As

Publication number Publication date
EP1619855A1 (de) 2006-01-25
KR100560752B1 (ko) 2006-03-13
CN1725757A (zh) 2006-01-25
JP2006031685A (ja) 2006-02-02
KR20060007732A (ko) 2006-01-26
US20060020705A1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
EP1619855B1 (de) System und Verfahren zur Verwaltung und Prüfung von Socketverbindungen zwischen einem Server und Clients
EP2843908B1 (de) Bidirektionale Voll-Duplex-Kommunikation über ein Kommunikationsprotokoll auf Remote-Procedure-Call-Basis und Anwendungen davon
US8135794B2 (en) Availability and scalability in a messaging system in a manner transparent to the application
US7676580B2 (en) Message delivery with configurable assurances and features between two endpoints
CN1787497B (zh) 在web服务环境可靠消息通信中验证和维持连接活跃性
US20040186918A1 (en) Method and apparatus for dispatching incoming data in a multi-application terminal
EP1564959B1 (de) System und Verfahren für das triviale Dateitransferprotokoll (TFTP) mit einer Broadcast-Funktion
TW201944236A (zh) 任務處理方法、裝置及系統
JP2005228316A (ja) Tcpコネクション管理装置、tcpコネクション管理方法及びプログラム保存装置
CN108430116A (zh) 断网重连方法、介质、装置和计算设备
CN110071826B (zh) 物联网终端设备及其与远程管理平台建立tcp连接的方法
US20090113460A1 (en) Systems and methods for providing a generic interface in a communications environment
CN112202635B (zh) 链路的监控方法、装置、存储介质以及电子装置
US20110225230A1 (en) Method and apparatus for detecting active and orphan session-based connections
US8416754B2 (en) Network location based processing of data communication connection requests
EP1881668A1 (de) Verfahren, system und gerät zur übertragung einer syslog-nachricht
CN114363351A (zh) 一种代理连接抑制方法、网络架构及代理服务器
US7287079B2 (en) Implementing and coordinating configuration of protocol processes
CN113794620B (zh) 消息发送方法、装置、设备、系统与存储介质
CN112436982B (zh) 一种网络流量自动混跑测试方法、系统、终端及存储介质
US20020120772A1 (en) Manager-to-agent model system
US9288322B2 (en) Call center system with redundant components and method of operation thereof
CN107291383A (zh) 一种嵌入式设备的数据交互方法及服务器
US20030074488A1 (en) Method and apparatus for communicating between modules
CN117668909A (zh) 一种隐私计算信息传输方法及系统

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050712

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

17Q First examination report despatched

Effective date: 20060824

AKX Designation fees paid

Designated state(s): FR GB

REG Reference to a national code

Ref country code: DE

Ref legal event code: 8566

17Q First examination report despatched

Effective date: 20060824

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIN1 Information on inventor provided before grant (corrected)

Inventor name: PAEK, SEUNG-HAK

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): FR GB

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20090210

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20090331

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20080731

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20090712

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090712