KR101900727B1 - 가상 서버 관리 장치 - Google Patents

가상 서버 관리 장치 Download PDF

Info

Publication number
KR101900727B1
KR101900727B1 KR1020180068469A KR20180068469A KR101900727B1 KR 101900727 B1 KR101900727 B1 KR 101900727B1 KR 1020180068469 A KR1020180068469 A KR 1020180068469A KR 20180068469 A KR20180068469 A KR 20180068469A KR 101900727 B1 KR101900727 B1 KR 101900727B1
Authority
KR
South Korea
Prior art keywords
virtual
virtual machine
data
servers
failure
Prior art date
Application number
KR1020180068469A
Other languages
English (en)
Inventor
김상순
Original Assignee
김상순
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김상순 filed Critical 김상순
Priority to KR1020180068469A priority Critical patent/KR101900727B1/ko
Application granted granted Critical
Publication of KR101900727B1 publication Critical patent/KR101900727B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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

Abstract

복수의 물리 서버 각각에 할당된 복수의 가상 머신에 의해 구동되는 복수의 가상 서버를 관리하는 가상 서버 관리 장치는 복수의 가상 서버로부터 리소스 정보를 수신하고, 리소스 정보를 관리하는 리소스 관리부, 복수의 가상 서버 각각의 장애에 관한 정보를 모니터링하는 장애 관리부 및 복수의 물리 서버에 복수의 가상 머신을 할당하고, 장애에 관한 정보에 기초하여 복수의 가상 머신의 절체 프로세스 및 백업 프로세스를 수행하는 가상 머신 제어부를 포함한다.

Description

