KR101592323B1 - System and method for remote server recovery - Google Patents

System and method for remote server recovery Download PDF

Info

Publication number
KR101592323B1
KR101592323B1 KR1020150081172A KR20150081172A KR101592323B1 KR 101592323 B1 KR101592323 B1 KR 101592323B1 KR 1020150081172 A KR1020150081172 A KR 1020150081172A KR 20150081172 A KR20150081172 A KR 20150081172A KR 101592323 B1 KR101592323 B1 KR 101592323B1
Authority
KR
South Korea
Prior art keywords
server
recovery
management terminal
manager
remote management
Prior art date
Application number
KR1020150081172A
Other languages
Korean (ko)
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 KR1020150081172A priority Critical patent/KR101592323B1/en
Application granted granted Critical
Publication of KR101592323B1 publication Critical patent/KR101592323B1/en
Priority to PCT/KR2016/006237 priority patent/WO2016200232A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Abstract

The present invention relates to a system and method for remotely recovering a server during a failure of the server. More specifically, the present invention provides the system and method for remotely recovering a server during a failure of the server; a recording medium storing a program for providing the same; and a computer program stored in the medium to provide the same wherein smooth workflow can be maintained by rapidly performing recovery according to a recovery scenario inputted in a manger server by a simple operation when a failure occurs in the server. The system for remotely recovering a server during a failure of the server includes: a backup server (100); the manager server (200) which is inputted preset recovery scenario, and receives status information of the backup server (100) from an agent program installed in the backup server (100); and a remote management terminal (300).

Description

서버 장애 시 원격 서버 복구 시스템 및 방법{SYSTEM AND METHOD FOR REMOTE SERVER RECOVERY}SYSTEM AND METHOD FOR REMOTE SERVER RECOVERY BACKGROUND OF THE INVENTION [0001]

본 발명은 서버 장애 시 원격 서버 복구 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 매니저서버에 입력된 복구시나리오에 따라 자동복구가 가능한 서버 장애 시 원격 서버 복구 시스템 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.
The present invention relates to a system and method for recovering a remote server in the event of a server failure, and more particularly, to a system and method for recovering a remote server in the event of a server failure capable of automatic recovery according to a recovery scenario input to the manager server, And a computer program stored on a medium for implementing the same.

DDoS(Distributed Denial of Service)는 '분산 서비스 거부' 또는 '분산 서비스 거부 공격'이라고도 한다. 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 해킹 방식의 하나이다. Distributed Denial of Service (DDoS) is also called 'distributed denial of service' or 'distributed denial of service attack'. It is one of the hacking methods that attack specific sites by distributing and deploying multiple attackers simultaneously.

서비스 공격을 위한 도구들을 여러 대의 컴퓨터에 심어놓고 공격 목표인 사이트의 컴퓨터시스템이 처리할 수 없을 정도로 엄청난 분량의 패킷을 동시에 범람시킴으로써 네트워크의 성능을 저하시키거나 시스템을 마비시키는 방식이다.It is a way to impair network performance or paralyze a system by planting tools for attacking services on multiple computers and overflowing a huge amount of packets simultaneously so that the site's computer system can not handle the attack target.

DDoS 공격은 특정 컴퓨터에 침투해 자료를 삭제하거나 훔쳐 가는 것이 아니라 목표 서버가 다른 정당한 신호를 받지 못하게 방해하는 작용을 한다. 쉽게 말해 대량의 접속을 유발해 해당 컴퓨터를 마비시키는 수법이다.A DDoS attack does not penetrate a particular computer and delete or steal data, but it prevents the target server from receiving other legitimate signals. It is a technique to paralyze a computer by causing a mass connection.

특정 사이트를 공격하기 위해 해커가 서비스 공격을 위한 도구들을 여러 컴퓨터에 심어 놓고 목표 사이트의 컴퓨터 시스템이 처리할 수 없는 엄청난 분량의 패킷을 동시에 범람시키면 네트워크의 성능 저하나 시스템 마비를 가져온다. 그 결과 시스템 과부화로 정상고객들이 접속을 할 수 없는 상태가 되는 것이다.In order to attack a specific site, a hacker puts tools for attacking a service on several computers, flooding a huge amount of packets simultaneously that the computer system of the target site can not handle, resulting in network performance degradation or system paralysis. As a result, system overload will make normal customers inaccessible.

이러한 DDoS 공격 등의 재난재해 발생으로 인해 갑작스런 서버 장애 사고가 끊이지 않고 있으며, 그 외에도 예측할 수 없는 재난재해로 인해 기관의 주요 서버가 마비되는 사고가 빈번히 발생하고 있다.Sudden server failures due to such disasters such as DDoS attacks and other unpredictable disasters often cause paralysis of major servers of an institution.

이러한 서버 장애 시 이를 복구하기 위하여 종래에는 인력을 직접 투입하여 오프라인 상에서 복구 작업을 해왔으나, 이는 장애 복구의 시간 지연을 초래하는 문제점이 있다. 게다가 야간이나 공휴일 등에 발생하는 서버 장애는 오프라인에서 신속한 복구가 어려운 실정이다. 따라서 예측 불허의 재난재해로 인해 기관의 서버장애 발생 시 장애서버 상태를 모니터링 하여 원격으로 문제를 해결할 수 있는 기술이 필요한 실정이다.Conventionally, in order to recover from such a server failure, a worker has been directly inputting the data to restore the data in an off-line manner. In addition, server failures such as nighttime and public holidays are difficult to recover quickly from offline. Therefore, there is a need for a technique to remotely solve problems by monitoring the status of a server in case of a server failure due to a disaster such as an unpredictable disaster.

한국등록특허 제10-0734110호는 TCP단에서의 서버 에러 복구 방법을 개시하고 있다.
Korean Patent No. 10-0734110 discloses a method of recovering a server error in a TCP terminal.

한국등록특허공보 10-0734110B1Korean Patent Publication No. 10-0734110B1

본 발명은 상기 종래 기술의 문제점을 해결하기 위한 것으로서, DDoS 공격 등의 재난재해 발생으로 서버 장애 시, 간단한 조작으로 미리 설정된 복구 시나리오에 따라 신속한 복구를 수행하여 업무의 원활한 흐름을 유지하도록 하는 서버 장애 시 원격 서버 복구 시스템 및 방법을 제공하는데 그 목적이 있다.
Disclosure of Invention Technical Problem [8] The present invention has been made to solve the above problems of the prior art, and it is an object of the present invention to provide a system and method for preventing a server malfunction caused by a disaster disaster such as a DDoS attack by performing a quick recovery according to a recovery scenario preset by a simple operation, The present invention provides a remote server recovery system and method.

상기와 같은 목적을 달성하기 위하여 본 발명은 서버 장애 시 원격 서버 복구 시스템은 에이전트프로그램이 설치된 백업서버(100); 미리 설정된 복구시나리오가 입력되며, 상기 백업서버(100)에 설치된 에이전트프로그램으로부터 해당 백업서버(100)의 상태정보를 전송받는 매니저서버(200); 및 서버관리자에 의해 승인된 서버 포트(Port)를 이용하여 상기 매니저서버(200)와 소켓통신을 통해 상기 백업서버(100)를 모니터링 및 통제하는 원격관리단말(300)을 포함하며, 상기 원격관리단말(300)이 상기 매니저서버(200)에 접속하여 상기 백업서버(100)를 모니터링하며, 상기 원격관리단말(300)이 상기 백업서버(100)에 대한 복구 요청을 하면, 상기 매니저서버(200)가 복구시나리오를 근거로 상기 백업서버(100)를 원격으로 복구시키는 것을 특징으로 하는 서버 장애 시 원격 서버 복구 시스템을 제공한다.According to an aspect of the present invention, there is provided a remote server recovery system in the event of a server failure comprising: a backup server (100) in which an agent program is installed; A manager server 200 receiving a preset recovery scenario and receiving status information of the backup server 100 from an agent program installed in the backup server 100; And a remote management terminal (300) monitoring and controlling the backup server (100) through socket communication with the manager server (200) using a server port approved by the server manager, wherein the remote management terminal The terminal 300 accesses the manager server 200 and monitors the backup server 100. When the remote management terminal 300 requests a recovery of the backup server 100, ) Remotely restores the backup server (100) based on the recovery scenario.

