KR20010090635A - System and method of communication for multiple server system - Google Patents

System and method of communication for multiple server system Download PDF

Info

Publication number
KR20010090635A
KR20010090635A KR1020000018556A KR20000018556A KR20010090635A KR 20010090635 A KR20010090635 A KR 20010090635A KR 1020000018556 A KR1020000018556 A KR 1020000018556A KR 20000018556 A KR20000018556 A KR 20000018556A KR 20010090635 A KR20010090635 A KR 20010090635A
Authority
KR
South Korea
Prior art keywords
server
vmp
servers
multiplexed
message
Prior art date
Application number
KR1020000018556A
Other languages
Korean (ko)
Other versions
KR100377864B1 (en
Inventor
신현섭
Original Assignee
김형순
주식회사 로커스
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 김형순, 주식회사 로커스 filed Critical 김형순
Priority to KR1020000018556A priority Critical patent/KR100377864B1/en
Publication of KR20010090635A publication Critical patent/KR20010090635A/en
Application granted granted Critical
Publication of KR100377864B1 publication Critical patent/KR100377864B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

PURPOSE: A communicating system for a multiplexing server system and a method thereof are provided to offer a communicating method and a system for assuring a convenient and reliable communication between each servers. CONSTITUTION: The elements of the system are described as follows. The first server group(100) and the second server group(110) are provided by binding servers performing the same function, respectively. An active server(101) performing a service and a stand-by server(102) being stood-by out of servers included in the first server group(100) are provided. An active server(111) performing a service and a stand-by server(112) being stood-by out of servers included in the second server group(110) are provided. All servers may perform operations as data transmission, a trouble supervision, and a conversion of a server through networks(120,130). One host name may be allocated in the first server group(100). Each server(101, 102) being grouped in the first host(100) may be allocated as an alias name. The servers of the first server group and the second server group may be communicated through a multiplexed network. The servers included in the first server group(100) and the second server group(110) are connected to the networks(120,130) simultaneously.

Description

다중화 서버 시스템을 위한 통신 시스템 및 방법{SYSTEM AND METHOD OF COMMUNICATION FOR MULTIPLE SERVER SYSTEM}Communication system and method for multiplexing server system {SYSTEM AND METHOD OF COMMUNICATION FOR MULTIPLE SERVER SYSTEM}

본 발명은 서버 다중화 시스템 및 서버 다중화를 위한 통신 방법에 관한 것으로서, 특히 복수의 서버들 사이에 중단 없는 통신 상태를 유지하기 위한 통신 프로토콜 및 운영 소프트웨어 시스템에 관한 것이다.The present invention relates to a server multiplexing system and a communication method for server multiplexing, and more particularly, to a communication protocol and an operating software system for maintaining an uninterrupted communication state between a plurality of servers.

교환기 제어를 위한 서버 시스템의 경우에는 어떠한 상황에서도 중단됨이 없는 고 신뢰성 서비스가 요구되므로, 서버를 다중화하여 서로 감시하고 있다가 활성 (active) 서버에 장애가 발생한 경우 대기(stand-by)중이던 서버가 빠른 시간 내에 절체를 하여 서비스를 복구하는 방식이 사용되고 있다.In the case of the server system for the exchange control, a high reliability service is required without interruption under any circumstances. Therefore, if a server is multiplexed and monitored, and the active server fails, the server that is standing by is fast. A method of restoring a service by switching in time is being used.

미합중국 특허 제5,812,751호 및 제5,596,720호에 개시되어 있는 서버 다중화 기술은 다중화된 두 개의 서버가 데이터 저장 유니트를 공유하면서 운용되고 있으므로, 활성 서버와 대기 서버가 관리하는 데이터의 동기화 문제를 해결하고 있다. 그런데, 전술한 미합중국 특허에 개시되어 있는 서버 다중화 기술은 활성 서버가 장애를 발생시킨 경우 대기 서버가 서비스를 절체시키는 동안 서비스 중단이 불가피하게 되므로, 절체 기간 중에 데이터가 유실되고 서비스 복구가 지연되는 문제점이 있다.The server multiplexing technique disclosed in US Pat. Nos. 5,812,751 and 5,596,720 solves the problem of synchronization of data managed by active and standby servers because two multiplexed servers are operating while sharing a data storage unit. However, the server multiplexing technique disclosed in the above-described United States patent is a service interruption while the standby server is switching services when the active server has failed, so that data is lost and service recovery is delayed during the switching period. There is this.

더욱이, 각각 다중화된 복수 개의 서버 및 다중화된 네트워크를 이용하여 분산 처리하는 시스템의 경우, 각각의 서버들은 다중화에 따른 추가의 작업 부담 없이 신속하고 안전하게 메시지를 주고받는 것이 필요하다. 즉, 메시지를 수신하여야 하는 프로세스가 로드(load)되어 있는 호스트(host)가 다운(down)되어 대기하고 있던 대기(stand-by) 시스템에 프로세스가 재 가동된다면, 송신하고자 하는 프로세스는 새로운 프로세스와 다시 접속을 맺어야 통신이 재개된다.Moreover, in the case of a distributed processing system using a plurality of servers and a multiplexed network, respectively, each server needs to send and receive messages quickly and safely without any additional burden of multiplexing. That is, if a process is restarted in a standby system where a host that is loaded with a process that needs to receive a message is down and waiting, You must reconnect to resume communication.

또한, 사용하고 있던 네트워크 포트의 이상으로 인해 다중화되어 있는 다른네트워크 포트를 통하여 통신을 하려고 할 경우에도 송신 측의 프로세스는 네트워크 포트의 이상 감지 및 새로운 가용 네트워크 포트를 통한 통신 재개 등의 작업 부담을 감당하여야 한다.In addition, when attempting to communicate through multiple network ports that are multiplexed due to an abnormal network port being used, the sender's process bears the burden of detecting an abnormality of the network port and resuming communication through a new available network port. shall.

더욱이, 수신측 프로세스가 로드되어 있는 서버에 장애가 발생하여 메시지 수신이 불가능한 경우에도, 송신측 서버의 프로세스는 메시지를 계속하여 송신 (SEND)하게 되므로 전송된 메시지가 유실되는 문제점이 발생할 수 있다. 따라서, 다중화된 분산 서버 시스템에 있어서 각 서버들 사이에 통신을 편리하고 신뢰성 있도록 보장할 수 있는 새로운 방식의 통신 프로토콜 및 운영 소프트웨어 모듈의 출현이 절실히 요구되고 있다.In addition, even when a server on which the receiving process is loaded fails in receiving a message, a process of the sending server continuously transmits the message (SEND), which may cause a problem that the transmitted message is lost. Therefore, in the multiplexed distributed server system, there is an urgent need for the emergence of a new type of communication protocol and operating software module that can guarantee communication between each server conveniently and reliably.

따라서, 본 발명의 제1 목적은 다중화된 분산 서버 시스템에 있어서, 각각의 서버들 사이에 편리하고 신뢰성 있는 통신을 보장하기 위한 통신 방법 및 시스템을 제공하는데 있다.Accordingly, a first object of the present invention is to provide a communication method and system for ensuring convenient and reliable communication between respective servers in a multiplexed distributed server system.

본 발명의 제2 목적은 상기 제1 목적에 부가하여, 서버가 장애를 일으킨 경우 또는 통신 네트워크가 장애를 일으킨 경우에도 데이터의 유실 없이 서비스를 지속적으로 제공할 수 있는 다중화된 서버들 간의 통신 방법 및 시스템을 제공하는데 있다.According to a second aspect of the present invention, in addition to the first object, a communication method between multiplexed servers capable of continuously providing a service without loss of data even when a server fails or a communication network fails. To provide a system.

본 발명의 제3 목적은 상기 제1 목적에 부가하여, 다중화된 서버들 사이에 메시지를 통신하는데 있어서 활성중인 서버를 검색하거나, 활성중인 통신 포트를 찾기 위한 추가의 작업 부담을 해결한 다중화된 서버들 간의 통신 방법 및 시스템을 제공하는데 있다.The third object of the present invention is, in addition to the first object, a multiplexed server that solves the additional burden of searching for an active server or finding an active communication port in communicating messages between the multiplexed servers. To provide a communication method and system between the two.

본 발명의 제4 목적은 상기 제1 목적에 부가하여, 다중화된 네트워크 및 다중화된 서버들 사이에 메시지를 통신하는데 있어서, 네트워크의 상태, 통신 채널의 유지, 다중화된 시스템의 변경 등을 관리하는 통신 프로토콜 및 소프트웨어 모듈을 제공하는데 있다.A fourth object of the present invention is, in addition to the first object, in communication of messages between multiplexed networks and multiplexed servers, the communication of managing the state of the network, maintaining the communication channel, changing the multiplexed system, and the like. To provide a protocol and software module.

도1은 본 발명에 따른 다중화 서버 시스템의 구성의 일 실시예를 나타낸 도면.1 is a diagram showing an embodiment of the configuration of a multiplexing server system according to the present invention;

도2는 본 발명에 따른 다중화 서버의 장치 구성의 일 실시예를 나타낸 도면.2 is a diagram showing an embodiment of an apparatus configuration of a multiplexing server according to the present invention;

도3a는 본 발명에 따른 다중화 서버 시스템의 운용 방법의 작업 흐름의 일 실시예를 나타낸 도면.Figure 3a illustrates an embodiment of a workflow of the operating method of the multiplexing server system according to the present invention.

도3b는 본 발명의 바람직한 실시예에 따른 초기 서버들 사이의 연결 방법을 나타낸 작업 흐름도.3B is a working flow diagram illustrating a connection method between initial servers according to a preferred embodiment of the present invention.

도3c는 본 발명의 바람직한 실시예에 따라, VMP 환경 설정 테이블에 메시지를 받을 서버가 존재하는지 확인하는 방법을 나타낸 작업 흐름도.3C is a flowchart illustrating a method of checking whether a server to receive a message exists in a VMP configuration table according to a preferred embodiment of the present invention.

도3d는 본 발명의 바람직한 실시예에 따른 네트워크 망 또는 서버의 장애가 복구되면 파일로 저장된 메시지를 다시 전송하는 방법을 나타낸 작업 흐름도.3d is a flowchart illustrating a method of retransmitting a message stored in a file when a network or server failure is recovered according to a preferred embodiment of the present invention.

상기 목적을 달성하기 위하여, 본 발명은 다중화된 서버 시스템에 있어서 시스템 사이의 메시지 전달을 위한 가상 메시지 통로(virtual message path; 이하 VMP라 칭함) 프로세스 및 프로토콜(protocol)을 제공한다.In order to achieve the above object, the present invention provides a virtual message path (hereinafter referred to as VMP) process and protocol for message transfer between systems in a multiplexed server system.

본 발명에 따른 VMP 프로세스는 메시지를 전달하는 기능을 구비한 소프트웨어 모듈로서, 애플리케이션 프로세스(application process)들은 통신을 하고자 하는 타겟 프로세스(target process)와 직접 메시지를 송수신하는 것이 아니라, 가상 메시지 통로를 경유하여 송수신한다. 본 발명에 따른 VMP 프로세스는 프로세스 (process) 사이에 가상 채널(virtual channel)을 제공함으로써, 각각의 프로세스들은 각종 통신 장애에 대한 처리를 수행해야 하는 부담이 없이 가상 메시지 통로에게만 송신을 하면 안전하게 목적지(target) 프로세스까지 전달이 되도록 한다.The VMP process according to the present invention is a software module having a function of delivering a message, and application processes do not directly transmit and receive messages to and from a target process to communicate with, but via a virtual message path. Send and receive. The VMP process according to the present invention provides a virtual channel between processes, so that each process can safely transmit to only the virtual message path without burdening the processing of various communication failures. target) to be delivered to the process.