가상 서버 관리 장치{VIRTUAL SERVER MANAGING APPARATUS}
본 발명은 가상 서버 관리 장치에 관한 것이다.
가상화(Virtualization)는 하나의 물리적 요소를 여러 개의 논리적 요소로 나누어 관리할 수 있게 하거나, 복수 개의 물리적 요소를 하나의 논리적 요소로 통합하여 관리할 수 있게 하는 기술을 말하는 것으로서, 특히 서버 가상화는 하나의 물리적인 서버 내에 여러 개의 논리적 가상 머신(Virtual Machine)을 두어, CPU, 메모리, 네트워크, 스토리지 등의 자원을 공유하는 기술을 의미한다. 이하에서, 가상화 기술이 적용된 서버를 가상 서버라 통칭하기로 한다.
서버 가상화 기술은 하나의 하드웨어에 다수의 운영체제를 동작시킬 수 있게 하고, 동시에 해당 운영체제에 할당되는 물리적 자원의 양을 동적으로 조절할 수 있게 함으로써 각각의 하드웨어가 높은 효율로 운영될 수 있도록 한다. 실제로 이러한 성능 효율의 상승은 한번에 운영되어야 하는 실제적 물리적 하드웨어의 수를 줄임으로써 관리의 효율을 높이고 이에 따른 비용절감 효과도 동반할 수 있다.
그러나, 종래의 가상 서버의 경우, 가상 서버의 장애를 예측하기 어렵고, 이에 따라 가상 서버의 장애에 적절히 대처하기 어렵다는 문제점이 있었다.
이와 관련하여, 한국 등록특허 제10-1493827호는 물리서버를 가상 서버로 마이그레이션하는 장치 및 방법을 개시하고 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 복수의 가상 서버로부터 리소스 정보를 수신하고, 리소스 정보를 관리하는 리소스 관리부, 복수의 가상 서버 각각의 장애에 관한 정보를 모니터링하는 장애 관리부 및 복수의 물리 서버에 복수의 가상 머신을 할당하고, 장애에 관한 정보에 기초하여 복수의 가상 머신의 절체 프로세스 및 백업 프로세스를 수행하는 가상 머신 제어부를 포함하는 가상 서버 관리 장치를 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는 복수의 물리 서버 각각에 할당된 복수의 가상 머신에 의해 구동되는 복수의 가상 서버를 관리하는 가상 서버 관리 장치에 있어서, 상기 복수의 가상 서버로부터 리소스 정보를 수신하고, 상기 리소스 정보를 관리하는 리소스 관리부, 상기 복수의 가상 서버 각각의 장애에 관한 정보를 모니터링하는 장애 관리부 및 상기 복수의 물리 서버에 상기 복수의 가상 머신을 할당하고, 상기 장애에 관한 정보에 기초하여 상기 복수의 가상 머신의 절체 프로세스 및 백업 프로세스를 수행하는 가상 머신 제어부를 포함하는 것인, 가상 서버 관리 장치를 제공할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 가상 서버의 장애를 용이하게 예측하고, 이에 따라 가상 서버의 장애에 적절히 대처할 수 있다.
도 1은 본 발명의 일 실시예에 따른 가상 서버 관리 시스템을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상 서버를 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 가상 서버 관리 장치를 나타낸 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 가상 서버 관리 시스템을 도시한 도면이다. 도 1을 참조하면, 가상 서버 관리 시스템은 복수의 가상 서버(100), 가상 서버 관리 장치(110) 및 저장소(120)를 포함할 수 있다.
가상 서버(100)는 물리 서버에 할당된 복수의 가상 머신에 의해 구동되는 서버를 의미한다. 물리 서버는, 가상 서버(100)가 동작하기 위한 플랫폼이며, 컴퓨터 하드웨어 및 하이퍼바이저 등의 가상 서버 관리 소프트웨어를 구비한다.
가상 서버(100) 상에서는 하나 이상의 어플리케이션이 동작한다. 다른 업무를 행하는 가상 서버(100)가 복수 조합되어 물리 서버 상에 배치되는 경우도 있으며, 동일한 업무를 행하는 복수의 가상 서버(100)가 다른 물리 서버 상에 배치되는 경우도 있다.
구체적으로, 도 2에 도시된 바와 같이, 가상 서버(100)는 물리 서버에 구비된 호스트 운영 체제(OS; Operating System)(200) 위에 가상화된 별도의 운영 체제(210) 및 별도의 운영 체제(210) 상에서 구동되는 어플리케이션(220)을 포함한다.
가상 서버(100)의 데이터는, 물리 서버에 직접 접속된 디스크 장치에 저장될 수 있다. 이와 달리, 가상 서버(100)의 데이터는, 물리 서버와 별도로 존재하여, 네트워크 또는 직접 결선에 의해 접속된 저장소(120)에 저장될 수도 있다.
가상 서버 관리 장치(110)는 물리 서버에 복수의 가상 머신을 할당하고, 가상 머신에 의해 동작하는 복수의 가상 서버(100)를 관리할 수 있다. 예를 들어, 가상 서버 관리 장치(110)는 복수의 가상 서버(100) 각각에 할당된 가상 머신을 관리할 수 있다.
가상 서버 관리 장치(110)는 복수의 가상 서버(100)로부터 리소스 정보를 수신하고, 복수의 가상 서버(100)의 리소스를 관리할 수 있다.
가상 서버 관리 장치(110)는 복수의 가상 서버(100) 각각의 장애에 관한 정보를 모니터링하여 복수의 가상 서버(100) 각각의 장애를 예측할 수 있다.
이하 가상 서버가 포함하는 세부 구성에 대해 서술하되, 이에 대한 도면은 블록도로 구현되는 관계로 생략한다.
본 발명은 자세하게는 랜셈웨어 차단 모듈을 포함하는 가상 서버 및 통합 검색 서비스 제공 서버인 가상 서버를 관리하는 가상 서버 관리 장치와 상기 가상 서버 관리 장치를 포함하는 가상 서버 관리 시스템이다.
복수의 가상 서버(100)는 랜섬웨어의 침입을 감지하기 위한 랜섬웨어 차단 모듈을 포함할 수 있다.
랜섬웨어 차단 모듈은 랜섬웨어의 침입이 감지되면, 가상 서버(100)의 CPU의 클럭 수를 비정상적으로 저하(예를 들어, 정상 클럭의 1 내지 3% 등)시켜 가상 서버(100)의 CPU의 연산 속도를 비정상적으로 줄임으로써, 랜섬웨어의 설치 및 확인 속도를 저하시킬 수 있다.
이때, 동기화를 위한 가상 서버(100)의 자원은 미리 독립적으로 확보해 두었다가, 랜섬웨어의 침입이 감지되면, 다른 자원과는 별도로 활용하여 클럭 수의 저하에도 지장 없이 동기화를 수행하도록 함이 바람직하다.
예를 들어, 랜섬웨어 차단 모듈은, 관리자로부터 미리 지정을 받은 순서에 따라 저장소(120)에 데이터를 저장하거나, 랜섬웨어로부터 데이터를 보호하기 위해 용량이 적은 데이터로부터 저장소(120)에 업로드 하거나, 관리자로부터 지정 받은 전체 데이터를 일괄하여 업로드 하기 위해 전체 데이터에 대한 압축 데이터를 생성한 후 한 번에 업로드를 시도할 수 있다. 여기서, 관리자는 가상 서버 관리 장치(110)의 관리자를 의미한다.
랜섬웨어 차단 모듈은 어플리케이션의 필수 데이터의 용량, 관리자로부터 지정된 데이터인지 여부 및 어플리케이션의 클라이언트의 개수에 기초하여 저장소(120)에 업로드 하는 순서를 결정할 수 있다. 예를 들어, 특정 어플리케이션의 클라이언트의 개수가 상대적으로 많다면, 이용 이력에 따른 누적 데이터도 많게 되어 해당 어플리케이션의 필수 데이터의 용량이 큼은 자명하다.
상기 랜섬웨어 차단 모듈은 어플리케이션의 데이터를 크기별로 10개의 그룹으로 분류한다.
상기 랜섬웨어 차단모듈은 용량의 크기가 가장 작은 데이터들이 속한 그룹을 그룹 1로 정의 하고, 용량의 크기가 두번째로 작은 데이터들이 속한 그룹을 그룹 2로 정의 하고, 용량의 크기가 세번째로 작은 데이터들이 속한 그룹을 그룹 3으로 정의 하고, 용량의 크기가 네번째로 작은 데이터들이 속한 그룹을 그룹 4로 정의 하고, 용량의 크기가 다섯번째로 작은 데이터들이 속한 그룹을 그룹 5로 정의 하고, 용량의 크기가 여섯번째로 작은 데이터들이 속한 그룹을 그룹 6으로 정의 하고, 용량의 크기가 일곱번째로 작은 데이터들이 속한 그룹을 그룹 7로 정의 하고, 용량의 크기가 여덟번째로 작은 데이터들이 속한 그룹을 그룹 8로 정의 하고, 용량의 크기가 아홉번째로 작은 데이터들이 속한 그룹을 그룹 9로 정의 하고, 용량의 크기가 열번째로 작은 데이터들이 속한 그룹을 그룹 10으로 정의 한다. 그리고 그룹 1에는 10점, 그룹2 에는 9점, 그룹 3에는 8점, 그룹 4에는 7점, 그룹 5에는 6점, 그룹 6에는 5점, 그룹 7에는 4점, 그룹 8에는 3점, 그룹 9에는 2점 그룹 10에는 1점을 부여한다. 짧은 시간에 최대한 많은 데이터들이 보호하기 위해 용량이 작은 데이터들이 더 큰 점수를 부여할 수 있다.
상기 랜섬웨어 차단모듈은 관리자가 지정한 데이터들에 5점을 부여하고, 그렇지 않은 데이터에는 0점을 부여한다. 관리자가 중요시한 데이터를 빨리 업로드 할수 있도록 더 큰 점수를 부여할 수 있다.
따라서, 가상 서버(100)에 저장되어 있는 모든 데이터를 저장소(120)에 업로드 하기 해서는 많은 시간이 걸리기 때문에 랜섬웨어로부터 데이터들을 보호하기 어려운 바, 관리자는 랜섬웨어의 침입에 대비하여 최소한의 중요 데이터를 미리 선택하여 지정해 둠이 바람직하다.
또한, 상기 랜섬웨어 차단모듈은 랜섬웨어의 침입이 감지된 시점으로부터 1달 이내에 확인된 횟수에 기초하여 데이터를 10개의 그룹으로 분류한다. 관리자가 데이터를 확인한다는 것은, 의도적으로 특정 데이터에 접근하여 데이터에 포함된 내용을 확인했다는 것이다. 특별히 지정한 것은 아니지만, 여러 이유로 특정 데이터를 확인했다는 것은 중요하게 관리될 필요가 있는 데이터일 수 있다.
랜섬웨어 차단모듈은 확인된 횟수가 가장 많은 데이터가 속한 그룹을 그룹 1로 정의 하고, 확인된 횟수가 두번째로 많은 데이터가 속한 그룹을 그룹 2로 정의 하고, 확인된 횟수가 세번째로 많은 데이터가 속한 그룹을 그룹 3으로 정의 하고, 확인된 횟수가 네번째로 많은 데이터가 속한 그룹을 그룹 4로 정의 하고, 확인된 횟수가 다섯번째로 많은 데이터가 속한 그룹을 그룹 5로 정의 하고, 확인된 횟수가 여섯번째로 많은 데이터가 속한 그룹을 그룹 6으로 정의 하고, 확인된 횟수가 일곱번째로 많은 데이터가 속한 그룹을 그룹 7로 정의 하고, 확인된 횟수가 여덟번째로 많은 데이터가 속한 그룹을 그룹 8로 정의 하고, 확인된 횟수가 아홉번째로 많은 데이터가 속한 그룹을 그룹 9로 정의 하고, 확인된 횟수가 가장 적은 데이터가 속한 그룹을 그룹 10로 정의 한다. 확인된 횟수에 따라 구분된 그룹 1내지10은 용량의 크기에 따라 구분된 그룹과 상이함은 자명하다.
그리고 확인된 횟수에 따라 구분된 그룹 1 내지 10에 대하여, 그룹 1에는 10점, 그룹2 에는 9점, 그룹 3에는 8점, 그룹 4에는 7점, 그룹 5에는 6점, 그룹 6에는 5점, 그룹 7에는 4점, 그룹 8에는 3점, 그룹 9에는 2점 그룹 10에는 1점을 부여한다. 관리자가 지정하지 않았더라도, 확인된 횟수가 많다는 것은 관리자가 필요로 하는 데이터인 것으로 추정하여 확인 횟수가 많은 데이터에 더 큰 점수를 부여한다.
또한, 랜섬웨어 차단 모듈은 데이터의 용량, 관리자로부터 지정된 데이터인지 여부 및 관리자가 데이터를 확인한 횟수에 따라 부여된 점수를 합산하여 합산된 점수가 높은 순으로 데이터를 저장소(120)로 업로드한다.
랜섬웨어 차단모듈은 데이터의 용량, 관리자로부터 지정된 데이터인지 여부 및 관리자가 데이터를 확인한 횟수에 더 나아가, 데이터의 최초 취득 날짜 및 필수 데이터인지 여부를 더 고려하여 저장소(120)로 업로드 하는 순서를 결정한다.
랜섬웨어 차단 모듈은 데이터를 최초 취득 날짜별로 4개의 그룹으로 분류한다. 각각의 그룹에 포함된 데이터의 개수는 모든 데이터의 개수를 그룹수로 나눈 값과 동일하다. 즉 데이터가 1000개라면, 그룹의 개수는 4개이기 때문에 각 그룹에는 250개의 데이터가 포함된다.
랜섬웨어 차단모듈은 최초 취득 날짜가 가장 늦은 데이터들이 속한 그룹을 그룹 1로 정의 하고, 최초 취득 날짜가 두번째로 늦은 데이터들이 속한 그룹을 그룹 2로 정의 하고, 최초 취득 날짜가 세번째로 늦은 데이터들이 속한 그룹을 그룹 3으로 정의 하고, 최초 취득 날짜가 네번째로 늦은 데이터들이 속한 그룹을 그룹 4로 정의 한다. 그리고 그룹 1에는 10점, 그룹2 에는 9점, 그룹 3에는 8점, 그룹 4에는 7점을 부여한다. 최초 취득 날짜에 따라 구분된 그룹 1내지4는 전술한 그룹들과 상이함은 자명하다.
랜섬웨어 차단모듈은 최근에 취득된 데이터일수록 신규한 데이터이기 때문에 최초 취득 날짜가 늦은 데이터일수록 더 높은 점수를 부여한다.
또한, 랜섬웨어 차단 모듈은 데이터가 우수 데이터인지 여부를 판단하여, 우수 데이터인 경우에는 5점을 부여하고, 비우수 데이터인 경우에는 0점을 부여한다. 우수 데이터가 손상된 경우에는 다시 비용을 지불하고 데이터를 구입해야 하는 만큼 우수 데이터에 더 큰 점수를 부여한다. 우수 데이터인지 여부는 클라이언트가 접근하는 횟수가 기준치 이상인지에 따라 결정된다. 랜섬웨어 차단 모듈은 클라이언트의 개수, 관리자로부터 지정된 데이터인지 여부 및 관리자가 데이터를 확인한 횟수, 데이터의 최초 취득 날짜 및 우수 데이터인지 여부에 따라 부여된 점수를 모두 합산하여 점수가 높은 순으로 데이터를 저장소(120)에 업로드한다.
또한, 랜섬웨어 차단 모듈은, 가상 서버(100)의 데이터들을 주기적(예를 들어, 하루 또는 격일 등)으로 백업하여 별도로 형성되는 저장장치 등에 저장해 두며, 랜섬웨어의 침입이 감지되면 상술한 바와 같이 가상 서버(100)의 성능을 조절하여 랜섬웨어의 설치 및 확인 속도를 저하시킨 후 가상 서버(100)의 모든 데이터를 일시에 삭제하며, 침입한 랜섬웨어의 치료가 완료된 후 백업해 둔 자료를 이용하여 랜섬웨어의 침입 이전 시기의 상태로 롤백(Roll Back, 현재의 데이터가 유효하지 않거나 망가졌을 때 기존 데이터로 되돌리는 행위)할 수 있다.
예를 들어, 랜섬웨어 차단 모듈은, 가상 서버(100)에 저장된 데이터을 주기적으로 저장소(120)에 업로드 하되, 데이터의 용량, 관리자로부터 지정된 데이터인지 여부 및 관리자가 데이터를 확인한 횟수, 데이터의 최초 취득 날짜 및 우수 데이터인지 여부에 따라 부여된 점수가 낮은 순서로 저장소(120)에 우선적으로 업로드한다. 랜섬웨어가 침입되면, 점수가 높은 순서로 저장소(120)에 업로드 되기 때문에, 랜섬웨어가 침입되기 이전에는 주기적으로 데이터를 업로드 하되, 점수가 낮은 순서로 업로드한다.
가상 서버 관리 장치(110)는 장애에 관한 정보에 기초하여 복수의 가상 서버(100)의 절체 프로세스 및 백업 프로세스를 수행할 수 있다. 여기서, 절체 프로세서란 어느 한 물리 서버에 할당된 가상 머신을 다른 물리 서버로 이동하는 프로세서로서, 마이그레이션(Migration)이라고도 불린다.
저장소(120)는 가상 서버(100)의 데이터를 저장하는 것으로서, 예를 들어, SAN(Storage Area Network), NFS(Network File System), iSCSI(Internet Small Computer System Interface) 등을 포함할 수 있으나, 저장소(120)의 종류에 대해서는 한정하지 않는다.
도 3은 본 발명의 일 실시예에 따른 가상 서버 관리 장치를 나타낸 블록도이다. 도 3을 참조하면, 가상 서버 관리 장치(110)는 리소스 관리부(300), 장애 관리부(310) 및 가상 머신 제어부(320)를 포함할 수 있다. 여기서, 장애 관리부(310)는 제 1 장애 예측부(312), 제 2 장애 예측부(314), 제 3 장애 예측부(316) 및 절체 물리 서버 결정부(318)를 포함할 수 있다. 또한, 가상 머신 제어부(320)는 가상 머신 그룹핑부(322), 가상 머신 백업부(324), 절체 수행부(326) 및 절체 반복수행부(328)을 포함할 수 있다.
리소스 관리부(300)는 복수의 가상 서버(100)로부터 리소스 정보를 수신하고, 복수의 가상 서버(100)의 리소스를 관리할 수 있다.
가상 머신 그룹핑부(322)는 복수의 물리 서버 각각의 성능, 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 복수의 가상 머신 각각에 대응하는 평균 클라이언트의 수에 기초하여 복수의 가상 머신을 저 위험 그룹, 중 위험 그룹 및 고 위험 그룹으로 분류할 수 있다.
여기서, 물리 서버의 성능은 메모리 크기, 프로세서의 용량, VGA 카드의 종류 및 LAN 카드의 종류를 포함할 수 있다. 물리 서버의 성능이 좋지 않을수록 고 위험 그룹으로 분류될 확률이 높다.
운영 체제의 특성은 운영 체제의 종류 예컨대, 윈도우, 안드로이드, iOS, 리눅스 등의 특성을 의미하는 것으로서, 예를 들어, 멀티태스킹 성능, 입출력 제어 성능, 메모리 제어 성능, 네트워크 성능, 보안 성능을 포함할 수 있다.
또한, 가상 서버(100)는 가상 머신 상의 어플리케이션을 통해 클라이언트에게 서비스를 제공하는데, 이 경우의 평균 클라이언트의 수가 고려될 수 있다. 클라이언트의 수가 많을 경우, 고 위험 그룹으로 분류될 확률이 높다. (가상 서버(100)에 장애가 발생할 경우, 불편을 겪는 클라이언트가 많기 때문)
가상 머신 그룹핑부(322)는 복수의 가상 머신을 분류함에 있어서, 복수의 물리 서버 각각의 성능에 제 1 가중치를 할당하고, 복수의 가상 머신 각각에 대응하는 운영 체제의 특성에 제 2 가중치를 할당하고, 복수의 가상 서버 각각에 대응하는 평균 클라이언트의 수에 제 3 가중치를 할당할 수 있다.
가상 머신 그룹핑부(322)는 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 제 1 가중치, 제 2 가중치 및 제 3 가중치를 가변할 수 있다.
예를 들어, 가상 머신 그룹핑부(322)는 복수의 어플리케이션을 연속성의 보장이 100% 요구되는 제 1 유형의 어플리케이션(예컨대, 온라인 게임 어플리케이션, 메신저 서비스 어플리케이션), 연속성의 보장이 50% ~ 100% 정도로 요구되는 제 2 유형의 어플리케이션(보안 서비스 어플리케이션), 연속성의 보장이 0% ~ 50% 정도로 요구되는 제 3 유형의 어플리케이션 및 연속성의 보장이 요구되지 않는 제 3 유형의 어플리케이션(데이터베이스 서비스 어플리케이션)으로 분류한 어플리케이션 유형 테이블을 생성하고, 이를 저장할 수 있다.
예를 들어, 연속성의 보장이 100% 요구되는 어플리케이션의 경우, 제 1 가중치의 비중을 높임으로써, 복수의 가상 머신을 분류함에 있어서, 물리 서버의 성능을 많은 비중으로 고려할 수 있다.
다른 예를 들어, 연속성의 보장이 50% ~ 100% 정도로 요구되는 제 2 유형의 어플리케이션의 경우, 제 3 가중치의 비중을 높임으로써, 복수의 가상 머신을 분류함에 있어서, 가상 서버에 대응하는 평균 클라이언트의 수를 많은 비중으로 고려할 수 있다(즉, 연속성이 반드시 보장될 필요는 없지만 클라이언트의 수가 많을 경우에는 고 위험 그룹 또는 중 위험 그룹으로 분류될 수 있음).
다른 예를 들어, 연속성의 보장이 요구되지 않는 제 3 유형의 어플리케이션의 경우, 제 2 가중치의 비중을 높임으로써, 복수의 가상 머신을 분류함에 있어서, 가상 머신에 대응하는 운영 체제의 특성을 많은 비중으로 고려할 수 있다.
가상 머신 백업부(324)는 저 위험 그룹에 포함되는 제 1 가상 머신의 경우, 제 1 가상 머신에 의해 해당 가상 서버가 구동되기 위한 필수 데이터만을 저장소(120)에 저장할 수 있다. 저 위험 그룹에 포함되는 제 1 가상 머신의 경우, 다소 오랜 시간에 걸쳐 장애를 복구해도 무방하기 때문에, 필수 데이터만을 저장하고, 장애가 발생할 경우, 이를 이용하여 가상 머신을 재구성한다.
가상 머신 백업부(324)는 중 위험 그룹에 포함되는 제 2 가상 머신의 경우, 제 2 가상 머신을 저장소(120)에 백업할 수 있다. 제 2 가상 머신에 장애가 발생할 경우, 저장소(120)의 백업 데이터를 통해 제 2 가상 머신이 복원된다.
가상 머신 백업부(324)는 고 위험 그룹에 포함되는 제 3 가상 머신의 경우, 제 3 가상 머신을 저장소(120)에 백업과 동시에 제 3 가상 머신을 다른 물리 서버에 실시간으로 복제한다.
제 1 장애 예측부(312)는 복수의 가상 머신 각각의 과거 운영 데이터를 수집하여 클라이언트로부터 전송된 날짜별, 요일별 및 시간별 평균 패킷의 개수를 분석하여 날짜별, 요일별 및 시간별 평균 패킷 개수를 포함하는 평균 패킷 개수 테이블을 생성하고, 평균 패킷 테이블을 저장할 수 있다.
제 1 장애 예측부(312)는 평균 패킷 테이블에 저장된 평균 패킷의 개수 중 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수와 현재 패킷의 개수를 비교하여 복수의 가상 서버(100) 각각의 장애 여부를 예측할 수 있다.
예를 들어, 제 1 장애 예측부(312)는 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 70% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 주의 단계로 설정할 수 있다.
제 1 장애 예측부(312)는 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 50% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 위험 단계로 설정할 수 있다.
제 1 장애 예측부(312)는 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 30% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 장애 발생 단계로 설정할 수 있다.
절체 수행부(326)는 저 위험 그룹에 속한 가상 머신의 경우, 장애 발생 단계에서 다른 물리 서버로의 절체를 수행할 수 있다. 이에 반해, 절체 수행부(326)는 중 위험 그룹에 속한 가상 머신의 경우, 위험 단계에서 다른 물리 서버로의 절체를 수행할 수 있다. 또한, 절체 수행부(326)는 고 위험 그룹에 속한 가상 머신의 경우, 주의 단계에서 다른 물리 서버로의 절체를 수행할 수 있다.
또한, 제 1 장애 예측부(312)는 복수의 물리 서버에 부착된 온도 센서 및 진동 센서로부터 온도값 및 진동값을 주기적으로 수신할 수 있다. 제 1 장애 예측부(312)는 온도 센서 및 진동 센서로부터 수신한 온도값 및 진동값을 모니터링하여 온도값 및 진동값의 변화를 추적할 수 있다.
제 1 장애 예측부(312)는 온도값 및 진동값이 기설정된 시간동안 기설정된 범위만큼 급격히 증가한 경우, 해당 가상 서버가 장애가 발생했다고 판단할 수 있다.
또한, 제 1 장애 예측부(312)는 모니터링한 온도값 및 진동값에 대한 정보를 해당 가상 서버의 담당자의 휴대 단말로 알람을 전송할 수 있다. 이에 따라 해당 가상 서버의 담당자는 해당 가상 서버의 장애 유무를 육안으로 확인할 수 있다.
제 2 장애 예측부(314)는 전력 회사의 서버로부터 복수의 물리 서버 각각이 위치한 지역의 전력 예비율에 대한 정보를 수신하고, 전력 예비율에 기초하여 복수의 가상 서버(100) 각각의 장애 여부를 예측할 수 있다.
일반적으로, 전력 예비율이 10% 미만인 경우, 블랙 아웃(대정전)을 막고자 급전 지시가 발동되는데, 급전 지시가 발동되고 나서도 전력 예비율이 높아지지 않을 경우, 블랙 아웃이 발생한다. 이 경우, 해당 지역의 전력 공급이 중단된다.
본 발명에서는 전력 예비율이 급전 지시가 발동되는 10% 미만인 경우, 해당 지역에 위치한 복수의 물리 서버에 해당하는 복수의 가상 서버(100)가 장애가 발생할 것임을 예측할 수 있다.
제 3 장애 예측부(316)는 물리 서버에 할당된 가상 머신과 해당 물리 서버의 호환성을 판단하여 가상 서버의 장애를 예측할 수 있다. 예를 들어, 제 3 장애 예측부(316)는 장애가 자주 발생하는 원인이 가상 머신의 알고리즘 문제인지 또는 가상 머신과 물리 서버의 호환성의 문제인지 판단할 수 있다.
가상 머신은 어플리케이션을 통해 클라이언트에게 서비스를 제공하는데, 물리 서버에 설치된 하드웨어에 따라 원활하게 동작하거나 원활하게 동작하지 않을 수 있다. 즉, 가상 머신의 하이퍼바이저는 특정 물리 서버에 설치된 CPU, GPU, 메모리, 스토리지 등과 리소스를 효율적으로 이용하지 못하여 특정 물리 서버와 호환성이 낮을 수 있다.
구체적으로, 제 3 장애 예측부(316)는 각각의 가상 머신에 대하여 실제 장애가 발생된 빈도를 저장하는 장애 기록 테이블을 생성하고, 각각의 가상 머신의 장애 빈도를 장애 기록 테이블에 저장할 수 있다.
제 3 장애 예측부(316)는 가상 머신이 복수의 물리 서버에 할당되었을 때에 각각의 물리 서버에서 발생된 장애 발생 빈도의 범위가 소정 범위 이내에 해당하는 경우, 가상 머신과 물리 서버와의 호환성 높은 것으로 예측할 수 있다. 이 경우, 제 3 장애 예측부(316)는 가상 머신의 알고리즘 자체에 오류가 발생한 것으로 담당자에게 알려주어 담당자가 하이퍼바이저 등의 알고리즘을 미리 유지, 보수하도록 유도할 수 있는 효과가 있다.
제 3 장애 예측부(316)는 가상 머신이 특정 물리 서버에 할당되었을 때에 장애 발생 빈도의 범위가 소정 범위를 벗어나는 경우, 가상 머신과 특정 물리 서버의 호환성이 낮은 것으로 예측할 수 있다.
따라서, 제 3 장애 예측부(316)는 가상 머신이 호환성이 낮은 물리 서버에 할당된 경우 현재 가상 서버에 장애가 발생하지 않은 경우에도 추후 장애가 발생할 확률이 높은 것으로 예측할 수 있다. 이에 더해, 가상 서버 관리 장치(110)는 가상 머신과 물리 서버의 호환성을 높여 가상 머신이 물리 서버에서 원활하게 작동하도록 담당자에게 정보를 제공할 수 있는 효과가 있다.이때, 절체 수행부(326)는 해당 가상 머신의 다른 물리 서버로의 절체를 수행할 수 있다. 절체 수행부(326)는 절체를 수행할 때 제 3 장애 예측부(316)에 의해 호환성이 낮은 물리 서버로 절체를 수행하는 것이 제한될 수 있다.
절체 수행부(326)는 제 3 장애 예측부(316)의 예측 결과를 기초로, 호환성이 낮은 물리 서버보다 호환성이 높은 물리 서버에 우선적으로 가상 머신의 절체를 수행할 수 있다. 특히, 절체 수행부(326)는 호환성이 높은 물리 서버에 우선적으로 가상 머신을 이동한 뒤, 더 이상 호환성이 높은 물리 서버가 남지 않은 경우 호환성이 낮은 물리 서버로 가상 머신을 이동할 수 있다.
또한, 절체 수행부(326)는 호환성이 낮은 물리 서버에 가상 머신의 절체를 수행하는 경우, 가상 머신 그룹핑부(322)에 의해 복수의 물리 서버 각각의 성능에 따라 할당된 제 1 가중치를 고려할 수 있다.
즉, 절체 수행부(326)는 연속성의 보장이 100% 요구되는 어플리케이션이 수행되는 도중 장애가 발생되는 경우, 호환성이 낮은 물리 서버의 성능이 미리 지정된 성능보다 좋은 경우에 가상 머신의 절체를 수행할 수 있다. 절체 수행부(326)는 호환성이 낮은 물리 서버의 성능이 미리 지정된 성능보다 좋지 않은 경우, 절체 수행부(326)는 담당자의 휴대 단말로부터 절체 허가가 승인된 이후 절체를 수행할 수 있다.
이에 따라, 본 발명의 일 실시예에 따른 가상 서버 관리 장치(110)는 가상 서버에 장애가 발생한 경우 가상 머신을 호환성이 낮은 물리 서버로 이동시켜 호환성에 의해 재차 장애가 발생하는 것을 미리 방지할 수 있는 장점이 있다.절체 물리 서버 결정부(318)는 복수의 물리 서버 각각의 성능, 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 복수의 가상 머신 각각이 절체될 복수의 절체 후보 물리 서버의 리스트를 결정할 수 있다.
절체 물리 서버 결정부(318)는 복수의 가상 서버(100) 중 어느 하나의 장애가 예측되는 경우, 복수의 절체 후보 물리 서버 각각의 리소스 현황, 할당된 가상 머신의 수, 구동되고 있었던 시간 및 비구동되고 있었던 시간에 기초하여 상기 복수의 절체 후보 물리 서버 중 하나를 절체될 물리 서버로 결정할 수 있다.
이때, 절체 수행부(326)는 장애가 예측된 복수의 가상 서버(100) 중 어느 하나에 할당된 복수의 가상 머신 각각의 결정된 절체 후보 물리 서버 중 하나로의 절체를 수행할 수 있다.
절체 반복수행부(328)는 가상 머신에 장애가 발생하지 않아도 다른 물리 서버로의 절체를 수행할 수 있다. 절체가 수행된 가상 머신의 경우 재차 서버에 장애가 발생될 확률이 높기 때문에, 절체 반복수행부(328)는 이미 절체가 수행된 가상 머신에 대해 장애가 발생되기 전에 다시 절체를 수행할 수 있다. 절체 반복수행부(328)는 미리 설정된 시간에 따라 정기적으로 절체를 수행할 수 있다.
또한, 절체 반복수행부(328)는 상기 제 1 장애 예측부(312) 내지 제 3 장애 예측부(316)가 장애를 더욱 민감하게 예측하도록 예측 기준을 변경할 수도 있다. 예를 들어, 제 1 장애 예측부(312)의 온도값 및 진동값이 기설정된 시간동안 기설정된 범위만큼 급격히 증가한 경우 해당 가상 서버가 장애가 발생했다고 판단하는데, 절체 반복수행부(328)는 기설정된 시간을 줄이고 및 기설정된 범위를 좁혀 예측 기준을 변경할 수 있다. 이때, 절체 반복수행부(328)는 이전에 절체가 수행될 때의 장애 정도에 비례하여 예측 기준을 변경할 수도 있다.
이에 따라, 본 발명의 일 실시예에 따른 가상 서버 관리 장치(110)는 가상 서버에 장애가 발생되기 전에 미리 절체를 수행하여 서버를 안정한 상태로 유지 및 관리할 수 있는 장점이 있다.
복수의 가상 서버 중 어느 하나의 서버는 통합 검색 서비스 제공 서버로 자료 수집 모듈, 색인 처리 모듈, 검색 처리 모듈 및 부가 서비스 제공 모듈을 포함한다.
색인 처리 모듈은, 1) Fetching(인터넷 상에서 FTP에 의해 파일의 업로드, 다운로드를 하기 위한 셰어 웨어), 2) Extracting(추출), 3) Concat(Concatenate, 복수의 문자열(character string)을 하나의 문자열로 모아서 연결시키는 것), 4) Transfer(전송) 및 5) Indexing(색인)의 과정으로 색인 기능을 수행할 수 있다.
여기서, Extracting은 문서 필터링과 형태소 분석을 통해 데이터를 추출하게 되며, Concatenate은 추출된 데이터를 Metadata, ACLs 및 Textual Content를 포함하는 데이터로 가공하여 용량을 10 내지 20%로 줄일 수 있다.
색인 처리 모듈에 의한 색인 속도는, 원시 데이터(DB등)로부터 대상 자료를 수집하는 시간(수집된 문서를 필터링하는 과정 포함함)과, 실제 수집된 자료를 검색 엔진으로 색인 처리 하는 시간으로 구성되어있다.
대상 자료를 수집하는 시간은 원시 데이터 시스템 및 네트워크의 속도 등에 따라 유동적으로 결정되며, 수집된 대상 자료를 색인 처리하는 시간은 본 발명의 색인 처리 모듈의 정확하고 빠른 형태소 분석기를 이용한 색인어 추출에 의해 결정된다.
또한, 색인 처리 모듈은, MS-Office 파일, 아래아한글, PDF 등 다양한 문서 파일의 필터를 지원할 수 있다.
검색 처리 모듈은, 표준 Xml 기반의 검색 인터페이스로 구동되며, 사용자로부터 검색이 요청된 검색어를 질의어 및 연산자 처리한 후, 색인 처리 모듈에서 색인 처리된 자료 중에서 검색어에 해당하는 자료를 검색하여 검색 결과를 처리한다.
Figure 112018058408143-pat00001
일 실시예에서, 검색 처리 모듈은, 표 1에서 예시한 바와 같은 다양한 질의어와 연산자를 제공한다.
부가 서비스 제공 모듈은, 스펠링 체크, 검색어 자동 완성, 검색어 추천, 최근 검색어 제공, 인기 검색어 제공, 개인화 기능 제공 및 개체 추출 기능을 포함하는 부가 서비스를 제공한다.
부가 서비스 제공 모듈이 제공할 수 있는 첫 번째 기능으로서 스펠링 체크는, 검색로그/문서에서 오타 보정의 대상 단어를 추출하며, 색인 대상 문서를 통한 오타 보정 대상 단어 추출로 검색 쿼리가 적은 경우라도 보정이 가능하도록 하며, 단어별 쿼리 가중치와 문서에서 추출한 가중치 값을 합산하여 최적의 보정 단어를 제안할 수 있으며, 배치 작업으로 오타 보정 지식셋에 자동으로 반영할 수 있으며, 오타 보정 지식셋에 대한 운영자 관리 기능으로 사용자 편의성을 제공할 수 있다.
부가 서비스 제공 모듈이 제공할 수 있는 두 번째 기능으로서 최근 검색어/인기 검색어 제공 기능은, 사용자 검색 편의를 돕기 위해 로그 정보를 활용한 최근 검색어 및 최근 문서 기능과 인기 검색어 및 연관 검색어 등 다양한 부가 기능을 제공할 수 있다.
이에 따라, 로그인한 사용자는 자신의 검색 이력이나 열람한 정보 등 자신의 과거 검색 이력 정보를 확인하거나 재열람 할 수 있으며, 다른 사용자들이 검색한 검색어를 분석하여 검색어의 변동 현황 및 인기 검색어를 제공하고, 엔진의 기본query로그를 사용한 검색어 통계 방식과 응용에서 기록하는 검색어를 집계하는 2가지 방식을 제공할 수 있다.
부가 서비스 제공 모듈이 제공할 수 있는 세 번째 기능으로서 검색어 자동 완성 기능은, 사용자가 입력한 검색어의 의미를 분석하여 사용자가 미처 인지하지 못했던 정보를 제공하고, 가장 연관성이 높다고 판단되는 검색어를 자동 완성 형태로 출력하여 제공할 수 있다.
해당 기능을 구현하기 위해, 의미에 따른 분석기법을 적용하거나, 검색어와 문서 간의 관계를 다각도로 분석함으로써 미인지 연관 정보를 추천할 수 있는 '의미 분석 기법'이 사용될 수 있다.
또한, 가나다순 외 중요도순 검색어 자동완성 목록 제시하거나, 문서의 핵심 컨셉 기반의 자동 완성형 데이터를 만들고 연관도 및 정확도 등의 문서 통계에 기반한 키워드 가중치를 부여하여 가중치의 순서대로 출력하거나, 가중치에 대한 사용자 정의 기능 제공하거나, 사용자 키 입력 시 한글 자 소단위의 검색어 자동완성 외, 끝 단어 더 보기, 기능 끄기, 영문오타보정 등의 기능을 제공할 수 있는 '자동 완성 형태 제공 기법'이 사용될 수 있다.
부가 서비스 제공 모듈이 제공할 수 있는 네 번째 기능으로서 개인화(Agent/Mailing) 기능은, 사용자가 등록한 문서, 관심 키워드를 기반으로 학습된 개인별 관심 목록을 반환하고 SMTP(Simple Mail Transfer Protocol)를 이용하여 색인되는 시점에 사용자 등록/관심 정보에 대한 메일 전송 및 알림 기능을 수행할 수 있다.
이를 구현하기 위해, 로그인한 후 사용자는 관심 키워드 혹은 문서를 시스템에 등록하여 학습시키면, 검색 엔진은 등록된 개인별 관심 정보를 'Agent'로 명명된 개별 항목으로 학습하여 차별화된 군집 기능을 실행하게 되며, 개인별로 등록된 'Agent'에 따라 관심 추천정보를 반환하게 되며, 개인별로 등록한 관심 정보와 유사한 추천정보가 신규로 발생하면 이메일을 통하여 전송하게 된다.
상술한 바와 같은 구성을 가지는 통합 검색 서비스 제공 시스템은, 인메모리 검색 모듈을 더 포함할 수 있다.
인메모리 검색 모듈은, 자료 수집 모듈에서 수집된 자료의 타이틀, 작성자 및 상품명을 추출한 후 색인 하여 자신의 메모리 상에 저장해 두며, 사용자로부터 해당 저장된 자료에 대한 검색 요청이 있는 경우 검색 처리 모듈에 우선하여 검색 결과를 처리하여 사용자에게 제공한다.
이에 따라, 인메모리 검색 모듈은, 빠른 검색이 필요한 데이터에 대해서 단순한 색인 구조로 메모리 상에서 색인 및 검색 할 수 있는 기능뿐만 아니라, 실시간 색인 추가 및 삭제 기능 및 파일 기반 색인/검색 대비 빠른 검색 속도를 제공할 수 있다.
상술한 바와 같은 구성을 가지는 통합 검색 서비스 제공 시스템은, SOAP, OPEN API 등 개방형 시스템을 만들기 위한 기초 인터페이스인 표준 XML을 지원하여, XML에 의한 색인 정보 입/출력과 검색결과 출력 기능을 제공할 수 있으며, XML 구조 검색을 위한 XPath 연산 역시 제공할 수 있다.
또한, 검색 엔진과 간편한 소통을 위해 Get/Post 방식의 질의 명령을 수행하며, 요청된 Query 조합 및 명령에 따른 검색결과를 XML 형태로 제공하고, 응용 프로그램 단에서 XML 결과를 사용자 레벨의 검색화면으로 치환하여 결과를 제공할 수 있다.
이에 따른 XML 검색 결과의 처리에 있어서, 검색화면 디자인 개편, 시스템간 연동 등의 이슈에 검색 엔진 전문가 도움이 없이도 처리할 수 있는 확장성과 유연성을 함께 제공할 수 있다.
복수의 가상 서버 중 어느 하나의 서버는 통합 검색 서비스 제공 서버이고, 상기 통합 검색 서비스 제공 서버는 심층 검색 처리 모듈을 더 포함한다.
심층 검색 처리 모듈은, 사용자로부터 검색어가 입력될 경우 입력된 검색어가 심층 검색을 명령하는 명령어를 포함하고 있지 아니한 단순 검색어인지, 또는 심층 검색을 명령하는 명령어를 포함하고 있는 명령형 검색어인지를 판독한 후, 판독된 검색어가 단순 검색어인 경우 상술한 바와 동일하게 검색 처리 모듈을 통해 웹상에서 해당 검색어를 검색하여 사용자에게 제공하게 된다.
만약, 사용자로부터 입력된 검색어에 심층 검색을 명령하는 명령형 검색어인 경우, 심층 검색 처리 모듈은, 명령형 검색어에 포함되어 있는 '대분류', '중분류', 및 '소분류'를 판독한 후, 사용자가 '대분류', '중분류', 및 '소분류' 를 특정하고 있는 경우 해당 '대분류', '중분류' , 및 '소분류'에 따른 검색을 실행하게 된다.
이때, '대분류'는, 웹 상의 각 사이트들의 속성을 지칭하는 것으로, 예를 들어, 사진, 운동, 여행 또는 맛집과 같이 각각의 분류들이 해당 속성을 가지고 있는 특정 '중분류'를 포함하고 있는 가장 큰 카테고리를 지칭할 수 있다.
예를 들어, 속성이 사진인 경우, 사진 관련 정보를 다수 포함하고 있는 'SLRCLUB', '팝코넷', 기타 사진 카페 또는 사진 블로그 등이 '대분류'에 해당할 수 있다.
'중분류'는, '대분류'에 해당하는 사이트를 이루고 있는 각각의 자유게시판, 질문게시판, 포럼, 또는 공지게시판 등을 지칭하는 것으로, 사이트를 이루고 있는 사이트맵(site map) 상에서 사용자 혹은 크롤러가 해당 웹사이트를 이용할 때 웹사이트의 접근 가능한 페이지의 목록을 지칭한다.
'소분류'는, 해당 사이트에서 사용자가 검색하고자 하는 검색어를 지칭한다.
좀 더 자세하게 살펴보면, 사용자가 "사진 사이트의 사진게시판에서 강아지를 검색해줘"라는 검색어가 입력된 경우, "사진 사이트"가 '대분류'가 될 것이고, "사진게시판"이 '중분류'가 될 것이며, "강아지"가 '소분류'가 될 것이다.
그리고, 입력된 검색어가 단순 검색어인지 또는 명령형 검색어인지는, 해당 검색어의 말미에 위치하는 단어의 형태를 통해 판독하게 된다.
상기 예의 경우에는, 말미에 "검색해줘"라는 명령어가 위치하는 바, 심층 검색 처리 모듈은, 해당 명령어를 통해 명령형 검색어 여부를 판단하게 된다.
이러한, 단어의 형태 판독은, 상술한 색인 처리 모듈의 형태소 분석기에 의해 수행될 수도 있다.
다음으로, 사용자가 "사진 사이트의 사진게시판에서 강아지를 검색해줘"라는 검색어를 입력한 경우, '대분류'에서 사이트를 특정하지 아니하고, 단순히 속성만을 특정하고 있는바, 심층 검색 처리 모듈은, "사진 사이트"에 해당할 수 있는 검색 가능한 모든 사이트를 검색하게 될 것이고, 검색된 각각의 사이트의 "사진게시판"에서 "강아지"를 검색하게 될 것이다.
이때, 사용자로서는 "사진게시판" 대신 다른 페이지(예를 들어, "포럼", "장터" 또는 "공지게시판" 등)를 지정하여도 무방하다
만약, 사용자로부터 "SLRCLUB 의 사진게시판에서 강아지를 검색해줘"와 같이 사용자로부터 사진의 속성을 가지는 특정 사이트인 "SLRCLUB"이 '대분류'로 특정된 경우라면, 심층 검색 처리 모듈은, "사진 사이트"에 해당할 수 있는 검색 가능한 모든 사이트를 검색하는 대신 "SLRCLUB"만을 검색하여 진입할 것인 바, 사용자로부터 '대분류'가 특정되지 아니한 경우보다 월등히 빠른 시간 내에 검색이 완료할 수 있을 것이다.
일 실시예에서, 심층 검색 처리 모듈은, 사용자로부터 '대분류'가 특정되지 아니하고 속성만 특정된 명령형 검색어가 입력된 경우, 상술한 바와 같이'대분류'에 해당하는 검색 가능한 사이트 및 해당 사이트에서 검색된 검색 결과를 일괄하여 사용자에게 출력하는 대신, '대분류'에 해당하는 검색 가능한 사이트를 일차적으로 출력하여 검색하고자 하는 사이트를 사용자로 하여금 선택하도록 요청한 후, 사용자로부터 선택 받은 사이트만을 검색함으로써 검색에 소요되는 시간과 자원을 줄이도록 할 수 있다.
다만, 심층 검색 처리 모듈은, 명령어를 포함하고 있는 명령형 검색어 자체가 검색이 요청된 단어인지를 먼저 판독한 후, 해당 명령어에 대한 검색 결과가 없는 경우에 한하여 상술한 바와 같이 명령형 검색어의 검색 과정을 거침으로써, 사용자의 검색 요청에 보다 부합하게 검색을 수행하게 된다.
본 발명에 따른 통합 검색 서비스 제공 서버는 자동 언어 변환 검색 모듈을 더 포함한다. 통합 검색 서비스 제공 시스템은 통합 검색 서비스에 로그인한 사용자가 통합 검색 서비스에 접속한 컴퓨팅 장치의 지피에스 모듈이 수집한 위치 정보에 기초하여 상기 사용자가 상기 통합 검색 서비스에 접속 시점 별 국가 정보를 추출하여 접속시점이 많은 순서대로 5개의 국가를 추출하고, 상기 사용자로부터 검색어가 입력되고 5초 이내에 검색 요청이 없으면 접속시점이 제일 많은 국가 언어로 된 검색 결과를 제공하고,
상기 접속시점이 제일 많은 국가 언어로 된 검색 결과를 제공한 시점으로부터 1분 이내에 사용자로부터 상기 검색 결과에 대한 선택이 없으면 접속시점이 두번째로 많은 국가 언어로 된 검색 결과를 제공하고,
상기 접속시점이 두번째로 많은 국가 언어로 된 검색 결과를 제공한 시점으로부터 50초 이내에 사용자로부터 상기 검색 결과에 대한 선택이 없으면 접속시점이 세번째로 많은 국가 언어로 된 검색 결과를 제공하고,
상기 접속시점이 세번째로 많은 국가 언어로 된 검색 결과를 제공한 시점으로부터 40초 이내에 사용자로부터 상기 검색 결과에 대한 선택이 없으면 접속시점이 네번째로 많은 국가 언어로 된 검색 결과를 제공하고,
상기 접속시점이 네번째로 많은 국가 언어로 된 검색 결과를 제공한 시점으로부터 40초 이내에 사용자로부터 상기 검색 결과에 대한 선택이 없으면 접속시점이 다섯번째로 많은 국가 언어로 된 검색 결과를 제공하고,
상기 접속시점이 다섯번째로 많은 국가 언어로 된 검색 결과를 제공한 시점으로부터 30초 이내에 사용자로부터 상기 검색 결과에 대한 선택이 없으면 국가 선택 탭을 제공하는 자동 언어 변환 검색 모듈을 더 포함한다.
사용자가 사용하는 컴퓨팅 장치는 지피에스(GPS) 모듈이 내장되어 사용자가 통합 검색 서비스에 접속한 시점에 따른 위치를 통합 검색 서비스 제공 시스템으로 제공한다. 이에 따라, 자동 언어 변환 검색 모듈은 로그인한 사용자가 통합 검색 서비스에 접속한 컴퓨팅 장치의 지피에스 모듈이 수집한 위치 정보에 기초하여 상기 사용자가 상기 통합 검색 서비스에 접속 시점 별 국가 정보를 추출할 수 있다. 만약 사용자가 미국에서 상기 통합 검색 서비스에 10번 접속하고, 중국에서 9번 접속하고, 일본에서 5번접속하고, 배트남에서 3번 접속하고, 프랑스에서 2번 접속했다면, 상기 자동 언어 변환 검색 모듈은 접속시점이 많은 순서대로 5개의 국가인 미국, 중국, 일본, 배트남, 프랑스를 추출한다.
사용자로부터 검색어가 입력되었다는 것은 검색창에 검색어가 입력되었다는 것이다. 그리고, 검색 요청은 상기 검색어를 입력하고 엔터, 확인등의 추가적인 요청 신호가 입력된 것이다. 종래 기술에 따르면 사용자가 검색어만 입력한 상태에서 아무리 많은 시간이 경과하더라도 아무런 결과를 제공하지 않는다.
그리나 본 발명에 따르면, 상기 사용자로부터 검색어가 입력되고 5초 이내에 검색 요청이 없으면 접속시점이 제일 많은 국가 언어로 된 검색 결과를 제공한다. 전술한 예를 이어서 설명하면 접속시점이 제일 많은 국가 언어인 영어로 된 검색 결과를 제공한다.
그리고, 상기 접속시점이 제일 많은 국가 언어로 된 검색 결과를 제공한 시점으로부터 1분 이내에 사용자로부터 상기 검색 결과에 대한 선택이 없으면 접속시점이 두번째로 많은 국가 언어로 된 검색 결과를 제공한다. 사용자는 본인이 원하는 검색결과가 나오지 않으면, 검색 결과를 선택하지 않을 것이다. 이 경우 기설정된 시간인 1분이 소요되면 접속시점이 두번째로 많은 국가 언어인 중국어로 된 검색 결과를 제공한다. 같은 방식으로 접속시점이 세번째, 네번째 그리고 다섯번째로 많은 국가 언어로 된 검색 결과를 제공한다. 이때, 접속 시점에서의 국가에 기초하여 사용자의 상기 국가의 방문 횟수를 가늠할 수 있고, 사용자의 방문 횟수가 적은 국가 일수록 방문 횟수가 많은 국가 보다 상대적으로 관심이 떨어진다고 볼 수 있기 때문에 다음 검색 결과를 제공하는 기준 시간은 점점 짧아진다. 그리고 다섯번째로 많은 국가 언어로 된 검색 결과를 제공한 시점으로부터 30초 이내에 사용자로부터 상기 검색 결과에 대한 선택이 없으면 국가 선택 탭을 제공하여 사용자가 원하는 국가 언어로된 검색 결과를 제공할 수 있도록 한다.
포탈에서 제공하고 있는 기존의 검색 서비스 또는 지식 답변 서비스의 경우, 사용자로서는 검색 엔진에 의해 포괄적으로 검색된 결과를 일괄적으로 제공받거나, 국내 포털사이트인 "네이버"의 "지식인"과 같이 검색 엔진 자체가 아닌 해당 서비스를 이용하고 있는 개인의 답변에 의존할 수 밖에 없었다.
그러나, 상술한 바와 같은 구성을 가지는 통합 검색 서비스 제공 시스템은, 사용자가 검색하고자 하는 검색 속성, 검색 사이트, 검색 사이트 내의 검색 페이지까지 특정하여 검색을 할 수 있는 심층적이고 보다 세분화된 검색 서비스를 제공함으로써, 기존의 검색 엔진 또는 지식 답변 서비스에서 제공하지 못하였던 사용자 맞춤형 검색 서비스를 제공할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 가상 서버 110 : 가상 서버 관리 장치
120 : 저장소 200 : 호스트 운영 체제
210 : 별도의 운영 체제 220 : 어플리케이션
300 : 리소스 관리부 310 : 장애 관리부
312 : 제 1 장애 관리부 314 : 제 2 장애 관리부
316 : 제 3 장애 관리부 318 : 절체 물리 서버 결정부
320 : 가상 머신 제어부 322 : 가상 머신 그룹핑부
324 : 가상 머신 백업부 326 : 절체 수행부
328 : 절체 반복수행부