본 발명의 일 실시예에 있어서, 상기 에이전트프로그램은 자바(JAVA)로 개발된 것을 특징으로 한다.In one embodiment of the present invention, the agent program is developed in Java.

본 발명의 일 실시예에 있어서, 상기 소켓통신은 TCP/IP(Transfer Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)인 것을 특징으로 한다.In one embodiment of the present invention, the socket communication is characterized by being a TCP / IP (Transmission Control Protocol / Internet Protocol) or a UDP (User Datagram Protocol).

본 발명은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지며, 서버 장애 시 원격 서버 복구 시스템을 이용한 서버 장애 시 원격 서버 복구 방법에 있어서, 매니저서버(200)가 복구시나리오를 입력받는 복구시나리오입력 단계(S10); 매니저서버(200)가 원격관리단말(300)로부터 입력된 고유식별정보를 근거로 인증절차를 수행하며, 인증이 완료된 원격관리단말(300)과 서버관리자에 의해 승인된 서버 포트(Port)를 이용하여 소켓통신을 하는 소켓통신 단계(S20); 매니저서버(200)가 백업서버(100)에 설치된 에이전트프로그램을 통해 상태정보를 입력받아, 상기 원격관리단말(300)에 상기 상태정보를 전송하는 모니터링 단계(S30); 및 매니저서버(200)가 상기 원격관리단말(300)로부터 서버 복구 요청을 받으면, 상기 복구시나리오입력 단계(S10)에서 입력받은 복구시나리오에 따라 상기 백업서버(100)를 복구하는 서버복구 단계(S40)를 포함하는 서버 장애 시 원격 서버 복구 방법을 제공한다.A method for recovering a remote server in the event of a server failure using a remote server recovery system in the event of a server failure, the method comprising: receiving a recovery scenario from the manager server (200) A recovery scenario input step S10; The manager server 200 performs the authentication procedure based on the unique identification information input from the remote management terminal 300 and uses the server port approved by the server manager 300 and the authenticated remote management terminal 300 A socket communication step (S20) for performing socket communication; A monitoring step (S30) in which the manager server (200) receives status information through an agent program installed in the backup server (100) and transmits the status information to the remote management terminal (300); (S40) for recovering the backup server 100 according to the recovery scenario input in the recovery scenario input step S10 when the manager server 200 receives the server recovery request from the remote management terminal 300 ) In the case of a server failure.

본 발명의 일 실시예에 있어서, 상기 소켓통신은 TCP/IP(Transfer Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)인 것을 특징으로 한다.In one embodiment of the present invention, the socket communication is characterized by being a TCP / IP (Transmission Control Protocol / Internet Protocol) or a UDP (User Datagram Protocol).

본 발명의 일 실시예에 있어서, 상기 에이전트프로그램은 자바(JAVA)로 개발된 것을 특징으로 한다.In one embodiment of the present invention, the agent program is developed in Java.

본 발명의 일 실시예에 있어서, 상기 고유식별정보는 특정 IP, 공인인증서, 아이디(ID)와 패스워드(password), 엑세스권한목록(ACL: Access Control List), 맥어드레스(MAC(media access control) address), 국제모바일기기식별코드(IMEI, International Mobile Station Equipment Identity), 고유식별번호(UDID: User Device IDentification), 범용고유식별자(UUID: Universally Unique IDentifier) 및 전화번호 중 선택되는 적어도 하나인 것을 특징으로 한다.In one embodiment of the present invention, the unique identification information includes a specific IP, a public certificate, an ID and a password, an access control list (ACL), a media access control (MAC) (UDID), Universally Unique IDentifier (UUID), and a telephone number of a mobile communication terminal equipment (UE), an Internet address, an Internet address, an International Mobile Station Equipment Identity (IMEI) .

본 발명의 일 실시예에 있어서, 상기 서버복구 단계(S40)는 매니저서버(200)가 복구시나리오에 따라 상기 백업서버(100)를 복구하는 복구진행 상태 결과를 상기 원격관리단말(300)로 전송하는 것을 특징으로 한다.In one embodiment of the present invention, the server restoring step S40 may include transmitting a restoration progress status result of restoring the backup server 100 to the remote management terminal 300 according to a restoration scenario .

또한 본 발명은 상기 서버 장애 시 원격 서버 복구 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체를 제공한다.The present invention also provides a computer-readable recording medium on which a program for implementing a remote server recovery method in the event of a server failure is stored.

아울러 본 발명은 상기 서버 장애 시 원격 서버 복구 방법을 구현하기 위해 컴퓨터 판독 가능한 기록매체에 저장된 프로그램을 제공한다.
In addition, the present invention provides a program stored in a computer-readable recording medium for implementing a remote server recovery method in case of the server failure.

본 발명의 서버 장애 시 원격 서버 복구 시스템 및 방법에 의하면 간단한 조작으로 미리 설정된 복구 시나리오에 따라 신속한 복구를 수행하여 업무의 원활한 흐름을 유지할 수 있는 효과가 있다.According to the remote server restoration system and method in the case of the server failure according to the present invention, it is possible to perform a quick recovery according to a preset recovery scenario by a simple operation, and to maintain a smooth work flow.

또한 매니저서버를 통해 백업서버를 관리함으로써 외부에서 백업서버에 접속 시 2중으로 보안을 강화시킬 수 있으며, 갑작스런 재난재해 등으로 인한 서버 장애 시 원거리에서도 신속하게 서버 복구가 가능한 효과가 있다.In addition, by managing the backup server through the manager server, security can be doubled when connecting to the backup server from the outside, and it is possible to recover the server quickly even when the server is disturbed due to a sudden disaster.

아울러 공휴일 또는 주말 기간 갑작스러운 재난 발생 시 신속한 대응이 가능함으로써 기업의 생산라인 마비 등의 문제를 신속히 해결할 수 있으며, 원격으로 자동서버복구가 가능함으로써 오프라인에서 서버복구작업을 최소화 할 수 있는 효과가 있다.In addition, it is possible to quickly solve problems such as the paralysis of the production line by enabling prompt response when a sudden disaster occurs in the event of a holiday or a weekend, and it is possible to minimize the server restoration work in offline by enabling automatic server recovery remotely .

또한 단순한 작동방식으로 각 서버의 과부하를 방지할 수 있으며, 커스터마이징(Customizing) 시간과 인력투입 비용 단축의 효과가 있다.
In addition, it can prevent the overload of each server by simple operation method, and it has the effect of customizing time and manpower input cost reduction.

도 1은 본 발명의 일 실시예에 따른 서버 장애 시 원격 서버 복구 시스템의 블록도.
도 2 및 도 3은 도 1 및 도 2를 설명하기 위한 데이터 흐름도.
도 4는 본 발명의 일 실시예에 따른 서버 장애 시 원격 서버 복구 방법 순서도.
1 is a block diagram of a remote server recovery system in the event of a server failure according to an embodiment of the present invention;
Figs. 2 and 3 are data flow charts for explaining Figs. 1 and 2. Fig.
4 is a flowchart of a method of recovering a remote server in case of a server failure according to an embodiment of the present invention;