본 발명에 따른 VMP 프로세스를 사용함으로써, 다중화된 서버의 사용자 애플리케이션(user application)은 메시지 송수신의 실제 레이어(physical layer)는 블랙 박스로 남겨둔 채, 단지 가상 메시지 통로에서 제공하는 응용 프로그래밍 인터페이스 (API; application programming interface) 라이브러리(library) 만을 이용하여 송수신 모듈을 용이하게 제작할 수 있다.By using the VMP process according to the present invention, a user application of a multiplexed server can provide an application programming interface (API) provided only in a virtual message path, leaving the physical layer of message transmission and reception in a black box. application programming interface) Using only a library, a transmission / reception module can be easily produced.

본 발명에 따른 VMP 프로세스는 타겟쪽 애플리케이션이 실시간으로 메시지를 수신하지 못하는 경우에 파일로 저장하여 두었다가 통신이 재개되면 다시 전송함으로써, 장애 시에도 메시지의 유실 없이 통신을 지속할 수 있는 기능을 포함하고 있다.The VMP process according to the present invention includes a function of storing a file when the target application does not receive a message in real time and transmitting the data again when communication is resumed, so that communication can be continued even in the event of a failure. have.

본 발명에 따른 VMP 프로세스의 통신 채널은 TCP/IP를 기반으로 하여, 로컬 프로세스들은 로컬 VMP 프로세스와 TCP/IP 접속을 맺고 있으며, VMP 프로세스들도 서로 TCP/IP 접속이 맺어져 있다. 본 발명에 따른 VMP 프로세스는 상호 연결이 독립적이고, 시스템 간 연결은 다중화되어 있다.The communication channel of the VMP process according to the present invention is based on TCP / IP, so that local processes have a TCP / IP connection with a local VMP process, and VMP processes have a TCP / IP connection with each other. In the VMP process according to the present invention, the interconnections are independent, and the intersystem connections are multiplexed.

본 발명에 따른 VMP 프로세스를 통한 통신은 TCP/IP 프로토콜을 이용하지만, 상기 VMP 프로세스를 이용한 애플리케이션들은 VMP 라이브러리를 통하여 마치 UDP로 통신하듯 패킷(packet) 베이스로 통신을 할 수 있다.Communication through the VMP process according to the present invention uses the TCP / IP protocol, but applications using the VMP process may communicate via packet-based packets as if they communicate with UDP through the VMP library.

본 발명에 따른 VMP 프로세스는 통신하고자 하는 유니트들과 모두 접속되어 있으며, 모든 유니트들 내의 VMP 프로세스와 하트 비트(heart beat) 메시지를 주고받음으로써, 네트워크 또는 프로세스/호스트에 이상이 발생한 경우 이를 곧바로 감지할 수 있다. 그 결과, 본 발명에 따른 VMP 프로세스는 프로세스 관리 모듈(PNR; process and resource manager)이 네트워크 자원을 감시하는데 필요한 정보를 제공할 수 있다.The VMP process according to the present invention is connected to all the units to communicate with, and heartbeat messages are transmitted to and received from the VMP process in all units, thereby immediately detecting an abnormality in the network or a process / host. can do. As a result, the VMP process according to the present invention can provide information required by a process management module (PNR) to monitor network resources.

이하, 본 발명에 따른 다중화 서버 시스템 및 통신 방법의 양호한 실시예를 첨부 도면 도1 내지 도3을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of a multiplexing server system and a communication method according to the present invention will be described in detail with reference to the accompanying drawings.

도1은 본 발명에 따른 다중화 서버 시스템의 구성을 나타낸 도면이다. 도1을 참조하면, 동일 기능을 수행하는 서버들을 그룹으로 묶은 제1 서버 그룹(100)과 제2 서버 그룹(110), 제1 서버 그룹에 포함되는 서버들 중에서 서비스를 수행 중인 활성 서버(active server; 101)와 대기 상태(stand-by)인 대기 서버(102), 제2 서버 그룹에 포함되는 서버들 중에서 서비스를 수행중인 활성 서버(111)와 대기 상태인 대기 서버(112)가 도시되어 있다.1 is a diagram showing the configuration of a multiplexing server system according to the present invention. Referring to FIG. 1, an active server performing a service among servers included in the first server group 100, the second server group 110, and the first server group grouping servers performing the same function as a group. server 101, a standby server 102 that is stand-by, an active server 111 that is performing a service among servers included in the second server group, and a standby server 112 that is in a standby state are shown. have.

모든 서버들은 네트워크 망(120, 130)을 통해 서버들 사이의 데이터 전송, 장애 감시, 서버의 전환 등의 작업을 수행할 수 있다. 제1 서버 그룹(100)에는 한 개의 호스트 이름이 할당될 수 있으며, 제1 서버 그룹의 호스트 이름을 제1 호스트라고 부를 수 있다. 제1 호스트의 중단 없는 서비스를 위하여 다수 개의 서버(101, 102)들이 활성 상태와 대기 상태에 있게 된다.All servers may perform operations such as data transmission, failure monitoring, and server switching between the servers through the network networks 120 and 130. One host name may be assigned to the first server group 100, and the host name of the first server group may be referred to as a first host. The plurality of servers 101 and 102 are in an active state and a standby state for uninterrupted service of the first host.

또한, 제1 호스트(100)에 그룹화되어 있는 각각의 서버(101, 102)들은 엘리아스(alias) 이름을 할당받을 수 있다. 또한, 제1 서버 그룹과 제2 서버 그룹의 서버들은 다중화된 네트워크를 통하여 서로 통신을 할 수 있다. 제1 서버 그룹(100)과 제2 서버 그룹(110)에 포함되는 서버들은 제1 네트워크 망(120)과 제2 네트워크 망(130)에 동시에 연결된다. 본 발명에 따른 서버들이 연결되는 네트워크 망(120, 130)은 하나 또는 다수 개가 될 수 있다.In addition, each of the servers 101 and 102 grouped in the first host 100 may be assigned an alias name. In addition, the servers of the first server group and the second server group may communicate with each other through a multiplexed network. Servers included in the first server group 100 and the second server group 110 are simultaneously connected to the first network 120 and the second network 130. The network 120 or 130 to which the servers according to the present invention are connected may be one or multiple.