Claims (2)

  1. 복수의 물리 서버 각각에 할당된 복수의 가상 머신에 의해 구동되는 복수의 가상 서버를 관리하는 가상 서버 관리 장치에 있어서,
    상기 복수의 가상 서버로부터 리소스 정보를 수신하고, 상기 리소스 정보를 관리하는 리소스 관리부;
    상기 복수의 가상 서버 각각의 장애에 관한 정보를 모니터링하여 복수의 가상 서버 각각의 장애를 예측하는 장애 관리부; 및
    상기 복수의 물리 서버에 상기 복수의 가상 머신을 할당하고, 상기 장애에 관한 정보에 기초하여 상기 복수의 가상 머신의 절체 프로세스 및 백업 프로세스를 수행하는 가상 머신 제어부
    를 포함하되,
    상기 가상 머신 제어부는,
    상기 복수의 물리 서버 각각의 성능, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 상기 복수의 가상 머신 각각에 대응하는 평균 클라이언트의 수에 기초하여 상기 복수의 가상 머신을 저 위험 그룹, 중 위험 그룹 및 고 위험 그룹으로 분류하는 가상 머신 그룹핑부; 및
    상기 저 위험 그룹에 포함되는 제 1 가상 머신의 경우, 상기 제 1 가상 머신에 의해 해당 가상 서버가 구동되기 위한 필수 데이터만을 저장소에 저장하고, 상기 중 위험 그룹에 포함되는 제 2 가상 머신의 경우, 상기 제 2 가상 머신을 상기 저장소에 백업하고, 상기 고 위험 그룹에 포함되는 제 3 가상 머신의 경우, 상기 제 3 가상 머신을 상기 저장소에 백업함과 동시에 상기 제 3 가상 머신을 다른 물리 서버에 실시간으로 복제하는 가상 머신 백업부
    를 포함하고,
    상기 가상 머신 그룹핑부는 상기 복수의 물리 서버 각각의 성능에 제 1 가중치를 할당하고, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성에 제 2 가중치를 할당하고, 상기 복수의 물리 서버 각각에 대응하는 평균 클라이언트의 수에 제 3 가중치를 할당하고, 상기 복수의 가상 머신을 상기 저 위험 그룹, 상기 중 위험 그룹 및 상기 고 위험 그룹으로 분류함에 있어서, 상기 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 상기 제 1 가중치, 상기 제 2 가중치 및 상기 제 3 가중치를 가변하고,
    상기 가상 머신 백업부는 상기 제 2 가상 머신 및 상기 제 3 가상 머신을 상기 저장소에 백업함에 있어서, 상기 제 2 가상 머신 및 상기 제 3 가상 머신을 최초로 백업한 후, 상기 제 2 가상 머신 및 상기 제 3 가상 머신으로부터 실시간으로 입출력 정보를 수신하여 변경된 데이터를 분석하고, 기설정된 주기마다 상기 변경된 데이터만을 상기 제 2 가상 머신 및 상기 제 3 가상 머신의 백업 데이터에 반영하고,
    상기 가상 머신 백업부는 상기 제 3 가상 머신을 상기 다른 물리 서버에 실시간으로 복제함에 있어서, 상기 제 3 가상 머신을 상기 다른 물리 서버에 복제한 후 상기 제 3 가상 머신으로부터 실시간으로 입출력 정보를 수신하여 변경된 데이터를 분석하고, 상기 변경된 데이터를 실시간으로 상기 복제된 제 3 가상 머신에 반영하고,
    상기 장애 관리부는,
    상기 복수의 가상 머신 각각의 과거 운영 데이터를 수집하여 클라이언트로부터 전송된 날짜별, 요일별 및 시간별 평균 패킷의 개수를 분석하여 상기 날짜별, 요일별 및 시간별 평균 패킷 개수를 포함하는 평균 패킷 개수 테이블을 생성하고, 상기 평균 패킷 개수 테이블을 저장하고, 상기 평균 패킷 개수 테이블에 저장된 평균 패킷의 개수 중 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수와 현재 패킷의 개수를 비교하여 상기 복수의 가상 서버 각각의 장애 여부를 예측하는 제 1 장애 예측부;
    전력 회사의 서버로부터 상기 복수의 물리 서버 각각이 위치한 지역의 전력 예비율에 대한 정보를 수신하고, 상기 전력 예비율에 대한 정보에 기초하여 상기 복수의 가상 서버 각각의 장애 여부를 예측하는 제 2 장애 예측부; 및
    상기 복수의 물리 서버 각각의 성능, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 상기 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 상기 복수의 가상 머신 각각이 절체될 복수의 절체 후보 물리 서버의 리스트를 결정하고, 상기 복수의 가상 서버 중 어느 하나의 장애가 예측되는 경우, 상기 복수의 절체 후보 물리 서버 각각의 리소스 현황, 할당된 가상 머신의 수, 구동되고 있었던 시간 및 비구동되고 있었던 시간에 기초하여 상기 복수의 절체 후보 물리 서버 중 하나를 절체될 물리 서버로 결정하는 절체 물리 서버 결정부
    를 포함하고,
    상기 가상 머신 제어부는,
    상기 장애가 예측된 상기 복수의 가상 서버 중 어느 하나에 할당된 복수의 가상 머신 각각의 상기 결정된 절체 후보 물리 서버 중 하나로의 절체를 수행하는 절체 수행부
    를 더 포함하는 것인, 가상 서버 관리 장치.
  2. 삭제