이하 첨부된 도면을 바탕으로 본 발명을 상세하게 설명한다. 본 명세서에 사용된 용어나 단어는 본 발명을 보다 구체적으로 설명하고 통상의 기술자의 이해를 돕기 위하여 예시된 것에 불과할 뿐이며, 본 발명의 권리범위 등이 이에 한정되어 해석되어서는 안 된다.BRIEF DESCRIPTION OF THE DRAWINGS FIG. The terms and words used in the present specification are merely illustrative in order to explain the present invention more specifically and to facilitate understanding of the ordinary artisan, and the scope of the present invention should not be construed as being limited thereto.

본 발명에 사용되는 기술 용어 및 과학 용어는 다른 정의가 없다면 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 나타낸다.
Technical terms and scientific terms used in the present invention mean what the person skilled in the art would normally understand unless otherwise defined.

도 1은 본 발명의 일 실시예에 따른 서버 장애 시 원격 서버 복구 시스템의 블록도이고, 도 2 내지 도 3은 도 1을 설명하기 위한 데이터 흐름도이며, 도 4는 본 발명의 일 실시예에 따른 서버 장애 시 원격 서버 복구 방법 순서도이다.
FIG. 1 is a block diagram of a remote server recovery system in case of a server failure according to an embodiment of the present invention. FIGS. 2 to 3 are data flow diagrams for explaining FIG. 1, A flowchart of how to recover a remote server in the event of a server failure.

설명에 앞서, 본 명세서에서 사용되는 용어에 대해 간단히 설명하도록 한다.Prior to explanation, the terms used in this specification will be briefly described.

'재난재해'는 서버가 제 기능을 못 하도록 방해하는 일련의 일들을 의미하는 용어로 사용하며, 예를 들어, 전자우편 폭단, 논리 폭탄, DDoS 공격, 그 밖의 사이버 테러, 정전 등이 재난재해에 해당된다.Disaster Disasters is a term used to describe a series of things that prevent a server from functioning. For example, email disruptions, logic bombs, DDoS attacks, other cyber terrorism, .

도 1 내지 도 3에 도시된 바와 같이, 본 발명은 서버 장애 시 원격 서버 복구 시스템은 에이전트프로그램이 설치된 백업서버(100); 미리 설정된 복구시나리오가 입력되며, 상기 백업서버(100)에 설치된 에이전트프로그램으로부터 해당 백업서버(100)의 상태정보를 전송받는 매니저서버(200); 및 서버관리자에 의해 승인된 서버 포트(Port)를 이용하여 상기 매니저서버(200)와 소켓통신을 통해 상기 백업서버(100)를 모니터링 및 통제하는 원격관리단말(300)을 포함하며, 상기 원격관리단말(300)이 상기 매니저서버(200)에 접속하여 상기 백업서버(100)를 모니터링하며, 상기 원격관리단말(300)이 상기 백업서버(100)에 대한 복구 요청을 하면, 상기 매니저서버(200)가 복구시나리오를 근거로 상기 백업서버(100)를 원격으로 복구시키는 것을 특징으로 하는 서버 장애 시 원격 서버 복구 시스템에 관한 것이다.1 to 3, the present invention provides a remote server recovery system in case of a server failure, the backup server 100 having an agent program installed therein; A manager server 200 receiving a preset recovery scenario and receiving status information of the backup server 100 from an agent program installed in the backup server 100; And a remote management terminal (300) monitoring and controlling the backup server (100) through socket communication with the manager server (200) using a server port approved by the server manager, wherein the remote management terminal The terminal 300 accesses the manager server 200 and monitors the backup server 100. When the remote management terminal 300 requests a recovery of the backup server 100, ) Remotely restores the backup server (100) based on the recovery scenario.

상기 백업서버(100)는 관리자가 정상 작동 여부에 대하여 모니터링 하는 서버로서, 관리자가 모니터링하기 어려운 상황에서 원격으로 모니터링 및 통제(관리)하기 위해 에이전트프로그램을 설치한다.The backup server 100 monitors the normal operation of the administrator, and installs an agent program to remotely monitor and control (manage) a situation in which it is difficult for an administrator to monitor.

상기 백업서버(100)에 관리자가 원격으로 접속하기 위해서는 상기 백업서버(100)에 접속할 수 있는 접속정보가 필요하나, 이러한 접속정보가 외부로 노출될 경우, 해킹 등의 위험이 발생될 우려가 있어 접속정보를 통한 백업서버(100)의 접근은 위험성을 내재하고 있다. 이를 예방하기 위해, 매니저서버(200)와 통신이 가능한 에이전트프로그램을 설치하는 것이다.In order for a manager to remotely access the backup server 100, connection information that can be connected to the backup server 100 is required. However, when such access information is exposed to the outside, there is a possibility that a risk of hacking may occur Accessing the backup server 100 through the access information has a risk. To prevent this, an agent program capable of communicating with the manager server 200 is installed.

즉, 관리자가 외부에서 원격으로 접속하기 위해서는 매니저서버(200)에 접속하기 위한 고유식별정보만 있으면 된다.That is, in order for a manager to access from a remote location, only unique identification information for accessing the manager server 200 is required.