본 발명에 따른 양호한 실시예로서, 네트워크 망(120, 130)이 두 개 이상이 되도록 구성할 경우에는 서로 다른 도매인(domain)에 연결되는 네트워크 망(120, 130)을 사용하여 하나의 도매인에 대한 네트워크 장애 발생 시에도 다른 도매인에연결된 네트워크 망을 사용하도록 사용할 수 있다.As a preferred embodiment of the present invention, when the network 120, 130 is configured to be two or more, using a network (120, 130) connected to different wholesalers (domain) for one wholesaler In case of network failure, it can be used to use a network connected to another wholesaler.

도2는 본 발명에 따른 다중화 서버 시스템의 구성에 따른 다중화 서버 장치의 구성도이다. 도2를 참조하면, 다중화 서버 시스템의 제1 서버 그룹(100)에 포함되는 활성 서버(101)는 프로세스 관리(PNR; process and resource manager) 모듈(201), 다중화 감시 프로세스(DGP; duplication guardian process) 모듈(202), VMP(virtual message path) 프로세스 모듈(203), 네트워크 선택 모듈(204), VMP 환경 설정 테이블(205), 동적 엘리아스 테이블(206) 등으로 구성되어 있고, 대기 서버(102)도 활성 서버(101)와 같이 프로세스 관리 모듈(211), 다중화 감시 프로세스 모듈(212), VMP 프로세스 모듈(213), 네트워크 선택 모듈(214), VMP 환경 설정 테이블(215), 동적 엘리아스 테이블(216) 등으로 구성되어 있다.2 is a block diagram of a multiplexing server apparatus according to a configuration of a multiplexing server system according to the present invention. Referring to FIG. 2, the active server 101 included in the first server group 100 of the multiplexing server system includes a process and resource manager (PNR) module 201 and a duplication guardian process (DGP). Module 202, a virtual message path (VMP) process module 203, a network selection module 204, a VMP configuration table 205, a dynamic alias table 206, and the like. Like the active server 101, the process management module 211, the multiplexed monitoring process module 212, the VMP process module 213, the network selection module 214, the VMP configuration table 215, the dynamic alias table 216 ) And the like.

프로세스 관리 모듈(201, 211)은 서버의 구동 초기 단계에 생성되어, 서버에서 구동되는 모든 프로세스 모듈들을 생성시키고 관리하는 역할을 수행하며, 외부와 메시지를 송수신할 때에는 VMP 프로세스 모듈(203, 213)을 통하여 통신한다.The process management modules 201 and 211 are generated at the initial stage of driving of the server to create and manage all process modules driven by the server, and the VMP process modules 203 and 213 when sending and receiving messages with the outside. Communicate through.

다중화 감시 프로세스 모듈(202, 212)은 다중화된 네트워크 망(120, 130)의 장애 발생이나, 다른 서버의 장애 발생을 검사하기 위하여 일정한 시간 간격(∼1초)으로 장애 검사용 데이터를 통신한다. 본 발명에 따른 장애 검사용 데이터 통신 신호의 바람직한 실시예로서, 하트 비트(heart beat)를 사용할 수 있다. 또한, 통신하고 있는 서버의 장애 발생시 동적 엘리아스 테이블을 변경하여 장애 발생 서버를 대체할 대기 서버를 연결하는 역할을 수행한다.The multiplexing monitoring process module 202 or 212 communicates data for failure checking at regular time intervals (˜1 second) to check for failure of the multiplexed network 120 or 130 or failure of another server. As a preferred embodiment of the fault communication data communication signal according to the present invention, a heart beat may be used. It also plays a role of connecting the standby server to replace the failed server by changing the dynamic alias table when the communicating server fails.

VMP 프로세스 모듈(203, 213)은 서버 내부에서 외부로 전송할 메시지를 받아서 전송하거나, 외부 서버로부터 들어오는 메시지를 받아들이는 역할을 수행한다. 본 발명에 따른 다중화 서버 시스템에 포함되는 모든 서버들은 VMP 프로세스 모듈을 통하여 메시지를 주고받는다. 또한, VMP 프로세스 모듈(203, 213)은 TCP/IP 프로토콜을 사용하면서, 데이터를 패킷(packet)화 하여 통신한다. 한편, 네트워크 선택 모듈(204, 214)은 다중화된 네트워크 망을 통하여 통신할 때, 상대 서버와 통신할 네트워크 망을 선택한다.The VMP process modules 203 and 213 receive and transmit a message to be transmitted to the outside from the server or receive a message from an external server. All servers included in the multiplexing server system according to the present invention send and receive messages through the VMP process module. In addition, the VMP process modules 203 and 213 communicate by packetizing data while using the TCP / IP protocol. Meanwhile, the network selection modules 204 and 214 select a network to communicate with the counterpart server when communicating through the multiplexed network.

VMP 환경 설정 테이블(205, 215)은 본 발명의 다중화 서버 시스템에 참여하는 모든 서버들의 IP 주소와 엘리아스(alias)를 저장한다. 본 발명에 따른 VMP 환경 설정 테이블은 시스템 아이디, 서버 이름, 하나 또는 다수 개의 서버 엘리아스, 각 서버 엘리아스에 대응되는 서버 IP 주소로 구성될 수 있다.The VMP configuration tables 205 and 215 store IP addresses and aliases of all servers participating in the multiplexing server system of the present invention. The VMP configuration table according to the present invention may be configured with a system ID, a server name, one or more server aliases, and a server IP address corresponding to each server alias.

가상 메시지 통로 프로토콜(201, 211)은 서버 내부에서 외부로 전송할 데이터를 받아서 전송하거나, 외부 서버로부터 들어오는 데이터를 받아들이는 역할을 수행한다. 본 발명에 따른 다중화 서버 시스템에 포함되는 모든 서버들은 가상 메시지 통로 프로토콜을 통하여 메시지를 주고받는다. 또한, 가상 메시지 통로 프로토콜(201, 211)은 TCP/IP 프로토콜을 사용하면서, 데이터를 패킷(packet)화 하여 통신한다.The virtual message channel protocols 201 and 211 receive and transmit data to be transmitted from the inside of the server or receive data from an external server. All servers included in the multiplexing server system according to the present invention exchange messages through a virtual message passage protocol. The virtual message path protocols 201 and 211 communicate by packetizing data while using the TCP / IP protocol.

네트워크 선택 모듈(202, 212)은 다중화된 네트워크 망을 통하여 통신할 때, 상대 서버와 통신할 네트워크 망을 선택한다. 한편, 프로세스 관리 모듈(203, 213)은 요청 받은 프로세스를 수행하고, 요청할 프로세스를 가상 메시지 통로 프로토콜을 통하여 전송한다.The network selection modules 202 and 212 select network networks to communicate with counterpart servers when communicating through the multiplexed network. Meanwhile, the process management modules 203 and 213 perform the requested process and transmit the requested process through the virtual message path protocol.

다중화 감시 모듈(204, 214)은 다중화된 네트워크 망(120, 130)의 장애 발생이나, 다른 서버의 장애 발생을 검사하기 위하여 일정한 시간 간격(∼1초)으로 장애 검사용 데이터를 통신한다. 본 발명에 따른 장애 검사용 데이터 통신 신호의 바람직한 실시예로서, 하트 비트(heart beat)를 사용할 수 있다.The multiplexing monitoring module 204, 214 communicates data for failure checking at regular time intervals (˜1 second) to check for failure of the multiplexed network 120 or 130 or failure of another server. As a preferred embodiment of the fault communication data communication signal according to the present invention, a heart beat may be used.

VMP 환경 설정 테이블(205, 215)은 본 발명의 다중화 서버 시스템에 참여하는 모든 서버들의 IP 주소와 엘리아스(alias) 저장한다. 한편, 동적 엘리아스 테이블(206, 216)은 본 발명의 다중화 서버 시스템을 구성하는 서버들의 역할 수행 기능에 따라서 분류되는 서버 그룹들의 활성 서버의 엘리아스 및 대기 서버의 엘리아스에 대하여, 이들 각각에 대응하는 서버 이름, 서버 엘리아스, 서버 IP 주소 중에서 하나 또는 이들의 조합으로 이루어진 정보들을 저장한다.The VMP configuration tables 205 and 215 store IP addresses and aliases of all servers participating in the multiplexing server system of the present invention. On the other hand, the dynamic elias tables 206 and 216 correspond to each of the elias of the active server of the server groups and the elias of the standby server, which are classified according to the role performing functions of the servers constituting the multiplexing server system of the present invention. Stores information consisting of one or a combination of names, server aliases, and server IP addresses.