KR1020180068469A 2018-06-14 2018-06-14 가상 서버 관리 장치 KR101900727B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180068469A KR101900727B1 (ko) 2018-06-14 2018-06-14 가상 서버 관리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180068469A KR101900727B1 (ko) 2018-06-14 2018-06-14 가상 서버 관리 장치

Publications (1)

Publication Number Publication Date
KR101900727B1 true KR101900727B1 (ko) 2018-09-20

Family

ID=63719730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180068469A KR101900727B1 (ko) 2018-06-14 2018-06-14 가상 서버 관리 장치

Country Status (1)

Country Link
KR (1) KR101900727B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542149B1 (ko) * 2022-12-27 2023-06-13 오케스트로 주식회사 우선순위 기반의 장애 모니터링을 통한 가상머신 통합관리 방법 및 이를 구현하는 가상머신 통합관리 시스템
CN116560796A (zh) * 2023-05-12 2023-08-08 深圳天融信创新科技有限公司 数据加载方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100840129B1 (ko) 2006-11-16 2008-06-20 삼성에스디에스 주식회사 통계적인 분석을 이용한 성능장애 관리시스템 및 그 방법
JP2011128967A (ja) 2009-12-18 2011-06-30 Hitachi Ltd 仮想計算機の移動方法、仮想計算機システム及びプログラム
KR101506250B1 (ko) * 2014-12-10 2015-03-27 (주)한위드정보기술 가상화 서비스 제공을 위한 가상화 서버 접속 이중화 시스템
US9977704B1 (en) 2014-09-26 2018-05-22 EMC IP Holding Company LLC Automated backup and replication of virtual machine data centers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100840129B1 (ko) 2006-11-16 2008-06-20 삼성에스디에스 주식회사 통계적인 분석을 이용한 성능장애 관리시스템 및 그 방법
JP2011128967A (ja) 2009-12-18 2011-06-30 Hitachi Ltd 仮想計算機の移動方法、仮想計算機システム及びプログラム
US9977704B1 (en) 2014-09-26 2018-05-22 EMC IP Holding Company LLC Automated backup and replication of virtual machine data centers
KR101506250B1 (ko) * 2014-12-10 2015-03-27 (주)한위드정보기술 가상화 서비스 제공을 위한 가상화 서버 접속 이중화 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542149B1 (ko) * 2022-12-27 2023-06-13 오케스트로 주식회사 우선순위 기반의 장애 모니터링을 통한 가상머신 통합관리 방법 및 이를 구현하는 가상머신 통합관리 시스템
CN116560796A (zh) * 2023-05-12 2023-08-08 深圳天融信创新科技有限公司 数据加载方法、装置、设备及介质
CN116560796B (zh) * 2023-05-12 2024-02-02 深圳天融信创新科技有限公司 数据加载方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US11782989B1 (en) Correlating data based on user-specified search criteria
US10055476B2 (en) Fixed phrase detection for search
US7930301B2 (en) System and method for searching computer files and returning identified files and associated files
KR20220050343A (ko) 가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템
US20130166529A1 (en) Computer-implemented search using result matching
US11074310B2 (en) Content-based management of links to resources
US10956664B2 (en) Automated form generation and analysis
KR101900727B1 (ko) 가상 서버 관리 장치
US10915592B2 (en) Indexing native application data
US11762833B2 (en) Data discovery of personal data in relational databases
US11108802B2 (en) Method of and system for identifying abnormal site visits
US10353792B2 (en) Data layering in a network management system
US11030409B2 (en) Identifying attributes associated with an entity using natural language processing
KR101910191B1 (ko) 통합 검색 서비스 제공 시스템
JP7294055B2 (ja) ファイルレコメンドシステム、ファイルレコメンドプログラム、ファイルレコメンド方法、及び、ファイルレコメンド装置
US11176312B2 (en) Managing content of an online information system
EP3500942A1 (en) Identifying attributes associated with an entity using natural language processing
JP2012043258A (ja) 検索システム、検索装置、検索プログラム、記録媒体及び検索方法
Ou et al. Viopolicy-detector: An automated approach to detecting GDPR suspected compliance violations in websites
WO2017045493A1 (zh) 一种设置待清理文件的方法和装置
KR101096285B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
JP6857775B1 (ja) アカウント分析システム、及びアカウント分析方法
US11334559B2 (en) Method of and system for identifying abnormal rating activity
JP5334214B2 (ja) 組織内ソーシャルマップ作成システム及び組織内ソーシャルマップ作成方法
Aleksandrovich RESEARCH OF THE METHODS OF CREATING CONTENT AGGREGATION SYSTEMS

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