KR20150102591A - High Availability System - Google Patents
High Availability System Download PDFInfo
- Publication number
- KR20150102591A KR20150102591A KR1020140024658A KR20140024658A KR20150102591A KR 20150102591 A KR20150102591 A KR 20150102591A KR 1020140024658 A KR1020140024658 A KR 1020140024658A KR 20140024658 A KR20140024658 A KR 20140024658A KR 20150102591 A KR20150102591 A KR 20150102591A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- client
- server
- standby
- active
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
Abstract
Description
본 발명의 실시예는 고가용성 시스템 및 고가용성 시스템에서 메시지 브로커의 동작 방법에 관한 것이다. An embodiment of the present invention relates to a high availability system and a method of operating a message broker in a high availability system.
복수대의 장비를 그룹핑하여 이중화함으로써 무중단 서비스를 지원하는 기능을 HA(High Availability, 고가용성)라 한다. 서비스를 제공하는 네트워크 장비는 일반적으로 복수의 장비를 그룹핑하여 이중화함으로써 고가용성(HA: High Availability) 시스템을 구축하여 무중단 서비스를 지원할 수 있다. HA (High Availability) is a function that supports non-disruptive services by grouping a plurality of devices and duplicating them. In general, a network device providing a service can support a non-stop service by building a high availability (HA) system by grouping a plurality of devices and duplicating them.
본 발명은 클라이언트가 증가하더라도 상태 감시로 인해 네트워크 부하나 연결이 증가하지 않는 고가용성 시스템을 제공하고자 한다. The present invention provides a high-availability system in which a network portion or a connection is not increased due to status monitoring even when a client is increased.
본 발명의 실시예에 따른 고가용성 시스템은, 복수의 노드들이 발간-구독 메시징에 의해 통신하고, 상기 복수의 노드들 중 서로 다른 노드에 각각 위치하여, 주기적으로 상태 메시지를 발간하는 액티브 클라이언트와 스탠바이 클라이언트를 포함하는 복수의 클라이언트들; 상기 복수의 노드들 중 하나에 위치하여, 상기 복수의 클라이언트들의 상태 정보를 기초로 상기 액티브 클라이언트의 장애 여부를 검출하고, 상기 스탠바이 클라이언트로의 페일오버 메시지를 발간하는 서버; 및 상기 서버가 발간한 메시지를 상기 복수의 클라이언트들로 전달하고, 상기 복수의 클라이언트들이 발간한 메시지를 상기 서버로 전달하는 메시지 브로커;를 포함할 수 있다. A high availability system according to an embodiment of the present invention includes a plurality of nodes communicating by publish-subscribe messaging, each of the plurality of nodes being located at a different node, an active client periodically issuing a status message, A plurality of clients including a client; A server located in one of the plurality of nodes for detecting a failure of the active client based on state information of the plurality of clients and issuing a failover message to the standby client; And a message broker for delivering a message issued by the server to the plurality of clients and for delivering a message issued by the plurality of clients to the server.
상기 액티브 클라이언트는, 구동에 필요한 구동 파일을 상기 메시지 브로커로 전송할 수 있다. The active client can transmit a drive file necessary for driving to the message broker.
상기 메시지 브로커는, 상기 액티브 클라이언트의 구동 파일을 상기 스탠바이 클라이언트로 전달할 수 있다. The message broker may forward the activation file of the active client to the standby client.
상기 스탠바이 클라이언트는, 상기 구동 파일을 실행하여 상기 액티브 클라이언트의 서비스를 수행할 수 있다. The standby client can execute the service of the active client by executing the drive file.
상기 액티브 클라이언트는, 장애가 복구되면 장애 복구 메시지를 발간하고, 상기 메시지 브로커로부터 상기 서버가 발간한 구동 개시 메시지를 수신하고 서비스를 재개할 수 있다.The active client may issue a failure recovery message when the failure is restored, receive a drive start message issued by the server from the message broker, and resume service.
상기 스탠바이 클라이언트는, 상기 메시지 브로커로부터 상기 서버가 발간한 구동 중지 메시지를 수신하고 서비스를 중단할 수 있다.The standby client may receive a stop message issued by the server from the message broker and stop the service.
상기 메시지 브로커는, 상기 액티브 클라이언트와 스탠바이 클라이언트가 발간한 등록 요청 메시지를 상기 서버로 전달할 수 있다.The message broker may forward the registration request message issued by the active client and the standby client to the server.
상기 메시지 브로커는, 상기 서버가 발간한 등록 완료 메시지를 상기 액티브 클라이언트와 스탠바이 클라이언트로 전달할 수 있다.The message broker may forward the registration completion message issued by the server to the active client and the standby client.
상기 액티브 클라이언트와 스탠바이 클라이언트는 각각 적어도 하나 이상의 노드에 구비될 수 있다. The active client and the standby client may each be provided in at least one node.
상기 서버, 및 상기 액티브 클라이언트와 스탠바이 클라이언트 중 하나가 동일 노드에 위치할 수 있다. The server and one of the active client and the standby client may be located at the same node.
본 발명의 실시예에 따른 복수의 노드들이 발간-구독 메시징에 의해 통신하는 고가용성 시스템에서 메시지 브로커의 동작 방법은, 상기 복수의 노드들 중 서로 다른 노드에 각각 위치한 액티브 클라이언트와 스탠바이 클라이언트가 주기적으로 발간하는 상태 메시지를 수신하는 단계; 상기 복수의 노드들 중 하나에 위치하고 상기 액티브 클라이언트와 스탠바이 클라이언트의 상태 정보를 기초로 상기 액티브 클라이언트의 장애를 검출하는 서버에게 상기 상태 메시지를 전달하는 단계; 상기 서버가 상기 액티브 클라이언트의 장애에 대응하여 발간한 상기 스탠바이 클라이언트로의 페일오버 메시지를 상기 서버로부터 수신하는 단계; 및 상기 페일오버 메시지를 상기 액티브 클라이언트와 스탠바이 클라이언트에게 전달하는 단계;를 포함할 수 있다.A method of operating a message broker in a high availability system in which a plurality of nodes communicate by publish-subscribe messaging according to an embodiment of the present invention includes the steps of: Receiving a status message to be issued; Transmitting the status message to a server located in one of the plurality of nodes and detecting a failure of the active client based on status information of the active client and the standby client; Receiving from the server a failover message to the standby client issued by the server in response to a failure of the active client; And forwarding the failover message to the active client and the standby client.
상기 방법은, 상기 액티브 클라이언트로부터 구동에 필요한 구동 파일을 수신하는 단계;를 더 포함할 수 있다. The method may further include receiving a drive file necessary for driving from the active client.
상기 방법은, 상기 액티브 클라이언트의 구동 파일을 페일오버를 수행할 상기 스탠바이 클라이언트로 전달하는 단계;를 더 포함할 수 있다.The method may further include transmitting the activation file of the active client to the standby client to perform a failover.
상기 방법은, 상기 액티브 클라이언트가 장애 복구 후 발간한 장애 복구 메시지를 상기 서버로 전달하는 단계;를 더 포함할 수 있다.The method may further include delivering a failure recovery message issued by the active client after the failure recovery to the server.
상기 방법은, 상기 서버가 발간한 구동 개시 메시지를 상기 장애 복구된 액티브 클라이언트로 전달하는 단계;를 더 포함할 수 있다.The method may further include transmitting a drive start message issued by the server to the fail-over active client.
상기 방법은, 상기 서버가 발간한 구동 중지 메시지를 상기 스탠바이 클라이언트로 전달하는 단계;를 더 포함할 수 있다.The method may further include transmitting a stop message issued by the server to the standby client.
상기 방법은, 상기 액티브 클라이언트와 스탠바이 클라이언트가 발간한 등록 요청 메시지를 상기 서버로 전달하는 단계;를 더 포함할 수 있다. The method may further include transmitting a registration request message issued by the active client and the standby client to the server.
상기 방법은, 상기 서버가 발간한 등록 완료 메시지를 상기 액티브 클라이언트와 스탠바이 클라이언트로 전달하는 단계;를 더 포함할 수 있다. The method may further include transmitting a registration completion message issued by the server to the active client and the standby client.
상기 액티브 클라이언트와 스탠바이 클라이언트는 각각 적어도 하나 이상 구비될 수 있다.At least one of the active client and the standby client may be provided.
본 발명의 실시예에 따른 고가용성 시스템은 클라이언트가 증가하더라도 네트워크 부하의 증가 없이 상태 감시가 가능하다. 또한 본 발명의 실시예에 따른 고가용성 시스템은 클라이언트가 추가 또는 삭제시에도 서버의 변경 없이 운용될 수 있다. The high availability system according to the embodiment of the present invention can monitor the status without increasing the network load even when the number of clients increases. Also, the high availability system according to the embodiment of the present invention can be operated without changing the server even when a client is added or deleted.
도 1은 본 발명의 실시예에 따른 고가용성 시스템을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 실시예에 따른 고가용성 서비스를 위한 서버의 동작 방법을 개략적으로 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 고가용성 서비스를 위한 메시지 브로커의 동작 방법을 개략적으로 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 고가용성 시스템에서 메시지 흐름을 개략적으로 도시한 흐름도이다.
도 5는 본 발명의 실시예에 따른 고가용성 시스템이 적용되는 네트워크 환경의 예를 도시한다. 1 is a block diagram that schematically illustrates a high availability system in accordance with an embodiment of the present invention.
2 is a block diagram schematically illustrating a method of operating a server for a high availability service according to an embodiment of the present invention.
3 is a block diagram schematically illustrating a method of operating a message broker for a high availability service according to an embodiment of the present invention.
4 is a flow diagram schematically illustrating a message flow in a high availability system according to an embodiment of the present invention.
5 illustrates an example of a network environment to which a high-availability system according to an embodiment of the present invention is applied.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다. The following merely illustrates the principles of the invention. Thus, those skilled in the art will be able to devise various apparatuses which, although not explicitly described or shown herein, embody the principles of the invention and are included in the concept and scope of the invention. Furthermore, all of the conditional terms and embodiments listed herein are, in principle, intended only for the purpose of enabling understanding of the concepts of the present invention, and are not intended to be limiting in any way to the specifically listed embodiments and conditions . It is also to be understood that the detailed description, as well as the principles, aspects and embodiments of the invention, as well as specific embodiments thereof, are intended to cover structural and functional equivalents thereof. It is also to be understood that such equivalents include all elements contemplated to perform the same function irrespective of currently known equivalents as well as equivalents to be developed in the future.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블록을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다. Thus, the functions of the various elements shown in the drawings, including the functional blocks shown in the figures or similar concepts, may be provided by use of dedicated hardware as well as hardware capable of executing software in connection with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or a plurality of individual processors, some of which may be shared. Also, the use of terms such as processor, control, or similar concepts should not be construed as exclusive reference to hardware capable of executing software, but may include, without limitation, digital signal processor (DSP) hardware, (ROM), random access memory (RAM), and non-volatile memory. Other hardware may also be included.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다. The above objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
한편 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.On the other hand, when an element is referred to as "including " an element, it does not exclude other elements unless specifically stated to the contrary.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 고가용성 시스템을 개략적으로 도시한 블록도이다.1 is a block diagram that schematically illustrates a high availability system in accordance with an embodiment of the present invention.
도 1을 참조하면, 본 실시예에 따른 고가용성 시스템(100)은 외부 사용자의 서비스 요청에 대응하기 위해, 각 노드의 운용 상태를 지속적으로 확인하여 운용 중인 서비스에 문제가 발생하였는지, 또는 운용 중인 노드에 문제가 발생하였는지를 확인하여 문제가 발생한 경우 다른 노드로 요청된 서비스 권리를 전환시켜 연속적인 서비스를 할 수 있도록 한다. Referring to FIG. 1, the
고가용성 시스템(100)은 서버 및 클라이언트로서 동작하는 노드들이 네트워크를 형성하는 시스템일 수 있다. 서버 및 클라이언트는 다양한 타입의 메시지를 생성하여 유선 또는 무선으로 송신 및 수신할 수 있고, 메시지를 처리하고 저장할 수 있다. 이를 위해 서버 및 클라이언트는 예를 들어, 적어도 하나의 프로세서, 적어도 하나의 메모리, 적어도 하나의 전원 공급부, 적어도 하나의 네트워크 인터페이스, 적어도 하나의 OS(Operating System) 등을 포함할 수 있다. The
본 실시예에 따른 고가용성 시스템(100)은, 서버(Server)(10), 복수의 제1 내지 제n 액티브 클라이언트(Active Client)(30: 30_1, 30_2, ..., 30_n), 복수의 제1 내지 제m 스탠바이 클라이언트(Standby Client)(50: 50_1, ..., 50_m), 및 메시지 브로커(Message Broker)(70)를 포함할 수 있다. The
서버(10), 제1 내지 제n 액티브 클라이언트(30; 30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m), 메시지 브로커(70) 각각은 적어도 하나의 노드에 위치할 수 있다. Each of the
서버(10), 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, 50_m)는 발간자(publisher) 및 구독자(subscriber)의 기능을 모두 수행할 수 있다.The
발간자(publisher)와 구독자(subscriber)는 특정 타입 또는 특정 카테고리의 메시지를 이용하여 상호 통신할 수 있으며, 이 과정에서 채널이 형성될 수 있다. Publishers and subscribers can communicate with each other using messages of a particular type or a specific category, and channels can be formed during this process.
예를 들어, 서버(10)가 메시지를 발간하고 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, 50_m)가 메시지를 구독하는 채널과, 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, 50_m)가 메시지를 발간하고 서버(10)가 메시지를 구독하는 채널이 형성될 수 있다. 발간자와 구독자 간의 통신은 메시지 브로커(70)를 통해 이루어질 수 있다. 이에 따라, 서버(10)는 한 쌍의 채널에 의해 복수의 클라이언트들과 통신이 가능하여, 클라이언트마다 통신을 위한 채널을 형성할 필요가 없다. For example, when the
발간자는 메시지 브로커(70)에게 메시지를 전송하고, 구독자는 메시지 브로커(70)에 subscription을 등록(가입)하여 메시지를 전달받는다. The publisher sends a message to the
발간자에 의해 발간된 메시지는 가입된(subscribed) 모든 구독자들에게 전송되고, 동일 채널에 동시에 복수의 발간자들이 위치할 수 있다. A message published by the publisher is sent to all subscribed subscribers, and multiple publishers may be located on the same channel at the same time.
메시지는 메시지 타입 정보 및 목적지 정보 등을 포함할 수 있다. 메시지 타입 정보는 네트워크 등록 요청 메시지(REGISTER_ACTIVE/REGISTER_PASSIVE), 상태 정보를 나타내는 메시지(HEARTBEAT_ACTIVE/HEARTBEAT_PASSIVE), 페일오버 수행 메시지(DO_FAILOVER), 페일오버 중단 메시지(DO_STANDBY), 종료 메시지(FORCE_QUIT) 등을 포함할 수 있다. 목적지 정보는 발간된 메시지의 최종 구독자 정보를 포함할 수 있다. 예를 들어, 목적지 정보는 메시지를 수신할 클라이언트, 페일오버를 수행할 클라이언트 등일 수 있다. The message may include message type information and destination information. The message type information includes a network registration request message (REGISTER_ACTIVE / REGISTER_PASSIVE), a message indicating status information (HEARTBEAT_ACTIVE / HEARTBEAT_PASSIVE), a failover execution message (DO_FAILOVER), a failover interruption message DO_STANDBY, a termination message (FORCE_QUIT) . The destination information may include the last subscriber information of the published message. For example, the destination information may be a client to receive a message, a client to perform a failover, and the like.
제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 목적지 정보를 기초로 수신한 메시지가 자신에게 해당하는 메시지인지를 파악하고, 메시지 타입에 따라 해당 명령을 수행할 수 있다. The first through the nth active clients 30_1 through 30_n and the first through mth standby clients 50_1 through 50_m receive messages based on the destination information, And can execute the corresponding command according to the message type.
서버(10)는 클라이언트들(30, 50)을 관리하는 시스템으로서, 발간(publish)/구독(subscribe) 메시징을 이용하여 메시지 브로커를 통하여 액티브 클라이언트(30)의 상태를 감시하고, 장애 발생시 스탠바이 클라이언트(50)에서 동일한 기능을 구동하도록 명령을 보낸다. The
서버(10)는 클라이언트들(30, 50)의 추가, 제거, 장애 발생, 페일오버 수행 등 클라이언트들의 상태 변화를 파악함으로써 정상적인 고가용성 서비스를 제공할 수 있도록 한다. 서버(10)는 채널에 가입된 클라이언트들(30, 50)의 식별자(ID), 상태 정보, 우선순위, 서비스 유형 등에 대한 정보를 가질 수 있다. The
서버(10)는 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)의 등록 요청 메시지를 수신할 수 있다. 등록 요청 메시지는 클라이언트의 식별자(ID) 정보를 포함할 수 있다. 식별자 정보는 클라이언트가 위치하는 노드의 IP 어드레스일 수 있다. 서버(10)는 등록 요청한 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)를 액티브 클라이언트 리스트에 추가할 수 있다. 또한 서버(10)는 등록 요청한 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)를 스탠바이 클라이언트 리스트에 추가할 수 있다. The
서버(10)는 리스트에 추가된 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 복수의 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)의 등록 요청에 대한 피드백으로 등록 완료 메시지를 발간할 수 있다. 이에 따라, 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 채널에 가입될 수 있다. The
서버(10)는 채널에 가입된 클라이언트들(30, 50)의 정보를 바탕으로 고가용성(HA) 서비스를 시작하고, 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)를 액티브 상태(ACTIVE) 또는 스탠바이 상태(STANDBY)로 설정할 수 있다. The
서버(10)는 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)의 상태 정보를 포함하는 상태 정보 메시지를 수신할 수 있다. The
서버(10)는 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)의 상태 정보를 기초로 장애 여부를 검출할 수 있다. 서버(10)는 특정 액티브 클라이언트(30)의 상태 정보 메시지가 일정 기간 이상 수신되지 않는 경우 해당 액티브 클라이언트(30)가 장애라고 판단할 수 있다. The
서버(10)는 복수의 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)들 중 적어도 하나가 장애라고 판단된 액티브 클라이언트(30)의 서비스를 수행하도록 페일오버 메시지(FAILOVER)를 발간할 수 있다. 이에 따라 액티브 클라이언트(30)에 장애가 발생하더라도 스탠바이 클라이언트(50)에 의해 연속적인 서비스를 수행할 수 있다. The
서버(10)는 장애가 복구된 액티브 클라이언트(30)의 장애 복구 메시지를 수신하면, 장애가 복구된 액티브 클라이언트(30)가 서비스를 재개하도록 구동 개시 메시지를 발간할 수 있다. 예를 들어, 장애 복구 메시지는 장애가 복구된 액티브 클라이언트(30)가 발간하는 새로운 등록 요청 메시지일 수 있다. 그리고, 구동 개시 메시지는 새로운 등록 요청 메시지에 대한 피드백으로 서버가 발간한 등록 완료 메시지일 수 있다. 서버(10)는 장애가 복구된 액티브 클라이언트(30)를 액티브 클라이언트 리스트에 다시 추가하여 업데이트할 수 있다. 그리고, 서버(10)는 페일오버 수행 중인 스탠바이 클라이언트(50)의 서비스 수행을 중단하도록 구동 중지 메시지를 발간할 수 있다. When the
제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)는 동일한 서비스를 수행하거나 상이한 서비스를 수행할 수 있다. 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)는 등록 요청 메시지를 발간할 수 있다. 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)는 등록 요청에 대한 피드백으로 등록 완료 메시지를 수신하고, 해당 서비스를 개시할 수 있다. The first to nth active clients 30_1, 30_2, ..., 30_n may perform the same service or perform different services. The first to nth active clients 30_1, 30_2, ..., 30_n may issue a registration request message. The first to n-th active clients 30_1, 30_2, ..., 30_n may receive the registration completion message as a feedback of the registration request and start the corresponding service.
제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)는 상태 정보 메시지를 주기적으로 발간할 수 있다. 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)는 장애가 발생한 경우 서비스를 중단하고, 장애가 복구되면 장애 복구 메시지(즉, 새로운 등록 요청 메시지)를 발간할 수 있다. 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)는 구동 개시 메시지(즉, 등록 완료 메시지)를 수신하면 중단된 서비스를 재개할 수 있다. The first through n-th active clients 30_1, 30_2, ..., 30_n may periodically issue status information messages. The first to nth active clients 30_1, 30_2, ..., 30_n can stop the service if a failure occurs and issue a failure recovery message (i.e., a new registration request message) when the failure is restored. The first to nth active clients 30_1, 30_2, ..., 30_n may resume the suspended service upon receiving a drive start message (i.e., a registration completion message).
제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 스탠바이 상태에서 등록 요청 메시지를 발간할 수 있다. 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 등록 요청에 대한 피드백으로 등록 완료 메시지를 수신할 수 있다. The first to m-th standby clients 50_1, ..., and 50_m may issue a registration request message in a standby state. The first to m-th standby clients 50_1, ..., and 50_m may receive the registration completion message as feedback for the registration request.
제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 상태 정보 메시지를 주기적으로 발간할 수 있다. 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 페일오버 메시지와 장애가 발생한 액티브 클라이언트(30)가 수행하던 서비스를 수행할 수 있는 구동 파일을 수신하고, 액티브 상태로 전환될 수 있다. 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 장애가 발생한 액티브 클라이언트(30)를 대신하여 서비스를 수행할 수 있다. 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)는 구동 중지 메시지를 수신하면 수행 중인 서비스를 중단하고, 다시 스탠바이 상태로 복귀할 수 있다. The first to m-th standby clients 50_1, ..., and 50_m may periodically issue status information messages. The first to m-th standby clients 50_1 to 50_m may receive a failover message and a drive file capable of performing a service performed by the failed
메시지 브로커(70)는 서버(10)와 클라이언트(30, 50) 간의 메시지 전달을 위한 모듈이다.The
메시지 브로커(70)는 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)가 발간한 등록 요청 메시지를 수신하여, 서버(10)로 전달할 수 있다. The
메시지 브로커(70)는 서버(10)가 발간한 등록 완료 메시지를 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)로 각각 전달할 수 있다. The
메시지 브로커(70)는 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)가 발간한 상태 정보 메시지를 수신하여, 서버(10)로 전달할 수 있다. 그리고, 메시지 브로커(70)는 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n)로부터 별도의 경로를 통해 서비스 수행에 필요한 구동 파일을 수신하여 저장할 수 있다. The
메시지 브로커(70)는 서버(10)가 발간한 페일오버 메시지를 수신하여, 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)로 각각 전달할 수 있다. 그리고, 메시지 브로커(70)는 페일오버 수행할 해당 스탠바이 클라이언트(50)로 장애가 발생한 액티브 클라이언트(30)의 구동 파일을 전달할 수 있다. The
메시지 브로커(70)는 장애 복구된 액티브 클라이언트(30)가 발간한 장애 복구 메시지(즉, 새로운 등록 요청 메시지)를 수신하여 서버(10)로 전달할 수 있다. 메시지 브로커(70)는 서버(10)가 발간한 구동 개시 메시지(즉, 등록 완료 메시지) 및 구동 중지 메시지를 수신하여 제1 내지 제n 액티브 클라이언트(30_1, 30_2, ..., 30_n) 및 제1 내지 제m 스탠바이 클라이언트(50_1, ..., 50_m)로 전달할 수 있다. 이에 따라 장애 복구된 액티브 클라이언트(30)는 액티브 상태로 복귀하여 서비스를 재개하고, 페일오버를 수행하던 스탠바이 클라이언트(50)는 서비스를 중단하고 스탠바이 상태로 복귀할 수 있다. The
도 2는 본 발명의 실시예에 따른 고가용성 서비스를 위한 서버의 동작 방법을 개략적으로 도시한 블록도이다. 2 is a block diagram schematically illustrating a method of operating a server for a high availability service according to an embodiment of the present invention.
도 2를 참조하면, 서버는 메시지 브로커를 통해 적어도 하나의 액티브 클라이언트와 적어도 하나의 스탠바이 클라이언트로부터 상태 정보 메시지를 주기적으로 수신할 수 있다(S21).Referring to FIG. 2, a server periodically receives a status information message from at least one active client and at least one standby client through a message broker (S21).
서버는 액티브 클라이언트의 상태 정보 메시지를 기초로 액티브 클라이언트의 장애 여부를 검출할 수 있다(S23). 서버는 액티브 클라이언트의 상태 정보가 정해진 주기에 수신되지 않으면 장애로 판단할 수 있다. The server can detect the failure of the active client based on the status information message of the active client (S23). The server can determine that the active client's status information is not received within a predetermined period of time.
서버는 액티브 클라이언트가 장애로 판단되면, 스탠바이 클라이언트에게 페일오버를 요청하는 페일오버 메시지를 발간할 수 있다(S25). 메시지 브로커는 페일오버 메시지와 구동 파일을 스탠바이 클라이언트로 전달할 수 있다. If it is determined that the active client has failed, the server may issue a fail-over message requesting the standby client to fail (S25). The message broker can pass the failover message and the running file to the standby client.
서버는 액티브 클라이언트로부터 장애 복구 메시지를 메시지 브로커를 통해 수신하면(S27), 장애 복구된 액티브 클라이언트가 서비스를 재개하도록 하는 구동 개시 메시지와 페일오버 중인 스탠바이 클라이언트가 서비스를 중단하도록 구동 중지 메시지를 발간할 수 있다(S29). 이에 따라 메시지 브로커를 통해 구동 개시 메시지를 수신한 액티브 클라이언트는 액티브 상태로 전환되어 서비스를 다시 시작하고, 구동 중지 메시지를 수신한 스탠바이 클라이언트는 서비스를 중단하여 스탠바이 상태로 전환될 수 있다. When the server receives the failure recovery message from the active client through the message broker (S27), the server issues a drive start message for causing the failed active client to restart the service and a standby client in the fail-over to suspend the service (S29). Accordingly, the active client receiving the drive start message through the message broker is switched to the active state to restart the service, and the standby client receiving the drive stop message can switch to the standby state by stopping the service.
도 3은 본 발명의 실시예에 따른 고가용성 서비스를 위한 메시지 브로커의 동작 방법을 개략적으로 도시한 블록도이다. 3 is a block diagram schematically illustrating a method of operating a message broker for a high availability service according to an embodiment of the present invention.
도 3을 참조하면, 메시지 브로커는 적어도 하나의 액티브 클라이언트와 적어도 하나의 스탠바이 클라이언트가 발간한 상태 정보 메시지를 주기적으로 수신하여 서버로 전달할 수 있다(S31).Referring to FIG. 3, the message broker periodically receives a status information message issued by at least one active client and at least one standby client, and transmits the status information message to the server (S31).
메시지 브로커는 서버가 발간한 페일오버 메시지를 수신하여 스탠바이 클라이언트로 전달할 수 있다(S33). 메시지 브로커는 장애가 발생한 액티브 클라이언트의 구동 파일을 스탠바이 클라이언트로 전달할 수 있다. The message broker can receive the failover message issued by the server and forward it to the standby client (S33). The message broker can forward the running file of the failed active client to the standby client.
예를 들어, 메시지 브로커는 복수의 액티브 클라이언트와 복수의 스탠바이 클라이언트에게 페일오버 메시지를 전달하고, 페일오버 메시지를 수신한 복수의 액티브 클라이언트와 복수의 스탠바이 클라이언트는 각각 페일오버 메시지의 페일오버 수행 클라이언트의 IP 어드레스를 기초로 자신의 메시지인지 여부를 확인할 수 있다. 해당 IP 어드레스의 스탠바이 클라이언트는 자신의 메시지로 확인되면, 수신한 구동 파일을 실행하고 페일오버 명령을 수행할 수 있다. For example, a message broker delivers a failover message to a plurality of active clients and a plurality of standby clients, and a plurality of active clients and a plurality of standby clients, each of which receives a failover message, It is possible to confirm whether or not the message is its own based on the IP address. When the standby client of the IP address is confirmed by its own message, it can execute the received drive file and execute the failover command.
메시지 브로커는 액티브 클라이언트가 발간한 장애 복구 메시지를 수신하여 서버로 전달할 수 있다(S35). The message broker may receive the failback message issued by the active client and forward it to the server (S35).
메시지 브로커는 서버가 발간한 장애 복구된 액티브 클라이언트가 서비스를 재개하도록 하는 구동 개시 메시지와 페일오버 중인 스탠바이 클라이언트가 서비스를 중단하도록 구동 중지 메시지를 수신하여 액티브 클라이언트와 스탠바이 클라이언트로 전달할 수 있다(S37). The message broker may receive a start-up message that causes the fail-over active client issued by the server to resume the service, and a suspend message that the standby client is failing to stop the service, and may forward the message to the active client and the standby client at step S37. .
예를 들어, 액티브 클라이언트와 스탠바이 클라이언트는 각각 구동 개시 메시지와 구동 중지 메시지를 수신하고 자신의 메시지인지 여부를 확인한 후, 자신에게 해당하는 메시지의 명령을 수행할 수 있다. 액티브 클라이언트는 구동 개시 메시지를 자신의 메시지로 확인하고 서비스를 다시 시작할 수 있고, 스탠바이 클라이언트는 구동 중지 메시지를 자신의 메시지로 확인하고 서비스를 중단할 수 있다. For example, the active client and the standby client can receive a driving start message and a driving stop message, check whether each message is a message of itself, and then execute an instruction of a corresponding message. The active client can confirm the start-up message with its own message and restart the service, and the standby client can confirm the start-stop message with its own message and stop the service.
도 4는 본 발명의 실시예에 따른 고가용성 시스템에서 메시지 흐름을 개략적으로 도시한 흐름도이다. 4 is a flow diagram schematically illustrating a message flow in a high availability system according to an embodiment of the present invention.
도 4에서는 설명의 편의를 위해 하나의 액티브 클라이언트(30)와 하나의 스탠바이 클라이언트(50)만을 도시하였으나, 복수의 액티브 클라이언트(30)와 복수의 스탠바이 클라이언트(50)가 구비된 경우에도 동일하게 적용할 수 있음은 물론이다. 서버(10)가 발간한 메시지는 복수의 액티브 클라이언트(30)와 복수의 스탠바이 클라이언트(50)로 전달되고, 각 액티브 클라이언트(30)가 발간한 메시지는 서버(10)로 전달되고, 각 스탠바이 클라이언트(50)가 발간한 메시지는 서버(10)로 전달될 수 있다. 복수의 액티브 클라이언트(30)와 복수의 스탠바이 클라이언트(50)는 수신한 메시지가 자신의 메시지인지를 식별하고, 자신의 메시지인 경우 메시지 타입에 따라 명령을 수행할 수 있다. Although only one
도 4를 참조하면, 고가용성 시스템은 등록 단계(1), 상태 관리 단계(2) 및 페일오버 단계(3)로 운영될 수 있다.Referring to FIG. 4, a high availability system may operate in
등록 단계(1)에서, 액티브 클라이언트(30)는 등록 요청 메시지를 발간하고(S71), 메시지 브로커(70)는 등록 요청 메시지를 수신하여 서버(10)로 전달할 수 있다(S72). 서버(10)는 액티브 클라이언트(30)를 액티브 클라이언트 리스트에 추가할 수 있다(S73). 서버(10)는 등록 완료 메시지를 발간하고(S74), 메시지 브로커(70)는 등록 완료 메시지를 수신하여 액티브 클라이언트(30)로 전달할 수 있다(S75).In the
유사하게, 스탠바이 클라이언트(50)는 등록 요청 메시지를 발간하고(S76), 메시지 브로커(70)는 등록 요청 메시지를 수신하여 서버(10)로 전달할 수 있다(S77). 서버(10)는 스탠바이 클라이언트(50)를 스탠바이 클라이언트 리스트에 추가할 수 있다(S78). 서버(10)는 등록 완료 메시지를 발간하고(S79), 메시지 브로커(70)는 등록 완료 메시지를 수신하여 스탠바이 클라이언트(50)로 전달할 수 있다(S80).Similarly, the
상태 관리 단계(2)에서, 액티브 클라이언트(30)와 스탠바이 클라이언트(50)는 각각 자신의 상태 정보를 알리는 상태 정보 메시지를 주기적으로 발간할 수 있다(S81, S82). 액티브 클라이언트(30)와 스탠바이 클라이언트(50)는 동시에 또는 다른 시기에 상태 정보 메시지를 각각 발간할 수 있다. 메시지 브로커(70)는 상태 정보 메시지를 수신하여 동시에 또는 다른 시기에 서버(10)로 전달할 수 있다(S83). 서버(10)는 상태 정보 메시지를 기초로 액티브 클라이언트(30)와 스탠바이 클라이언트(50)의 상태를 확인하고, 상태 정보를 업데이트할 수 있다(S84).In the
페일오버 단계(3)에서, 액티브 클라이언트(30)는 자신의 서비스 수행을 위해 필요한 구동 파일을 메시지 브로커(70)에게 전달하여 백업할 수 있다(S91). 도 4의 실시예에서 구동 파일 백업(S91)은 페일오버 단계(3)에서 수행되고 있으나, 본 발명은 이에 한정되지 않고, 등록 단계(1) 또는 상태 관리 단계(2)에서 수행될 수도 있다. 액티브 클라이언트(30)의 상태 정보 메시지가 일정 기간 동안 수신되지 않으면, 서버(10)는 액티브 클라이언트(30)를 장애로 판단하고(S92), 페일오버 메시지를 발간할 수 있다(S93). 메시지 브로커(70)는 페일오버 메시지를 수신하여 페일오버를 수행할 스탠바이 클라이언트(50)로 전달하고(S95), 또한 백업된 액티브 클라이언트(30)의 구동 파일을 스탠바이 클라이언트(50)로 전달할 수 있다(S94). In the failover step (3), the active client (30) transfers the drive file necessary for performing its service to the message broker (70) and can back it up (S91). In the embodiment of FIG. 4, the drive file backup S91 is performed in the
도 5는 본 발명의 실시예에 따른 고가용성 시스템이 적용되는 네트워크 환경의 예를 도시한다. 5 illustrates an example of a network environment to which a high-availability system according to an embodiment of the present invention is applied.
도 5에 도시된 데이터 처리 네트워크(1000)에서 복수의 디바이스들(1010)은 제1네트워크(1020)와 제2네트워크(1070)를 통해 모니터링 서버(1080)와 통신할 수 있다. 복수의 디바이스들(1010)은 카메라, 이동 단말, 컴퓨팅 디바이스 등을 포함할 수 있다. 제1네트워크(1020)와 제2네트워크(1070)는 유선 또는 무선 네트워크일 수 있다. 또한 제1네트워크(1020)와 제2네트워크(1070)는 근거리 또는 원거리 네트워크일 수 있다. In the
게이트웨이(Gateway)(1050) 또는 미디어 서버(Media Server)는 통신 링크를 통해 제1네트워크(1020)와 제2네트워크(1070) 각각에 연결되어 제1네트워크(1020)와 제2네트워크(1070) 각각의 관문(point of entry)으로 기능할 수 있다. 게이트웨이(1050)는 통신을 위한 관문의 장비이기 때문에 장애 발생 시 모든 네트워크가 마비되는 특정 지점의 오류(Single point of failure)가 될 수도 있다. A
따라서, 지속적인 네트워크 환경을 위해, 본 발명의 고가용성 시스템을 게이트웨이(1050)에 적용하여, 게이트웨이(1050)의 지속적인 서비스가 가능하도록 할 수 있다. 예를 들어, 게이트웨이(1050)에 액티브 클라이언트를 구현하고, 게이트웨이(1050)가 스탠바이 클라이언트, 메시지 브로커 및 서버가 구현된 노드와 네트워크를 형성할 수 있다. 다른 예로서, 게이트웨이(1050)에 서버와 액티브 클라이언트를 함께 구현하고, 스탠바이 클라이언트, 메시지 브로커가 구현된 노드와 네트워크를 형성할 수 있다. Thus, for a persistent network environment, the high availability system of the present invention can be applied to the
본 실시예에 따른 고가용성 시스템은 하드웨어나 소프트웨어 또는 네트워크 등의 시스템 자원에 어떠한 결함이 발생하였을 경우라도 지속적으로 정상적인 서비스를 제공할 수 있다. 즉, 본 실시예에 따른 고가용성 시스템은 네트워크를 통해서 대상 사용자에게 직접적으로 서비스 등을 제공함에 있어서, 서비스의 안전성을 높일 수 있다. The high availability system according to the present embodiment can continuously provide a normal service regardless of any defects occurring in system resources such as hardware, software, or a network. That is, the high-availability system according to the present embodiment can enhance the security of the service in providing the service directly to the target user through the network.
본 발명의 실시예는 고가용성 시스템뿐만 아니라 클러스터링을 제공해야 하는 시스템 및 클라우드 컴퓨팅 환경에서의 노드 관리에 적용할 수 있다. The embodiments of the present invention can be applied not only to a high availability system but also to a system in which clustering must be provided and node management in a cloud computing environment.
본 발명에 따른 고가용성 시스템의 운용 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The method of operating the high-availability system according to the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers of the technical field to which the present invention belongs.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, You will understand. Accordingly, the true scope of protection of the present invention should be determined only by the appended claims.
100: 고가용성 시스템
10: 서버
30: 액티브 클라이언트
50: 스탠바이 클라이언트
70: 메시지 브로커100: High availability system
10: Server
30: Active Client
50: Standby client
70: Message Broker
Claims (10)
상기 복수의 노드들 중 서로 다른 노드에 각각 위치하여, 주기적으로 상태 메시지를 발간하는 액티브 클라이언트와 스탠바이 클라이언트를 포함하는 복수의 클라이언트들;
상기 복수의 노드들 중 하나에 위치하여, 상기 복수의 클라이언트들의 상태 정보를 기초로 상기 액티브 클라이언트의 장애 여부를 검출하고, 상기 스탠바이 클라이언트로의 페일오버 메시지를 발간하는 서버; 및
상기 서버가 발간한 메시지를 상기 복수의 클라이언트들로 전달하고, 상기 복수의 클라이언트들이 발간한 메시지를 상기 서버로 전달하는 메시지 브로커;를 포함하는, 고가용성 시스템.In a high availability system in which a plurality of nodes communicate by publish-subscribe messaging,
A plurality of clients located at different ones of the plurality of nodes and each including an active client and a standby client that periodically issue status messages;
A server located in one of the plurality of nodes for detecting a failure of the active client based on state information of the plurality of clients and issuing a failover message to the standby client; And
And a message broker for delivering a message issued by the server to the plurality of clients and for delivering a message issued by the plurality of clients to the server.
상기 액티브 클라이언트는, 구동에 필요한 구동 파일을 상기 메시지 브로커로 전송하는, 고가용성 시스템.The method according to claim 1,
Wherein the active client sends to the message broker a drive file necessary for driving.
상기 메시지 브로커는, 상기 액티브 클라이언트의 구동 파일을 상기 스탠바이 클라이언트로 전달하는, 고가용성 시스템.3. The method of claim 2,
Wherein the message broker delivers the activation file of the active client to the standby client.
상기 스탠바이 클라이언트는, 상기 구동 파일을 실행하여 상기 액티브 클라이언트의 서비스를 수행하는, 고가용성 시스템.The method of claim 3,
And the standby client performs the service of the active client by executing the drive file.
상기 액티브 클라이언트는, 장애가 복구되면 장애 복구 메시지를 발간하고, 상기 메시지 브로커로부터 상기 서버가 발간한 구동 개시 메시지를 수신하여 서비스를 재개하는, 고가용성 시스템.The method according to claim 1,
Wherein the active client issues a failback message when the failure is restored and receives a drive start message issued by the server from the message broker to resume service.
상기 스탠바이 클라이언트는, 상기 메시지 브로커로부터 상기 서버가 발간한 구동 중지 메시지를 수신하고 서비스를 중단하는, 고가용성 시스템.6. The method of claim 5,
Wherein the standby client receives from the message broker a drive stop message issued by the server and stops the service.
상기 메시지 브로커는, 상기 액티브 클라이언트와 스탠바이 클라이언트가 발간한 등록 요청 메시지를 상기 서버로 전달하는, 고가용성 시스템.The method according to claim 1,
Wherein the message broker delivers a registration request message issued by the active client and the standby client to the server.
상기 메시지 브로커는, 상기 서버가 발간한 등록 완료 메시지를 상기 액티브 클라이언트와 스탠바이 클라이언트로 전달하는, 고가용성 시스템.8. The method of claim 7,
Wherein the message broker delivers a registration completion message issued by the server to the active client and the standby client.
상기 액티브 클라이언트와 스탠바이 클라이언트는 각각 적어도 하나 이상의 노드에 구비된, 고가용성 시스템.The method according to claim 1,
Wherein the active client and the standby client are each provided at at least one node.
상기 서버, 및 상기 액티브 클라이언트와 스탠바이 클라이언트 중 하나가 동일 노드에 위치하는, 고가용성 시스템.The method according to claim 1,
Wherein the server and one of the active client and the standby client are located at the same node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140024658A KR102161211B1 (en) | 2014-02-28 | 2014-02-28 | High Availability System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140024658A KR102161211B1 (en) | 2014-02-28 | 2014-02-28 | High Availability System |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150102591A true KR20150102591A (en) | 2015-09-07 |
KR102161211B1 KR102161211B1 (en) | 2020-09-29 |
Family
ID=54243336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140024658A KR102161211B1 (en) | 2014-02-28 | 2014-02-28 | High Availability System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102161211B1 (en) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000009582A (en) * | 1998-07-27 | 2000-02-15 | 윤종용 | High-availability system and data protection method of thereof for protection of data |
KR20000038701A (en) * | 1998-12-08 | 2000-07-05 | 이계철 | Method for duplicating error monitoring of distribution processor using internet control message protocol |
KR20020054515A (en) * | 2000-12-28 | 2002-07-08 | 엘지전자 주식회사 | Duplication method of agent in telecommunication management network |
KR20030051930A (en) * | 2001-12-20 | 2003-06-26 | 한국전자통신연구원 | Apparatus and method for embodying high availability in cluster system |
WO2003107207A1 (en) * | 2001-01-31 | 2003-12-24 | Zambeel, Inc. | Dynamic server directory for distributed computing system |
KR20040086539A (en) * | 2003-03-27 | 2004-10-11 | 마이크로소프트 코포레이션 | Providing information links via a network |
KR100693663B1 (en) | 2003-12-30 | 2007-03-14 | 엘지엔시스(주) | System and Method for detecting obstacle of node |
US20100064168A1 (en) * | 2008-09-11 | 2010-03-11 | Netapp, Inc. | Transactional failover of data sets |
KR20110002708A (en) * | 2009-07-02 | 2011-01-10 | 엔에이치엔(주) | High availability data base management system and method for managing database using high availability data base management system |
KR20120074528A (en) * | 2010-12-28 | 2012-07-06 | 엘지에릭슨 주식회사 | Cluster node control method and internet protocol private branch exchange |
KR20130062340A (en) * | 2010-09-01 | 2013-06-12 | 알까뗄 루슨트 | Method and apparatus for restoring a connection through a provider network upon request |
-
2014
- 2014-02-28 KR KR1020140024658A patent/KR102161211B1/en active IP Right Grant
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000009582A (en) * | 1998-07-27 | 2000-02-15 | 윤종용 | High-availability system and data protection method of thereof for protection of data |
KR20000038701A (en) * | 1998-12-08 | 2000-07-05 | 이계철 | Method for duplicating error monitoring of distribution processor using internet control message protocol |
KR20020054515A (en) * | 2000-12-28 | 2002-07-08 | 엘지전자 주식회사 | Duplication method of agent in telecommunication management network |
WO2003107207A1 (en) * | 2001-01-31 | 2003-12-24 | Zambeel, Inc. | Dynamic server directory for distributed computing system |
KR20030051930A (en) * | 2001-12-20 | 2003-06-26 | 한국전자통신연구원 | Apparatus and method for embodying high availability in cluster system |
KR20040086539A (en) * | 2003-03-27 | 2004-10-11 | 마이크로소프트 코포레이션 | Providing information links via a network |
KR100693663B1 (en) | 2003-12-30 | 2007-03-14 | 엘지엔시스(주) | System and Method for detecting obstacle of node |
US20100064168A1 (en) * | 2008-09-11 | 2010-03-11 | Netapp, Inc. | Transactional failover of data sets |
KR20110002708A (en) * | 2009-07-02 | 2011-01-10 | 엔에이치엔(주) | High availability data base management system and method for managing database using high availability data base management system |
KR20130062340A (en) * | 2010-09-01 | 2013-06-12 | 알까뗄 루슨트 | Method and apparatus for restoring a connection through a provider network upon request |
KR20120074528A (en) * | 2010-12-28 | 2012-07-06 | 엘지에릭슨 주식회사 | Cluster node control method and internet protocol private branch exchange |
Also Published As
Publication number | Publication date |
---|---|
KR102161211B1 (en) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102004160B1 (en) | Apparatus and method for logical grouping method of iot connected client nodes using client identifier | |
KR101891365B1 (en) | Providing a witness service | |
US10983880B2 (en) | Role designation in a high availability node | |
CN107526659B (en) | Method and apparatus for failover | |
RU2670794C9 (en) | Method and system for forming flexible node on local or distributed computing systems | |
US20030005350A1 (en) | Failover management system | |
CN106330475B (en) | Method and device for managing main and standby nodes in communication system and high-availability cluster | |
US20140026000A1 (en) | Highly available server system based on cloud computing | |
EP3210367B1 (en) | System and method for disaster recovery of cloud applications | |
CN104221004A (en) | Cluster wide consistent detection of interconnect failures | |
JP2004519024A (en) | System and method for managing a cluster containing multiple nodes | |
EP2637102B1 (en) | Cluster system with network node failover | |
EP2656212B1 (en) | Activate attribute for service profiles in unified computing system | |
JP2013161251A (en) | Computer failure monitoring program, method, and device | |
CN112799786A (en) | Exit method, device, equipment and storage medium of micro-service instance | |
CN104158707A (en) | Method and device of detecting and processing brain split in cluster | |
CN110830283A (en) | Fault detection method, device, equipment and system | |
Thean et al. | Container-based MQTT broker cluster for edge computing | |
CN112217847A (en) | Micro service platform, implementation method thereof, electronic device and storage medium | |
CN110958151B (en) | Keep-alive detection method, keep-alive detection device, node, storage medium and communication system | |
JP2015060375A (en) | Cluster system, cluster control method, and cluster control program | |
JPH09293059A (en) | Decentralized system and its operation management method | |
JP4806382B2 (en) | Redundant system | |
KR102161211B1 (en) | High Availability System | |
JP6856574B2 (en) | Service continuation system and service continuation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |