KR101494820B1 - 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법 - Google Patents

클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법 Download PDF

Info

Publication number
KR101494820B1
KR101494820B1 KR20120127882A KR20120127882A KR101494820B1 KR 101494820 B1 KR101494820 B1 KR 101494820B1 KR 20120127882 A KR20120127882 A KR 20120127882A KR 20120127882 A KR20120127882 A KR 20120127882A KR 101494820 B1 KR101494820 B1 KR 101494820B1
Authority
KR
South Korea
Prior art keywords
virtual machine
packet
monitoring
time
performance
Prior art date
Application number
KR20120127882A
Other languages
English (en)
Other versions
KR20140061601A (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 KR20120127882A priority Critical patent/KR101494820B1/ko
Publication of KR20140061601A publication Critical patent/KR20140061601A/ko
Application granted granted Critical
Publication of KR101494820B1 publication Critical patent/KR101494820B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법에 관한 것으로, 보다 상세하게는 일반적으로 클라우드 환경에서는 물리적으로 서버를 구분하는 영역이 존재하지 않기 때문에, 물리적인 측정 장비를 사용할 수 없는 문제를 해소할 수 있는 기술에 관한 것이다.
이를 위해, 본 발명에 따른 클라우드 기반 가상 머신의 성능 모니터링 시스템은 제1 가상 머신, 제2 가상 머신, 모니터링부를 포함한다. 상기 제1 가상 머신 외부로부터 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷(monitoring packet)을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제1 로그 정보를 생성한다. 상기 제2 가상 머신은 상기 제1 가상 머신으로부터 상기 모니터링 패킷을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제2 로그 정보를 생성한다. 상기 모니터링부는 상기 제1 가상 머신과 상기 제2 가상 머신에서 생성된 상기 제1 로그 정보와 상기 제2 로그 정보를 수집하여 상기 제1 가상 머신 및 제2 가상 머신을 포함하는 클라우드 시스템의 성능을 모니터링한다.

Description

클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법 {SYSTEM FOR MONITORING PERFORMANCE OF CLOUD BASED VIRTUAL MACHINE AND METHOD THEREOF}
본 발명은 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법에 관한 것으로, 보다 상세하게는 일반적으로 클라우드 환경에서는 물리적으로 서버를 구분하는 영역이 존재하지 않기 때문에, 물리적인 측정 장비를 사용할 수 없는 문제를 해소할 수 있는 기술에 관한 것이다.
컴퓨터 네트워크의 기술 발전에 따라, 각 단말의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은, 네트워크 상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다.
클라우드 컴퓨팅 서비스란, 인터넷과 같은 정보통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스'라고 정의할 수 있다. 클라우드 컴퓨팅 환경에서는, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들이 필요로 하는 서비스를 제공하게 된다. 서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(Operation System, OS), 보안(Security)등의 필요한 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상공간상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용하게 된다.
클라우드 환경은 확장 가능한 방식으로 애플리케이션들을 실행할 수 있다. 개발자는 실행할 애플리케이션을 제공할 수 있고, 관리 시스템은 얼마나 많은 컴퓨팅 자원들을 할당할지와 그 자원들의 지리적 위치를 결정할 수 있으며, 애플리케이션을 실행할 하드웨어 플랫폼들을 결정할 수 있다.
한국공개특허 제2010??0138689호 "클라우드 컴퓨팅 서비스를 제공하는 관리 서버 및 방법"에서는 개인용 사용자에게 적합한 클라우드 컴퓨팅 서비스를 신속하고 합리적인 비용으로 제공하기 위한 기술을 개시하고 있다.
이와 같이, 클라우드 서비스 환경에서는 운영체제, 스토리지, 어플리케이션 등의 필요한 자원을 가상화 기술로 제공되는 클라우드 시스템을 통해 원하는 시점에 원하는 만큼 가상의 머신 서버(virtual machine server)와 자원을 골라서 사용하게 되어, 높은 경제성과 확장성 그리고 고도화된 서비스들도 제공받을 수 있는 장점을 누릴 수 있으나, 보안과 안정성 그리고 서비스 성능 보장 등의 문제가 이용 확대에 가장 큰 걸림돌로 부각되고 있다.
특히, 기존의 물리적 시스템에서 클라우드 환경으로 마이그레이션을 진행할 경우, 기존의 시스템에 비해 경제적이고 효율적인 서비스가 제공됨과 동시에 기존의 시스템에서의 성능이 클라우드에서도 같은 수준으로 보장되어야 하는데 이를 객관적으로 보증해줄 데이터와 자료가 필요하다. 즉, 스마트 워크가 확산되는 시점에, 다양한 단말기를 통해 언제 어디서나 클라우드 서비스의 성능과 문제점들을 파악할 수 있도록 실시간 모니터링과 리포팅이 제공될 필요가 있다.
또한, 일반 서버 환경, 즉 물리적 환경에서는 물리적으로 독립된 서버로 명확한 구간을 나누기 때문에, 구간에 트래픽 성능을 분석하기 위한 서버 또는 장비를 설치함으로써 각 서버의 응답 성능 측정이 가능하다. 그러므로 서버 또는 장비를 클라우드 환경에 적용하는 경우에는 가상 머신의 응답 성능 분석에 필요한 일정량의 트래픽을 수집한 후 이를 분석하는 방식으로 진행되므로, 수집되는 트래픽 양에 따라서 높은 성능의 서버 또는 장비가 필요한 문제점이 있다.
한국공개특허 제2010??0138689호 "클라우드 컴퓨팅 서비스를 제공하는 관리 서버 및 방법"
본 발명은 일반적으로 클라우드 환경에서는 물리적으로 서버를 구분하는 영역이 존재하지 않기 때문에, 물리적인 측정 장비를 사용할 수 없는 문제를 해소할 수 있도록 하는 것을 목적으로 한다.
또한, 본 발명은 클라우드 환경에서도 각 가상 머신별 성능을 측정하여 응답 속도 지연에 따른 개선 포인트를 정량적으로 확인할 수 있도록 하는 것을 목적으로 한다.
또, 본 발명은 클라우드 기반의 가상 머신에서 모든 패킷의 로그 정보를 기록하는 경우 데이터의 크기가 방대해짐에 따라서 고용량의 분석 장비가 필요한 문제를 해소할 수 있도록 하는 것을 목적으로 한다.
이러한 목적을 달성하기 위하여 본 발명에 따른 클라우드 기반 가상 머신의 성능 모니터링 시스템은 제1 가상 머신, 제2 가상 머신, 모니터링부를 포함한다. 상기 제1 가상 머신은 외부로부터 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷(monitoring packet)을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제1 로그 정보를 생성한다. 상기 제2 가상 머신은 상기 제1 가상 머신으로부터 상기 모니터링 패킷을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제2 로그 정보를 생성한다. 상기 모니터링부는 상기 제1 가상 머신과 상기 제2 가상 머신에서 생성된 상기 제1 로그 정보와 상기 제2 로그 정보를 수집하여 상기 제1 가상 머신 및 제2 가상 머신을 포함하는 클라우드 시스템의 성능을 모니터링한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 클라우드 시스템을 구성하는 각 가상 머신이 모든 패킷이 아닌 해당 가상 머신의 성능을 측정하고자 하는 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷을 이용하여 로그 정보, 즉 가상 머신에서 상기 모니터링 패킷을 포함하는 요청 패킷 및 이에 대응하는 응답 패킷 처리 후의 송수신 시점의 시간 정보를 생성함으로써, 상기 생성된 시간 정보를 기초로 각 가상 머신의 성능을 분석할 수 있는 효과가 있다.
또한, 일반적으로 클라우드 환경에서는 물리적으로 서버를 구분하는 영역이 존재하지 않기 때문에, 물리적인 측정 장비를 사용할 수 없지만, 본 발명에 의하면 물리적인 장비 없이, 클라우드 환경의 가상 머신에서 직접 로그 정보를 생성하고, 모니터링부에서 상기 생성된 로그 정보를 수집하여 분석함으로써, 클라우드 환경에서도 각 가상 머신별 성능을 측정할 수 있으므로, 응답 속도 지연에 따른 개선 포인트를 정량적으로 확인할 수 있다. 예를 들면, 응답 지연의 원인이 WEB인지, WAS 혹은 DB인지 확인할 수 있는 것이다.
또, 본 발명에서는 각 가상 머신으로 유입되는 패킷 중 분석에 필요한 요청 패킷의 모니터링 패킷에 마킹을 하고, 모니터링 패킷이 유입된 경우에만 로깅함으로써, 로깅 데이터의 크기도 줄일 수 있고, 필요한 요청 패킷만 분석하면 되기 때문에 고용량의 분석 장비가 필요 없다.
도 1은 본 발명의 일실시예에 따른 클라우드 기반 가상 머신의 성능 모니터링 시스템의 개략적인 구성을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 요청 패킷에 포함된 모니터링 패킷의 구조를 나타낸 도면이다.
도 3은 모니터링 패킷이 포함된 요청 패킷 및 이에 대응하는 응답 패킷의 흐름을 나타낸 도면이다.
도 4는 측정된 시간 정보를 이용하여 두 가상 머신에서 요청 패킷과 응답 패킷을 처리하는 시간의 도출 과정을 살펴보기 위한 데이터이다.
도 5는 본 발명의 일실시예에 따른 클라우드 기반 가상 머신의 성능 모니터링 방법의 개략적인 흐름을 나타낸 도면이다.
도 6은 본 발명을 적용한 클라우드 기반 가상 머신의 성능 모니터링 시스템의 예를 나타낸 도면이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하기로 한다. 또한 본 발명의 실시예들을 설명함에 있어 구체적인 수치는 실시예에 불과하며, 설명의 편의와 이해를 위하여 실제와는 달리 과장된 수치가 제시되었을 수 있다.
<시스템에 대한 설명>
도 1은 본 발명의 일실시예에 따른 클라우드 기반 가상 머신의 성능 모니터링 시스템의 개략적인 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 클라우드 기반 가상 머신의 성능 모니터링 시스템(100)은 제1 가상 머신(110), 제2 가상 머신(120) 및 모니터링부(130)를 포함한다.
제1 가상 머신(110)은 외부로부터 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷(monitoring packet)을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제1 로그 정보를 생성하며, 상기 생성된 제1 로그 정보를 내부 데이터베이스에 저장하거나 실시간 또는 주기적으로 모니터링부(130)로 전송한다. 여기서, 모니터링 패킷에 마크를 하는 것은 제1 가상 머신(110)에서 이루어질 수도 있고, 외부의 사용자 단말기에서 이루어질 수 있다.
제2 가상 머신(120)은 제1 가상 머신(110)으로부터 모니터링 패킷을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제2 로그 정보를 생성하며, 상기 생성된 제2 로그 정보를 내부 데이터베이스에 저장하거나 실시간 또는 주기적으로 모니터링부(130)로 전송한다.
본 발명에서는 클라우드 시스템을 구성하는 각 가상 머신(110, 120)의 성능을 측정하기 위하여 도 2와 같이, 각 가상 머신(110, 120)으로 유입되는 요청 패킷들 중에서 분석에 필요한 일부 요청 패킷 내에 모니터링 패킷이 포함되도록 하고 있다. 따라서 각 가상 머신(110, 120)에서는 모니터링 패킷을 확인하여, 모니터링 패킷이 포함된 요청 패킷 및 이에 대응하는 응답 패킷을 처리하여 송수신하는 시점의 시간 정보, 즉 제1, 2 로그 정보를 생성한다. 상기 구성은 하나의 예를 예시한 것으로, 세 개의 가상 머신(예를 들면, WEB, WAS, DB) 또는 그 이상의 가상 머신으로 구성된 클라우드 시스템에 적용할 수 있으며, 이하에서는 설명의 편의상 본 발명을 제1, 2 가상 머신(110, 120)으로 한정하여 설명하기로 한다.
두 가상 머신(110, 120) 간에서 모니터링 패킷이 포함된 요청 패킷 및 이에 대응하는 응답 패킷의 흐름을 살펴보면 도 3과 같다.
먼저, 제1 가상 머신(110)은 외부로부터 모니터링 패킷이 포함되는 요청 패킷을 수신하며, 상기 수신된 시점의 시간 정보(T1)를 생성한다. 그리고 제1 가상 머신(110)은 상기 수신된 요청 패킷을 처리하여 제2 가상 머신(120)으로 전송하며, 상기 전송된 시점의 시간 정보(T2)를 생성한다. 다음, 제2 가상 머신(120)은 제1 가상 머신(110)으로부터 전송되는 요청 패킷을 수신하고, 상기 수신된 시점의 시간 정보(T3)를 생성한 후, 상기 수신된 요청 패킷에 대응하는 응답 패킷을 제1 가상 머신(110)으로 전송하며, 상기 전송된 시점의 시간 정보(T4)를 생성한다. 제1 가상 머신(110)은 제2 가상 머신(120)으로부터 전송되는 응답 패킷을 수신하며, 상기 수신된 시점의 시간 정보(T5)와 상기 수신된 응답 패킷을 처리하여 외부로 전송하는 시점의 시간 정보(T6)를 각각 생성한다.
상기 시간 정보들 중 제1 로그 정보는 제1 가상 머신(110)의 성능을 측정하기 위한 시간 정보로, T1, T2, T5, T6을 의미하며, 제2 로그 정보는 제2 가상 머신(120)의 성능을 측정하기 위한 시간 정보로 T3, T4를 의미한다. 각 가상 머신(110, 120)에서 요청 패킷을 처리할 때에는 모니터링 패킷이 포함된 요청 패킷 전체를 처리할 수도 있고, 모니터링 패킷을 제외한 요청 패킷을 처리할 수도 있다.
한편, 모니터링부(130)는 제1 가상 머신(110)과 제2 가상 머신(120)에서 생성된 제1 로그 정보와 제2 로그 정보를 실시간 또는 주기적으로 수집하여 제1 가상 머신(110) 및 제2 가상 머신(120)을 포함하는 클라우드 시스템의 성능을 모니터링한다. 즉, 모니터링부(130)는 모니터링 패킷을 이용하여 상기 모니터링 패킷을 포함하는 요청 패킷(request packet) 및 이에 대응하는 응답 패킷(response packet)이 제1 가상 머신(110)과 제2 가상 머신(120)으로 송수신되는 시점의 시간 정보들(T1~T6)을 기초로, 상기 시간 정보들(T1~T6) 간의 시간 차를 이용하여 제1 가상 머신(110) 및 제2 가상 머신(120)의 성능을 모니터링한다. 따라서 제1 가상 머신(110)의 성능을 모니터링하기 위해서는 T1, T2간의 시간 차, 또는 T5, T6간의 시간 차를 이용하며, 제2 가상 머신(120)의 성능을 모니터링하기 위해서는 T3, T4 간의 시간 차를 이용하면 된다.
이하에서는 일실시예로 도 4와 같이 측정된 시간 정보를 이용하여 제1, 2 가상 머신(110, 120)에서 요청 패킷과 응답 패킷을 처리하는 시간의 도출 과정을 살펴보기로 한다.
먼저, A의 경우 제1 로그 정보는 제1 가상 머신(110)의 성능을 모니터링하기 위한 데이터로, 제1 가상 머신(110)이 외부로부터 모니터링 패킷이 포함된 요청 패킷을 수신한 시간(T1)은 02:10:00, 상기 수신된 요청 패킷을 처리하여 제2 가상 머신(120)으로 전송한 시간(T2)은 02:10:05 이므로, 모니터링부(130)는 상기 시간들(T1, T2)을 통해 제1 가상 머신(110)에서 요청 패킷을 처리하는데 5초가 소요된다는 정보를 얻을 수 있다. 또한, 제1 가상 머신(110)이 제2 가상 머신(120)으로부터 요청 패킷에 대응하여 응답 패킷을 수신한 시간(T5)은 02:10:21, 상기 수신된 응답 패킷을 처리하여 외부로 전송한 시간(T6)은 02:10:23 이므로, 모니터링부(130)는 상기 시간들(T5, T6)을 통해 제1 가상 머신(110)에서 응답 패킷을 처리하는데 2초가 소요된다는 정보를 얻을 수 있다. 따라서 모니터링부(130)는 제1 가상 서버에서 상기 각 패킷의 용량 대비 상기 각 패킷을 처리하는데 소요되는 시간을 고려하여 제1 가상 머신(110)의 성능을 분석할 수 있다. 그리고 제2 로그 정보는 제2 가상 머신(120)의 성능을 모니터링하기 위한 데이터로, 제1 가상 머신(110)으로부터 요청 패킷을 수신한 시간(T3)은 02:10:06, 상기 수신된 요청 패킷을 처리하여 이에 대응하는 응답 패킷을 제1 가상 머신(110)으로 전송한 시간(T4)은 02:10:20 이므로, 모니터링부(130)는 상기 시간들(T3, T4)을 통해 제2 가상 머신(120)에서 요청 패킷을 처리하여 생성된 응답 패킷을 제1 가상 머신(110)으로 전송하는데 14초가 소요된다는 정보를 얻을 수 있다. 따라서 모니터링부(130)는 제2 가상 서버에서 각 패킷의 용량 대비 상기 각 패킷을 처리하는데 소요되는 시간을 고려하여 제2 가상 머신(120)의 성능을 분석할 수 있다.
다음, B의 경우를 살펴보면 T1, T2 간의 시간 차는 3초, T5, T6 간의 시간 차는 2초, T3, T4 간의 시간 차는 4초이므로, 모니터링부(130)는 각 패킷의 용량 대비 T1, T2간의 시간 차(3초) 및 T5, T6 간의 시간 차(2초)를 이용하여 제1 가상 머신(110)의 성능을 분석할 수 있고, 이와 마찬가지로 각 패킷의 용량 대비 T3, T4간의 시간 차(4초)를 이용하여 제2 가상 머신(120)의 성능을 분석할 수 있다.
C의 경우도 전술한 바와 마찬가지이므로, 이에 대한 상세한 설명은 생략하기로 한다.
이와 같은 본 발명에 따르면, 클라우드 시스템을 구성하는 각 가상 머신(110, 120)이 모든 패킷이 아닌 해당 가상 머신(110, 120)의 성능을 측정하고자 하는 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷을 이용하여 로그 정보, 즉 가상 머신(110, 120)에서 상기 모니터링 패킷을 포함하는 요청 패킷 및 이에 대응하는 응답 패킷 처리 후의 송수신 시점의 시간 정보를 생성함으로써, 상기 생성된 시간 정보를 기초로 각 가상 머신(110, 120)의 성능을 분석할 수 있는 효과가 있다.
또한, 일반적으로 클라우드 환경에서는 물리적으로 서버를 구분하는 영역이 존재하지 않기 때문에, 물리적인 측정 장비를 사용할 수 없지만, 본 발명에 의하면 물리적인 장비 없이, 클라우드 환경의 가상 머신(110, 120)에서 직접 로그 정보를 생성하고, 모니터링부(130)에서 상기 생성된 로그 정보를 수집하여 분석함으로써, 클라우드 환경에서도 각 가상 머신별(110, 120) 성능을 측정할 수 있으므로, 응답 속도 지연에 따른 개선 포인트를 정량적으로 확인할 수 있다. 예를 들면, 응답 지연의 원인이 WEB인지, WAS 혹은 DB인지 확인할 수 있는 것이다.
또, 본 발명에서는 각 가상 머신(110, 120)으로 유입되는 패킷 중 분석에 필요한 요청 패킷의 모니터링 패킷에 마킹을 하고, 모니터링 패킷이 유입된 경우에만 로깅함으로써, 로깅 데이터의 크기도 줄일 수 있고, 필요한 요청 패킷만 분석하면 되기 때문에 고용량의 분석 장비가 필요 없다.
<방법에 대한 설명>
본 발명의 클라우드 기반 가상 머신의 성능 모니터링 방법에 대해서 도 5에 도시된 흐름도와 더불어 도 1 내지 도 4, 도 6에 나타난 예시도를 참조하여 설명하되, 편의상 순서를 붙여 설명한다.
1. 제1 로그 정보를 생성하는 단계<S510>
제1 가상 머신(110)이 외부로부터 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷(monitoring packet)을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제1 로그 정보를 생성하며, 상기 생성된 제1 로그 정보를 내부 데이터베이스에 저장하거나 실시간 또는 주기적으로 모니터링부(130)로 전송한다.
2. 제2 로그 정보를 생성하는 단계<S520>
제2 가상 머신(120)이 제1 가상 머신(110)으로부터 모니터링 패킷을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제2 로그 정보를 생성하며, 상기 생성된 제2 로그 정보를 내부 데이터베이스에 저장하거나 실시간 또는 주기적으로 모니터링부(130)로 전송한다.
본 발명에서는 클라우드 시스템을 구성하는 각 가상 머신(110, 120)의 성능을 측정하기 위하여 도 2와 같이, 각 가상 머신(110, 120)으로 유입되는 요청 패킷들 중에서 분석에 필요한 일부 요청 패킷 내에 모니터링 패킷이 포함되도록 하고 있다. 따라서 각 가상 머신(110, 120)에서는 모니터링 패킷을 확인하여, 모니터링 패킷이 포함된 요청 패킷 및 이에 대응하는 응답 패킷을 처리하여 송수신하는 시점의 시간 정보, 즉 제1, 2 로그 정보를 생성한다. 상기 구성은 하나의 예를 예시한 것으로, 세 개의 가상 머신(예를 들면, WEB, WAS, DB) 또는 그 이상의 가상 머신으로 구성된 클라우드 시스템에 적용할 수 있으며, 이하에서는 설명의 편의상 본 발명을 제1, 2 가상 머신(110, 120)으로 한정하여 설명하기로 한다.
상기 단계 S510, S520에서 제1, 2 로그 정보가 생성되는 과정을 순서대로 살펴보면 도 3과 같다.
먼저, 제1 가상 머신(110)은 외부로부터 모니터링 패킷이 포함되는 요청 패킷을 수신하며, 상기 수신된 시점의 시간 정보(T1)를 생성한다. 그리고 제1 가상 머신(110)은 상기 수신된 요청 패킷을 처리하여 제2 가상 머신(120)으로 전송하며, 상기 전송된 시점의 시간 정보(T2)를 생성한다. 다음, 제2 가상 머신(120)은 제1 가상 머신(110)으로부터 전송되는 요청 패킷을 수신하고, 상기 수신된 시점의 시간 정보(T3)를 생성한 후, 상기 수신된 요청 패킷에 대응하는 응답 패킷을 제1 가상 머신(110)으로 전송하며, 상기 전송된 시점의 시간 정보(T4)를 생성한다. 제1 가상 머신(110)은 제2 가상 머신(120)으로부터 전송되는 응답 패킷을 수신하며, 상기 수신된 시점의 시간 정보(T5)와 상기 수신된 응답 패킷을 처리하여 외부로 전송하는 시점의 시간 정보(T6)를 각각 생성한다.
상기 시간 정보들 중 제1 로그 정보는 제1 가상 머신(110)의 성능을 측정하기 위한 시간 정보로, T1, T2, T5, T6을 의미하며, 제2 로그 정보는 제2 가상 머신(120)의 성능을 측정하기 위한 시간 정보로 T3, T4를 의미한다. 각 가상 머신(110, 120)에서 요청 패킷을 처리할 때에는 모니터링 패킷이 포함된 요청 패킷 전체를 처리할 수도 있고, 모니터링 패킷을 제외한 요청 패킷을 처리할 수도 있다.
3. 가상 머신의 성능을 모니터링하는 단계<S530>
모니터링부(130)는 제1 가상 머신(110)과 제2 가상 머신(120)에서 생성된 제1 로그 정보와 제2 로그 정보를 실시간 또는 주기적으로 수집하여 제1 가상 머신(110) 및 제2 가상 머신(120)을 포함하는 클라우드 시스템의 성능을 모니터링한다. 즉, 모니터링부(130)는 모니터링 패킷을 이용하여 상기 모니터링 패킷을 포함하는 요청 패킷(request packet) 및 이에 대응하는 응답 패킷(response packet)이 제1 가상 머신(110)과 제2 가상 머신(120)으로 송수신되는 시점의 시간 정보들(T1~T6)을 기초로, 상기 시간 정보들(T1~T6) 간의 시간 차를 이용하여 제1 가상 머신(110) 및 제2 가상 머신(120)의 성능을 모니터링한다. 따라서 제1 가상 머신(110)의 성능을 모니터링하기 위해서는 T1, T2간의 시간 차, 또는 T5, T6간의 시간 차를 이용하며, 제2 가상 머신(120)의 성능을 모니터링하기 위해서는 T3, T4 간의 시간 차를 이용하면 된다.
이하에서는 일실시예로 도 4와 같이 측정된 시간 정보를 이용하여 제1, 2 가상 머신(110, 120)에서 요청 패킷과 응답 패킷을 처리하는 시간의 도출 과정을 살펴보기로 한다.
먼저, A의 경우 제1 로그 정보는 제1 가상 머신(110)의 성능을 모니터링하기 위한 데이터로, 제1 가상 머신(110)이 외부로부터 모니터링 패킷이 포함된 요청 패킷을 수신한 시간(T1)은 02:10:00, 상기 수신된 요청 패킷을 처리하여 제2 가상 머신(120)으로 전송한 시간(T2)은 02:10:05 이므로, 모니터링부(130)는 상기 시간들(T1, T2)을 통해 제1 가상 머신(110)에서 요청 패킷을 처리하는데 5초가 소요된다는 정보를 얻을 수 있다. 또한, 제1 가상 머신(110)이 제2 가상 머신(120)으로부터 요청 패킷에 대응하여 응답 패킷을 수신한 시간(T5)은 02:10:21, 상기 수신된 응답 패킷을 처리하여 외부로 전송한 시간(T6)은 02:10:23 이므로, 모니터링부(130)는 상기 시간들(T5, T6)을 통해 제1 가상 머신(110)에서 응답 패킷을 처리하는데 2초가 소요된다는 정보를 얻을 수 있다. 따라서 모니터링부(130)는 제1 가상 서버에서 상기 각 패킷의 용량 대비 상기 각 패킷을 처리하는데 소요되는 시간을 고려하여 제1 가상 머신(110)의 성능을 분석할 수 있다. 그리고 제2 로그 정보는 제2 가상 머신(120)의 성능을 모니터링하기 위한 데이터로, 제1 가상 머신(110)으로부터 요청 패킷을 수신한 시간(T3)은 02:10:06, 상기 수신된 요청 패킷을 처리하여 이에 대응하는 응답 패킷을 제1 가상 머신(110)으로 전송한 시간(T4)은 02:10:20 이므로, 모니터링부(130)는 상기 시간들(T3, T4)을 통해 제2 가상 머신(120)에서 요청 패킷을 처리하여 생성된 응답 패킷을 제1 가상 머신(110)으로 전송하는데 14초가 소요된다는 정보를 얻을 수 있다. 따라서 모니터링부(130)는 제2 가상 서버에서 각 패킷의 용량 대비 상기 각 패킷을 처리하는데 소요되는 시간을 고려하여 제2 가상 머신(120)의 성능을 분석할 수 있다.
다음, B의 경우를 살펴보면 T1, T2 간의 시간 차는 3초, T5, T6 간의 시간 차는 2초, T3, T4 간의 시간 차는 4초이므로, 모니터링부(130)는 각 패킷의 용량 대비 T1, T2간의 시간 차(3초) 및 T5, T6 간의 시간 차(2초)를 이용하여 제1 가상 머신(110)의 성능을 분석할 수 있고, 이와 마찬가지로 각 패킷의 용량 대비 T3, T4간의 시간 차(4초)를 이용하여 제2 가상 머신(120)의 성능을 분석할 수 있다.
C의 경우도 전술한 바와 마찬가지이므로, 이에 대한 상세한 설명은 생략하기로 한다.
이와 같은 본 발명에 따르면, 클라우드 시스템을 구성하는 각 가상 머신(110, 120)이 모든 패킷이 아닌 해당 가상 머신(110, 120)의 성능을 측정하고자 하는 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷을 이용하여 로그 정보, 즉 가상 머신(110, 120)에서 상기 모니터링 패킷을 포함하는 요청 패킷 및 이에 대응하는 응답 패킷 처리 후의 송수신 시점의 시간 정보를 생성함으로써, 상기 생성된 시간 정보를 기초로 각 가상 머신(110, 120)의 성능을 분석할 수 있는 효과가 있다.
또한, 일반적으로 클라우드 환경에서는 물리적으로 서버를 구분하는 영역이 존재하지 않기 때문에, 물리적인 측정 장비를 사용할 수 없지만, 본 발명에 의하면 물리적인 장비 없이, 클라우드 환경의 가상 머신(110, 120)에서 직접 로그 정보를 생성하고, 모니터링부(130)에서 상기 생성된 로그 정보를 수집하여 분석함으로써, 클라우드 환경에서도 각 가상 머신별(110, 120) 성능을 측정할 수 있으므로, 응답 속도 지연에 따른 개선 포인트를 정량적으로 확인할 수 있다. 예를 들면, 도 6과 같은 가상 머신을 포함하는 클라우드 시스템의 경우, 응답 지연의 원인이 WEB인지, WAS 혹은 DB인지 확인할 수 있는 것이다.
또, 본 발명에서는 각 가상 머신(110, 120)으로 유입되는 패킷 중 분석에 필요한 요청 패킷의 모니터링 패킷에 마킹을 하고, 모니터링 패킷이 유입된 경우에만 로깅함으로써, 로깅 데이터의 크기도 줄일 수 있고, 필요한 요청 패킷만 분석하면 되기 때문에 고용량의 분석 장비가 필요 없다.
본 발명에 따른 클라우드 기반 가상 머신의 성능 모니터링 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD??ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기??광 매체(magneto??optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 클라우드 기반 가상 머신의 성능 모니터링 시스템

Claims (9)

  1. 외부로부터 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷(monitoring packet)을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제1 로그 정보를 생성하는 제1 가상 머신;
    상기 제1 가상 머신으로부터 상기 모니터링 패킷을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제2 로그 정보를 생성하는 제2 가상 머신; 및
    상기 제1 가상 머신과 상기 제2 가상 머신에서 생성된 상기 제1 로그 정보와 상기 제2 로그 정보를 수집하여 상기 제1 가상 머신 및 제2 가상 머신을 포함하는 클라우드 시스템의 성능을 모니터링하는 모니터링부
    를 포함하는 클라우드 기반 가상 머신의 성능 모니터링 시스템.
  2. 제1항에 있어서,
    상기 모니터링부는,
    상기 모니터링 패킷을 이용하여 상기 모니터링 패킷을 포함하는 요청 패킷(request packet) 및 이에 대응하는 응답 패킷(response packet)이 상기 제1 가상 머신과 상기 제2 가상 머신으로 송수신되는 시점의 시간 정보를 기초로 상기 제1 가상 머신 및 상기 제2 가상 머신의 성능을 모니터링하는
    클라우드 기반 가상 머신의 성능 모니터링 시스템.
  3. 제2항에 있어서,
    상기 제1 로그 정보는,
    상기 모니터링 패킷이 포함되는 상기 요청 패킷을 수신하는 시점의 시간 정보, 및
    상기 수신된 요청 패킷을 처리하여 상기 제2 가상 머신으로 전송하는 시점의 시간 정보를 포함하며,
    상기 모니터링부는,
    상기 요청 패킷을 수신하는 시점의 시간 정보와 상기 제2 가상 머신으로 전송하는 시점의 시간 정보에서의 시간 차를 이용하여 상기 제1 가상 머신의 성능을 모니터링하는
    클라우드 기반 가상 머신의 성능 모니터링 시스템.
  4. 제2항에 있어서,
    상기 제1 로그 정보는,
    상기 제2 가상 머신으로 전송된 요청 패킷에 대응하는 응답 패킷을 수신하는 시점의 시간 정보, 및
    상기 수신된 응답 패킷을 처리하여 외부로 전송하는 시점의 시간 정보를 포함하며,
    상기 모니터링부는,
    상기 응답 패킷을 수신하는 시점의 시간 정보와 상기 외부로 전송하는 시점의 시간 정보에서의 시간 차를 이용하여 상기 제1 가상 머신의 성능을 모니터링하는
    클라우드 기반 가상 머신의 성능 모니터링 시스템.
  5. (a) 제1 가상 머신이 외부로부터 모니터링 요청을 나타내는 마킹 정보를 포함하는 모니터링 패킷(monitoring packet)을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제1 로그 정보를 생성하는 단계;
    (b) 제2 가상 머신이 상기 제1 가상 머신으로부터 상기 모니터링 패킷을 수신하고, 상기 수신된 모니터링 패킷을 이용하여 제2 로그 정보를 생성하는 단계; 및
    (c) 상기 제1 가상 머신과 상기 제2 가상 머신에서 생성된 상기 제1 로그 정보와 상기 제2 로그 정보를 수집하여 상기 제1 가상 머신 및 제2 가상 머신을 포함하는 클라우드 시스템의 성능을 모니터링하는 단계
    를 포함하는 클라우드 기반 가상 머신의 성능 모니터링 방법.
  6. 제5항에 있어서,
    상기 (c)단계에서는,
    상기 모니터링 패킷을 이용하여 상기 모니터링 패킷을 포함하는 요청 패킷(request packet) 및 이에 대응하는 응답 패킷(response packet)이 상기 제1 가상 머신과 상기 제2 가상 머신으로 송수신되는 시점의 시간 정보를 기초로 상기 제1 가상 머신 및 상기 제2 가상 머신의 성능을 모니터링하는
    클라우드 기반 가상 머신의 성능 모니터링 방법.
  7. 청구제6항에 있어서,
    상기 제1 로그 정보는,
    상기 모니터링 패킷이 포함되는 상기 요청 패킷을 수신하는 시점의 시간 정보, 및
    상기 수신된 요청 패킷을 처리하여 상기 제2 가상 머신으로 전송하는 시점의 시간 정보를 포함하며,
    상기 (c)단계에서는,
    상기 요청 패킷을 수신하는 시점의 시간 정보와 상기 제2 가상 머신으로 전송하는 시점의 시간 정보에서의 시간 차를 이용하여 상기 제1 가상 머신의 성능을 모니터링하는
    클라우드 기반 가상 머신의 성능 모니터링 방법.
  8. 제6항에 있어서,
    상기 제1 로그 정보는,
    상기 제2 가상 머신으로 전송된 요청 패킷에 대응하는 응답 패킷을 수신하는 시점의 시간 정보, 및
    상기 수신된 응답 패킷을 처리하여 외부로 전송하는 시점의 시간 정보를 포함하며,
    상기 (c)단계에서는,
    상기 응답 패킷을 수신하는 시점의 시간 정보와 상기 외부로 전송하는 시점의 시간 정보에서의 시간 차를 이용하여 상기 제1 가상 머신의 성능을 모니터링하는
    클라우드 기반 가상 머신의 성능 모니터링 방법.
  9. 제5항 내지 제8항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.
KR20120127882A 2012-11-13 2012-11-13 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법 KR101494820B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20120127882A KR101494820B1 (ko) 2012-11-13 2012-11-13 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120127882A KR101494820B1 (ko) 2012-11-13 2012-11-13 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140061601A KR20140061601A (ko) 2014-05-22
KR101494820B1 true KR101494820B1 (ko) 2015-02-23

Family

ID=50890383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120127882A KR101494820B1 (ko) 2012-11-13 2012-11-13 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101494820B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101649606B1 (ko) 2014-12-12 2016-08-19 국민대학교산학협력단 가상화 운영체제 성능 분석 방법, 이를 수행하는 가상화 운영체제 성능 분석 장치 및 이를 저장하는 기록매체
KR101649607B1 (ko) 2014-12-12 2016-08-19 국민대학교산학협력단 가상화 운영체제 모니터링 방법, 이를 수행하는 가상화 운영체제 모니터링 장치 및 이를 저장하는 기록매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138689A (ko) * 2009-06-23 2010-12-31 삼성전자주식회사 클라우드 컴퓨팅 서비스를 제공하는 관리 서버 및 방법
KR20110051028A (ko) * 2009-11-09 2011-05-17 주식회사 케이티 보안 기능이 구비된 클라우드 컴퓨팅 시스템
JP2012191440A (ja) 2011-03-10 2012-10-04 Kddi Corp 通信品質測定方法および装置
KR20120120220A (ko) * 2009-12-12 2012-11-01 마이크로소프트 코포레이션 클라우드 컴퓨팅 모니터링 및 관리 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138689A (ko) * 2009-06-23 2010-12-31 삼성전자주식회사 클라우드 컴퓨팅 서비스를 제공하는 관리 서버 및 방법
KR20110051028A (ko) * 2009-11-09 2011-05-17 주식회사 케이티 보안 기능이 구비된 클라우드 컴퓨팅 시스템
KR20120120220A (ko) * 2009-12-12 2012-11-01 마이크로소프트 코포레이션 클라우드 컴퓨팅 모니터링 및 관리 시스템
JP2012191440A (ja) 2011-03-10 2012-10-04 Kddi Corp 通信品質測定方法および装置

Also Published As

Publication number Publication date
KR20140061601A (ko) 2014-05-22

Similar Documents

Publication Publication Date Title
Xu et al. From cloud to edge: a first look at public edge platforms
US9766993B2 (en) Quality of information assessment in dynamic sensor networks
Yi et al. A survey of fog computing: concepts, applications and issues
US8521868B2 (en) Platform-level indicators of application performance
US10932173B2 (en) Access point selection
Laner et al. Traffic models for machine-to-machine (M2M) communications: types and applications
CN107370806B (zh) Http状态码监控方法、装置、存储介质和电子设备
Maciel et al. Mercury: Performance and dependability evaluation of systems with exponential, expolynomial, and general distributions
RU2013127653A (ru) СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ СЛУЖБАМИ, РАЗВИТЫЙ NodeB И ШЛЮЗ СЕТИ ПАКЕТНОЙ ПЕРЕДАЧИ ДАННЫХ
CN111277598B (zh) 一种基于流量的应用攻击识别方法及系统
CN111294849B (zh) 一种lte用户上网质差的判定方法及装置
US10819597B2 (en) Network device measurements employing white boxes
CN113938524B (zh) 基于流量代理的物联网终端敏感信息泄露监测方法及系统
CN113225339B (zh) 网络安全监测方法、装置、计算机设备及存储介质
JP2016527786A (ja) ネットワークテスト方法及びそのデータ収集方法、ネットワークテスト装置及びシステム
CN111162932A (zh) 一种基于日志分析的api网关监控方法
US20100017514A1 (en) Method for determining service demands in a network load balanced scenario
KR101494820B1 (ko) 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법
KR20140061629A (ko) 클라우드 서버 모니터링 시스템 및 방법
KR20140061628A (ko) 로그 정보를 통한 클라우드 기반 가상 머신의 성능 모니터링 시스템 및 방법
CN102395042A (zh) 对数字电视系统进行调试的方法及系统
KR20200007912A (ko) 데이터 트래픽을 모니터링하기 위한 방법, 장치 및 시스템
KR101206602B1 (ko) Vpn을 사용한 모바일 네트워크의 트래픽 측정 방법 및 장치
KR101630088B1 (ko) 가상머신의 라이프사이클 모니터링 방법 및 그 장치
Velrajan et al. QoS management in multi-access edge compute

Legal Events

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

Payment date: 20180205

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200205

Year of fee payment: 6