도3a는 본 발명의 바람직한 실시예에 따른 다중화 서버 시스템의 운용 방법을 나타낸 작업 흐름도이다. 도3a를 참조하면, 본 발명에 따른 다중화 서버 시스템을 구성하는 서버들이 작동하기 시작하면서, 다중화 서버 시스템을 구성하는 서버들의 정보를 저장하고 있는 동적 엘리아스 테이블을 읽어들인다(단계 S300). 본 발명에 따른 다중화 서버 시스템을 구성하는 서버들이 작동하기 시작하면서, 각 서버들은 동적 엘리아스 테이블을 읽어 들여서 서버들의 정보를 알아내고, 모든 서버들과 연결한다.3A is a flowchart illustrating a method of operating a multiplexing server system according to an exemplary embodiment of the present invention. Referring to FIG. 3A, as the servers constituting the multiplexing server system according to the present invention start to operate, the dynamic alias table storing the information of the servers constituting the multiplexing server system is read (step S300). As the servers constituting the multiplexing server system according to the present invention start to operate, each server reads the dynamic Elias table to find out the information of the servers and connects with all the servers.

본 발명에 따른 VMP 프로세스 모듈은 VMP 환경 설정 테이블을 독출하기 위한 VMP 문법 해석부와, VMP 환경 설정 테이블을 독출하기 위한 변수 할당부, VMP 환경 설정 테이블을 열어 상기 VMP 문법 해석부와 상기 변수 할당부를 이용하여 설정 환경을 독출하는 VMP 환경 설정부와, 내부 및 외부 시스템과의 통신을 위한 소켓을 열어두고, 자신의 시스템 아이디를 이용하여 서버와 접속하기 위한 접속 스레드(thread)를 생성하며, 외부 서버에 전달될 저장 파일을 조사하는 스레드와 다중화 감시를 위한 하트 비트(heart beat)를 발생하는 스레드를 생성하는 메인 VMP 부로써 구성될 수 있다.The VMP process module according to the present invention includes a VMP grammar analysis unit for reading a VMP configuration table, a variable assignment unit for reading a VMP configuration table, and a VMP grammar analysis unit and the variable assignment unit by opening a VMP configuration table. Open the VMP environment setting unit that reads the configuration environment, and open the socket for communication with internal and external systems, and create a connection thread for connecting to the server using its own system ID, It can be configured as a main VMP section that creates a thread that examines the storage file to be delivered to the server and a thread that generates heart beats for multiplexed monitoring.

본 발명에 따른 동적 엘리아스 테이블(dynamic alias table)을 작성함에 있어서 각 서버 그룹에 속하는 서버들 중에서 하나를 활성 서버로 등록하고, 나머지 서버들은 대기 서버로 등록한다. 작성된 동적 엘리아스 테이블은 모든 서버들이 똑같은 테이블을 저장한다.In creating a dynamic alias table according to the present invention, one of the servers belonging to each server group is registered as an active server, and the other servers are registered as standby servers. The created dynamic Elias table stores the same table for all servers.

본 발명에 다른 양호한 실시예로서, 동적 엘리아스 테이블은 본 발명의 다중화 서버 시스템을 구성하는 서버들의 역할 수행 기능에 따라서 분류되는 서버 그룹들의 활성 서버의 엘리아스 및 대기 서버의 엘리아스에 대하여, 이들 각각에 대응하는 서버 이름, 서버 엘리아스, 서버 IP 주소 중에서 하나 또는 이들의 조합으로 이루어진 정보들로 구성할 수 있다.In another preferred embodiment of the present invention, the dynamic elias table corresponds to each of these for the elias of the active server and the elimination of the standby server of the server groups classified according to the role performing functions of the servers constituting the multiplexing server system of the present invention. It may consist of information consisting of one or a combination of server name, server alias, server IP address.

본 발명에 따른 또 다른 양호한 실시예로서, 동적 엘리아스 테이블에 분류되어 있는 서버 그룹들의 활성 서버 엘리아스와 대기 서버 엘리아스를 모두 하나의 서버에 대한 정보로 대응시켜, 하나의 서버에서 여러 가지 기능들을 모두 수행하는 단일 서버 시스템으로 구성할 수 있다. 이어서, 활성 서버로 들어오는 메시지는 VMP 프로세스를 거쳐 프로세스 관리 모듈에 프로세스로 등록되고, 활성 서버에서 전송할 메시지는 프로세스 관리 모듈에 등록된다(단계 S301).In another preferred embodiment according to the present invention, the active server elias and the standby server elias of the server groups classified in the dynamic elias table are all mapped with information about one server to perform various functions in one server. Can be configured as a single server system. Subsequently, the message coming into the active server is registered as a process in the process management module via the VMP process, and the message to be transmitted from the active server is registered in the process management module (step S301).

이어서, 프로세스 관리 모듈에 등록된 메시지를 수신할 서버가 동적 엘리아스 테이블에 존재하는지를 확인한다(단계 S302). 이어서, 메시지를 수신할 서버가 존재할 경우에는 VMP 프로세스를 통하여 메시지를 전송한다(단계 S303). 그렇지 않고, 메시지를 전송할 네트워크 망이 모두 장애를 발생한 경우 또는 메시지를 수신할 서버가 동적 엘리아스 테이블에 존재하지 않을 경우에는 전송할 메시지를 파일로 저장한다(단계 S304).Then, it is checked whether a server to receive the message registered in the process management module exists in the dynamic alias table (step S302). Then, if there is a server to receive the message, the message is transmitted through the VMP process (step S303). Otherwise, if all the network networks to which a message is to be transmitted have failed, or if a server to receive the message does not exist in the dynamic alias table, the message to be transmitted is stored in a file (step S304).

이어서, 네트워크 망의 장애 또는 메시지를 수신할 서버의 장애가 복구되어, 메시지를 수신할 서버와 통신이 가능해지면, 파일로 저장되어 있던 메시지를 다시 전송한다(단계 S305).Subsequently, when the failure of the network or the failure of the server to receive the message is restored and communication with the server receiving the message becomes possible, the message stored in the file is transmitted again (step S305).

도3b는 본 발명의 바람직한 실시예에 따른 다중화 서버 시스템을 구성하는 서버들 사이의 연결 방법을 나타낸 작업 흐름도이다. 도3b를 참조하면, 본 발명에 따른 다중화 서버 시스템에 참여하는 각 서버들은 VMP 환경 설정 테이블을 읽어서 자신의 정보와 전체 서버들의 정보를 알아낸다(단계 S310).3B is a flowchart illustrating a connection method between servers configuring a multiplexing server system according to an exemplary embodiment of the present invention. Referring to Figure 3b, each server participating in the multiplexing server system according to the present invention reads the VMP configuration table to find out its information and the information of all the servers (step S310).

본 발명의 양호한 실시예로서, 각 서버의 정보는 시스템 아이디, 서버 이름, 하나 또는 다수 개의 서버 엘리아스, 각 서버 엘리아스에 대응하는 IP 주소 등의 조합으로 구성할 수 있다. 이어서, 각 서버들은 VMP 프로세스를 통해서 자신의 시스템 아이디보다 큰 시스템 아이디를 가진 서버들과 접속이 될 때까지 접속을 시도한다(단계 S311).In a preferred embodiment of the present invention, the information of each server may be composed of a combination of a system ID, a server name, one or more server aliases, an IP address corresponding to each server alias, and the like. Subsequently, each server attempts to connect to the server having a system ID larger than its own system ID through the VMP process (step S311).

이어서, 접속이 이루어지면 접속을 받아들인 서버가 결정하는 네트워크 망을 사용하여 통신할 것으로 결정한다(단계 S312). 본 발명의 양호한 실시예로서, 접속을 요청한 서버가 결정한 네트워크 망을 사용하여 통신할 것으로 결정할 수도 있다. 이어서, 동적 엘리아스 테이블을 읽어들여 엘리아스와 대응되는 서버와 통신을 수행한다(단계 S313).Subsequently, if a connection is established, it is determined to communicate using a network determined by the server that accepts the connection (step S312). As a preferred embodiment of the present invention, it may be decided to communicate using a network determined by the server requesting the connection. Subsequently, the dynamic Elias table is read to communicate with the server corresponding to Elias (step S313).

