KR20150036597A - 가상 머신 마이그레이션을 판정하는 방법 및 장치 - Google Patents

가상 머신 마이그레이션을 판정하는 방법 및 장치 Download PDF

Info

Publication number
KR20150036597A
KR20150036597A KR1020157003831A KR20157003831A KR20150036597A KR 20150036597 A KR20150036597 A KR 20150036597A KR 1020157003831 A KR1020157003831 A KR 1020157003831A KR 20157003831 A KR20157003831 A KR 20157003831A KR 20150036597 A KR20150036597 A KR 20150036597A
Authority
KR
South Korea
Prior art keywords
virtual machine
unique identifier
machine
host machine
address
Prior art date
Application number
KR1020157003831A
Other languages
English (en)
Other versions
KR101857511B1 (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20150036597A publication Critical patent/KR20150036597A/ko
Application granted granted Critical
Publication of KR101857511B1 publication Critical patent/KR101857511B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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
    • 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
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Abstract

가상 머신 마이그레이션을 판정하는 방법은 통신 분야에 관한 것이며 구축 비용을 줄일 수 있다. 상기 방법은, 호스트 머신 내의 클라이언트가 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 취득하는 단계; 및 상기 가상 머신의 유일한 식별자가 상기 클라이언트의 로컬 레코드에 존재하지 않으면, 상기 클라이언트가 상기 호스트 머신이 위치하는 네트워크 내의 서버에, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 전송하여, 상기 서버가, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소에 따라, 상기 가상 머신의 마이그레이션 여부를 판정하도록 하고, 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하여 상기 로컬 레코드를 갱신하는 단계를 포함한다. 본발명은 대응하는 장치를 더 제공한다.

Description

가상 머신 이동을 판정하는 방법 및 장치 {METHOD AND APPARATUS FOR DETERMINING VIRTUAL MACHINE DRIFTING}
본 발명의 통신 분야에 관한 것으로, 특히 가상 머신 마이그레이션을 판정하는 방법 및 장치에 관한 것이다.
현재, 가상 머신 기술(virtual machine technology)은 일반적으로 다양한 클라우드 컴퓨팅 환경(cloud computing environment)에 적용되며, 클라우드 컴퓨팅의 핵심 아이디어는 네트워크를 사용하여 연결된 막대한 수량의 자원(여기서 자원은 저장 자원, 컴퓨팅 자원, 및 다양한 유형을 애플리케이션 소프트웨어)을 균일하게 관리 및 스케줄링하여, 사용자에게 주문형 서비스(service on demand)를 제공하기 위한 자원 풀을 형성하는 것이다. 가상 머신 기술에서, 하나 이상의 가상 머신은 하나의 물리 호스트(physical host) 상에 가상화(virtualize)될 수 있어, 수 개 또는 심지어 수십 개의 가상 머신이 하나의 물리 호스트의 하드웨어 자원을 공유할 수 있도록 하고, 따라서 자원의 이용률을 향상시킬 수 있다. 그러나, 가상 머신 기술의 애플리케이션은 또한 네트워크 보안 관리에 대한 새로운 과제를 야기한다. 기존의 물리적인 보안 기기는 물리 호스트에 의해 형성된 영역(domian)의 보안, 예를 들어 회사의 내부 근거리 통신망(local area network)의 보안을 보호하지만, 수 개의 가상 머신, 특히 동일한 호스트 머신(host machine)(본 명세서에서는, 가상 머신에 하드웨어 자원을 제공하는 물리 호스트를 호스트 머신이라고 한다)에 의해 형성된 가상 네트워크(virtualized network) 내의 가상 머신 간의 트래픽을 모니터할 수 없다. 또한, 가상 머신 마이그레이션은 정적인 보안 정책(static security policy)을 더 이상 적용할 수 없게 만들며, 가상 머신 마이그레이션은, 하나의 물리 호스트의 하드웨어 자원 및 처리 자원에 기초하여 원래 구현된 가상 머신이 다른 물리 호스트의 하드웨어 자원 및 처리 자원에 의해 구현되는 현상을 가리킨다.
종래기술에서는, 가상 네트워크에서의 가상 머신의 트래픽이 물리 보안 기기에 의해서든 호스트 시스템 상의 보안 가상 머신에 의해서든 모니터되고, 가상 머신 마이그레이션이 발생하는 경우 보안 정책이 동적으로 조정될 것을 필요로 한다. 따라서, 가상 머신 마이그레이션의 발생을 판정하는 방법이 핵심 문제가 된다.
가상 머신 마이그레이션을 판정하는 현재의 방식은, 가상 머신의 트래픽을 완전히 교환기 내로 도입하여(import), 교환기가 가상 머신의 존재를 판정하는 것이다. 그러나, 이 이러한 방식은 프로토콜을 지원하는 맞춤형 교환기(tailor-made switch), 예를 들어, VEPA(Virtual Ethernet Port Aggregator, 가상 이더넷 포트 수집기) 프로토콜을 지원하는 교환기를 필요로 하고, 가상 머신 판매자도 또한 지원을 제공하여야 한다. 따라서, 구축 비용(deployment cost)이 높다.
본 발명의 실시예는 구축 비용을 줄일 수 있는, 가상 머신 마이그레이션을 판정하는 방법 및 장치를 제공한다.
제1 측면에 따르면, 가상 머신 마이그레이션을 판정하는 방법이 제공되며, 상기 방법은,
호스트 머신 내의 클라이언트가 호스트 머신 상의 가상 머신의 유일한 식별자(unique identifier) 및 상기 호스트 머신의 주소를 취득하는 단계; 및
상기 가상 머신의 유일한 식별자가 상기 클라이언트의 로컬 레코드(local record)에 존재하지 않으면, 상기 클라이언트가 상기 호스트 머신이 위치하는 네트워크 내의 서버에, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은(carry) 패킷을 전송하여, 상기 서버가, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소에 따라, 상기 가상 머신의 마이그레이션 여부를 판정하도록 하고; 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하여 상기 로컬 레코드를 갱신하는 단계를 포함한다.
제1 측면의 제1 가능한 구현 방식에서, 상기 호스트 머신 내의 클라이언트가 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 단계는, 상기 호스트 머신 내의 클라이언트가 상기 호스트 머신 상의 가상 머신으로부터의, 상기 가상 머신의 유일한 식별자를 실은 패킷을 가로채는 단계; 및 상기 가로챈 패킷에서 상기 가상 머신의 유일한 식별자를 취득하는 단계를 포함한다.
제1 측면의 제2 가능한 구현 방식에서, 상기 호스트 머신 내의 클라이언트가 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 단계는, 상기 호스트 머신 내의 클라이언트가, 상기 호스트 머신 상의 가상 교환기(virtual switch)에 의해 전달되는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하는 단계; 및 상기 수신한 패킷에서 상기 가상 머신의 유일한 식별자를 취득하는 단계를 포함한다.
제1 측면의 제1 또는 제2 가능한 구현 방식을 참조하여, 제1 측면의 제3 가능한 구현 방식에서, 상기 호스트 상의 가상 머신으로부터의 패킷은 ARP(Address Resolution Protocol, 주소 해석 프로토콜) 패킷이다.
제1 측면, 제1 측면의 제1, 제2, 또는 제3 가능한 구현 방식을 참조하여, 제1 측면의 제4 가능한 구현 방식에서, 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하기 전에, 상기 방법은,
상기 클라이언트가 상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 단계; 및
상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하는 단계를 더 포함한다.
제1 측면, 또는 제1 측면의 제1, 제2, 또는 제3 가능한 구현 방식을 참조하여, 제1 측면의 제5 가능한 구현 방식에서, 상기 유일한 식별자는 상기 가상 머신의 MAC 주소 또는 통계적으로 구성된, 상기 가상 머신의 IP 주소이다.
제1 측면, 또는 제1 측면, 제1, 제2, 또는 제3 가능한 구현 방식을 참조하여, 제1 측면의 제6 가능한 구현 방식에서, 상기 클라이언트는 상기 호스트 머신 내의 보안 가상 머신, 상기 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터(physical network adapter)와 연결된, 상기 호스트 머신 내의 구성요소 내에 배치되어 있다.
제2 측면에 따르면, 가상 머신 마이그레이션을 판정하는 방법이 제공되며, 상기 방법은,
서버가 호스트 머신 내의 클라이언트에 의해 전송되는, 상기 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 클라이언트가 위치하는 상기 호스트 머신의 주소를 실은 패킷을 수신하는 단계;
상기 가상 머신의 유일한 식별자가 상기 서버의 로컬 레코드에 존재하지 않으면, 상기 서버가 상기 가상 머신의 유일한 식별자와 상기 호스트 머신의 주소 사이의 대응관계를 상기 서버의 로컬 레코드에 추가하는 단계; 및
상기 가상 머신의 유일한 식별자가 상기 서버의 로컬 레코드에 존재하면, 상기 서버가, 상기 패킷에 실린(carried) 상기 호스트 머신의 주소가 상기 서버의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 상기 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 가상 머신이 마이그레이션된 것으로 판정하는 단계를 포함한다.
제2 측면의 제1 가능한 구현 방식에서, 상기 클라이언트에 의해 전송된 패킷을 수신한 후,
상기 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하여, 상기 클라이언트가 상기 클라이언트의 로컬 레코드에 상기 가상 머신의 유일한 식별자를 추가하도록 하는 단계를 더 포함한다.
제2 측면 또는 제2 측면의 제1 가능한 구현 방식을 참조하여, 제2 측면의 제2 가능한 구현 방식에서, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 방법은,
상기 서버의 로컬 레코드 내에 저장되어 있는, 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 상기 패킷에 실린 상기 호스트 머신의 주소로 갱신하는 단계를 더 포함한다.
제3 측면에 따르면, 가상 머신 마이그레이션을 판정하는 장치가 제공되며, 상기 장치는,
상기 장치가 위치하는 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 취득하도록 구성된 처리 유닛;
상기 처리 유닛이, 상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하지 않는 것으로 판정하면, 상기 호스트 머신이 위치하는 네트워크 내의 서버에, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 전송하도록 구성되어, 상기 서버가, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소에 따라, 상기 가상 머신의 마이그레이션 여부를 판정하도록 하는, 전송 유닛; 및
상기 처리 유닛이 상기 가상 머신의 유일한 식별자가 상기 로컬 레코드에 존재하지 않는 것으로 판정하면, 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하여 상기 로컬 레코드를 갱신하도록 구성된 저장 유닛을 포함한다.
제3 측면의 제1 가능한 구현 방식에서, 상기 처리 유닛은, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 가상 머신의 유일한 식별자를 실은 패킷을 가로채고; 상기 가로챈 패킷에서 상기 가상 머신의 유일한 식별자를 취득하도록, 구성되어 있다.
제3 측면의 제2 가능한 구현 방식에서, 상기 처리 유닛은, 상기 호스트 머신 상의 가상 교환기에 의해 전달되는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하고; 상기 수신한 패킷에서 상기 가상 머신의 유일한 식별자를 취득하도록 구성되어 있다.
제3 측면의 제1 또는 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 상기 호스트 상의 가상 머신으로부터의 패킷은 주소 해석 프로토콜(ARP) 패킷이다.
제3 측면의 제1, 제2, 또는 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 상기 장치는,
상기 저장 유닛이 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하기 전에, 상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하도록 구성된 수신 유닛을 더 포함하고 ;
상기 저장 유닛은 구체적으로, 상기 수신 유닛이 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하도록 구성되어 있다.
제3 측면, 또는 제3 측면의 제1, 제2, 또는 제3 가능한 구현 방식을 참조하여, 제5 가능한 구현 방식에서, 상기 장치는 상기 호스트 머신 내의 보안 가상 머신, 상기 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터와 연결된, 상기 호스트 머신 내의 구성요소 내에 배치되어 있다.
제4 측면에 따르면, 가상 머신 마이그레이션을 판정하는 장치가 제공되며, 상기 장치는,
호스트 머신 내의 클라이언트에 의해 전송되는, 상기 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 클라이언트가 위치하는 상기 호스트 머신의 주소를 실은 패킷을 수신하도록 구성된 수신 유닛;
상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하는지를 판정하도록 구성된 판정 유닛;
상기 판정 유닛이, 상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하지 않는 것으로 판정하면, 상기 가상 머신의 유일한 식별자와 상기 호스트 머신의 주소 사이의 대응관계를 상기 장치의 로컬 레코드에 추가하도록 구성된 저장 유닛을 포함하고,
상기 판정 유닛은, 상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하면, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 상기 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 가상 머신이 마이그레이션된 것으로 판정하도록, 더 구성되어 있다.
제4 측면의 제1 가능한 구현 방식에서, 상기 장치는, 상기 수신 유닛이 상기 클라이언트에 의해 전송된 패킷을 수신한 후, 상기 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하도록 구성되어, 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 클라이언트의 로컬 레코드에 추가하도록 하는, 전송 유닛을 더 포함한다.
제4 측면 또는 제4 측면의 제1 가능한 구현 방식을 참조하여, 제4 측면의 제2 가능한 구현 방식에서, 상기 장치는,
상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 장치의 로컬 레코드 내에 저장되어 있는, 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 상기 패킷에 실린 상기 호스트 머신의 주소로 갱신하도록 구성된 갱신 유닛을 더 포함한다.
제5 측면에 따르면, 프로세서, 통신 인터페이스, 메모리, 및 버스를 포함하는 클라이언트 기기가 제공되며,
상기 프로세서, 상기 통신 인터페이스, 및 상기 메모리는 상기 버스를 사용하여 상호 통신을 완성하고;
상기 통신 인터페이스는 외부 네트워크 요소와 통신하도록 구성되어 있고;
상기 메모리는 프로그램을 저장하도록 구성되어 있고;
상기 프로세서는, 상기 메모리 내의 프로그램을 판독하여, 상기 클라이언트 기기가 위치하는 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 취득하는 동작; 상기 가상 머신의 유일한 식별자가 상기 클라이언트 기기의 로컬 레코드에 존재하지 않으면, 상기 호스트 머신이 위치하는 네트워크 내의 서버에, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 전송하여, 상기 서버가, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소에 따라, 상기 가상 머신의 마이그레이션 여부를 판정하도록 하는 동작; 및 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하여 상기 로컬 레코드를 갱신하는 동작을 수행하도록 구성되어 있다.
제5 측면의 제1 가능한 구현 방식에서, 상기 프로세서는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 가로채는 동작; 및 상기 가로챈 패킷에서 상기 가상 머신의 유일한 식별자를 취득하는 동작을 수행하도록 구성되어 있다.
제5 측면의 제2 가능한 구현 방식에서, 상기 프로세서는, 상기 호스트 머신 상의 가상 교환기에 의해 전달되는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하는 동작; 및 상기 수신한 패킷에서 상기 호스트 머신 상의 상기 가상 머신의 유일한 식별자를 취득하는 동작을 수행하도록 구성되어 있다.
제5 측면의 제1 또는 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 상기 프로세서는,
상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 동작; 및 ;
상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하는 동작을 수행하도록 더 구성되어 있다.
제5 측면의 제1, 제2, 또는 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 상기 클라이언트 기기는 상기 호스트 머신 내의 보안 가상 머신, 상기 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터와 연결된, 상기 호스트 머신 내의 구성요소 내에 배치되어 있다.
제6 측면에 따르면, 프로세서, 통신 인터페이스, 메모리, 및 버스를 포함하는 서버 기기가 제공되며,
상기 프로세서, 상기 통신 인터페이스, 및 상기 메모리는 상기 버스를 사용하여 상호 통신을 완성하고;
상기 통신 인터페이스는 외부 네트워크 요소와 통신하도록 구성되어 있고;
상기 메모리는 프로그램을 저장하도록 구성되어 있고;
상기 프로세서는, 상기 메모리 내의 프로그램을 판독하여, 호스트 머신 내의 클라이언트에 의해 전송된, 가상 머신의 유일한 식별자 및 상기 클라이언트가 위치하는 상기 호스트 머신의 주소를 실은 패킷을 수신하는 동작; 상기 가상 머신의 유일한 식별자가 상기 서버 기기의 로컬 레코드에 존재하지 않으면, 상기 가상 머신의 유일한 식별자와 상기 호스트 머신의 주소 사이의 대응관계를 상기 서버 기기의 로컬 레코드에 추가하는 동작; 및 상기 가상 머신의 유일한 식별자가 상기 서버 기기의 로컬 레코드에 존재하면, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 상기 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 가상 머신이 마이그레이션된 것으로 판정하는 동작을 수행하도록 구성되어 있다.
제6 측면의 제1 가능한 구현 방식에서, 상기 프로세서는, 상기 클라이언트에 의해 전송된 패킷을 수신한 후, 상기 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하는 동작을 수행하도록 더 구성되어, 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 클라이언트의 로컬 레코드에 추가하도록 한다.
제6 측면의 제1 가능한 구현 방식을 참조하여, 제6 측면의 제2 가능한 구현 방식에서, 상기 프로세서는, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 서버 기기의 로컬 레코드 내에 저장되어 있는, 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 상기 패킷에 실린 상기 호스트 머신의 주소로 갱신하는 동작을 수행하도록 더 구성되어 있다.
제7 측면에 따르면, 가상 머신 마이그레이션을 판정하는 시스템이 제공되며, 상기 시스템은 제5 측면 또는 제5 측면의 가능한 구현 방식 중 어느 하나에 따른 하나 이상의 클라이언트 기기; 및 제6 측면 또는 제6 측면의 가능한 구현 방식 중 어느 하나에 따른 하나 이상의 서버 기기를 포함한다.
전술한 기술적 방안이 사용된 후, 본 발명의 실시예에 의해 제공되는 가상 머시 마이그레이션을 판정하는 방법 및 장치에서, 클라이언트는 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하고; 가상 머신의 유일한 식별자가 클라이언트의 로컬 레코드에 존재하지 않으면, 클라이언트는 가상 머신의 유일한 식별자 및 호스트 머신의 어드레스를 실은 패킷을 서버에 전송하며; 서버는 패킷을 수신한 후, 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하면, 그 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 서버는 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 가상 머신이 마이그레이션된 것으로 판정한다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜(예를 들어, VEPA 프로토콜)을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 낮아져, 구축 비용을 감소시킨다.
본 발명의 실시예 또는 종래기술에서의 기술적 방안을 더욱 명확하게 설명하기 위해, 이하에 실시예 또는 종래기술의 설명에 필요한 첨부도면을 간단하게 소개한다. 명백히, 이하의 설명에서의 첨부도면은 단지 본 발명의 일부 실시예를 보여줄 뿐이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진자(이하, 당업자라고 함)라면 창의적인 노력 없이 이들 첨부도면에 따라 다른 도면을 도출할 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 방법이 적용되는 시스템의 개략적인 배치 구성도이다.
도 2a는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 방법의 흐름도이다.
도 2b는 본 발명의 실시예에 따른 시스템의 개략적인 배치 구성도이다.
도 2c는 본 발명의 실시예에 따른 시스템의 다른 개략적인 배치 구성도이다.
도 2d는 본 발명의 실시예에 따른 시스템의 또 다른 개략적인 배치 구성도이다.
도 3은 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 방법의 흐름도이다.
도 4는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 다른 방법의 개략도이다.
도 5a는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 장치의 구성 블록도이다.
도 5b는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 장치의 다른 구성 블록도이다.
도 6a는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 장치의 구성 블록도이다.
도 6b는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 장치의 다른 구성 블록도이다.
도 6c는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 장치의 또 다른 구성 블록도이다.
도 7은 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 클라이언트 기기의 개략도이다.
도 8은 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 서버 기기의 개략도이다.
이하에 본 발명의 실시예에서의 첨부도면을 참조하여 본 발명의 실시예의 기술적 방안을 명확하고 완전하게 설명한다. 명백히, 설명된 실시예는 본 발명의 모든 실시예가 아니라 일부일 뿐이다. 당업자가 본 발명의 실시예에 기초하여 창의적인 노력 없이 얻은 모든 다른 실시예는 본 발명의 보호 범위에 속한다.
도 1은 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 방법이 적용되는 시스템의 개략적인 배치 구성도이다. 본 발명을 더욱 잘 이해할 수 있도록, 먼저 도 1을 참조하여 이하에 배치 구성을 간략하게 설명한다.
이 배치 구성은 복수의 호스트 머신을 포함할 수 있으며, 도 1에서는, 단지 두 개의 호스트 머신: 호스트 머신 1 및 호스트 머신 n을 포함하는 배치 구성을 예로 사용하여 설명한다. 호스트 머신 1은 물리 보안 기기(예를 들어, 교환기)를 사용하여 호스트 머신 n과 연결될 수 있다. 가상 머신과 가상 교환기는 각각 호스트 머신 1과 호스트 머신 n 내에 배치되어 있다. 호스트 머신 1은 가상 교환기 1 및 복수의 가상 머신(도면에는 두 개: 가상 머신 1과 가상 머신 2)을 포함할 수 있고, 가상 머신 1과 가상 머신 2는 개별적으로 가상 교환기 1과 통신 연결되어 있다. 호스트 머신 n은 가상 교환기 n과 복수의 가상 머신(도면에는 두 개: 가상 머신 3과 가상 머신 4)을 포함할 수 있고, 가상 머신 3과 가상 머신 4는 개별적으로 가상 교환기 n과 통신 연결되어 있다.
가상 머신이 통신을 수행할 때, 가상 머신에 의해 전송된 패킷은 먼저 가상 머신이 위치하는 호스트 머신 상의 가상 교환기에 도달하고, 가상 교환기에 의해 가상 교환기와 통신 연결되어 있는 다른 가상 머신에 전송될 수 있거나, 가상 교환기에 의해 호스트 머신의 물리 네트워크 어댑터에 전송될 수 있고, 물리 네트워크 어댑터에 의해 호스트 머신을 제외한 다른 기기에 더 전송될 수 있다.
또, 필요에 따라 호스트 머신에는 보안 가상 머신(도 1에 도시되지 않음)이 더 배치될 수 있다. 본 발명의 본 실시예에서, 보안 가상 머신은 호스트 머신 내에 있는, 네트워크 트래픽에 보안 보호를 제공하는 가상 머신 기기이다. 보안 가상 머신은 가상 교환기와 통신 연결될 수 있으며, 가상 교환기가 트래픽을 보안 가상 머신 내로 도입(import)할 때, 보안 가상 머신은 도입 트래픽에 대해 보안 제어를 수행할 수 있다.
본 발명의 본 실시예에 의해 제공되는 가상 머신 마이그레이션을 판정하는 방법에서는, 도 1에 도시된 구성에 기초하여, 가상 머신의 마이그레이션 여부를 이그레이션 여부를 낮은 구축 비용으로 판정할 수 있는 클라이언트와 서버를 도입한다.
도 2a는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 방법의 흐름도이다. 도 2a를 참조하면, 본 발명의 본 실시예는 가상 머신 마이그레이션을 판정하는 방법을 제공하며, 이 방법은 호스트 머신 내의 클라이언트에 기초하여 설명되며, 이하의 단계를 포함한다:
21: 호스트 머신 내의 클라이언트가 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득한다.
호스트 머신 상의 가상 머신의 유일한 식별자는 가상 머신의 미디어 액세스 제어(Media Access Control, MAC) 주소일 수 있고, 사용자에 의해 구성된 정적인 IP 주소일 수도 있으며,여기서는 한정되지 않는다.
본 발명의 본 실시예에서, 호스트 머신 내의 클라이언트는 실제 필요에 따라 다른 위치에 배치될 수 있다. 예를 들어, 도 2b를 참조하면, 클라이언트는 호스트 머신 내의 보안 가상 머신 내에 배치될 수 있고, 도 2c를 참조하면, 클라이언트는 호스트 머신 내의 가상 교환기 내에 배치될 수 있고, 도 2c를 참조하면, 클라이언트는 호스트 머신 내의 구성요소 내에 배치되고 물리 네트워크 어댑터와 연결될 수 있고, 여기서 물리 네트워크 어댑터에 연결된 구성요소는 물리 구성요소로 한정되지 않을 수 있고, 소프트웨어 형태로 구현된 구성요소일 수도 있다. 물론, 클라이언트는 다른 위치에 배치될 수도 있으며, 본 발명에서는 한정되지 않는다. 호스트 머신 내의 클라이언트의 다른 위치들에 따라, 본 발명의 본 실시예에서, 호스트 머신 상의 가상 머신의 유일한 식별자는 다른 방식으로 취득될 수 있다.
호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 방식은, 호스트 머신 내의 클라이언트가 호스트 머신 상의 가상 머신으로부터의, 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 가로채는 단계; 및 가로챈 패킷에서 호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 단계를 포함할 수 있다. 다시 말해, 이 방식에서는 클라이언트가 호스트 머신 상의 가상 머신에 의해 전송되는, 가상 머신의 유일한 식별자를 실은 패킷을 직접 가로채기 하여 가상 머신의 유일한 식별자를 알 수 있다. 이 방식은 클라이언트가 호스트 머신 내의 가상 교환기 내에 배치되어 있는 경우에 적용 가능하다. 호스트 머신 상의 가상 머신에 의해 전송되는 패킷은 주소 해석 프로토콜(ARP, Address Resolution Protocol) ARP패킷이다.
호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 다른 방식은, 호스트 머신 내의 클라이언트가, 호스트 머신 상의 가상 교환기에 의해 전달되는, 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하는 단계; 및 수신한 패킷에서 호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 단계를 포함할 수 있으며, 가상 교환기에 의해 전송된 패킷은 호스트 머신 상의 가상 머신에 의해 전송된 패킷을 가로채기 함으로써 가상 교환기에 의해 취득된다. 다시 말해, 이 방식에서는, 클라이언트는 호스트 머신 상의 가상 교환기에 의해 전달되는, 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신함으로써, 가상 머신의 유일한 식별자를 안다. 구체적으로, 정식 통신을 개시하기 전에 호스트 머신 상의 가상 머신은 가상 머신의 유일한 식별자를 실은 패킷을 브로드캐스트할 수 있고; 호스트 머신 상의 가상 머신은, 패킷을 가로챈 후, 그 패킷을 전달 할 수 있으며; 호스트 머신 상의 클라이언트는 가상 교환기에 의해 전달되는 패킷을 수신함으로써 호스트 머신 상의 가상 머신의 유일한 식별자를 취득할 수 있다. 이 방식은, 클라이언트가 보안 가상 머신 내의 구성요소 내에 배치되고 물리 네트워크 어댑터와 연결되어 있는 경우에 적용 가능하다. 가상 머신에 의해 전송된 패킷은 ARP 패킷일 수 있다.
선택적으로, 본 발명의 실시예에서, 호스트 머신 상의 가상 머신에 의해 전송된 패킷은 주소 해석 프로토콜(ARP, Address Resolution Protocol) ARP 패킷으로, 가상 머신의 유일한 식별자를 싣고 있다. ARP 통신은 정상적인 통신 전에 필요한 프로세스이고 소량의 데이터가 관여하기 때문에, 시스템 성능을 최적화하는 목적에 기초하여, 클라이언트 또는 가상 교환기는 가상 머신에 의해 전송된 ARP 패킷만을 취득할 수 있고, 그 ARP 패킷을 사용하여 가상 머신의 유일한 식별자를 취득할 수 있다.
본 발명의 본 실시예에서, 호스트 머신은 가상 머신이 현재 상주하는(reside) 물리 머신을 가리키고, 하나 이상의 가상 머신이 하나의 호스트 머신에 상주할 수 있으며, 본 발명에서는 한정되지 않는다.
본 발명의 본 실시예에서, 호스트 머신의 주소는 호스트 머신의 IP 주소일 수 있고, 물론 호스트 머신에 의해 유일하게 식별될 수 있는 주소, 예를 들어 호스트 머신의 MAC 주소일 수도 있다.
본 발명의 본 실시예에서, 사용자는 호스트 머신을 미리 구성하고, 구성된 내용은, 호스트 머신의 주소를 포함한다. 따라서, 단계 11에서, 호스트 머신 내의 클라이언트가 호스트 머신의 주소를 취득하는 것은 구체적으로, 호스트 머신 내의 클라이언트가 사용자에 의해 입력된 구성 정보에 따라 호스트 머신의 주소를 취득하는 것일 수 있다.
단계 11에서 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득한 후, 클라이언트는 로컬 레코드에 가상 머신의 유일한 식별자가 존재하는지를 판정할 수 있다. 로컬 레코드는 캐시 또는 메모리에 저장될 수 있고, 캐시의 읽기/쓰기 속도는 고속이기 때문에, 캐시 방식으로 로컬 레코드를 저장하는 것은 검색 시간을 절약할 수 있다. 구체적으로, 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득한 후, 클라이언트는 가상 머신의 유일한 식별자를 저장하는 데 사용된 로컬 레코드를 생성할 수 있고, 그 후 가상 머신의 유일한 식별자(예컨대 MAC 주소)를 검색 대상으로 사용하여 로컬 레코드를 검색할 수 있으며; 그 유일한 식별자를 발견할 수 있으면, 가상 머신의 유일한 식별자가 로컬 레코드에 존재하는 것으로 판정하고; 유일한 식별자를 발견할 수 없으면, 가상 머신의 유일한 식별자가 로컬 레코드에 존재하지 않는 것으로 판정한다.
당연히, 본 발명의 범위 내에서, 호스트 머신 내의 다른 실행기(executor)가 로컬 레코드에 가상 머신의 유일한 식별자가 존재하는지를 판정할 수 있고, 또한 로컬 레코드에 가상 머신의 유일한 식별자가 존재하는지를 나타내는 결과를 클라이언트에 통지할 수 있다.
22: 가상 머신의 유일한 식별자가 클라이언트의 로컬 레코드에 존재하지 않으면, 클라이언트가 서버에, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 실은 패킷을 전송하여, 서버가, 가상 머신의 유일한 식별자 및 호스트 머신의 주소에 따라, 가상 머신의 마이그레이션 여부를 판정하도록 하고; 클라이언트가 가상 머신의 유일한 식별자를 로컬 레코드에 추가하여 로컬 레코드를 갱신한다.
선택적으로, 서버는 호스트 머신이 위치하는 네트워크 내의 하나의 기기 내에 배치되어 있고, 호스트 머신 내의 클라이언트와 통신 연결되어 있다. 예를 들어, 서버는 도 1에서의 물리 보안 기기 내에 배치될 수 있거나, 전용 기기(dedicated device) 내에 독립적으로 배치될 수도 있다.
선택적으로, 본 발명의 실시예에서는, 단계 22에서 클라이언트가 가상 머신의 유일한 식별자를 로컬 레코드에 추가하기 전에, 본 발명의 실시예에 의해 제공되는 가상 머신 마이그레이션을 판정하는 방법은,
클라이언트가 서버에 의해 전송되는 수신 성공을 나타내는 응답 패킷을 수신하는 단계를 더 포함할 수 있고;
이 경우에, 단계 22에서 클라이언트가 가상 머신의 유일한 식별자를 로컬 레코드에 추가하는 것은 구체적으로, 클라이언트가, 서버에 의해 전송되는 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 가상 머신의 유일한 식별자를 로컬 레코드에 추가하는 것일 수 있다.
본 발명의 실시예에 의해 제공되는 가상 머시 마이그레이션을 판정하는 방법에 따르면, 호스트 머신 내의 클라이언트는 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하고; 서버에 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 전송하여, 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하지 않으면, 서버는 클라이언트에 의해 전송된 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하여, 가상 머신의 마이그레이션 여부를 판정할 수 있다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜(예를 들어, VEPA 프로토콜)을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 낮아져, 구축 비용을 감소시킨다.
도 3은 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 방법의 흐름도이다. 도 3을 참조하면, 본 발명의 본 실시예는 가상 머신 마이그레이션을 판정하는 방법을 제공하며, 여기서는 상기 방법을 서버에 기초하여 설명하며, 서버는 호스트 머신이 위치하는 네트워크 내의 기기 내에 배치될 수 있고, 호스트 머신 내의 클라이언트와 통신 연결되어 있다. 예를 들어, 서버는 도 1에서의 물리 보안 기기 내에 배치될 수 있거나, 전용 기기 내에 독립적으로 배치될 수 있다. 상기 방법은 이하의 단계를 포함할 수 있다:
31: 호스트 머신 내의 클라이언트에 의해 전송되는, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 실은 패킷을 수신한다.
단계 31에서 클라이언트에 의해 전송된 패킷을 수신하기 전에, 본 발명의 실시예에 의해 제공되는 가상 머신 마이그레이션을 판정하는 방법은, 클라이언트에, 수신 성공을 나타내는 응답 패킷을 전송하여, 클라이언트가 가상 머신의 유일한 식별자를 로컬 레코드에 추가하도록 하는 단계를 더 포함할 수 있다.
단계 32 전에, 서버는 먼저 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하는지를 판정할 수 있다. 구체적으로, 서버는 가상 머신의 유일한 식별자를 검색 대상으로 사용하여 로컬 레코드를 검색할 수 있으며; 유일한 식별자를 발견할 수 있으면, 가상 머신의 유일한 식별자가 로컬 레코드 내에 존재하는 것으로 판정하고; 유일한 식별자를 발견할 수 없으면, 가상 머신의 유일한 식별자가 로컬 레코드 내에 존재하지 않는 것으로 판정한다.
32: 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하지 않으면, 가상 머신의 유일한 식별자와 호스트 머신의 주소 사이의 대응관계를 로컬 레코드에 추가한다.
가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하지 않으면, 즉, 가상 머신의 유일한 식별자와 호스트 머신의 주소 사이의 대응관계가 처음으로 추가되는 경우, 가상 머신이 마이그레이션되지 않은 것으로 간주된다.
33: 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하면, 패킷에 실린 호스트 머신의 주소가 서버의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 패킷에 실린 호스트 머신의 주소가 서버의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 단계 34를 수행하고; 패킷에 실린 호스트 머신의 주소가 서버의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 단계 35를 수행한다.
34: 패킷에 실린 호스트 머신의 주소가 서버의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 가상 머신이 마이그레이션되지 않은 것으로 판정한다.
35: 패킷에 실린 호스트 머신의 주소가 서버의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 가상 머신이 마이그레이션된 것으로 판정한다. 또한, 서버의 로컬 레코드 내에 저장되어 있는, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소도 또한 패킷에 실린 호스트 머신의 주소로 갱신될 수 있다.
본 발명의 실시예에 의해 제공되는 가상 머시 마이그레이션을 판정하는 방법에 따르면, 호스트 머신 내의 클라이언트는 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하고, 서버에 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 전송하고, 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하면, 서버는 클라이언트에 의해 전송된 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정함으로써, 가상 머신의 마이그레이션 여부를 판정할 수 있다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 낮아져, 구축 비용을 감소시킨다.
본 발명의 더욱 잘 이해할 수 있도록, 이하에서는 구체적인 실시예를 예로 사용하여 본 발명을 더 설명한다. 유의해야 할 것은, 이하에 열거하는 실시예는 본 발명의 실시예 중 일부일 뿐이며, 당업자가 본 발명의 내용으로부터 용이하게 생각해낼 수 있으며, 그러한 실시예는 본 발명의 범위에 속한다.
실시예는 통신 기기에 대한 요구를 크게 낮출 수 있어, 구축 비용을 줄일 수 있는 가상 머신 마이그레이션을 판정하는 방법을 제공한다. 가상 머신의 유일한 식별자가 MAC 주소인 것을 예로 사용하는 도 4를 참조하면, 상기 방법은 이하의 단계를 포함한다:
(1) 가상 머신이 가상 머신의 MAC 주소를 실은 패킷을 전송한다. 가상 머신에 의해 전송된 패킷은 ARP 패킷일 수 있다.
(2) 클라이언트가, 클라이언트가 위치하는 호스트 머신 상의 가상 머신의 MAC 주소를 취득하고, 가상 머신의 MAC 주소를 저장하는 데 사용되는 로컬 레코드를 생성한다.
클라이언트가 호스트 머신 상의 가상 교환기 내에 배치되어 있으면, 클라이언트는, 호스트 머신 상의 가상 머신에 의해 전송된 패킷을 직접 가로채고 그 패킷을 파싱하여 패킷 내의 소스 MAC 주소, 즉 호스트 머신 상의 가상 머신의 MAC 주소를 취득함으로써, 호스트 머신 상의 가상 머신의 MAC 주소를 취득할 수 있고; 클라이언트가 보안 가상 머신 또는 물리 네트워크 어댑터에 연결된 구성요소 내에 배치되어 있으면, 클라이언트는 가상 교환기에 의해 전달되는 패킷을 수신하고 그 패킷을 파싱하여 소스 MAC 주소, 즉 호스트 머신 상의 가상 머신의 MAC 주소를 취득함으로써, 호스트 머신 상의 가상 머신의 MAC 주소를 취득할 수 있다.
(3) 클라이언트는 취득된 가상 머신의 MAC 주소와 클라이언트의 로컬 레코드 내의 MAC 주소를 비교하여, 취득된 가상 머신의 MAC 주소가 클라이언트의 로컬 레코드 내의 존재하는지를 판정하고; 취득된 가상 머신의 MAC 주소가 클라이언트의 로컬 레코드 내의 존재하면, 클라이언트는 이 동작을 종료하고; 취득된 가상 머신의 MAC 주소가 클라이언트의 로컬 레코드 내의 존재하지 않으면, 클라이언트는 다음 단계 (4)를 수행한다.
(4) 클라이언트가 호스트 머신의 주소(예를 들어, IP 주소)를 취득하고, 취득된 가상 머신의 MAC 주소와 취득된 호스트 머신의 주소를 패킷을 사용하여 서버에 전송한다.
(5) 가상 머신의 주소와 호스트 머신의 주소를 실은 패킷을 수신한 후, 서버는 클라이언트에, 수신 성공을 나타내는 응답 패킷을 전송한다.
(6) 클라이언트가, 응답 패킷에 따라, 서버가 가상 머신의 MAC 주소 및 호스트 머신의 주소를 실은 패킷을 성공적으로 수신한 것으로 판정하면, 클라이언트는 가상 머신의 MAC 주소를 클라이언트의 로컬 레코드에 추가한다.
(7) 서버는 가상 머신과 가상 머신에 대응하는 호스트 머신 사이의 대응관계의 레코드를 유지하고, 클라이언트에 의해 전송된 가상 머신의 MAC 주소를 수신한 후 로컬 레코드를 검색하여, 서버의 로컬 레코드 내에 MAC 주소가 존재하는지를 판정한다. MAC 주소가 서버의 로컬 레코드 내에 존재하지 않으면, 서버는 가상 머신이 새롭게 인에이블된 가상 머신이라고 생각하여, 가상 머신의 MAC 주소를 서버의 로컬 레코드에 추가하고, 가상 머신이 마이그레이션되지 않은 것을 판정하며; MAC 주소가 서버의 로컬 레코드에 존재하면, 서버는 단계 (8)을 수행한다.
(8) 서버는 가상 머신의 MAC 주소에 대응하는 호스트 머신 주소를 서버의 로컬 레코드에서 검색하여, 가상 머신의 MAC 주소에 대응하는, 서버의 로컬 레코드에서 발견된 호스트 머신 주소와 클라이언트에 의해 전송된 호스트 머신의 주소를 비교하여, 두 주소가 동일한지를 판정하고; 두 주소가 동일하면, 서버는 MAC 주소에 대응하는 가상 머신이 마이그레이션되지 않은 것을 판정하고; 두 주소가 상이하면, 서버는 MAC 주소에 대응하는 가상 머신이 마이그레이션된 것으로 판정하고, 서버는 단계 (9)를 수행한다.
(9) 가상 머신이 마이그레이션된 것을 안 후, 서버는 서버의 로컬 레코드를 갱신하고 관련 보안 소프트웨어에 보안 정책을 조정하도록 통지한다. 서버의 로컬 레코드의 갱신은 구체적으로, 서버의 로컬 레코드에 저장되어 있는, 가상 머신의 MAC 주소에 대응하는 호스트 머신 주소를 클라이언트에 의해 전송된 패킷에 실린 호스트 머신의 주소로 갱신하는 것이다.
본 발명의 실시예에 의해 제공되는 가상 머시 마이그레이션을 판정하는 방법에 따르면, 호스트 머신 내의 클라이언트는 가상 머신의 MAC 주소 및 호스트 머신의 주소를 취득하고, 서버에 가상 머신의 MAC 주소 및 호스트 머신의 주소를 전송하여, 가상 머신의 MAC 주소가 서버의 로컬 레코드에 존재하면, 서버는 클라이언트에 의해 전송된 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의, 가상 머신의 MAC 주소에 대응하는 호스트 머신 주소와 동일한지를 판정함으로써, 가상 머신의 마이그레이션 여부를 판정할 수 있다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 매우 낮아져, 구축 비용을 감소시킨다.
당업자는 실시예에서의 방법의 단계 중 일부 또는 전부를 관련 하드웨어에 지시하는 프로그램으로 구현할 수 있음을 알 수 있을 것이다. 상기 프로그램은 컴퓨터로 판독 가능한 매체에 저장될 수 있다. 상기 저장 매체는 판독 전용 메모리, 자기 디스크, 또는 광 디스크를 포함할 수 있다.
도 5a는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 장치의 구성 블록도이다. 도 5a를 참조하면, 본 발명의 본 실시예에 의해 제공되는 가상 머신 마이그레이션을 판정하는 장치(50)는 처리 유닛(51), 전송 유닛(52), 및 저장 유닛(53)을 포함한다.
처리 유닛(51)은 장치가 위치하는 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하도록 구성되어 있다.
전송 유닛(52)은, 처리 유닛(51)이 가상 머신의 유일한 식별자가 장치의 로컬 레코드에 존재하지 않는 것으로 판정하면, 호스트 머신이 위치하는 네트워크 내의 서버에, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 실은 패킷을 전송하도록 구성되어, 서버가, 가상 머신의 유일한 식별자 및 호스트 머신의 주소에 따라, 가상 머신의 마이그레이션 여부를 판정하도록 한다.
저장 유닛(53)은, 처리 유닛(51)이 가상 머신의 유일한 식별자가 로컬 레코드에 존재하지 않는 것으로 판정하면, 가상 머신의 유일한 식별자를 로컬 레코드에 추가하여 로컬 레코드를 갱신하도록 구성되어 있다.
본 발명의 실시예에 의해 제공되는 가상 머시 마이그레이션을 판정하는 장치에 따르면, 호스트 머신 내에 있는 가상 머신 마이그레이션을 판정하는 장치는, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하고, 서버에 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 전송하고, 서버는, 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하면, 가상 머신 마이그레이션을 판정하는 장치에 의해 전송된 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정함으로써, 가상 머신의 마이그레이션 여부를 판정할 수 있다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 크게 낮아져, 구축 비용을 감소시킨다.
선택적으로, 본 발명의 실시예에서, 처리 유닛(51)은, 호스트 머신 상의 가상 머신으로부터의, 가상 머신의 유일한 식별자를 실은 패킷을 가로채고; 가로챈 패킷에서 가상 머신의 유일한 식별자를 취득하도록, 구성되어 있거나; 또는
처리 유닛(51)은, 호스트 머신 상의 가상 교환기에 의해 전달되는, 호스트 머신 상의 가상 머신으로부터의, 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하고; 수신한 패킷에서 가상 머신의 유일한 식별자를 취득하도록, 구성되어 있다.
또한, 본 발명의 다른 실시예에서, 도 5b에 도시된 바와 같이, 장치(50)는,
저장 유닛(53)이 가상 머신의 유일한 식별자를 로컬 레코드에 추가하기 전에, 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하도록 구성된 수신 유닛(54)을 더 포함할 수 있으며;
이 경우에, 저장 유닛(53)은 구체적으로, 수신 유닛이 서버에 의해 전송되는 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 가상 머신의 유일한 식별자를 로컬 레코드에 추가하도록 구성되어 있다.
유의해야 할 것은, 본 발명의 실시예에서 도 5a 및 도 5b에 의해 제공되는 가상 머신 마이그레이션을 판정하는 장치는 호스트 머신 내의 보안 가상 머신, 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터와 연결된, 호스트 머신 내의 구성요소 내에 배치될 수 있다는 것이다. 물리 네트워크 어댑터와 연결된 구성요소는 물리 구성요소로 한정되지 않을 수 있고, 소프트웨어 형태로 구현되는 구성요소일 수도 있다. 구체적인 동작 절차에 대해서는 방법 실시예에서의 클라이언트에 관한 설명을 참조하기 바라며, 여기서는 반복하여 설명하지 않는다.
도 6a는 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 장치의 구성 블록도이다. 도 6a를 참조하면, 본 발명의 본 실시예에 의해 제공되는 가상 머신 마이그레이션을 판정하는 장치는 수신 유닛(61), 판정 유닛(62), 및 저장 유닛(63)을 포함한다.
수신 유닛(61)은 호스트 머신 내의 클라이언트에 의해 전송되는, 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 실은 패킷을 수신하도록 구성되어 있다.
판정 유닛(62)은 가상 머신의 유일한 식별자가 장치의 로컬 레코드에 존재하는지를 판정하도록 구성되어 있다.
저장 유닛(63)은, 판정 유닛(62)이, 가상 머신의 유일한 식별자가 장치의 로컬 레코드에 존재하지 않는 것으로 판정하면, 가상 머신의 유일한 식별자와 호스트 머신의 주소 사이의 대응관계를 장치의 로컬 레코드에 추가하도록 구성되어 있다.
판정 유닛(62)은, 가상 머신의 유일한 식별자가 장치의 로컬 레코드에 존재하면, 패킷에 실린 호스트 머신의 주소가 장치의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 패킷에 실린 호스트 머신의 주소가 장치의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 패킷에 실린 호스트 머신의 주소가 장치의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 가상 머신이 마이그레이션된 것으로 판정하도록, 더 구성되어 있다.
또한, 본 발명의 실시예에서는, 도 6b에 도시된 바와 같이, 장치는,
수신 유닛(61) 클라이언트에 의해 전송된 패킷을 수신한 후, 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하도록 구성되어, 클라이언트가 가상 머신의 유일한 식별자를 클라이언트의 로컬 레코드에 추가하도록 하는, 전송 유닛(64)을 더 포함한다.
또한, 도 6c에 도시된 바와 같이, 상기 장치는, 패킷에 실린 호스트 머신의 주소가 장치의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 장치의 로컬 레코드 내에 저장되어 있는, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 패킷에 실린 호스트 머신의 주소로 갱신하도록 구성된 갱신 유닛(65)을 더 포함한다.
본 발명의 실시예에 의해 제공되는 가상 머시 마이그레이션을 판정하는 장치에 따르면, 호스트 머신 내의 클라이언트가 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하고, 가상 머신 마이그레이션을 판정하는 장치에 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 전송하고, 가상 머신의 유일한 식별자가 장치의 로컬 레코드에 존재하면, 가상 머신 마이그레이션을 판정하는 장치는, 클라이언트에 의해 전송된 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정함으로써, 가상 머신의 마이그레이션 여부를 판정할 수 있다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 크게 낮아져, 구축 비용을 감소시킨다.
유의해야 할 것은, 본 실시예의 가상 머신 마이그레이션을 판정하는 장치에서는, 유닛의 분할은 논리 기능 분할일 뿐이고, 대응하는 기능을 구현할 수 있는 한, 본 발명은 전술한 분할로 한정되지 않는다는 것이다. 또, 기능 유닛의 구체적인 명칭은 단지 유닛들을 서로 구별하기 위해 제공되는 것이고, 본 발명의 보호 범위를 한정하려는 것은 아니다.
유의해야 할 것은, 본 발명의 본 실시예에서의 도 6a 내지 도 6c에 의해 제공되는 가상 머신 마이그레이션을 판정하는 장치의 동작 절차는 본 명세서에서의 가상 머신 마이그레이션을 판정하는 방법에서의 서버에 대응하고, 가상 머신 마이그레이션을 판정하는 방법은 앞서 자세하게 설명하였기 때문에, 전술한 방법 실시예에서의 관련 설명은 장치 실시예에도 적용 가능하므로, 자세한 것은 여기서 다시 설명하지 않는다.
도 7은 본 발명의 실시예에 따른 가상 머신 마이그레이션을 판정하는 클라이언트 기기의 개략도이다. 도 7을 참조하면, 본 발명의 본 실시예에서의 가상 머신 마이그레이션을 판정하는 클라이언트 기기(500)는 전술한 방법 실시예에서의 기능을 구현할 수 있는 임의의 네트워크 기기, 예를 들어, 라우터, 교환기, 또는 네트워크 어댑터일 수 있다. 가상 머신 마이그레이션을 판정하는 클라이언트 기기(500)는, 프로세서(510), 통신 인터페이스(520), 메모리(530), 및 버스(540)를 포함할 수 있다.
프로세서(510), 통신 인터페이스(520), 및 메모리(530)는 버스(540)를 사용하여 상호 통신을 완성한다.
통신 인터페이스(520)는 외부 네트워크 요소와 통신하도록 구성되어 있다.
메모리(530)는 프로그램(532)을 저장하도록 구성되어 있고, 메모리(530)는 고속 RAM 메모리를 포함할 수 있으며, 또한 예를 들어, 하나 이상의 디스크 메모리와 같은, 비휘발성 메모리(non-volatile memory)를 포함할 수도 있다.
구체적으로 프로그램(532)은 프로그램 코드를 포함할 수 있고, 컴퓨터 코드는 컴퓨터 조작 명령(computer operation instruction)을 포함한다.
프로세서(510)는 중앙 처리 유닛(central processing unit, CPU) 또는 주문형 반도체(application specific integrated circuit, ASIC)일 수 있거나, 본 발명의 실시예에서는 하나 이상의 집적 회로로 구성되어 있다.
프로세서(510)는 프로그램(532)을 판독하여, 클라이언트 기기가 위치하는 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하는 동작; 및 가상 머신의 유일한 식별자가 클라이언트 기기의 로컬 레코드에 존재하지 않으면, 호스트 머신이 위치하는 네트워크 내의 서버에, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 실은 패킷을 전송하여, 서버가, 가상 머신의 유일한 식별자 및 호스트 머신의 주소에 따라, 가상 머신의 마이그레이션 여부를 판정하도록 하는 동작; 및 가상 머신의 유일한 식별자를 로컬 레코드에 추가하여 로컬 레코드를 갱신하는 동작을 수행하도록 구성되어 있다.
본 발명의 실시예에 의해 제공되는 클라이언트 기기는, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하고, 서버에 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 전송하고, 가상 머신의 유일한 식별자가 서버의 로컬 레코드에 존재하면, 서버는, 클라이언트에 의해 전송된 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정함으로써, 가상 머신의 마이그레이션 여부를 판정할 수 있다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 크게 낮아져, 구축 비용을 감소시킨다.
선택적으로, 본 발명의 실시예에서, 프로세서(510)는, 호스트 머신 상의 가상 머신으로부터의, 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 가로채는 동작; 및 가로챈 패킷에서 가상 머신의 유일한 식별자를 취득하는 동작을 수행하도록 구성되어 있거나;
또는, 프로세서(510)는, 호스트 머신 상의 가상 교환기에 의해 전달되는, 호스트 머신 가상 머신으로부터의, 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하는 동작; 및 수신한 패킷에서 호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 동작을 수행하도록 구성되어 있다.
가상 머신에 의해 전송된 패킷은 ARP 패킷일 수 있다.
본 발명의 다른 실시예에서, 또한 프로세서(510)는,
서버에 의해 전송되는 수신 성공을 나타내는 응답 패킷을 수신하는 동작; 및
서버에 의해 전송되는 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 가상 머신의 유일한 식별자를 로컬 레코드에 추가하는 동작을 수행하도록 더 구성되어 있다.
유의해야 할 것은, 본 발명의 본 실시예에 의해 제공되는 클라이언트 기기는 호스트 머신 내의 보안 가상 머신, 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터와 연결된, 호스트 머신 내의 구성요소 내에 배치될 수 있다는 것이다. 물리 네트워크 어댑터와 연결된 구성요소는, 물리 구성요소로 한정되지 않을 수 있고, 소프트웨어 형태로 구현된 구성요소일 수도 있다.
도 8은 본 발명의 실시예에 따른 서버 기기의 개략도이다. 도 8에 도시된 바와 같이, 본 발명의 본 실시예에서의 서버 기기(600)는 대응하는 기능을 구현할 수 있는 임의의 네트워크 기기, 예를 들면, 라우터, 교환기, 또는 네트워크 어댑터일 수 있다. 서버 기기(600)는 프로세서(610), 통신 인터페이스(620), 메모리(630), 및 버스(640)를 포함한다.
프로세서(610), 통신 인터페이스(620), 및 메모리(630)는 버스(640)를 사용하여 상호 통신을 완성한다.
통신 인터페이스(620)는 외부 네트워크 요소와 통신하도록 구성되어 있다.
메모리(630)는 프로그램을 저장하도록 구성되어 있고, 메모리(630)는 고속 RAM 메모리를 포함할 수 있으며, 또한 예를 들어, 하나 이상의 디스크 메모리와 같은, 비휘발성 메모리(non-volatile memory)를 포함할 수도 있다.
구체적으로 프로그램(632)은 프로그램 코드를 포함할 수 있고, 컴퓨터 코드는 컴퓨터 조작 명령을 포함한다.
프로세서(610)는 중앙 처리 유닛(CPU) 또는 주문형 반도체(ASIC)일 수 있거나, 본 발명의 실시예에서는 하나 이상의 집적 회로로 구성되어 있다.
프로세서(610)는, 메모리(630) 내의 프로그램을 판독하여, 호스트 머신 내의 클라이언트에 의해 전송된, 가상 머신의 유일한 식별자 및 클라이언트가 위치하는 호스트 머신의 주소를 실은 패킷을 수신하는 동작; 가상 머신의 유일한 식별자가 서버 기기의 로컬 레코드에 존재하지 않으면, 가상 머신의 유일한 식별자와 상기 호스트 머신의 주소 사이의 대응관계를 서버 기기의 로컬 레코드에 추가하는 동작; 및 가상 머신의 유일한 식별자가 서버 기기의 로컬 레코드에 존재하면, 패킷에 실린 호스트 머신의 주소가 서버 기기의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 패킷에 실린 호스트 머신의 주소가 서버 기기의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 패킷에 실린 호스트 머신의 주소가 서버 기기의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 가상 머신이 마이그레이션된 것으로 판정하는 동작을 수행하도록 구성되어 있다.
또한, 본 발명의 실시예에서, 프로세서(610)는 클라이언트에 의해 전송된 패킷을 수신한 후, 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하는 동작을 수행하도록 더 구성되어, 클라이언트가 가상 머신의 유일한 식별자를 클라이언트의 로컬 레코드에 추가하도록 한다.
또한, 본 발명의 실시예에서, 프로세서(610)는, 패킷에 실린 호스트 머신의 주소가 서버 기기의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 서버 기기의 로컬 레코드 내에 저장되어 있는, 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 패킷에 실린 호스트 머신의 주소로 갱신하는 동작을 수행하도록 더 구성되어 있다.
본 발명의 실시예에 의해 제공되는 서버 기기는, 서버 기기가 위치하는 네크워크 내의 클라이언트에 의해 전송되는, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 실은 패킷을 수신하고, 가상 머신의 유일한 식별자가 서버 기기의 로컬 레코드에 존재하면, 서버 기기는, 패킷에 실린 호스트 머신의 주소가 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정함으로써, 가상 머신의 마이그레이션 여부를 판정할 수 있다. 이와 같이, 가상 머신 마이그레이션이 가상 머신 마이그레이션에 관련된 특정한 통신 프로토콜을 사용하지 않고 판정되고, 그 특정 통신 프로토콜을 지원하는 통신 기기를 필요로 하지 않는다. 따라서, 통신 기기에 대한 요구가 크게 낮아져, 구축 비용을 감소시킨다.
유의해야 할 것은, 본 발명의 실시예에 의해 제공된 클라이언트 기기 및 서버 기기는 본 명세서에서의 가상 머신 마이그레이션을 판정하는 방법에 대응한다는 것이며, 가상 머신 마이그레이션을 판정하는 방법은 위에서 자세하게 설명하였고, 방법 실시예에서의 관련 설명은 클라이언트 기기 및 서버 기기의 실시예에도 적용할 수 있기 때문에, 자세한 것은 여기서 다시 설명하지 않는다.
또, 유의해야 할 것은, 본 발명의 실시예에 의해 제공된 클라이언트 기기와 서버 기기는 물리 클라이언트 기기와 물리 서버 기기에 한정되지 않을 수 있고, 클라이언트 기기와 서버 기기를 하드웨어에 기반한 소프트웨어로 구현할 수도 있다는 것이다.
본 발명의 실시예는 또한 가상 머신 마이그레이션을 판정하는 시스템을 더 제공하며, 상기 시스템은 도 7에 도시된 하나 이상의 클라이언트 기기 및 도 8에 도시된 하나 이상의 서버 기기를 포함하며, 구체적인 구축 방식에 대해서는 전술한 도 2b 내지 도 2d를 참조하기 바란다.
시스템 내의 클라이언트 기기는, 클라이언트 기기가 위치하는 호스트 머신 상의 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 취득하고; 가상 머신의 유일한 식별자가 클라이언트 기기의 로컬 레코드 내에 존재하지 않으면, 호스트 머신이 위치하는 네트워크 내의 서버 기기에, 가상 머신의 유일한 식별자 및 호스트 머신의 주소를 실은 패킷을 전송하여, 서버 기기가, 가상 머신의 유일한 식별자 및 호스트 머신의 주소에 따라, 가상 머신의 마이그레이션 여부를 판정하도록 하고; 가상 머신의 유일한 식별자를 로컬 레코드에 추가하여 클라이언트의 로컬 레코드를 갱신하도록, 구성되어 있다.
서버 기기는, 네트워크 내의 클라이언트 기기에 의해 전송된, 가상 머신의 유일한 식별자 및 클라이언트 기기가 위치하는 호스트 머신의 주소를 실은 패킷을 수신하고; 가상 머신의 유일한 식별자가 서버 기기의 로컬 레코드에 존재하지 않으면, 서버 기기는 가상 머신의 유일한 식별자와 호스트 머신의 주소 사이의 대응관계를 서버 기기의 로컬 레코드에 추가하고; 가상 머신의 유일한 식별자가 서버 기기의 로컬 레코드에 존재하면, 서버 기기는, 패킷에 실린 호스트 머신의 주소가 서버 기기의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 패킷에 실린 호스트 머신의 주소가 서버 기기의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 서버 기기는 가상 머신이 마이그레이션되지 않응 것으로 판정하고; 패킷에 실린 호스트 머신의 주소가 서버 기기의 로컬 레코드 내의 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하며, 서버 기기는 가상 머신이 마이그레이션된 것으로 판정하도록, 구성되어 있다.
당업자는, 본 발명의 각 측면 또는 각 측면의 가능한 구현 방식이 구체적으로 시스템, 방법 또는 컴퓨터 프로그램 제품으로서 구현될 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 각 측면 또는 각 측면의 가능한 구현 방식은 완전 하드웨어 실시예, 완전 소프트웨어 실시예(펌웨어, 상주 소프트웨어 등을 포함함), 또는 소프트웨어 및 하드웨어 측면을 결합한 실시예의 형태를 이용할 수 있고, 여기서는 이를 "회로", "모듈", 또는 "시스템"으로 총칭한다. 또, 본 발명의 각 측면 또는 각 측면의 가능한 구현 방식은 컴퓨터 프로그램 제품의 형태를 이용할 수 있으며, 여기서 컴퓨터 프로그램 제품은 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 가리킨다.
컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 저장 매체일 수 있다. 컴퓨터로 판독 가능한 저장 매체는, 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템, 기기 또는 장치, 또는 이들의 임의의 적절한 조합, 예를 들어 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능/프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대형 판독 전용 메모리 (CD-ROM)를 포함하지만 이에 한정되는 것은 아니다.
컴퓨터 내의 프로세서는 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 판독하여, 프로세서는 흐름도 내의 각 단계 또는 단계들의 조합으로 정의된 기능 동작을 수행할 수 있고, 블록 내의 각 블록, 또는 블록들의 조합으로 정의된 기능 동작을 수행하는 장치가 생성된다.
컴퓨터로 판독 가능한 프로그램 코드는 사용자의 컴퓨터에서 완전하게 수행될 수 있거나, 사용자의 컴퓨터에서 부분적으로 수행될 수 있거나, 사용자의 컴퓨터에서 부분적으로 수행되고 원격 컴퓨터에서 부분적으로 수행되는, 개별 소프트웨어 패키지로서 사용될 수 있거나, 원격 컴퓨터 또는 서버에서 완전하게 수행될 수 있다. 유의해야 할 것은, 일부 대안적인 구현 방안에서, 흐름도 내의 단계 또는 블록도 내의 블록으로 나타낸 기능은 도면에 나타낸 순서에 따라 발생하지 않을 수도 있다는 것이다. 예를 들어, 관련된 기능들에 따라서는, 연속하여 도시된 두 개의 단계 또는 두계 블록이 대략 동시에 수행될 수 있거나, 이들 블록이 때로는 반대의 순서로 수행될 수도 있다.
이상의 설명은 본 발명의 구체적인 구현 방식일 뿐이며, 본 발명의 보호 범위를 한정하려는 것은 아니다. 당업자가 본 발명의 개시된 기술적 범위 내에서 쉽게 생각해낼 수 있는 모든 변형 또는 대체는 본 발명의 보호 범위에 속한다. 따라서, 본 발명의 보호 범위는 특허청구범위의 보호 범위에 따라야 한다.

Claims (24)

  1. 가상 머신 마이그레이션을 판정하는 방법으로서,
    호스트 머신 내의 클라이언트가 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 취득하는 단계; 및
    상기 가상 머신의 유일한 식별자가 상기 클라이언트의 로컬 레코드에 존재하지 않으면, 상기 클라이언트가 상기 호스트 머신이 위치하는 네트워크 내의 서버에, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 전송하여, 상기 서버가, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소에 따라, 상기 가상 머신의 마이그레이션 여부를 판정하도록 하고; 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하여 상기 로컬 레코드를 갱신하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 호스트 머신 내의 클라이언트가 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 취득하는 단계는,
    상기 호스트 머신 내의 클라이언트가 상기 호스트 머신 상의 가상 머신으로부터의, 상기 가상 머신의 유일한 식별자를 실은 패킷을 가로채는 단계; 및 상기 가로챈 패킷에서 상기 가상 머신의 유일한 식별자를 취득하는 단계; 또는
    상기 호스트 머신 내의 클라이언트가, 상기 호스트 머신 상의 가상 교환기에 의해 전달되는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하는 단계; 및 상기 수신한 패킷에서 상기 가상 머신의 유일한 식별자를 취득하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 호스트 상의 가상 머신으로부터의 패킷은 주소 해석 프로토콜(Address Resolution Protocol, ARP) 패킷인, 방법.
  4. 제1항, 제2항, 또는 제3항에 있어서,
    상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하기 전에,
    상기 클라이언트가 상기 서버에 의해 전송되는 수신 성공을 나타내는 응답 패킷을 수신하는 단계; 및
    상기 클라이언트가 상기 서버에 의해 전송되는 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하는 단계를 더 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 유일한 식별자는 상기 가상 머신의 MAC 주소 또는 통계적으로 구성된, 상기 가상 머신의 IP 주소인, 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 클라이언트는 상기 호스트 머신 내의 보안 가상 머신, 상기 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터와 연결된 상기 호스트 머신 내의 구성요소 내에 배치되어 있는, 방법.
  7. 가상 머신 마이그레이션을 판정하는 방법으로서,
    서버가 호스트 머신 내의 클라이언트에 의해 전송되는, 상기 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 수신하는 단계;
    상기 가상 머신의 유일한 식별자가 상기 서버의 로컬 레코드에 존재하지 않으면, 상기 서버가 상기 가상 머신의 유일한 식별자와 상기 호스트 머신의 주소 사이의 대응관계를 상기 서버의 로컬 레코드에 추가하는 단계; 및
    상기 가상 머신의 유일한 식별자가 상기 서버의 로컬 레코드에 존재하면, 상기 서버가, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 상기 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 가상 머신이 마이그레이션된 것으로 판정하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 클라이언트에 의해 전송된 패킷을 수신한 후,
    상기 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하여, 상기 클라이언트가 상기 클라이언트의 로컬 레코드에 상기 가상 머신의 유일한 식별자를 추가하도록 하는 단계를 더 포함하는 방법.
  9. 제7항 또는 제8항에 있어서,
    상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면,
    상기 서버의 로컬 레코드 내에 저장되어 있는, 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 상기 패킷에 실린 상기 호스트 머신의 주소로 갱신하는 단계를 더 포함하는 방법.
  10. 가상 머신 마이그레이션을 판정하는 장치로서,
    상기 장치가 위치하는 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 취득하도록 구성된 처리 유닛;
    상기 처리 유닛이 상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하지 않는 것으로 판정하면, 상기 호스트 머신이 위치하는 네트워크 내의 서버에, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 전송하도록 구성되어, 상기 서버가, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소에 따라, 상기 가상 머신의 마이그레이션 여부를 판정하도록 하는, 전송 유닛; 및
    상기 처리 유닛이 상기 가상 머신의 유일한 식별자가 상기 로컬 레코드에 존재하지 않는 것으로 판정하면, 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하여 상기 로컬 레코드를 갱신하도록 구성된 저장 유닛
    을 포함하는 장치.
  11. 제10항에 있어서,
    상기 처리 유닛은, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 가상 머신의 유일한 식별자를 실은 패킷을 가로채고; 상기 가로챈 패킷에서 상기 가상 머신의 유일한 식별자를 취득하도록, 구성되어 있거나; 또는
    상기 처리 유닛은, 상기 호스트 머신 상의 가상 교환기에 의해 전달되는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하고; 상기 수신한 패킷에서 상기 가상 머신의 유일한 식별자를 취득하도록, 구성되어 있는, 장치.
  12. 제10항 또는 제11항에 있어서,
    상기 저장 유닛이 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하기 전에, 상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하도록 구성된 수신 유닛을 더 포함하고 ;
    상기 저장 유닛은, 상기 수신 유닛이 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 상기 가상 머신의 유일한 식별자에 관한 정보를 상기 로컬 레코드에 추가하도록 구성되어 있는, 장치.
  13. 제10항 또는 제11항에 있어서,
    상기 장치는 상기 호스트 머신 내의 보안 가상 머신, 상기 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터와 연결된, 상기 호스트 머신 내의 구성요소 내에 배치되어 있는, 장치.
  14. 가상 머신 마이그레이션을 판정하는 장치로서,
    호스트 머신 내의 클라이언트에 의해 전송되는, 상기 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 수신하도록 구성된 수신 유닛;
    상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하는지를 판정하도록 구성된 판정 유닛;
    상기 판정 유닛이, 상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하지 않는 것으로 판정하면, 상기 가상 머신의 유일한 식별자와 상기 호스트 머신의 주소 사이의 대응관계를 상기 장치의 로컬 레코드에 추가하도록 구성된 저장 유닛
    을 포함하고,
    상기 판정 유닛은, 상기 가상 머신의 유일한 식별자가 상기 장치의 로컬 레코드에 존재하면, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 상기 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 가상 머신이 마이그레이션된 것으로 판정하도록, 더 구성되어 있는,
    장치.
  15. 제14항에 있어서,
    상기 수신 유닛이 상기 클라이언트에 의해 전송된 패킷을 수신한 후, 상기 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하도록 구성되어, 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 클라이언트의 로컬 레코드에 추가하도록 하는, 전송 유닛을 더 포함하는 장치.
  16. 제14항 또는 제15항에 있어서,
    상기 패킷에 실린 상기 호스트 머신의 주소가 상기 장치의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 장치의 로컬 레코드 내에 저장되어 있는, 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 상기 패킷에 실린 상기 호스트 머신의 주소로 갱신하도록 구성된 갱신 유닛을 더 포함하는 장치.
  17. 프로세서, 통신 인터페이스, 메모리, 및 버스를 포함하는 클라이언트 기기로서,
    상기 프로세서, 상기 통신 인터페이스, 및 상기 메모리는 상기 버스를 사용하여 상호 통신을 완성하고;
    상기 통신 인터페이스는 외부 네트워크 요소와 통신하도록 구성되어 있고;
    상기 메모리는 프로그램을 저장하도록 구성되어 있고;
    상기 프로세서는, 상기 메모리 내의 프로그램을 판독하여, 상기 클라이언트 기기가 위치하는 호스트 머신 상의 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 취득하는 동작; 상기 가상 머신의 유일한 식별자가 상기 클라이언트 기기의 로컬 레코드에 존재하지 않으면, 상기 호스트 머신이 위치하는 네트워크 내의 서버에, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 전송하여, 상기 서버가, 상기 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소에 따라, 상기 가상 머신의 마이그레이션 여부를 판정하도록 하는 동작; 및 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하여 상기 로컬 레코드를 갱신하는 동작을 수행하도록 구성되어 있는,
    클라이언트 기기.
  18. 제17항에 있어서,
    상기 프로세서는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 가상 머신의 유일한 식별자를 실은 패킷을 가로채는 동작; 및 상기 가로챈 패킷에서 상기 가상 머신의 유일한 식별자를 취득하는 동작하도록 구성되어 있거나; 또는
    상기 프로세서는, 상기 호스트 머신 상의 가상 교환기에 의해 전달되는, 상기 호스트 머신 상의 가상 머신으로부터의, 상기 호스트 머신 상의 가상 머신의 유일한 식별자를 실은 패킷을 수신하는 동작; 및, 상기 수신한 패킷에서 상기 호스트 상의 가상 머신의 유일한 식별자를 취득하는 동작을 수행하도록 구성되어 있는, 클라이언트 기기.
  19. 제17항 또는 제18항에 있어서,
    상기 프로세서는,
    상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 동작; 및 ;
    상기 서버에 의해 전송되는, 수신 성공을 나타내는 응답 패킷을 수신하는 경우, 상기 가상 머신의 유일한 식별자를 상기 로컬 레코드에 추가하는 동작을 수행하도록 더 구성되어 있는, 클라이언트 기기.
  20. 제17항 또는 제18항에 있어서,
    상기 클라이언트 기기는 상기 호스트 머신 내의 보안 가상 머신, 상기 호스트 머신 내의 가상 교환기, 또는 물리 네트워크 어댑터와 연결되는, 상기 호스트 머신 내의 구성요소 내에 배치되어 있는, 클라이언트 기기.
  21. 프로세서, 통신 인터페이스, 메모리, 및 버스를 포함하는 서버 기기로서,
    상기 프로세서, 상기 통신 인터페이스, 및 상기 메모리는 상기 버스를 사용하여 상호 통신을 완성하고;
    상기 통신 인터페이스는 외부 네트워크 요소와 통신하도록 구성되어 있고;
    상기 메모리는 프로그램을 저장하도록 구성되어 있고;
    상기 프로세서는 프로그램을 수행하도록 구성되어 있고;
    상기 프로세서는, 상기 메모리 내의 프로그램을 판독하여, 호스트 머신 내의 클라이언트에 의해 전송된, 가상 머신의 유일한 식별자 및 상기 호스트 머신의 주소를 실은 패킷을 수신하는 동작; 상기 가상 머신의 유일한 식별자가 상기 서버 기기의 로컬 레코드에 존재하지 않으면, 상기 가상 머신의 유일한 식별자와 상기 호스트 머신의 주소 사이의 대응관계를 상기 서버 기기의 로컬 레코드에 추가하는 동작; 및 상기 가상 머신의 유일한 식별자가 상기 서버 기기의 로컬 레코드에 존재하면, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일한지를 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 동일하면, 상기 가상 머신이 마이그레이션되지 않은 것으로 판정하고; 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 가상 머신이 마이그레이션된 것으로 판정하는 동작을 수행하도록 구성되어 있는,
    서버 기기.
  22. 제21항에 있어서,
    상기 프로세서는, 상기 클라이언트에 의해 전송된 패킷을 수신한 후, 상기 클라이언트에 수신 성공을 나타내는 응답 패킷을 전송하는 동작을 수행하도록 더 구성되어, 상기 클라이언트가 상기 가상 머신의 유일한 식별자를 상기 클라이언트의 로컬 레코드에 추가하도록 하는, 서버 기기.
  23. 제22항에 있어서,
    상기 프로세서는, 상기 패킷에 실린 상기 호스트 머신의 주소가 상기 서버 기기의 로컬 레코드 내의 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소와 상이하면, 상기 서버 기기의 로컬 레코드 내에 저장되어 있는, 상기 가상 머신의 유일한 식별자에 대응하는 호스트 머신 주소를 상기 패킷에 실린 상기 호스트 머신의 주소로 갱신하는 동작을 수행하도록 더 구성되어 있는, 서버 기기.
  24. 제17항 내지 제20항 중 어느 한 항에 따른 하나 이상의 클라이언트 기기; 및
    제21항 내지 제23항 중 어느 한 항에 따른 하나 이상의 서버 기기
    를 포함하는 가상 머신 마이그레이션을 판정하는 시스템.
KR1020157003831A 2012-12-13 2012-12-13 가상 머신 마이그레이션을 판정하는 방법 및 장치 KR101857511B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086524 WO2014089799A1 (zh) 2012-12-13 2012-12-13 一种确定虚拟机漂移的方法和装置

Publications (2)

Publication Number Publication Date
KR20150036597A true KR20150036597A (ko) 2015-04-07
KR101857511B1 KR101857511B1 (ko) 2018-06-20

Family

ID=48838357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157003831A KR101857511B1 (ko) 2012-12-13 2012-12-13 가상 머신 마이그레이션을 판정하는 방법 및 장치

Country Status (6)

Country Link
US (1) US9571569B2 (ko)
EP (1) EP2866393B1 (ko)
JP (1) JP6037016B2 (ko)
KR (1) KR101857511B1 (ko)
CN (1) CN103229478B (ko)
WO (1) WO2014089799A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160132581A (ko) * 2015-05-11 2016-11-21 삼성에스디에스 주식회사 분산 컴퓨팅 환경을 위한 고유 식별자 생성 방법 및 그 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529995B2 (en) * 2011-11-08 2016-12-27 Varmour Networks, Inc. Auto discovery of virtual machines
US9560081B1 (en) 2016-06-24 2017-01-31 Varmour Networks, Inc. Data network microsegmentation
US9866436B2 (en) * 2014-12-01 2018-01-09 Brocade Communications Systems, Inc. Smart migration of monitoring constructs and data
US9609026B2 (en) 2015-03-13 2017-03-28 Varmour Networks, Inc. Segmented networks that implement scanning
US10178070B2 (en) 2015-03-13 2019-01-08 Varmour Networks, Inc. Methods and systems for providing security to distributed microservices
US9467476B1 (en) 2015-03-13 2016-10-11 Varmour Networks, Inc. Context aware microsegmentation
CN107122224A (zh) * 2016-02-25 2017-09-01 中兴通讯股份有限公司 一种数据传输方法、虚拟机和宿主机
US9787639B1 (en) 2016-06-24 2017-10-10 Varmour Networks, Inc. Granular segmentation using events
US11223537B1 (en) * 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
CN107360095B (zh) * 2017-07-13 2020-06-23 惠州高盛达科技有限公司 基于客户端主机名称的端口转发在路由器中的实现方法
CN110661675B (zh) * 2018-06-29 2021-07-27 中国电信股份有限公司 检测客户主机网络漂移的方法和系统
CN111143030B (zh) * 2019-12-19 2023-04-28 北京可信华泰信息技术有限公司 一种云环境可信虚拟机的迁移方法
CN111679885B (zh) * 2020-05-29 2023-10-13 泰康保险集团股份有限公司 确定虚拟机漂移方法、装置、介质及电子设备
US11563731B2 (en) * 2020-12-17 2023-01-24 Argo Ai Llc Method of re-assigning address to network device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249438A1 (en) * 2008-03-27 2009-10-01 Moshe Litvin Moving security for virtual machines
JP2011070549A (ja) * 2009-09-28 2011-04-07 Nec Corp コンピュータシステム、及び仮想マシンのマイグレーション方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484208B1 (en) 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US8572159B2 (en) * 2005-12-23 2013-10-29 Intel Corporation Managing device models in a virtual machine cluster environment
CN101631110B (zh) 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
JP5293580B2 (ja) * 2009-03-19 2013-09-18 日本電気株式会社 ウェブサービスシステム、ウェブサービス方法及びプログラム
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8271814B2 (en) * 2010-03-22 2012-09-18 Microsoft Corporation Migrating a client computer to a virtual machine server when the client computer is deemed to be idle
JP2011198299A (ja) * 2010-03-23 2011-10-06 Fujitsu Ltd プログラム、コンピュータ、通信装置および通信制御システム
JP2012203625A (ja) * 2011-03-25 2012-10-22 Nec Corp 論理サーバ運用システム、及び論理サーバ運用方法
CN102821028B (zh) 2011-06-08 2016-03-30 上海贝尔股份有限公司 支持虚拟机在多协议标签网络中迁移的方法和相应的设备
CN102821023B (zh) * 2012-08-07 2016-12-21 杭州华三通信技术有限公司 一种vlan配置动态迁移的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249438A1 (en) * 2008-03-27 2009-10-01 Moshe Litvin Moving security for virtual machines
JP2011070549A (ja) * 2009-09-28 2011-04-07 Nec Corp コンピュータシステム、及び仮想マシンのマイグレーション方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160132581A (ko) * 2015-05-11 2016-11-21 삼성에스디에스 주식회사 분산 컴퓨팅 환경을 위한 고유 식별자 생성 방법 및 그 장치

Also Published As

Publication number Publication date
CN103229478B (zh) 2015-07-29
WO2014089799A1 (zh) 2014-06-19
US20150281347A1 (en) 2015-10-01
EP2866393B1 (en) 2024-02-14
EP2866393A1 (en) 2015-04-29
KR101857511B1 (ko) 2018-06-20
JP2015537261A (ja) 2015-12-24
EP2866393A4 (en) 2015-05-20
US9571569B2 (en) 2017-02-14
JP6037016B2 (ja) 2016-11-30
CN103229478A (zh) 2013-07-31

Similar Documents

Publication Publication Date Title
KR101857511B1 (ko) 가상 머신 마이그레이션을 판정하는 방법 및 장치
US20220046088A1 (en) Systems and methods for distributing partial data to subnetworks
US10771431B2 (en) Synchronizing IP information of virtual machines
US20130107889A1 (en) Distributed Address Resolution Service for Virtualized Networks
US10389628B2 (en) Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network
WO2013025229A1 (en) Virtualization gateway between virtualized and non-virtualized networks
EP3451592B1 (en) Packet transmission between vxlan domains
EP2824872B1 (en) Host providing system and communication control method
CN101980490A (zh) 虚拟交换机和物理交换机的链路建立方法及其装置
US9654543B2 (en) Communication method and communication program
US11777804B2 (en) Automatic system provisioning for NVME-over-fabric storage
US20150372854A1 (en) Communication control device, communication control program, and communication control method
CN111245637B (zh) 生成基于应用的代理自动配置
US9563388B2 (en) Sharing a hosted device in a computer network
JP6484166B2 (ja) 名前解決装置、名前解決方法及び名前解決プログラム
CN111800340B (zh) 数据包转发方法和装置
KR102023115B1 (ko) 통합형 id 기반의 통신 방법 및 통신 시스템
AU2023203129B2 (en) Systems and methods for distributing partial data to subnetworks
JP2012203421A (ja) 情報処理方法、管理サーバおよび管理プログラム
KR102554413B1 (ko) 노드 장치, 상기 노드 장치의 패킷을 처리하는 방법 및 상기 노드 장치의 패킷 처리와 관련된 제어 정보를 관리하는 제어 장치를 포함하는 네트워크 시스템
CN113766044A (zh) 一种域名解析方法及系统

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