매니저서버(200)는 미리 설정된 복구시나리오가 입력되며, 상기 백업서버(100)에 설치된 에이전트프로그램으로부터 해당 백업서버(100)의 상태정보를 전송받는다.The manager server 200 receives preset recovery scenarios and receives the status information of the backup server 100 from the agent program installed in the backup server 100. [

상기 매니저서버(200)는 상기 백업서버(100)에 설치된 에이전트프로그램을 통해 상기 백업서버(100)와 통신이 가능하다. The manager server 200 can communicate with the backup server 100 through an agent program installed in the backup server 100.

앞서 설명한 바와 같이, 백업서버(100)의 보안을 강화시키기 위해 중간에서 매개체 역할을 하는 매니저서버(200)를 두는 것이다. As described above, in order to enhance the security of the backup server 100, the manager server 200 acting as an intermediary medium is provided.

이때, 상기 에이전트프로그램은 자바(JAVA)로 개발된 것을 특징으로 할 수 있다.At this time, the agent program may be developed as Java.

하나의 소프트웨어가 제작될 때는 소프트웨어를 제작하는 비용도 많이 들지만 유지 보수하는 비용도 어마어마하다. 자바 언어는 이러한 점을 고려하여 디자인되었다. 자바 언어는 C++를 기반으로 개발되었음에도 C++에서 혼란을 일으키는 부분을 제거했다. 예를 들면 연산자 오버로딩, 다중 상속 같은 것들이다. 그리고 C++에서 문제가 되는 기억 장소 경영 문제를 자동 쓰레기 회수와 할당(auto garbage collection)으로서 극복했다. 그러므로 프로그래머는 이것에 더 이상 신경을 쓸 필요가 없다.When a piece of software is produced, the cost of producing the software is high, but the maintenance cost is enormous. The Java language was designed with this in mind. The Java language was developed based on C ++, but it removed the confusing part of C ++. For example, operator overloading, multiple inheritance, and so on. And I overcame the memory management problem in C ++ as an auto garbage collection. So the programmer does not have to worry about this anymore.

자바는 객체 지향 언어(object-oriented)로, 객체 지향 언어에 대해 여기서 자세히 언급할 수는 없고 간단한 일례를 들면 상속이라는 것이 있다. 부모 객체로부터 자식 객체는 상속을 한다. 자식 객체가 부모 객체로부터 상속을 받으면 부모 객체의 데이터와 메소드를 사용할 수 있음을 의미한다. 따라서 소프트웨어를 개발할 때 재활용 측면에서 많은 장점을 가진다.Java is object-oriented. We can not go into detail about object-oriented language here, but there is a simple example of inheritance. Child objects inherit from parent object. If the child object inherits from the parent object, it means that the parent object's data and methods can be used. Therefore, when developing software, it has many advantages in terms of recycling.

자바는 원래부터 네트워크 분산 처리 환경에서 사용하기 위해 디자인된 언어이다. 네트워크 환경은 다른 환경보다 보안의 측면이 강조되는 환경인만큼 자바는 보안에 중점을 두고 있다. 자바는 바이러스가 침투하지 못하는 구조를 가지고 메모리에서 데이터 접근을 제한할 수 있다. 접근을 허용하지 않으면, 애플리케이션의 데이터 구조 또는 데이터에 대한 접근은 불가능하다. 즉, 보안에 강하다.Java is a language originally designed for use in a distributed computing environment. Because the network environment is an environment where security is emphasized rather than other environments, Java focuses on security. Java can restrict access to data from memory with a structure that the virus can not penetrate. If access is not allowed, access to the application's data structure or data is impossible. That is, it is strong in security.

네트워크는 다양한 기종의 컴퓨터와 다양한 플랫폼(예를 들면, 윈도 NT, 솔라리스, 매킨토시 OS 등의 운영 체제를 일컫는 말이다)과 다양한 하드웨어로 이루어져 있다. 자바는 자바 코드 소스를 컴파일하여 바이트 코드를 만들어내며 이 바이트 코드는 다양한 플랫폼에 설치된 자바 인터프리터에 의해 해석되기 때문에 어떠한 플랫폼에서도 실행 가능하다. 따라서 새로운 기계라도 자바 인터프리터만 설치되어 있으면 바이트 코드를 해석할 수 있다. A network consists of various types of computers and various platforms (for example, operating systems such as Windows NT, Solaris, and Macintosh OS) and various hardware. Java compiles Java code source to produce bytecode, which is interpreted by the Java interpreter installed on various platforms, so it can run on any platform. Therefore, if a new machine has only the Java interpreter installed, it can interpret the bytecode.

기존의 언어는 각각의 플랫폼마다 수치 연산 문제 등으로 인하여 약간씩 다른 코드를 사용한다. 그러나 자바는 이식성이 강하여 다른 운영 체제, 다른 CPU에서도 같은 코드를 사용할 수 있다. 이식성이 높을 때의 단점은 각각의 시스템의 특성을 고려하지 않기 때문에 최적의 성능을 얻어낼 수 없는데, 자바는 이러한 것을 극복한 언어이다.Existing languages use slightly different code for each platform due to numerical computation problems. Java, however, is portable and can use the same code on other operating systems and on different CPUs. The disadvantage of high portability is that it does not take into account the characteristics of each system and therefore can not achieve optimal performance. Java is a language that overcomes this.

요약하면, 자바는 객체 지향 프로그래밍 언어로서 보안성이 뛰어나며, 컴파일한 코드는 다른 운영 체제에서 사용할 수 있도록 클래스(class)로 제공된다. 객체 지향 언어인 C++ 언어의 객체 지향적인 장점을 살리면서 분산 환경을 지원하며 더욱 효율적이다.In summary, Java is an object-oriented programming language that is highly secure, and compiled code is provided as a class for use by other operating systems. It supports the distributed environment and is more efficient, while taking advantage of the object-oriented nature of the object-oriented C ++ language.

또한, 상기 소켓통신은 TCP/IP(Transfer Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)인 것을 특징으로 할 수 있다.The socket communication may be a TCP / IP (Transmission Control Protocol / Internet Protocol) or a UDP (User Datagram Protocol).

TCP/IP란 네트워크 전송 프로토콜로, 서로 다른 운영체제를 쓰는 컴퓨터 간에도 데이터를 전송할 수 있어 인터넷에서 정보전송을 위한 표준 프로토콜로 쓰이고 있다. TCP는 전송 데이터를 일정 단위로 나누고 포장하는 것에 관한 규약이고, IP는 직접 데이터를 주고받는 것에 관한 규약이다. 인터넷에 물려 있는 모든 컴퓨터는 인터넷 표준 위원회에서 제정한 규약을 따르고 있는데, 인터넷 표준 프로토콜이 TCP/IP이다. 프로토콜이란 쉽게 말해 한 컴퓨터에서 다른 컴퓨터로 데이터를 완전하게 보내기 위한 장치이다. TCP/IP에서 먼저 IP는 출발과 도착 주소를 가지는 헤더를 참조해 네트워크를 통해 데이터를 목적지에 전달한다. 그러나 이 과정에서 데이터가 잘못 전달되거나 파손될 수도 있고, 보내진 순서대로 데이터를 전송하지 못할 수도 있다. 이러한 단점을 보완하는 것이 TCP이다. 즉 IP가 데이터 패킷을 분실하거나 파손하면 TCP는 문제가 발생했다는 것을 알리고 데이터를 알맞게 재전송하는 임무를 갖는다. TCP가 에러를 복구하는 과정에서 데이터를 수신하는 호스트에서는 언제나 에러 없이 순서대로 데이터를 전송 받는다.TCP / IP is a network transport protocol that can be used to transfer data between computers that use different operating systems and is used as a standard protocol for information transmission on the Internet. TCP is a protocol for dividing and packing transmission data by a certain unit, and IP is a protocol for directly exchanging data. All computers on the Internet follow protocols established by the Internet Standards Committee, the Internet standard protocol being TCP / IP. A protocol is simply a device for sending data completely from one computer to another. In TCP / IP, IP first refers to a header with a start and destination address and passes data to the destination via the network. However, in this process, data may be mis-transmitted or corrupted, and data may not be transmitted in the order in which it was sent. TCP is the complement to this disadvantage. In other words, if IP loses or corrupts a data packet, TCP has a task of notifying that a problem has occurred and retransmitting the data appropriately. In the process of recovering from TCP error, the host that receives the data always receives the data in order without error.

UDP는 사용자 데이터그램 프로토콜(user datagram protocol)의 줄임말이다. 인터넷상에서 서로 정보를 주고받을 때 정보를 보낸다는 신호나 받는다는 신호 절차를 거치지 않고, 보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜이다. 보내는 쪽에서는 받는 쪽이 데이터를 받았는지 받지 않았는지 확인할 수 없고, 또 확인할 필요도 없도록 만들어진 프로토콜을 말한다.UDP is an abbreviation of user datagram protocol. It is a communication protocol that transmits data unilaterally from the sender without signaling that the information is sent or received when the information is exchanged on the Internet. On the sending side, it is a protocol that is made so that it can not check whether the recipient has received or not received the data, nor does it need to check.

인터넷 아이콘을 누르는 것과 동시에 자동적으로 중앙컴퓨터 서버와 연결되어 정보를 보내는 쪽과 받는 쪽이 서로 의사소통을 할 수 있도록 설계된 통신 프로토콜인 TCP(transmission control protocol)와 상대되는 개념이다. 예를 들어 이메일을 주고받을 때 '수신 확인'을 통해 상대방이 메일을 읽었는지 읽지 않았는지를 알 수 있는 것은 송수신측이 서로 데이터를 주고받을 수 있기 때문이다.This concept is opposed to the transmission control protocol (TCP), which is a communication protocol designed to automatically communicate with a central computer server at the same time as pressing the Internet icon, so that the transmitting side and the receiving side can communicate with each other. For example, when sending and receiving an e-mail, 'receipt' confirms whether the other party has read or not read the mail because the sending and receiving parties can exchange data with each other.

이처럼 송수신측이 서로 데이터를 주고받는 방식이 TCP이고, 수신측이 데이터를 보든 상관없이 송신측에서 데이터만 전달하면 되는 방식이 UDP이다. 즉 UDP는 수신측과 접속 절차를 거치지 않고 송신측에서 일방적으로 데이터를 보내는 방식으로, 이러한 서비스를 무관계 서비스라 하고, 이 무관계 서비스의 통신규약이 UDP이다.In this way, the transmitting and receiving sides exchange data with each other, and UDP is a method in which only data is transmitted from the transmitting side regardless of whether the receiving side sees the data. In other words, UDP is a method in which data is sent unilaterally from a transmitting side without going through a connection procedure with a receiving side. Such a service is called an unrelated service, and the communication protocol of this unrelated service is UDP.

따라서 UDP는 TCP와 달리 데이터의 수신에 대한 책임을 지지 않는다. 이는 송신자는 정보를 보냈지만, 정보가 수신자에게 제때에 도착했는지 또는 정보 내용이 서로 뒤바뀌었는지에 관해서 송신자는 상관할 필요가 없다는 말이다. 또 TCP보다 안정성 면에서는 떨어지지만, 속도는 훨씬 빠르다.Therefore, unlike TCP, UDP is not responsible for receiving data. This means that the sender has sent the information, but the sender does not have to care about whether the information arrived at the receiver in time or if the information content was reversed. It is also slower than TCP in terms of stability, but it is much faster.

원격관리단말(300)은 서버관리자에 의해 승인된 서버 포트(Port)를 이용하여 상기 매니저서버(200)와 소켓통신을 통해 상기 백업서버(100)를 모니터링 및 통제한다.The remote management terminal 300 monitors and controls the backup server 100 through socket communication with the manager server 200 using a server port approved by the server manager.

이때, 원격관리단말(300)은 인터넷에 유선 또는 무선으로 연결 가능한 일반적인 단말기(컴퓨터, 모바일 기기, 스마트기기 등)를 말한다.At this time, the remote management terminal 300 refers to a general terminal (a computer, a mobile device, a smart device, or the like) that can be connected to the Internet by wire or wirelessly.

인터넷(외부 네트워크)으로부터 방화벽으로 들어오는 모든 접근 시도는 방화벽 내부에 사전 설정된 보안 규칙인 접근 제어 목록에 따라 내부 통과 여부가 결정된다. 기본적으로 방화벽은 모든 접근을 거부(deny)한 후 허용할 접근만 단계적으로 허용(allow/permit)하는 방식을 따른다. 예를 들어, 네트워크를 통해 데이터가 이동하는 통로를 포트(port)라 하는데, 방화벽은 기본적으로 약 65,000여 개의 통신 포트 모두를 차단한 후 접근을 허용하는 특정 포트만을 열어 두게 된다. 즉 홈페이지 운영을 위한 웹 서비스(http)를 제공한다면 80 포트를, FTP 서비스(ftp)를 제공한다면 20/21 포트 등을 접근 허용해야 한다. 통신 포트뿐 아니라 외부로부터 접근하는 IP 주소나 특정 프로그램에 따라 접근/거부 여부를 결정할 수 있다. 이러한 보안 규칙 설정이 모두 접근 제어 목록에 포함되어 일괄 적용된다.All access attempts from the Internet (external network) to the firewall are determined internally according to the access control list, which is a security rule preset in the firewall. Basically, the firewall follows a method of denying all accesses and then allowing / permitting access only in a gradual way. For example, the path through which data travels over the network is called a port. By default, the firewall blocks all of the approximately 65,000 communication ports and opens only certain ports that allow access. That is, if you provide a web service (http) to operate the homepage, you need to access 80 port. If you provide FTP service (ftp), you have to allow 20/21 port. It can decide whether to access or deny not only the communication port but also the IP address accessed from the outside or the specific program. All these security rule settings are included in the access control list and applied in batch.

도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 서버 장애 시 원격 서버 복구 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지며, 서버 장애 시 원격 서버 복구 시스템을 이용한 서버 장애 시 원격 서버 복구 방법에 있어서, 복구시나리오입력 단계(S10), 소켓통신 단계(S20), 모니터링 단계(S30) 및 서버복구 단계(S40)를 포함한다.As shown in FIG. 4, the remote server recovery method in case of a server failure according to an embodiment of the present invention is implemented by a program executed by an arithmetic processing means including a computer. In the case of a server failure, A remote server recovery method in case of a server failure includes a recovery scenario input step (S10), a socket communication step (S20), a monitoring step (S30), and a server recovery step (S40).

복구시나리오입력 단계(S10)는 매니저서버(200)가 복구시나리오를 입력받는다.In the recovery scenario input step (S10), the manager server 200 receives the recovery scenario.

상기 복구시나리오는 백업서버(100)에 문제가 발생하였을 경우, 백업서버를 복구하기 위한 절차를 말하는 것으로, 예를 들면, 데이터 백업 - 데이터 복원 - 서버 재부팅 - 운용 프로그램 재 설치 - 운용 프로그램 실행 및 세팅(데이터 연동) - 백업서버(100) 정상 가동 등의 절차를 말한다.The restoration scenario refers to a procedure for restoring a backup server when a problem occurs in the backup server 100. For example, data backup-data restoration-server rebooting-reinstallation of operation programs-operation program execution and settings (Data interlock) - Normal operation of backup server 100, etc.

이러한 복구시나리오는 백업서버(100)에서 발생할 수 있는 문제 상황의 종류에 따라 다수 세팅될 수 있다.This recovery scenario may be set to a number of depending on the type of the problem situation that may occur in the backup server 100. [

즉, 재부팅만 할 것인지, 재부팅 후 프로그램 실행까지 할 것인지, 재부팅, 프로그램 실행 및 데이터 연동까지 할 것인지 등 여러 가지 복구 시나리오를 미리 입력해 두고 상황에 따른 복구 시나리오를 선택하여 복구를 진행할 수 있다.That is, various restoration scenarios such as rebooting only, rebooting, program execution, rebooting, program execution and data interlocking can be inputted in advance, and recovery can be selected by selecting a recovery scenario according to the situation.

예를 들어, 단순한 프로그램의 다운인 경우, 재부팅 후 프로그램 실행까지만 한다면 서버는 복구될 것이며, DDoS 공격 등으로 문제가 발생하였다면, DDoS 공격이 들어온 포트를 차단하고 DDoS 공격이 들어온 IP를 차단하며 데이터를 복원한 후 원상태로 포트를 개방하는 등의 조치를 취해 서버를 복구시킬 수 있다.For example, if a simple program is down, the server will be restored only after the program is executed after the reboot. If a problem occurs due to a DDoS attack, the DDoS attack is blocked, the IP is blocked, The server can be restored by taking measures such as unlocking the port after the restoration.

소켓통신 단계(S20)는 매니저서버(200)가 원격관리단말(300)로부터 입력된 고유식별정보를 근거로 인증절차를 수행하며, 인증이 완료된 원격관리단말(300)과 서버관리자에 의해 승인된 서버 포트(Port)를 이용하여 소켓통신을 한다.In the socket communication step S20, the manager server 200 performs the authentication procedure based on the unique identification information input from the remote management terminal 300, and the remote management terminal 300 that has been authenticated and the server Socket communication is performed using a server port.

이때, 상기 소켓통신은 TCP/IP(Transfer Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)인 것을 특징으로 할 수 있다.In this case, the socket communication may be a TCP / IP (Transmission Control Protocol / Internet Protocol) or a UDP (User Datagram Protocol).

또한 상기 고유식별정보는 특정 IP, 공인인증서, 아이디(ID) 와 패스워드(password), 엑세스권한목록(ACL: Access Control List), 맥어드레스(MAC(media access control) address), 국제모바일기기식별코드(IMEI, International Mobile Station Equipment Identity), 고유식별번호(UDID: User Device IDentification), 범용고유식별자(UUID: Universally Unique IDentifier) 및 전화번호 중 선택되는 적어도 하나인 것을 특징으로 할 수 있다.The unique identification information may include a specific IP, a public certificate, an ID and a password, an access control list (ACL), a MAC address (media access control) (IMEI), a User Device IDentification (UDID), a Universally Unique IDentifier (UUID), and a telephone number.

네트워크 방화벽은 기본적으로 네트워크를 통해 들어오는 패킷에 대해 사전에 관리자가 설정해 놓은 보안 규칙(ACL, Access Control List, 접근 제어 목록)에 따라 허용 또는 차단하는 기능을 수행한다. 일반적으로 내부 네트워크와 외부 네트워크(인터넷) 중간에 위치하여 이러한 패킷 제어 기능을 수행한다. 방화벽은 필요에 따라 여러 개를 배치하여 보안성을 강화할 수 있다.The network firewall basically allows or blocks incoming packets according to the security rules (ACL, Access Control List, and Access Control List) set by the administrator in advance. Generally, it is located between the internal network and the external network (Internet) to perform such packet control functions. Firewalls can be deployed as needed to enhance security.

방화벽의 접근 제어 목록은 대개 관리자가 구성, 설정하기 편하도록 직관적인 형태로 출력되며, 보안 규칙 적용 즉시 결과를 확인할 수 있도록 제공된다. 다만 접근 제어 목록 및 방화벽 설정에는 보안과 관련된 상당한 지식과 경험이 필요하므로 보안 전문가를 통해 정확하고 체계적으로 이루어져야 한다.Firewall access control lists are usually displayed in an intuitive form for easy configuration and configuration by the administrator, and are provided so that the results can be checked immediately after applying security rules. However, access control lists and firewall settings require a lot of knowledge and experience related to security, so they must be done accurately and systematically by security experts.

예를 들어, 컴퓨터의 경우, 특정 IP, 공인인증서, 아이디(ID) 와 패스워드(password), 맥어드레스(MAC address) 등을 이용해 회원인증을 수행할 수 있고, 모바일기기 및 스마트기기 등의 경우, 맥어드레스(MAC(media access control) address), 국제모바일기기식별코드(IMEI, International Mobile Station Equipment Identity), 고유식별번호(UDID: User Device IDentification), 범용고유식별자(UUID: Universally Unique IDentifier) 및 전화번호 등을 이용해 회원인증을 수행할 수 있다.For example, in the case of a computer, member authentication can be performed using a specific IP, a public certificate, an ID and a password, a MAC address, etc. In the case of a mobile device, a smart device, (MAC) address, an International Mobile Station Equipment Identity (IMEI), a User Device IDentification (UDID), a Universally Unique IDentifier (UUID) The member authentication can be performed by using the number.

맥어드레스(MAC(media access control) address)는 네트워크 구조에서 MAC 계층에서 네트워크 장치가 갖는 주소로서 보통 네트워크 카드의 ROM에 저장되어 있다.A MAC address (media access control) address is an address of a network device in the MAC layer in a network structure, and is usually stored in the ROM of the network card.

고유식별번호(UDID: User Device IDentification)는 사용자의 디바이스를 식별할 수 있는 식별자이다. 일종의 시리얼넘버인 셈이다.A User Device IDentification (UDID) is an identifier for identifying a user device. It is a kind of serial number.

범용고유식별자(UUID: Universally Unique IDentifier)는 인터넷상에서 객체나 실체를 식별하는 데 사용되는 128비트 숫자를 말한다. 공간과 시간(약 3400년까지)의 조합을 통해 구성되는 거의 유일하게 사용할 수 있는 식별자로서, 극히 단시간의 객체에서부터 영구적인 객체 식별에 이르기까지 다양한 목적으로 사용된다. 인증 기관의 등록 절차는 없고, 다만 범용 단일 식별자 생성 프로그램의 유일한 식별 숫자만 필요하다. 예를 들어, 어떤 제품의 맥어드레스를 특정 서버에 저장하게 되면 개인정보 유출 등의 문제가 발생될 수 있기 때문에, 맥어드레스를 대체하여 저장하기 위한 식별자로 사용할 수 있다.A Universally Unique Identifier (UUID) is a 128-bit number used to identify an object or entity on the Internet. It is a nearly uniquely identifiable identifier made up of a combination of space and time (up to about 3400 years), and is used for a variety of purposes ranging from extremely short time objects to permanent object identification. There is no registration procedure for certification bodies, but only a unique identification number of the generic single identifier generation program is required. For example, storing a MAC address of a certain product in a specific server may cause a problem such as leakage of personal information, so that it can be used as an identifier for storing and storing a MAC address.

위에서 여러 가지 고유식별정보(식별자)에 대하여 설명하였으며, 하나의 기기가 다수의 고유식별정보를 가질 수 있다. Various unique identification information (identifiers) have been described above, and one device can have a plurality of unique identification information.

예를 들어, 휴대폰이 와이파이 및 블루투스 통신이 가능하다면, 핸드폰 기기 자체의 식별자(UDID), 와이파이 칩에 대한 맥어드레스, 블루투스 칩에 대한 맥어드레스 등 여러 고유식별정보를 동시에 가지고 있을 수 있다.For example, if the mobile phone is capable of Wi-Fi and Bluetooth communication, it may have various unique identification information such as an identifier (UDID) of the mobile phone device itself, a MAC address for the Wi-Fi chip, and a MAC address for the Bluetooth chip.

모니터링 단계(S30)는 매니저서버(200)가 백업서버(100)에 설치된 에이전트프로그램을 통해 상태정보를 입력받아, 상기 원격관리단말(300)에 상기 상태정보를 전송한다.In step S30, the manager server 200 receives the status information through the agent program installed in the backup server 100, and transmits the status information to the remote management terminal 300. [

즉, 원격관리단말(300)을 이용하여 백업서버(100)의 상태를 확인(모니터링)할 수 있다.That is, the status of the backup server 100 can be checked (monitored) by using the remote management terminal 300.

이때, 상기 에이전트프로그램은 자바(JAVA)로 개발된 것을 특징으로 할 수 있다.At this time, the agent program may be developed as Java.

도 2에 도시된 바와 같이, 상기 모니터링 단계(S30)는 상기 원격관리단말(300)이 매니저서버에 접속한 시점부터 실시간으로 상기 백업서버(100)의 현재 상태를 실시간으로 확인하는 것도 가능하고, 도 3에 도시된 바와 같이, 상기 백업서버(100)의 에이전트프로그램으로부터 받은 상태정보를 상기 매니저서버(200)가 상시 저장하고, 원격관리단말(300)의 요청에 따라 시간별 이벤트별 상태정보를 제공하는 것도 가능하다.As shown in FIG. 2, the monitoring step S30 can check the current state of the backup server 100 in real time from the time when the remote management terminal 300 accesses the manager server in real time, 3, the manager server 200 always stores status information received from the agent program of the backup server 100 and provides status information for each event according to a request of the remote management terminal 300 It is also possible to do.

서버복구 단계(S40)는 매니저서버(200)가 상기 원격관리단말(300)로부터 서버 복구 요청을 받으면, 상기 복구시나리오입력 단계(S10)에서 입력받은 복구시나리오에 따라 상기 백업서버(100)를 복구한다.The server recovery step S40 is a step in which when the manager server 200 receives the server recovery request from the remote management terminal 300, the backup server 100 is recovered according to the recovery scenario input in the recovery scenario input step S10 do.

상기 백업서버(100)가 정상 상태이나, 백업서버(100)의 패치, 테스트 등의 작업을 수행해야 할 경우 등으로 정상적이지 않은 상태정보가 상기 매니저서버(200)로 전송되는 경우가 발생될 수 있기 때문에, 상기 원격단말(300)로부터 서버 복구 요청을 받을 경우 상기 백업서버(100)를 복구시키는 것이 바람직하다.There may be a case where unhealthy status information is transmitted to the manager server 200 because the backup server 100 is in a normal state or when performing operations such as patching and testing of the backup server 100 It is preferable to restore the backup server 100 when receiving a server recovery request from the remote terminal 300.

아울러, 상기 매니저서버(200)가 상기 백업서버(100)의 상태정보를 바탕으로 상기 백업서버(100)의 이상 여부를 판단하여, 상기 백업서버(100)를 복구시키는 것도 가능하다.It is also possible that the manager server 200 determines whether the backup server 100 is abnormal based on the status information of the backup server 100 and restores the backup server 100.

이때, 상기 서버복구 단계(S40)는 매니저서버(200)가 복구시나리오에 따라 상기 백업서버(100)를 복구하는 복구진행 상태 결과를 상기 원격관리단말(300)로 전송하는 것을 특징으로 할 수 있다.At this time, the server recovery step S40 may be such that the manager server 200 transmits a recovery progress status result of restoring the backup server 100 to the remote management terminal 300 according to the recovery scenario .

이상에서 본 발명의 일 실시예에 따른 서버 장애 시 원격 서버 복구 방법에 대하여 설명하였지만, 서버 장애 시 원격 서버 복구 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 서버 장애 시 원격 서버 복구 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.Although the remote server recovery method in the case of the server failure according to the embodiment of the present invention has been described above, the computer readable recording medium storing the program for implementing the remote server recovery method in case of server failure and the remote server recovery method in case of server failure It goes without saying that a program stored in a computer-readable recording medium for implementation may also be implemented.

즉, 상술한 서버 장애 시 원격 서버 복구 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 통상의 기술자들이 쉽게 이해할 수 있을 것이다. That is, the remote server recovery method in the case of the server failure described above can be easily understood by those of ordinary skill in the art that a program of the instructions for implementing the remote server recovery method can be tangibly embodied and provided in a recording medium readable by a computer will be.

다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. In other words, it can be implemented in the form of a program command that can be executed through various computer means, and can be recorded on a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination.

상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known and available to those skilled in the computer software. Examples of the computer-readable medium include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs and DVDs, and optical disks such as floppy disks. Magneto-optical media and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, USB memory, and the like.

상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
The computer-readable recording medium may be a transmission medium such as a light or metal line, a wave guide, or the like, including a carrier wave for transmitting a signal designating a program command, a data structure, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다.
It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the present invention as defined by the appended claims.

100: 백업서버
200: 매니저서버
300: 원격관리단말
S10: 복구시나리오입력 단계
S20: 소켓통신 단계
S30: 모니터링 단계
S40: 서버복구 단계
100: Backup server
200: manager server
300: remote management terminal
S10: Enter recovery scenario
S20: Socket communication phase
S30: Monitoring step
S40: Server recovery steps

Claims (10)

에이전트프로그램이 설치된 백업서버(100);
미리 설정된 복구시나리오가 입력되며, 상기 백업서버(100)에 설치된 에이전트프로그램으로부터 해당 백업서버(100)의 상태정보를 전송받는 매니저서버(200); 및
서버관리자에 의해 승인된 서버 포트(Port)를 이용하여 상기 매니저서버(200)와 소켓통신을 통해 상기 백업서버(100)를 모니터링 및 통제하는 원격관리단말(300)을 포함하며,
상기 원격관리단말(300)은 상기 매니저서버(200)에 접속하여 상기 백업서버(100)를 모니터링하며,
상기 원격관리단말(300)이 상기 백업서버(100)에 대한 복구 요청을 하면, 상기 매니저서버(200)는 복구시나리오를 근거로 상기 백업서버(100)를 원격으로 복구시키며,
상기 원격관리단말(300)은 상기 매니저서버(200)에 접속한 시점부터 실시간으로 상기 백업서버(100)의 현재 상태를 확인하거나 또는 상기 백업서버(100)의 에이전트프로그램으로부터 받은 상태정보를 상기 매니저서버(200)가 상시 저장하고 원격관리단말(300)의 요청에 따라 저장된 백업서버(100)의 상태정보를 제공하며,
상기 매니저서버(200)는 복구시나리오에 따라 상기 백업서버(100)를 복구하는 복구진행 상태 결과를 상기 원격관리단말(300)로 전송하며,
상기 에이전트프로그램은 자바(JAVA)로 개발된 것을 특징으로 하며,
상기 소켓통신은 TCP/IP(Transfer Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)인 것을 특징으로 하는 서버 장애 시 원격 서버 복구 시스템.
A backup server 100 in which an agent program is installed;
A manager server 200 receiving a preset recovery scenario and receiving status information of the backup server 100 from an agent program installed in the backup server 100; And
And a remote management terminal (300) monitoring and controlling the backup server (100) through a socket communication with the manager server (200) using a server port approved by the server manager,
The remote management terminal 300 accesses the manager server 200 to monitor the backup server 100,
When the remote management terminal 300 requests the recovery of the backup server 100, the manager server 200 remotely restores the backup server 100 based on the recovery scenario,
The remote management terminal 300 confirms the current status of the backup server 100 in real time from the time when the remote management terminal 300 is connected to the manager server 200 or receives status information received from the agent program of the backup server 100, The status information of the backup server 100 stored at all times by the server 200 and stored at the request of the remote management terminal 300,
The manager server 200 transmits a recovery progress status result for restoring the backup server 100 to the remote management terminal 300 according to a recovery scenario,
The agent program is characterized by being developed in Java (JAVA)
Wherein the socket communication is a TCP / IP (Transmission Control Protocol / Internet Protocol) or a UDP (User Datagram Protocol).
삭제delete 삭제delete 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지며, 서버 장애 시 원격 서버 복구 시스템을 이용한 서버 장애 시 원격 서버 복구 방법에 있어서,
매니저서버(200)가 복구시나리오를 입력받는 복구시나리오입력 단계(S10);
매니저서버(200)가 원격관리단말(300)로부터 입력된 고유식별정보를 근거로 인증절차를 수행하며, 인증이 완료된 원격관리단말(300)과 서버관리자에 의해 승인된 서버 포트(Port)를 이용하여 소켓통신을 하는 소켓통신 단계(S20);
매니저서버(200)가 백업서버(100)에 설치된 에이전트프로그램을 통해 상태정보를 입력받아 상기 원격관리단말(300)에 상기 상태정보를 전송하는 모니터링 단계(S30); 및
매니저서버(200)가 상기 원격관리단말(300)로부터 서버 복구 요청을 받으면, 상기 복구시나리오입력 단계(S10)에서 입력받은 복구시나리오에 따라 상기 백업서버(100)를 복구하는 서버복구 단계(S40)를 포함하며,
상기 모니터링 단계(S30)는 상기 원격관리단말(300)이 상기 매니저서버(200)에 접속한 시점부터 실시간으로 상기 백업서버(100)의 현재 상태를 확인하거나 또는 상기 백업서버(100)의 에이전트프로그램으로부터 받은 상태정보를 상기 매니저서버(200)가 상시 저장하고 원격관리단말(300)의 요청에 따라 저장된 백업서버(100)의 상태정보를 제공하며,
상기 서버복구단계(S40)는 상기 매니저서버(200)가 복구시나리오에 따라 상기 백업서버(100)를 복구하는 복구진행 상태 결과를 상기 원격관리단말(300)로 전송하는 것을 특징으로 하는 서버 장애 시 원격 서버 복구 방법.
A method for restoring a remote server in the event of a server failure using a remote server recovery system in the event of a server failure, the method comprising the steps of:
A recovery scenario input step (S10) in which the manager server (200) receives a recovery scenario;
The manager server 200 performs the authentication procedure based on the unique identification information input from the remote management terminal 300 and uses the server port approved by the server manager 300 and the authenticated remote management terminal 300 A socket communication step (S20) for performing socket communication;
A monitoring step (S30) in which the manager server (200) receives status information through an agent program installed in the backup server (100) and transmits the status information to the remote management terminal (300); And
A server recovery step S40 for recovering the backup server 100 according to a recovery scenario input in the recovery scenario input step S10 when the manager server 200 receives a server recovery request from the remote management terminal 300, / RTI >
The monitoring step S30 may include checking the current state of the backup server 100 in real time from the time when the remote management terminal 300 accesses the manager server 200, The manager server 200 always stores status information received from the remote management terminal 300 and provides status information of the backup server 100 stored at the request of the remote management terminal 300,
The server recovery step S40 is a step in which the manager server 200 transmits a recovery progress status result of restoring the backup server 100 to the remote management terminal 300 according to the recovery scenario. How to repair a remote server.
제4항에 있어서,
상기 소켓통신은 TCP/IP(Transfer Control Protocol/Internet Protocol) 또는 UDP(User Datagram Protocol)인 것을 특징으로 하는 서버 장애 시 원격 서버 복구 방법.
5. The method of claim 4,
Wherein the socket communication is a TCP / IP (Transmission Control Protocol / Internet Protocol) or a UDP (User Datagram Protocol).
제4항에 있어서,
상기 에이전트프로그램은 자바(JAVA)로 개발된 것을 특징으로 하는 서버 장애 시 원격 서버 복구 방법.
5. The method of claim 4,
Wherein the agent program is developed in Java (JAVA).
제4항에 있어서,
상기 고유식별정보는 특정 IP, 공인인증서, 아이디(ID) 와 패스워드(password), 엑세스권한목록(ACL: Access Control List), 맥어드레스(MAC(media access control) address), 국제모바일기기식별코드(IMEI, International Mobile Station Equipment Identity), 고유식별번호(UDID: User Device IDentification), 범용고유식별자(UUID: Universally Unique IDentifier) 및 전화번호 중 선택되는 적어도 하나인 것을 특징으로 하는 서버 장애 시 원격 서버 복구 방법.
5. The method of claim 4,
The unique identification information includes a specific IP, a public certificate, an ID and a password, an access control list (ACL), a MAC address (media access control) Wherein the remote server is at least one selected from the group consisting of an International Mobile Station Equipment Identity (IMEI), a User Device IDentification (UDID), a Universally Unique IDentifier (UUID) .
삭제delete 제 4항 내지 제 7항 중 선택되는 어느 한 항에 기재된 서버 장애 시 원격 서버 복구 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a program for implementing a remote server recovery method in a server failure according to any one of claims 4 to 7.
제 4항 내지 제 7항 중 선택되는 어느 한 항에 기재된 서버 장애 시 원격 서버 복구 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.A program stored in a computer-readable recording medium for implementing a remote server recovery method in a server failure according to any one of claims 4 to 7.
KR1020150081172A 2015-06-09 2015-06-09 System and method for remote server recovery KR101592323B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150081172A KR101592323B1 (en) 2015-06-09 2015-06-09 System and method for remote server recovery
PCT/KR2016/006237 WO2016200232A1 (en) 2015-06-09 2016-06-13 System and method for remote server recovery in case of server failure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150081172A KR101592323B1 (en) 2015-06-09 2015-06-09 System and method for remote server recovery

Publications (1)

Publication Number Publication Date
KR101592323B1 true KR101592323B1 (en) 2016-02-05

Family

ID=55353740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150081172A KR101592323B1 (en) 2015-06-09 2015-06-09 System and method for remote server recovery

Country Status (2)

Country Link
KR (1) KR101592323B1 (en)
WO (1) WO2016200232A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102124189B1 (en) * 2020-03-02 2020-06-17 주식회사 솔텍크 Apparatus for Monitoring Shutdown of Server and Driving Method Thereof
KR20220168264A (en) 2021-06-16 2022-12-23 주식회사 데일리팜 Watch dog system using adaptive conversion mode

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258857A (en) * 2020-02-21 2020-06-09 山东超越数控电子股份有限公司 Server state monitoring method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100470176B1 (en) * 2002-12-31 2005-02-05 김호빈 Platform system for executing an intelligent mobile agent
JP2008217735A (en) * 2007-03-08 2008-09-18 Nec Corp Fault analysis system, method and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040047209A (en) * 2002-11-29 2004-06-05 (주)소프트위드솔루션 Method for automatically recovering computer system in network and recovering system for realizing the same
KR100869902B1 (en) * 2007-01-26 2008-11-24 삼성에스디에스 주식회사 Method for obstruction and capacity information unification monitoring in unification management system environment and system for thereof
KR101082669B1 (en) * 2009-11-13 2011-11-15 한양대학교 산학협력단 WEB SERVER AND COMMUNICATION SERVER FOR ActiveX SOCKET COMPONENT REPLACEMENT

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100470176B1 (en) * 2002-12-31 2005-02-05 김호빈 Platform system for executing an intelligent mobile agent
JP2008217735A (en) * 2007-03-08 2008-09-18 Nec Corp Fault analysis system, method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102124189B1 (en) * 2020-03-02 2020-06-17 주식회사 솔텍크 Apparatus for Monitoring Shutdown of Server and Driving Method Thereof
KR20220168264A (en) 2021-06-16 2022-12-23 주식회사 데일리팜 Watch dog system using adaptive conversion mode

Also Published As

Publication number Publication date
WO2016200232A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
KR102204143B1 (en) Tunnel-based conectivity management method and apparatus and system therefor
US10334083B2 (en) Systems and methods for malicious code detection
Rhee et al. Security requirements of a mobile device management system
US9240977B2 (en) Techniques for protecting mobile applications
EP2909777B1 (en) Data loss prevention for mobile computing devices
CN111193698B (en) Data processing method, device, terminal and storage medium
Giaretta et al. Adding salt to pepper: A structured security assessment over a humanoid robot
KR102379721B1 (en) System for controlling network access of application based on tcp session control and method therefor
US20070266433A1 (en) System and Method for Securing Information in a Virtual Computing Environment
Chomsiri HTTPS hacking protection
CN113614718A (en) Abnormal user session detector
KR101592323B1 (en) System and method for remote server recovery
CN102045310B (en) Industrial Internet intrusion detection as well as defense method and device
US11537412B2 (en) System and method of utilizing security device plugin for external device monitoring and control in a secured environment
KR101772144B1 (en) Security management apparatus and method in a home network system
CN112822146A (en) Network connection monitoring method, device, system and computer readable storage medium
Rahman et al. Holistic approach to arp poisoning and countermeasures by using practical examples and paradigm
KR101473607B1 (en) Apparatus and Method for Access Control in a Virtual Private Network
KR101343693B1 (en) Network security system and method for process thereof
JP2008234410A (en) Remote access system, information processing device, remote access program, and remote access method
CN107819787B (en) System and method for preventing illegal external connection of local area network computer
CN116436668B (en) Information security control method and device, computer equipment and storage medium
Nair et al. Intrusion detection in Bluetooth enabled mobile phones
KR102082889B1 (en) Apparatus and method for analyzing protocol
CN113225334B (en) Terminal security management method and device, electronic equipment and storage medium

Legal Events

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

Payment date: 20190117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191119

Year of fee payment: 5