도3c는 본 발명의 바람직한 실시예에 따른 동적 엘리아스 테이블에 메시지를 받을 서버가 존재하는지 확인하는 방법을 나타낸 작업 흐름도이다. 도3c를 참조하면, VMP 환경 설정 테이블에 등록되어 있는 모든 서버들에게 주기적으로 장애 검사 데이터를 전송한다(단계 S320). 본 발명의 양호한 실시예로서, VMP 환경 설정 테이블에 등록되어 있는 모든 서버들의 하나 또는 다수 개의 IP 주소로 일정 시간 간격(∼1초)으로 장애 검사용 데이터를 전송하여 서버의 장애 또는 네트워크 망의 장애를 검사할 수 있다.3C is a flowchart illustrating a method of confirming whether a server to receive a message exists in the dynamic alias table according to an exemplary embodiment of the present invention. Referring to FIG. 3C, failure checking data is periodically transmitted to all servers registered in the VMP configuration table (step S320). In a preferred embodiment of the present invention, failure check data is transmitted to one or multiple IP addresses of all servers registered in the VMP configuration table at a predetermined time interval (˜1 second), thereby causing a server failure or a network network failure. Can be checked.

이어서, 장애 검사 데이터가 일정 시간 동안 도착하지 않는 서버에 대하여는 일방적으로 연결을 종료한다(단계 S321). 본 발명의 양호한 실시예로서, 장애 검사 데이터를 전송하는 일정한 시간 간격의 두 배에 해당하는 시간 간격 동안에 장애 검사 데이터가 수신되지 않는 서버에 대해서는 일방적으로 연결을 종료할 수 있다.Subsequently, the server unilaterally terminates the connection to the server where the failure check data does not arrive for a predetermined time (step S321). In a preferred embodiment of the present invention, the connection can be unilaterally terminated for a server that does not receive the failure check data during a time interval corresponding to twice a predetermined time interval for transmitting the failure check data.

이어서, 연결이 종료된 서버의 정보를 동적 엘리아스 테이블에서 삭제하고(단계 S322), 전체 서버에게 변경된 동적 엘리아스 테이블을 전송한다(단계 S323). 본 발명의 양호한 실시예로서, 연결이 종료된 서버가 동적 엘리아스 테이블에서 대기 서버인 경우에는 동적 엘리아스 테이블에서 삭제하고, 활성 서버인 경우에는 대기 서버중 하나를 활성 서버로 등록하고 전체 서버에게 변경된 동적 엘리아스 테이블을 전송할 수 있다. 본 발명의 양호한 실시예로서 단계 S320 내지 단계 S323은 본 발명에 따른 다중화 서버 시스템이 운용되는 동안에 항상 수행할 수 있다.Subsequently, the information on the server whose connection is terminated is deleted from the dynamic alias table (step S322), and the changed dynamic alias table is transmitted to all servers (step S323). In a preferred embodiment of the present invention, if the disconnected server is the standby server in the dynamic alias table, the server is deleted from the dynamic alias table. If the server is an active server, one of the standby servers is registered as the active server and changed to the entire server. Elias tables can be sent. As a preferred embodiment of the present invention, steps S320 to S323 can always be performed while the multiplexing server system according to the present invention is operated.

도3d는 본 발명의 바람직한 실시예에 따른 네트워크 망 또는 서버의 장애가 복구되면 파일로 저장된 메시지를 다시 전송하는(단계 S307) 방법을 나타낸 작업 흐름도이다. 도3d를 참조하면, 전체 서버에게 장애 검사 데이터를 주기적으로 전송하다가(단계 S330), 장애가 발생 중인 서버로부터 장애 검사 데이터를 수신하면(단계 S331), 동적 엘리아스 테이블에 새로이 연결된 서버의 정보를 추가하고(단계 S332), 전체 서버에게 변경된 동적 엘리아스 테이블을 전송한다(단계 S333).3d is a flowchart illustrating a method of retransmitting a message stored in a file (step S307) when a failure of a network or a server is repaired according to a preferred embodiment of the present invention. Referring to FIG. 3D, the failure check data is periodically transmitted to the entire server (step S330). When the failure check data is received from the server in which the failure occurs (step S331), the information of the newly connected server is added to the dynamic elias table. (Step S332), the changed dynamic alias table is transmitted to all servers (step S333).

본 발명에 따른 양호한 실시예로서, 단계 S330 내지 단계 S333은 본 발명에 따른 다중화 서버 시스템이 운용되는 동안에 항상 수행할 수 있다. 이어서, 네트워크 망 또는 연결할 서버의 장애로 인하여 전송하지 못하고 파일로 저장하고 있던 메시지를 다시 전송한다(단계 S334). 본 발명의 양호한 실시예로서 서버에게 전송할 프로세스를 프로세스 관리 모듈에 등록하기만 하면, 네트워크 망의 장애 또는 메시지를 수신할 서버의 장애 발생에 의한 제약을 받지 않고 메시지를 전송할 수 있는 신뢰성을 보장받을 수 있다.As a preferred embodiment according to the present invention, steps S330 to S333 can always be performed while the multiplexing server system according to the present invention is operated. Subsequently, due to the failure of the network or the server to be connected, the message that was not transmitted but stored as a file is transmitted again (step S334). As a preferred embodiment of the present invention, simply registering the process to be transmitted to the server in the process management module, it is possible to guarantee the reliability of transmitting the message without being limited by the failure of the network or the failure of the server to receive the message. have.

본 발명에 따른 양호한 실시예로서, 각각의 호스트에서 운영 중인 프로세스들은 VMP 프로세스 모듈에 등록하기 위하여, VMP 프로세스 모듈이 통신을 위한 소켓(socket)을 개방하는 단계와 각각의 프로세스는 초기 기동 시에 상기 VMP 프로세스 모듈에 상기 소켓을 통하여 연결을 시도하고 자신의 프로세스 이름을 등록하는 단계를 거쳐 프로세스 등록을 완료할 수 있다.In a preferred embodiment in accordance with the present invention, processes running on each host open the socket for communication by the VMP process module to register with the VMP process module and each process is recalled at initial startup. The process registration may be completed by attempting to connect to the VMP process module through the socket and registering its process name.

전술한 내용은 후술할 발명의 특허 청구 범위를 보다 잘 이해할 수 있도록 본 발명의 특징과 기술적 장점을 다소 폭넓게 개설하였다. 본 발명의 특허 청구 범위를 구성하는 부가적인 특징과 장점들이 이하에서 상술될 것이다. 개시된 본 발명의 개념과 특정 실시예는 본 발명과 유사 목적을 수행하기 위한 다른 구조의 설계나 수정의 기본으로서 즉시 사용될 수 있음이 당해 기술 분야의 숙련된 사람들에 의해 인식되어야 한다.The foregoing has outlined rather broadly the features and technical advantages of the present invention to better understand the claims of the invention which will be described later. Additional features and advantages that make up the claims of the present invention will be described below. It should be appreciated by those skilled in the art that the conception and specific embodiments of the invention disclosed may be readily used as a basis for designing or modifying other structures for carrying out similar purposes to the invention.

또한, 본 발명에서 개시된 발명 개념과 실시예가 본 발명의 동일 목적을 수행하기 위하여 다른 구조로 수정하거나 설계하기 위한 기초로서 당해 기술 분야의 숙련된 사람들에 의해 사용되어질 수 있을 것이다. 또한, 당해 기술 분야의 숙련된 사람에 의한 그와 같은 수정 또는 변경된 등가 구조는 특허 청구 범위에서 기술한 발명의 사상이나 범위를 벗어나지 않는 한도 내에서 다양한 변화, 치환 및 변경이 가능하다.In addition, the inventive concepts and embodiments disclosed herein may be used by those skilled in the art as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. In addition, such modifications or altered equivalent structures by those skilled in the art may be variously changed, substituted, and changed without departing from the spirit or scope of the invention described in the claims.

이상과 같이, 본 발명에 따른 다중화 서버 시스템 및 다중화 서버 시스템의 통신 방법은 VMP 프로세스와 VMP 환경 설정 테이블을 사용하여 다중화된 서버 시스템 및 다중화된 네트워크 망을 구성하고, 서버에서 전송할 프로세스를 대신하여 전달함으로써, 종래 기술과는 달리 서버에서 구동되는 각각의 프로세스들이 직접 메시지 통신을 수행해야 하는 부담을 가지지 않고, VMP 프로세스를 통하여 항상 동일한 인터페이스를 사용하여 통신할 수 있다.As described above, the communication method of the multiplexing server system and the multiplexing server system according to the present invention configures the multiplexed server system and the multiplexed network using the VMP process and the VMP configuration table, and transfers the processes instead of the processes to be transmitted from the server. Thus, unlike the prior art, each process running in the server does not have to burden direct message communication, and can always communicate using the same interface through the VMP process.

그 결과, 다중화된 서버 시스템 내의 통신의 안정성을 보장하고 다중화된 시스템 내에서 통신하는 프로그램 개발에 소요되는 시간과 노력을 감소시킬 수 있다.As a result, it is possible to ensure the stability of communication in the multiplexed server system and to reduce the time and effort required to develop a program that communicates in the multiplexed system.

Claims (28)

