KR20220050343A - 가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템 - Google Patents

가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템 Download PDF

Info

Publication number
KR20220050343A
KR20220050343A KR1020200133908A KR20200133908A KR20220050343A KR 20220050343 A KR20220050343 A KR 20220050343A KR 1020200133908 A KR1020200133908 A KR 1020200133908A KR 20200133908 A KR20200133908 A KR 20200133908A KR 20220050343 A KR20220050343 A KR 20220050343A
Authority
KR
South Korea
Prior art keywords
virtual machine
failure
virtual machines
virtual
data
Prior art date
Application number
KR1020200133908A
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 KR1020200133908A priority Critical patent/KR20220050343A/ko
Publication of KR20220050343A publication Critical patent/KR20220050343A/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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시예에 따른 가상 머신 관리 장치는, 복수의 물리 서버 각각에 할당된 복수의 가상 머신에 의해 구동되는 복수의 가상 머신을 관리하는 가상 머신 관리 장치에 있어서, 상기 복수의 가상 머신으로부터 리소스 정보를 수신하고, 상기 리소스 정보를 관리하는 자원 관리부; 상기 복수의 가상 머신 각각의 장애에 관한 정보를 모니터링하여 복수의 가상 머신 각각의 장애를 예측하는 장애 관리부; 및 상기 복수의 물리 서버에 상기 복수의 가상 머신을 할당하고, 상기 장애에 관한 정보에 기초하여 상기 복수의 가상 머신의 마이그레이션 프로세스 및 백업 프로세스를 수행하는 가상 머신 제어부;를 포함할 수 있다.

Description