다중화된 통신 네트워크 상에서 다중화된 복수 개의 서버를 구성하는 제1 호스트의 제1 프로세스로부터 제2 호스트의 제2 프로세스로 제1 메시지를 전송하는 통신 방법에 있어서,A communication method for transmitting a first message from a first process of a first host constituting a plurality of multiplexed servers on a multiplexed communication network to a second process of a second host, the method comprising: 상기 제1 프로세스는 상기 제1 호스트에서 운영 중인 제1 VMP 프로세스 모듈에 상기 제1 메시지를 전송하는 단계;The first process comprises sending the first message to a first VMP process module running on the first host; 상기 제1 VMP 프로세스 모듈은 상기 다중화된 통신 네트워크 중 가용한 활성 통신 네트워크와, 상기 제2 호스트에 대응하여 다중화된 복수 개의 서버 가운데 활성 상태에 있는 제2 서버의 시스템 아이디를 VMP 환경 설정 테이블로부터 독출하는 단계;The first VMP process module reads an available active communication network of the multiplexed communication networks and a system ID of a second server that is active among a plurality of servers multiplexed corresponding to the second host from a VMP configuration table. Shipping step; 상기 제1 VMP 프로세스 모듈은 상기 제2 서버에 운영 중인 제2 VMP 프로세스 모듈로 상기 가용 통신 채널을 이용하여 상기 제1 메시지를 전송하는 단계; 및The first VMP process module sending the first message to the second VMP process module running on the second server using the available communication channel; And 상기 제2 VMP 프로세스 모듈은 상기 제2 서버의 상기 제2 프로세스에게 상기 제1 메시지를 전달하는 단계The second VMP process module forwarding the first message to the second process of the second server 를 포함하는 다중화 시스템의 통신 방법.Communication method of the multiplexing system comprising a. 제1항에 있어서, 상기 제1 프로세스가 상기 제1 VMP 프로세스 모듈에 상기 제1 메시지를 전송하는 단계는 선행하여,The method of claim 1, wherein the first process forwards the first message to the first VMP process module. 상기 제1 VMP 프로세스 모듈은 통신을 위한 소켓을 개방하는 단계; 및The first VMP process module opening a socket for communication; And 상기 제1 프로세스는 초기 기동 시에 상기 프로세스 관리자 모듈에 자신의 프로세스 이름을 등록하는 단계The first process registering its process name with the process manager module at initial startup 를 더 포함하는 다중화 시스템 통신 방법.Multiplexed system communication method further comprising. 제1항에 있어서, 상기 다중화 시스템 통신 방법은The method of claim 1, wherein the multiplexing system communication method is 상기 제1 VMP 프로세스 모듈이 VMP 환경 설정 테이블로부터 상기 제1 서버 및 상기 복수 개의 서버의 시스템 정보를 독출하는 단계;Reading, by the first VMP process module, system information of the first server and the plurality of servers from a VMP configuration table; 상기 제1 VMP 프로세스 모듈은 상기 시스템 정보로부터 상기 제1 서버의 시스템 아이디보다 값이 큰 시스템 아이디로 연결을 요청하는 단계;The first VMP process module requesting a connection from the system information to a system ID having a value greater than a system ID of the first server; 상기 제1 VMP 프로세스 모듈로부터 연결 요청을 받은 제2 VMP 프로세스 모듈은 상기 다중화된 통신 네트워크 중 어떤 네트워크를 사용할 것인가를 결정하는 단계;Determining, by the second VMP process module which has received the connection request from the first VMP process module, which of the multiplexed communication networks to use; 상기 제1 서버와 제2 서버는 동적 엘리아스 테이블을 읽어들여 서버 엘리아스를 결정하는 단계The first server and the second server reading a dynamic Elias table to determine a server Elias 를 포함하는 다중화 시스템 통신 방법.Multiplexed system communication method comprising a. 제3항에 있어서, 상기 다중화 시스템 통신 방법은,The method of claim 3, wherein the multiplexing system communication method comprises: 상기 제1 호스트의 제1 서버는 상기 제2 호스트의 활성 서버와의 통신 장애를 감지하는 단계Detecting, by the first server of the first host, a communication failure with an active server of the second host 를 선행하여 더 포함하는 다중화 시스템 통신 방법.Multiplexing system communication method further comprising a preceding. 제4항에 있어서, 상기 동적 엘리아스 테이블은 상기 호스트들의 활성 서버에 대응하는 엘리아스 및 대기 서버에 대응하는 엘리아스와, 상기 엘리아스에 대응되는 호스트 이름, 서버 엘리아스, 아이피 주소 중 어느 하나 또는 이들의 조합을 포함하는 다중화 시스템 통신 방법.5. The system of claim 4, wherein the dynamic Elias table comprises one or a combination of Elias corresponding to an active server of the hosts and a standby server, a host name corresponding to the Elias, a server elias, and an IP address. Multiplexing system communication method comprising. 제1항에 있어서, 상기 VMP 환경 설정 테이블은 상기 복수 개의 서버의 시스템 아이디, 호스트 이름, 엘리아스, 아이피 주소, 네트워크 인터페이스 카드 이름 중 어느 하나 또는 이들의 조합을 포함하는 다중화 시스템 통신 방법.The method of claim 1, wherein the VMP configuration table comprises one or a combination of system IDs, host names, aliases, IP addresses, and network interface card names of the plurality of servers. 다중화된 통신 네트워크 상에서 다중화된 복수 개의 서버를 구성하는 제1 호스트의 제1 프로세스로부터 제2 호스트의 제2 프로세스로 제1 메시지를 전송하는 방법에 있어서,1. A method of transmitting a first message from a first process of a first host to a second process of a second host constituting a plurality of multiplexed servers on a multiplexed communication network, the method comprising: 제2 호스트의 활성 서버인 제2A 서버와의 통신 장애를 제1 호스트의 활성 서버인 제1 서버의 다중화 감시 프로세스가 감지하는 단계;Detecting, by the multiplexing monitoring process of the first server, which is an active server of the first host, a communication failure with the server 2A, which is an active server of the second host; 상기 제1 서버의 다중화 감시 프로세스는 제1 서버의 제1 VMP 모듈에 상기 통신 장애를 통지하고, 상기 제1 VMP 모듈은 상기 제2A 서버의 엘리아스를 동적 엘리아스 테이블로부터 삭제하는 단계;The multiplexing monitoring process of the first server notifies the first VMP module of the first server of the communication failure, and wherein the first VMP module deletes an alias of the second A server from the dynamic alias table; 상기 제1 VMP 모듈은 상기 VMP 환경 설정 테이블을 이용하여 상기 복수 개의 서버들의 VMP 모듈들과 연결을 시도하는 단계;The first VMP module attempting to connect with the VMP modules of the plurality of servers using the VMP configuration table; 상기 제2 호스트의 대기 서버이던 제2S 서버의 제2 VMP 모듈은 상기 복수 개의 서버들의 VMP 모듈들과 연결되는 단계Connecting the second VMP module of the second server, which is a standby server of the second host, with the VMP modules of the plurality of servers; 를 포함하는 다중화 시스템 통신 방법.Multiplexed system communication method comprising a. 제7항에 있어서 상기 제2 VMP 모듈이 상기 복수 개의 서버들의 VMP 모듈들과 연결하는 단계는,The method of claim 7, wherein the second VMP module is connected to the VMP modules of the plurality of servers, 상기 동적 엘리아스 테이블에 대기 상태에서 활성 상태로 바뀐 제2S 서버의 시스템 정보를 업데이트하여, 연결된 상기 VMP 모듈들에게 전송하는 단계Updating system information of the second SS server changed from a standby state to an active state in the dynamic elias table, and transmitting the updated system information to the connected VMP modules; 를 더 포함하는 다중화 시스템 통신 방법.Multiplexed system communication method further comprising. 제7항에 있어서, 상기 제1 VMP 모듈이 상기 제2A 서버의 엘리아스를 삭제하는 단계는, 상기 제1 프로세스가 상기 제2 프로세스로 보내고자 하는 제1 메시지를 파일로 저장하는 단계를 더 포함하는 다중화 시스템 통신 방법.The method of claim 7, wherein the deleting of the alias of the second A server by the first VMP module further comprises: storing, in a file, a first message that the first process intends to send to the second process. Multiplexed system communication method. 다중화된 통신 네트워크 상에서 동작하는 다중화 서버 시스템을 구성하는 각각의 서버들은,Each server constituting a multiplexing server system operating on a multiplexed communication network, 상기 서버에서 수행 중인 프로세스들이 상기 통신 네트워크를 통해 접속된 다른 서버의 프로세스와 통신을 하기 위한 환경을 제공하는 VMP 모듈과;A VMP module providing an environment for processes running in the server to communicate with processes in other servers connected through the communication network; 상기 VMP 모듈이 서로 통신하기 위한 환경을 설정하여 주는 VMP 환경 설정 테이블과;A VMP configuration table for setting an environment for the VMP module to communicate with each other; 상기 서버의 활성 상태와 대기 상태를 분별하여 감시하는 다중화 감시 프로세스Multiplexed monitoring process for discriminating and monitoring the active state and standby state of the server 를 포함하는 다중화 서버 시스템.Multiplexed server system comprising a. 제10항에 있어서, 상기 VMP 모듈은 상기 VMP 환경 설정 테이블을 독출하기 위한 VMP 문법 해석부;The apparatus of claim 10, wherein the VMP module comprises: a VMP grammar interpreter configured to read the VMP configuration table; 상기 VMP 환경 설정 테이블을 독출하기 위한 변수 할당부;A variable allocator configured to read the VMP configuration table; 상기 VMP 환경 설정 테이블을 열어 상기 VMP 문법 해석부와 상기 변수 할당부를 이용하여 설정 환경을 독출하는 VMP 환경 설정부;A VMP environment setting unit which opens the VMP environment setting table and reads a setting environment using the VMP grammar analysis unit and the variable assignment unit; 내부 및 외부 시스템과의 통신을 위한 소켓을 열어두고, 자신의 시스템 아이디를 이용하여 시스템과 접속하기 위한 접속 스레드를 생성하며, 외부 시스템에 전달될 저장 파일을 조사하는 스레드와 다중화 감시를 위한 허트 비트를 발생하는 스레드를 생성하는 메인 VMP 부Opens a socket for communication with internal and external systems, creates a connection thread to connect to the system using its system ID, examines the storage file to be delivered to the external system, and a hint bit for multiplexed monitoring. Main VMP part to create a thread that fires 를 포함하는 다중화 서버 시스템.Multiplexed server system comprising a. 제11항에 있어서, 상기 VMP 환경 설정 테이블은 상기 복수 개의 서버의 시스템 아이디, 호스트 이름, 엘리아스, 아이피 주소, 네트워크 카드 이름 중 어느 하나 또는 이들의 조합을 포함하는 다중화 서버 시스템.The multiplexing server system of claim 11, wherein the VMP configuration table comprises one or a combination of system IDs, host names, aliases, IP addresses, and network card names of the plurality of servers. 복수 개의 서버로 구성되는 서버 시스템을 다중화하는 방법에 있어서,In the method of multiplexing a server system consisting of a plurality of servers, 상기 서버 시스템에 포함되는 서버들의 정보를 VMP 환경 설정 테이블에 등록하는 단계;Registering information of servers included in the server system in a VMP configuration table; 상기 서버 시스템이 동작을 시작하면서 상기 VMP 환경 설정 테이블을 이용하여 전체 서버들과 연결하는 단계;Connecting to all servers using the VMP configuration table while the server system starts operation; 상기 연결되는 서버들을 동적 엘리아스 테이블에 등록하는 단계;Registering the connected servers in a dynamic alias table; 상기 동적 엘리아스 테이블을 이용하여 서버에서 전송할 메시지를 등록하는 단계;Registering a message to be transmitted by a server using the dynamic alias table; 상기 등록된 메시지를 수신할 서버가 동적 엘리아스 테이블에 존재하면, 메시지를 전송하는 단계;If a server to receive the registered message exists in a dynamic alias table, sending a message; 상기 등록된 메시지를 수신할 서버가 동적 엘리아스 테이블에 존재하지 않으면 전송할 메시지를 파일로 저장하는 단계; 및Storing a message to be transmitted if the server to receive the registered message does not exist in the dynamic alias table; And 상기 저장된 메시지를 서비스 장애가 복구된 후 다시 전송하는 단계Transmitting the stored message again after the service failure is recovered. 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 제13항에 있어서, 상기 서버 시스템에 포함되는 서버들의 정보를 VMP 환경 설정 테이블에 등록하는 단계는The method of claim 13, wherein the registering of the servers included in the server system in a VMP configuration table comprises: 상기 서버 시스템을 구성하는 서버의 기능에 따라 서버 그룹으로 등록하는 단계;Registering as a server group according to a function of a server constituting the server system; 상기 서버들의 이름을 등록하는 단계;Registering names of the servers; 상기 서버 그룹에 포함되는 서버들과 연결된 하나 또는 다수 개의 네트워크망에 대응하는 서버의 엘리아스를 등록하는 단계; 및Registering Elias of a server corresponding to one or a plurality of network networks connected to servers included in the server group; And 상기 서버의 엘리아스들에 대응하는 서버의 주소를 등록하는 단계Registering an address of a server corresponding to the aliases of the server 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 제14항에 있어서, 상기 서버들의 이름을 등록하는 단계는15. The method of claim 14, wherein registering the names of the servers 등록되는 서버의 순서에 따라서 시스템 아이디를 순서대로 붙이는 단계Step of attaching system IDs in order according to the order of registered servers 를 더 포함하는 다중화 서버 통신 방법.Multiplexed server communication method further comprising. 제13항에 있어서, 상기 서버 시스템이 동작을 시작하면서 상기 VMP 환경 설정 테이블을 이용하여 전체 서버들과 연결하는 단계는The method of claim 13, wherein the server system starts to operate and connects to all servers using the VMP configuration table. 상기 VMP 환경 설정 테이블을 읽어들이는 단계;Reading the VMP configuration table; 상기 VMP 환경 설정 테이블로부터 자신의 시스템 아이디를 인식하는 단계; 및Recognizing a system ID of the system from the VMP configuration table; And 상기 VMP 환경 설정 테이블에 등록된 서버들 가운데 자신의 시스템 아이디보다 큰 시스템 아이디를 가진 서버들과 연결을 시도하는 단계Attempting to connect with servers having a system ID larger than its own system ID among the servers registered in the VMP configuration table 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 제13항에 있어서, 상기 연결되는 서버들을 동적 엘리아스 테이블에 등록하는 단계는14. The method of claim 13, wherein registering the connected servers in a dynamic alias table 상기 각 호스트를 구성하는 다수의 서버들 중에서 하나의 서버는 활성 서버엘리아스로 지정하는 단계; 및Designating one server among the plurality of servers configuring each host as an active server alias; And 상기 각 호스트를 구성하는 다수의 서버들 중에서 활성 서버로 지정되지 않은 서버들은 대기 서버 엘리아스로 지정하는 단계Designating a server not designated as an active server among the plurality of servers configuring each host as a standby server elias 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 제13항에 있어서, 상기 동적 엘리아스 테이블을 이용하여 서버에서 전송할 메시지를 등록하는 단계는The method of claim 13, wherein registering a message to be transmitted by a server using the dynamic alias table comprises: 상기 서버에서 전송할 메시지를 프로세스 관리 모듈에 등록하는 단계Registering a message to be sent by the server with a process management module 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 제13항에 있어서, 상기 등록된 메시지를 수신할 서버가 동적 엘리아스 테이블에 존재하면, 메시지를 전송하는 단계는15. The method of claim 13, wherein if a server to receive the registered message is in a dynamic alias table, sending the message is 상기 등록된 메시지를 수신할 서버 그룹의 활성 서버가 동적 엘리아스 테이블에 존재하는지 검색하는 단계; 및Retrieving whether an active server of a server group to receive the registered message exists in a dynamic alias table; And 상기 메시지를 수신할 활성 서버가 존재하면 VMP 프로세스를 통하여 메시지를 전송하는 단계Transmitting a message through a VMP process if there is an active server to receive the message 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 제13항에 있어서, 상기 메시지를 수신할 활성 서버가 존재하면 VMP 프로세스를 통하여 메시지를 전송하는 단계는15. The method of claim 13, wherein if there is an active server to receive the message, transmitting the message through a VMP process 상기 메시지를 VMP 프로세스에서 패킷(packet)화 하는 단계; 및Packetizing the message in a VMP process; And 상기 메시지를 TCP/IP 프로토콜을 사용하여 상대 서버의 VMP 프로세스로 전송하는 단계Sending the message to the partner server's VMP process using the TCP / IP protocol 를 더 포함하는 다중화 서버 시스템 운용 방법.Multiplexed server system operation method further comprising. 제13항에 있어서, 상기 저장된 메시지를 서비스 장애가 복구된 후 다시 전송하는 단계는The method of claim 13, wherein the resending of the stored message after the service failure is recovered 주기적으로 동적 엘리아스 테이블을 검색하여 상기 저장된 메시지를 수신할 활성 서버가 존재하는지 검사하는 단계; 및Periodically searching for a dynamic alias table and checking whether there is an active server to receive the stored message; And 상기 저장된 메시지를 수신할 서버가 VMP 환경 설정 테이블에 등록되면, 저장된 메시지를 다시 전송하는 단계If the server to receive the stored message is registered in the VMP configuration table, transmitting the stored message again. 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 다중화된 서버 및 다중화된 네트워크 망을 이용하여 다중화 서버 시스템의 장애를 검사하는 방법에 있어서,In the method for checking a failure of a multiplexed server system using a multiplexed server and a multiplexed network, 상기 다중화 서버 시스템을 구성하는 서버들이 VMP 환경 설정 테이블에 등록되어 있는 모든 서버들에게 주기적으로 장애 검사 데이터를 전송하는 단계;Periodically transmitting failure check data to all servers registered in a VMP configuration table by the servers constituting the multiplexing server system; 상기 주기적인 장애 검사 데이터를 수신한 서버로부터 일정 시간 간격 동안 장애 검사 데이터의 회신이 없으면 일방적으로 연결을 종료하는 단계;Unilaterally terminating the connection if the failure inspection data is not returned from the server receiving the periodic failure inspection data for a predetermined time interval; 상기 연결이 종료된 서버의 정보를 동적 엘리아스 테이블에서 제거하는 단계; 및Removing information of the server from which the connection is terminated from the dynamic alias table; And 상기 동적 엘리아스 테이블을 전체 서버로 전송하는 단계Transmitting the dynamic Elias table to all servers 를 포함하는 다중화 서버 통신 방법.Multiplexed server communication method comprising a. 제22항에 있어서, 상기 연결이 종료된 서버의 정보를 동적 엘리아스 테이블에서 제거하는 단계는23. The method of claim 22, wherein removing information of the server from which the connection is terminated is removed from the dynamic alias table. 상기 연결이 종료된 서버가 동적 엘리아스 테이블에 활성 서버로 등록되어 있는 경우에는 같은 그룹의 대기 서버를 활성 서버로 전환하는 단계; 및Switching the standby server of the same group to the active server when the server where the connection is terminated is registered as an active server in the dynamic alias table; And 상기 연결이 종료된 서버가 동적 엘리아스 테이블에 대기 서버로 등록되어 있는 경우에는 상기 서버의 정보를 제거하는 단계Removing the information of the server when the connection terminated server is registered as a standby server in the dynamic alias table. 를 더 포함하는 다중화 서버 통신 방법.Multiplexed server communication method further comprising. 다중화된 서버 및 다중화된 네트워크 망을 이용하는 다중화 서버 시스템을 구성하는 서버의 장애 또는 네트워크 망의 장애가 복구 되었음을 검사하는 방법에 있어서,In the method of checking that a failure of a server or a failure of a network constituting a multiplexed server system using a multiplexed server and a multiplexed network has been recovered, 상기 다중화 서버 시스템을 구성하는 서버들이 작동하는 동안에 주기적으로 장애 검사 데이터를 전체 서버로 전송하는 단계;Periodically transmitting failure check data to the entire server while the servers constituting the multiplexing server system are in operation; 상기 장애 검사 데이터를 동적 엘리아스 테이블에 등록되어 있지 않은 서버로부터 받았는지 검사하는 단계; 및Checking whether the failure inspection data has been received from a server that is not registered in the dynamic alias table; And 상기 동적 엘리아스 테이블에 등록되어 있지 않은 서버로부터 장애 검사 데이터를 받으면, 동적 엘리아스 테이블에 상기 서버의 정보를 등록하는 단계If the failure check data is received from a server that is not registered in the dynamic Elias table, registering the information of the server in the dynamic Elias table. 를 포함하는 다중화 서버화 서버 통신 방법.Multiplexed serverized server communication method comprising a. 다중화 서버 시스템을 구성하는 하나 또는 다수 개의 서버들의 다중화 장치에 있어서,In the multiplexing device of one or more servers constituting a multiplexing server system, 상기 서버들 사이의 데이터 통신을 이루기 위한 VMP 프로세스와;A VMP process for establishing data communication between the servers; 상기 서버들의 목록을 저장하는 VMP 환경 설정 테이블과;A VMP configuration table for storing the list of servers; 상기 서버들 사이의 장애 검사 데이터를 전송 또는 회송하는 장애 검사 데이터 전송부Failure check data transmission unit for transmitting or sending failure check data between the servers 를 포함하는 다중화 서버 시스템.Multiplexed server system comprising a. 제25항에 있어서, 상기 서버들 사이의 데이터 통신을 이루기 위한 VMP 프로세스는27. The VMP process of claim 25, wherein the VMP process for establishing data communication between the servers is TCP/IP 프로토콜을 사용하면서 데이터를 패킷화하여 전송하고 수신하는 기능을 구비한 VMP 프로세스VMP process with the capability to packetize, send and receive data using the TCP / IP protocol 을 포함하는 것을 특징으로 하는 다중화 서버 시스템.Multiplexed server system comprising a. 제25항에 있어서, 상기 서버들의 목록을 저장하는 VMP 환경 설정 테이블은27. The system of claim 25, wherein the VMP configuration table that stores the list of servers is 상기 다중화 서버 시스템에 참여하는 모든 서버들의 시스템 아이디를 생성하고, 상기 서버들의 IP 주소에 대한 엘리아스을 지정하는 테이블A table for generating a system ID of all servers participating in the multiplexing server system and specifying an alias for the IP address of the servers. 을 포함하는 것을 특징으로 하는 다중화 서버 시스템.Multiplexed server system comprising a. 제25항에 있어서, 상기 서버들 사이의 장애 검사 데이터를 전송 또는 회송하는 장애 검사 데이터 전송부는The fault check data transmission unit of claim 25, wherein the fault check data transmission unit configured to transmit or send fault check data between the servers. 상기 서버들의 데이터 전송로를 이용하여 일정한 시간 간격으로 장애 검사 데이터를 상기 다중화 서버 시스템에 포함된 서버들로 전송하고, 회송되는 데이터를 검사하는 데이터 전송부Data transmission unit for transmitting the failure detection data to the servers included in the multiplexing server system at regular time intervals using the data transmission path of the servers, and checks the data to be returned 를 포함하는 것을 특징으로 하는 다중화 서버 시스템.Multiplexed server system comprising a.
KR1020000018556A 2000-04-10 2000-04-10 System and method of communication for multiple server system KR100377864B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000018556A KR100377864B1 (en) 2000-04-10 2000-04-10 System and method of communication for multiple server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000018556A KR100377864B1 (en) 2000-04-10 2000-04-10 System and method of communication for multiple server system

Publications (2)

Publication Number Publication Date
KR20010090635A true KR20010090635A (en) 2001-10-19
KR100377864B1 KR100377864B1 (en) 2003-03-29

Family

ID=19662957

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000018556A KR100377864B1 (en) 2000-04-10 2000-04-10 System and method of communication for multiple server system

Country Status (1)

Country Link
KR (1) KR100377864B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100460509B1 (en) * 2000-12-22 2004-12-08 엘지전자 주식회사 A method of loading between dualized host and client
CN114706703A (en) * 2022-03-23 2022-07-05 飞腾信息技术有限公司 Multi-server system fault diagnosis device, system and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102350333B1 (en) * 2017-08-24 2022-01-14 에릭슨엘지엔터프라이즈 주식회사 Method for upgrading of software and pbx for the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100460509B1 (en) * 2000-12-22 2004-12-08 엘지전자 주식회사 A method of loading between dualized host and client
CN114706703A (en) * 2022-03-23 2022-07-05 飞腾信息技术有限公司 Multi-server system fault diagnosis device, system and method
CN114706703B (en) * 2022-03-23 2023-10-20 飞腾信息技术有限公司 Multi-path server system fault diagnosis device, system and method

Also Published As

Publication number Publication date
KR100377864B1 (en) 2003-03-29