가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템 {VIRTUAL MACHINE MANAGEMENT DEVICE AND VIRTUAL MACHINE MANAGEMENT SYSTEM USING THE SAME}
본 발명은 복수의 물리 서버 각각에 할당된 복수의 가상 머신에 의해 구동되는 복수의 가상 머신을 관리하는 가상 머신 관리 장치에 관한 것이다.
전 세계 전력사용량의 약 2%를 차지하는 데이터센터는 단일 건물 중 전력을 가장 많이 사용하는 고밀도 에너지 다소비 건물이지만, 안정성을 최우선시하는 보수적인 운영을 고수하여 비효율적인 운영 현황을 보이고 있다. 향후 사물인터넷, 빅 데이터, 클라우드 기술 등의 확산으로 인해 소규모의 데이터센터는 대규모의 데이터센터인 '하이퍼스케일', '메가' 데이터센터로 통합될 것으로 전망되는바, 인프라 확대에 따른 데이터센터 운영관리의 복잡성 또한 심화될 것으로 전망된다. 이에 불필요한 서버는 유휴 혹은 절전모드로 전환하고, 가용되는 서버를 최대한 안정적으로 운영함으로써 데이터센터 운영의 효율성을 극대화하며, 전력소비량을 줄여 운영비용 절감에 기여하기 위하여, 데이터센터에 배치된 수많은 가상 머신들의 배치를 적절하게 하는 것이 매우 중요하다.
물리적 자원(Physical Machine, PM, 물리 서버)들을 논리적 자원(Virtual Machine, VM, 가상 머신)들로 구성하는 가상화 환경에서는 구동 중인 가상 머신을 다른 물리 머신으로 이동시킬 수 있는데, 이를 라이브 마이그레이션이라고 한다. 이는 효율적인 데이터센터를 관리하는데 필수적인 관리 방법이다. 다만, 마이그레이션 할 경우 데이터 손실 위험, 리소스의 많은 부분이 차지되는 등의 단점도 있다.
여기서, 기존의 연구(일본특허공보 특허 제5827594, 2015. 10. 23, 등록)들은 특정 시점을 기준으로 임의의 물리 서버에 임계 값 이상의 부하가 걸릴 경우 마이그레이션을 하여, 부하가 걸린 물리 서버의 부하를 저감시키는 방법으로 물리 서버들 간의 균형을 맞추고 있다. 하지만, 이러한 방법은 특정 가상 머신이 마이그레이션된 서버가 과 부화될 가능성이 매우 높아지며, 이로 인해 재차 마이그레이션 과정이 실행되는 것과 같이, 많은 횟수의 마이그레이션이 실행되는 문제가 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 가상 머신의 종류에 따라서 백업 방식을 달리하여 관리하여, 백업에 대한 부담을 줄임으로써, 마이그레이션을 통해 데이터가 손실될 수 있는 가상 머신을 보호, 관리하는 시스템을 제공하고자 한다.
본 발명의 일 실시예에 따른 가상 머신 관리 장치는, 복수의 물리 서버 각각에 할당된 복수의 가상 머신에 의해 구동되는 복수의 가상 머신을 관리하는 가상 머신 관리 장치에 있어서, 상기 복수의 가상 머신으로부터 리소스 정보를 수신하고, 상기 리소스 정보를 관리하는 자원 관리부; 상기 복수의 가상 머신 각각의 장애에 관한 정보를 모니터링하여 복수의 가상 머신 각각의 장애를 예측하는 장애 관리부; 및 상기 복수의 물리 서버에 상기 복수의 가상 머신을 할당하고, 상기 장애에 관한 정보에 기초하여 상기 복수의 가상 머신의 마이그레이션 프로세스 및 백업 프로세스를 수행하는 가상 머신 제어부;를 포함할 수 있다.
또한, 상기 가상 머신 제어부는, 상기 복수의 물리 서버 각각의 성능, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 상기 복수의 가상 머신 각각에 대응하는 평균 클라이언트의 수에 기초하여 상기 복수의 가상 머신을 저 위험 그룹, 중 위험 그룹 및 고 위험 그룹으로 분류하는 분류부; 및 상기 저 위험 그룹에 포함되는 제 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 장애 예측부; 및 상기 복수의 물리 서버 각각의 성능, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 상기 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 상기 복수의 가상 머신 각각이 마이그레이션 될 복수의 마이그레이션 후보 물리 서버의 리스트를 결정하고, 상기 복수의 가상 머신 중 어느 하나의 장애가 예측되는 경우, 상기 복수의 마이그레이션 후보 물리 서버 각각의 리소스 현황, 할당된 가상 머신의 수, 구동되고 있었던 시간 및 비구동되고 있었던 시간에 기초하여 상기 복수의 마이그레이션 후보 물리 서버 중 하나를 마이그레이션 될 물리 서버로 결정하는 서버 결정부;를 포함할 수 있다.
또한, 제 1 장애 예측부는, 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 70% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 주의 단계로 설정할 수 있다.
또한, 제 1 장애 예측부는, 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 50% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 위험 단계로 설정할 수 있다.
또한, 제 1 장애 예측부는, 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 30% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 장애 발생 단계로 설정할 수 있다.
또한, 상기 가상 머신 제어부는, 상기 장애가 예측된 상기 복수의 가상 머신 중 어느 하나에 할당된 복수의 가상 머신 각각의 상기 결정된 마이그레이션 후보 물리 서버 중 하나로의 마이그레이션을 수행하는 제1 서버 이전부를 더 포함할 수 있다.
본 발명에 따른 가상 머신 관리 장치 및 가상 머신 관리 시스템에 따르면, 가상 머신의 장애를 용이하게 예측할 수 있다.
또한, 데이터 손실을 최소화 할 수 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 가상 머신의 개념을 설명하기 위한 도면
도 2는 본 발명의 일 실시예에 따른 가상 머신 관리 시스템을 도시한 도면
도 3은 본 발명의 일 실시예에 따른 가상 머신 관리 장치의 블록도
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예에 대해서 자세하게 서술하도록 한다.
도 1은 본 발명의 일 실시예에 따른 가상 머신을 나타낸 블록도이다.
도 1을 참조하면, 가상 머신(100)은 물리 서버에 구비된 호스트 운영 체제(OS; Operating System)(200) 위에 가상화된 별도의 운영 체제(210) 및 별도의 운영 체제(210) 상에서 구동되는 어플리케이션(220)을 포함한다.
가상 머신(100)의 데이터는, 물리 서버에 직접 접속된 디스크 장치에 저장될 수 있다.
이와 달리, 가상 머신(100)의 데이터는, 물리 서버와 별도로 존재하여, 네트워크 또는 직접 결선에 의해 접속된 저장 장치(120)에 저장될 수도 있다.
가상 머신 관리 장치(110)는 물리 서버에 복수의 가상 머신을 할당하고, 가상 머신에 의해 동작하는 복수의 가상 머신(100)을 관리할 수 있다.
예를 들어, 가상 머신 관리 장치(110)는 복수의 가상 머신(100) 각각에 할당된 가상 머신을 관리할 수 있다.
가상 머신 관리 장치(110)는 복수의 가상 머신(100)으로부터 리소스 정보를 수신하고, 복수의 가상 머신(100)의 리소스를 관리할 수 있다.
가상 머신 관리 장치(110)는 복수의 가상 머신(100) 각각의 장애에 관한 정보를 모니터링하여 복수의 가상 머신(100) 각각의 장애를 예측할 수 있다.
이하 가상 머신이 포함하는 세부 구성에 대해 서술하되, 이에 대한 도면은 블록도로 구현되는 관계로 생략한다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 관리 시스템을 도시한 도면이다.
도 2를 참조하면, 가상 머신 관리 시스템은 복수의 가상 머신(100), 가상 머신 관리 장치(110) 및 저장 장치(120)를 포함할 수 있다.
가상 머신(100)은 물리 서버에 할당된 복수의 가상 머신에 의해 구동되는 서버를 의미한다. 물리 서버는, 가상 머신(100)이 동작하기 위한 플랫폼이며, 컴퓨터 하드웨어 및 하이퍼바이저 등의 가상 머신 관리 소프트웨어를 구비한다.
가상 머신(100) 상에서는 하나 이상의 어플리케이션이 동작한다. 다른 업무를 행하는 가상 머신(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), 제1 서버 이전부(326) 및 제2 서버 이전부(328)을 포함할 수 있다.
자원 관리부(300)는 복수의 가상 머신(100)으로부터 리소스 정보를 수신하고, 복수의 가상 머신(100)의 리소스를 관리할 수 있다.
분류부(322)는 복수의 물리 서버 각각의 성능, 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 복수의 가상 머신 각각에 대응하는 평균 클라이언트의 수에 기초하여 복수의 가상 머신을 저 위험 그룹 중 위험 그룹 및 고 위험 그룹으로 분류할 수 있다.
여기서, 물리 서버의 성능은 메모리 크기, 프로세서의 용량, VGA 카드의 종류 및 LAN 카드의 종류를 포함할 수 있다.
물리 서버의 성능이 좋지 않을수록 고 위험 그룹으로 분류될 확률이 높다.
운영 체제의 특성은 운영 체제의 종류 예컨대, 윈도우, 안드로이드, iOS, 리눅스 등의 특성을 의미하는 것으로서, 예를 들어, 멀티태스킹 성능, 입출력 제어 성능, 메모리 제어 성능, 네트워크 성능, 보안 성능을 포함할 수 있다.
또한, 가상 머신(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% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 장애 발생 단계로 설정할 수 있다.
제1 서버 이전부(326)는 저 위험 그룹에 속한 가상 머신의 경우, 장애 발생 단계에서 다른 물리 서버로의 마이그레이션을 수행할 수 있다.
이에 반해, 제1 서버 이전부(326)는 중 위험 그룹에 속한 가상 머신의 경우, 위험 단계에서 다른 물리 서버로의 마이그레이션을 수행할 수 있다.
또한, 제1 서버 이전부(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)는 가상 머신과 물리 서버의 호환성을 높여 가상 머신이 물리 서버에서 원활하게 작동하도록 담당자에게 정보를 제공할 수 있는 효과가 있다.
이 때, 제1 서버 이전부(326)는 해당 가상 머신의 다른 물리 서버로의 마이그레이션을 수행할 수 있다.
제1 서버 이전부(326)는 마이그레이션을 수행할 때 제 3 장애 예측부(316)에 의해 호환성이 낮은 물리 서버로 마이그레이션을 수행하는 것이 제한될 수 있다.
제1 서버 이전부(326)는 제 3 장애 예측부(316)의 예측 결과를 기초로, 호환성이 낮은 물리 서버보다 호환성이 높은 물리 서버에 우선적으로 가상 머신의 마이그레이션을 수행할 수 있다.
특히, 제1 서버 이전부(326)는 호환성이 높은 물리 서버에 우선적으로 가상 머신을 이동한 뒤, 더 이상 호환성이 높은 물리 서버가 남지 않은 경우 호환성이 낮은 물리 서버로 가상 머신을 이동할 수 있다.
또한, 제1 서버 이전부(326)는 호환성이 낮은 물리 서버에 가상 머신의 마이그레이션을 수행하는 경우, 분류부(322)에 의해 복수의 물리 서버 각각의 성능에 따라 할당된 제 1 가중치를 고려할 수 있다.
즉, 제1 서버 이전부(326)는 연속성의 보장이 100% 요구되는 어플리케이션이 수행되는 도중 장애가 발생되는 경우, 호환성이 낮은 물리 서버의 성능이 미리 지정된 성능보다 좋은 경우에 가상 머신의 마이그레이션을 수행할 수 있다.
제1 서버 이전부(326)는 호환성이 낮은 물리 서버의 성능이 미리 지정된 성능보다 좋지 않은 경우, 제1 서버 이전부(326)는 담당자의 휴대 단말로부터 마이그레이션의 허가가 승인된 이후 마이그레이션을 수행할 수 있다.
이에 따라, 본 발명의 일 실시예에 따른 가상 머신 관리 장치(110)는 가상 머신에 장애가 발생한 경우 가상 머신을 호환성이 낮은 물리 서버로 이동시켜 호환성에 의해 재차 장애가 발생하는 것을 미리 방지할 수 있는 장점이 있다.
서버 결정부(318)는 복수의 물리 서버 각각의 성능, 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 복수의 가상 머신 각각이 마이그레이션 될 복수의 마이그레이션 후보 물리 서버의 리스트를 결정할 수 있다.
서버 결정부(318)는 복수의 가상 머신(100) 중 어느 하나의 장애가 예측되는 경우, 복수의 마이그레이션 후보 물리 서버 각각의 리소스 현황, 할당된 가상 머신의 수, 구동되고 있었던 시간 및 비구동되고 있었던 시간에 기초하여 상기 복수의 마이그레이션 후보 물리 서버 중 하나를 마이그레이션 될 물리 서버로 결정할 수 있다.
이때, 제1 서버 이전부(326)는 장애가 예측된 복수의 가상 머신(100) 중 어느 하나에 할당된 복수의 가상 머신 각각의 결정된 마이그레이션 후보 물리 서버 중 하나로의 마이그레이션을 수행할 수 있다.
제2 서버 이전부(328)는 가상 머신에 장애가 발생하지 않아도 다른 물리 서버로의 마이그레이션을 수행할 수 있다.
마이그레이션이 수행된 가상 머신의 경우 재차 서버에 장애가 발생될 확률이 높기 때문에, 제2 서버 이전부(328)는 이미 마이그레이션이 수행된 가상 머신에 대해 장애가 발생되기 전에 다시 마이그레이션을 수행할 수 있다.
제2 서버 이전부(328)는 미리 설정된 시간에 따라 정기적으로 마이그레이션을 수행할 수 있다.
또한, 제2 서버 이전부(328)는 상기 제 1 장애 예측부(312) 내지 제 3 장애 예측부(316)가 장애를 더욱 민감하게 예측하도록 예측 기준을 변경할 수도 있다.
예를 들어, 제 1 장애 예측부(312)의 온도값 및 진동값이 기설정된 시간동안 기설정된 범위만큼 급격히 증가한 경우 해당 가상 머신이 장애가 발생했다고 판단하는데, 제2 서버 이전부(328)는 기설정된 시간을 줄이고 및 기설정된 범위를 좁혀 예측 기준을 변경할 수 있다.
이때, 제2 서버 이전부(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 기반의 검색 인터페이스로 구동되며, 사용자로부터 검색이 요청된 검색어를 질의어 및 연산자 처리한 후, 색인 처리 모듈에서 색인 처리된 자료 중에서 검색어에 해당하는 자료를 검색하여 검색 결과를 처리한다.
일 실시예에서, 검색 처리 모듈은, 다양한 질의어와 연산자를 제공한다.
부가 서비스 제공 모듈은, 스펠링 체크, 검색어 자동 완성, 검색어 추천, 최근 검색어 제공, 인기 검색어 제공, 개인화 기능 제공 및 개체 추출 기능을 포함하는 부가 서비스를 제공한다.
부가 서비스 제공 모듈이 제공할 수 있는 첫 번째 기능으로서 스펠링 체크는, 검색로그/문서에서 오타 보정의 대상 단어를 추출하며, 색인 대상 문서를 통한 오타 보정 대상 단어 추출로 검색 쿼리가 적은 경우라도 보정이 가능하도록 하며, 단어별 쿼리 가중치와 문서에서 추출한 가중치 값을 합산하여 최적의 보정 단어를 제안할 수 있으며, 배치 작업으로 오타 보정 지식셋에 자동으로 반영할 수 있으며, 오타 보정 지식셋에 대한 운영자 관리 기능으로 사용자 편의성을 제공할 수 있다.
부가 서비스 제공 모듈이 제공할 수 있는 두 번째 기능으로서 최근 검색어/인기 검색어 제공 기능은, 사용자 검색 편의를 돕기 위해 로그 정보를 활용한 최근 검색어 및 최근 문서 기능과 인기 검색어 및 연관 검색어 등 다양한 부가 기능을 제공할 수 있다.
이에 따라, 로그인한 사용자는 자신의 검색 이력이나 열람한 정보 등 자신의 과거 검색 이력 정보를 확인하거나, 재열람 할 수 있으며, 다른 사용자들이 검색한 검색어를 분석하여 검색어의 변동 현황 및 인기 검색어를 제공하고, 엔진의 기본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 : 호스트 운영 체제

Claims (10)

  1. 복수의 물리 서버 각각에 할당된 복수의 가상 머신에 의해 구동되는 복수의 가상 머신을 관리하는 가상 머신 관리 장치에 있어서,
    상기 복수의 가상 머신으로부터 리소스 정보를 수신하고, 상기 리소스 정보를 관리하는 자원 관리부;
    상기 복수의 가상 머신 각각의 장애에 관한 정보를 모니터링하여 복수의 가상 머신 각각의 장애를 예측하는 장애 관리부; 및
    상기 복수의 물리 서버에 상기 복수의 가상 머신을 할당하고, 상기 장애에 관한 정보에 기초하여 상기 복수의 가상 머신의 마이그레이션 프로세스 및 백업 프로세스를 수행하는 가상 머신 제어부;를 포함하는,
    가상 머신 관리 장치.
  2. 제1항에 있어서,
    상기 가상 머신 제어부는,
    상기 복수의 물리 서버 각각의 성능, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 상기 복수의 가상 머신 각각에 대응하는 평균 클라이언트의 수에 기초하여 상기 복수의 가상 머신을 저 위험 그룹, 중 위험 그룹 및 고 위험 그룹으로 분류하는 분류부; 및
    상기 저 위험 그룹에 포함되는 제 1 가상 머신의 경우, 상기 제 1 가상 머신에 의해 해당 가상 머신이 구동되기 위한 필수 데이터만을 저장소에 저장하고, 상기 중 위험 그룹에 포함되는 제 2 가상 머신의 경우, 상기 제 2 가상 머신을 상기 저장소에 백업하고, 상기 고 위험 그룹에 포함되는 제 3 가상 머신의 경우, 상기 제 3 가상 머신을 상기 저장소에 백업함과 동시에 상기 제 3 가상 머신을 다른 물리 서버에 실시간으로 복제하는 백업부;를 포함하는,
    가상 머신 관리 장치.
  3. 제2항에 있어서,
    상기 분류부는,
    상기 복수의 물리 서버 각각의 성능에 제 1 가중치를 할당하고, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성에 제 2 가중치를 할당하고, 상기 복수의 물리 서버 각각에 대응하는 평균 클라이언트의 수에 제 3 가중치를 할당하고, 상기 복수의 가상 머신을 상기 저 위험 그룹, 상기 중 위험 그룹 및 상기 고 위험 그룹으로 분류함에 있어서, 상기 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 상기 제 1 가중치, 상기 제 2 가중치 및 상기 제 3 가중치를 가변하는,
    가상 머신 관리 장치.
  4. 제3항에 있어서,
    상기 백업부는,
    상기 제 2 가상 머신 및 상기 제 3 가상 머신을 상기 저장소에 백업함에 있어서, 상기 제 2 가상 머신 및 상기 제 3 가상 머신을 최초로 백업한 후, 상기 제 2 가상 머신 및 상기 제 3 가상 머신으로부터 실시간으로 입출력 정보를 수신하여 변경된 데이터를 분석하고, 기설정된 주기마다 상기 변경된 데이터만을 상기 제 2 가상 머신 및 상기 제 3 가상 머신의 백업 데이터에 반영하고,
    상기 제 3 가상 머신을 상기 다른 물리 서버에 실시간으로 복제함에 있어서, 상기 제 3 가상 머신을 상기 다른 물리 서버에 복제한 후 상기 제 3 가상 머신으로부터 실시간으로 입출력 정보를 수신하여 변경된 데이터를 분석하고, 상기 변경된 데이터를 실시간으로 상기 복제된 제 3 가상 머신에 반영하는,
    가상 머신 관리 장치.
  5. 제1항에 있어서,
    상기 장애 관리부는,
    상기 복수의 가상 머신 각각의 과거 운영 데이터를 수집하여 클라이언트로부터 전송된 날짜별, 요일별 및 시간별 평균 패킷의 개수를 분석하여 상기 날짜별, 요일별 및 시간별 평균 패킷 개수를 포함하는 평균 패킷 개수 테이블을 생성하고, 상기 평균 패킷 개수 테이블을 저장하고, 상기 평균 패킷 개수 테이블에 저장된 평균 패킷의 개수 중 현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수와 현재 패킷의 개수를 비교하여 상기 복수의 가상 머신 각각의 장애 여부를 예측하는 제 1 장애 예측부;
    전력 회사의 서버로부터 상기 복수의 물리 서버 각각이 위치한 지역의 전력 예비율에 대한 정보를 수신하고, 상기 전력 예비율에 대한 정보에 기초하여 상기 복수의 가상 머신 각각의 장애 여부를 예측하는 제 2 장애 예측부; 및
    상기 복수의 물리 서버 각각의 성능, 상기 복수의 가상 머신 각각에 대응하는 운영 체제의 특성 및 상기 복수의 가상 머신 각각에서 구동되는 어플리케이션의 종류에 기초하여 상기 복수의 가상 머신 각각이 마이그레이션 될 복수의 마이그레이션 후보 물리 서버의 리스트를 결정하고, 상기 복수의 가상 머신 중 어느 하나의 장애가 예측되는 경우, 상기 복수의 마이그레이션 후보 물리 서버 각각의 리소스 현황, 할당된 가상 머신의 수, 구동되고 있었던 시간 및 비구동되고 있었던 시간에 기초하여 상기 복수의 마이그레이션 후보 물리 서버 중 하나를 마이그레이션될 물리 서버로 결정하는 마이그레이션 물리 서버 결정부;를 포함하는,
    가상 머신 관리 장치.
  6. 제5항에 있어서,
    제 1 장애 예측부는,
    현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 70% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 주의 단계로 설정하는,
    가상 머신 관리 장치.
  7. 제5항에 있어서,
    제 1 장애 예측부는,
    현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 50% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 위험 단계로 설정하는,
    가상 머신 관리 장치.
  8. 제5항에 있어서,
    제 1 장애 예측부는,
    현재 날짜, 현재 요일 및 현재 시간에 대응하는 평균 패킷의 개수가 평균 패킷 테이블에 저장된 대응하는 평균 패킷의 개수의 30% 미만인 경우, 해당 가상 머신에 대한 장애 발생 예측을 장애 발생 단계로 설정하는,
    가상 머신 관리 장치.
  9. 제5항에 있어서,
    상기 가상 머신 제어부는,
    상기 장애가 예측된 상기 복수의 가상 머신 중 어느 하나에 할당된 복수의 가상 머신 각각의 상기 결정된 마이그레이션 후보 물리 서버 중 하나로의 마이그레이션을 수행하는 제1 서버 이전부를 더 포함하는,
    가상 머신 관리 장치.
  10. 제9항에 있어서,
    제2 서버 이전부는 상기 제 1 장애 예측부 내지 제 3 장애 예측부가 장애를 더욱 민감하게 예측하도록 예측 기준을 변경하는,
    가상 머신 관리 장치.
KR1020200133908A 2020-10-16 2020-10-16 가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템 KR20220050343A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200133908A KR20220050343A (ko) 2020-10-16 2020-10-16 가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200133908A KR20220050343A (ko) 2020-10-16 2020-10-16 가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템

Publications (1)

Publication Number Publication Date
KR20220050343A true KR20220050343A (ko) 2022-04-25

Family

ID=81451931

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200133908A KR20220050343A (ko) 2020-10-16 2020-10-16 가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템

Country Status (1)

Country Link
KR (1) KR20220050343A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542149B1 (ko) * 2022-12-27 2023-06-13 오케스트로 주식회사 우선순위 기반의 장애 모니터링을 통한 가상머신 통합관리 방법 및 이를 구현하는 가상머신 통합관리 시스템
KR102569867B1 (ko) * 2022-12-20 2023-08-23 오케스트로 주식회사 상관분석을 활용한 가상머신 관리 방법 및 이를 구현하는 가상머신 관리 시스템
KR102607457B1 (ko) * 2023-03-31 2023-11-29 오케스트로 주식회사 그룹핑 기반의 클라우드 자원 관리 방법 및 이를 구현하는 클라우드 관리 시스템
KR102668905B1 (ko) * 2023-07-10 2024-05-24 스마트마인드 주식회사 서버 마이그레이션 방법 및 이러한 방법을 수행하는 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102569867B1 (ko) * 2022-12-20 2023-08-23 오케스트로 주식회사 상관분석을 활용한 가상머신 관리 방법 및 이를 구현하는 가상머신 관리 시스템
KR102542149B1 (ko) * 2022-12-27 2023-06-13 오케스트로 주식회사 우선순위 기반의 장애 모니터링을 통한 가상머신 통합관리 방법 및 이를 구현하는 가상머신 통합관리 시스템
KR102607457B1 (ko) * 2023-03-31 2023-11-29 오케스트로 주식회사 그룹핑 기반의 클라우드 자원 관리 방법 및 이를 구현하는 클라우드 관리 시스템
KR102668905B1 (ko) * 2023-07-10 2024-05-24 스마트마인드 주식회사 서버 마이그레이션 방법 및 이러한 방법을 수행하는 장치

Similar Documents

Publication Publication Date Title
KR20220050343A (ko) 가상 머신 관리 장치 및 이를 이용한 가상 머신 관리 시스템
US10997145B2 (en) Hierarchical diff files
US11556388B2 (en) Frozen indices
US9836541B2 (en) System and method of managing capacity of search index partitions
CN110489558B (zh) 文章聚合方法和装置、介质和计算设备
US20130159251A1 (en) Dedicating Disks to Reading or Writing
JPH1125059A (ja) ネットワークライブラリ運用方法及びシステム及びネットワークライブラリ運用プログラムを格納した記憶媒体
EP2542985A1 (en) File level hierarchical storage management system, method, and apparatus
JP7124051B2 (ja) ストレージ環境のための認知データ・フィルタリングをする方法、コンピュータ・プログラムおよびシステム
US11693885B2 (en) Cache optimization via topics in web search engines
CN111381928B (zh) 一种虚拟机迁移方法、云计算管理平台和存储介质
WO2018026489A1 (en) Surfacing unique facts for entities
KR101900727B1 (ko) 가상 서버 관리 장치
US11762833B2 (en) Data discovery of personal data in relational databases
US9886446B1 (en) Inverted index for text searching within deduplication backup system
CN115336237A (zh) 远程存储的文件的预测性供应
CN112433888A (zh) 数据处理方法及装置、存储介质和电子设备
CN111684779B (zh) 分层存储管理系统中的数据迁移
JP7294055B2 (ja) ファイルレコメンドシステム、ファイルレコメンドプログラム、ファイルレコメンド方法、及び、ファイルレコメンド装置
KR101910191B1 (ko) 통합 검색 서비스 제공 시스템
JP5781618B2 (ja) 文書ファイル共有方法、システム、及びサーバ
Revathi et al. Big Data Processing with Hadoop
Hassannezhad Najjari et al. A systematic overview of live virtual machine migration methods
KR101096285B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
KR100525618B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템