Similar Documents

Publication Publication Date Title
US5923854A (en) Virtual internet protocol (IP) addressing
US6597700B2 (en) System, device, and method for address management in a distributed communication environment
US7567505B2 (en) VRRP technology keeping VR confidentiality
US7257817B2 (en) Virtual network with adaptive dispatcher
US7839848B2 (en) Method, device and system for message transmission
TWI736657B (en) Method and device for switching virtual internet protocol address
US20060206611A1 (en) Method and system for managing programs with network address
US20090245242A1 (en) Virtual Fibre Channel Over Ethernet Switch
US20070223494A1 (en) Method for the resolution of addresses in a communication system
US8868708B2 (en) Methods and devices for communicating diagnosis data in a real time communication network
JP4789425B2 (en) Route table synchronization method, network device, and route table synchronization program
CN104980355A (en) Source controllable multicast data transmission method and system thereof under SDN Environment
US20090006650A1 (en) Communication device, communication method, communication interface, and program product
CN109379239B (en) Method and device for configuring access switch in OpenStack environment
US7184394B2 (en) Routing system providing continuity of service for the interfaces associated with neighboring networks
KR20010090635A (en) System and method of communication for multiple server system
Cisco System Error Messages
Cisco System Error Messages
Cisco System Error Messages
Cisco System Error Messages
US8463940B2 (en) Method of indicating a path in a computer network
Cisco System Error Messages
Cisco System Error Messages
Cisco System Error Messages
Cisco System Error Messages

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080314

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee