KR101720343B1 - 네트워크 환경에서의 가상 머신의 원격 배치 관리 방법 - Google Patents

네트워크 환경에서의 가상 머신의 원격 배치 관리 방법 Download PDF

Info

Publication number
KR101720343B1
KR101720343B1 KR1020100118133A KR20100118133A KR101720343B1 KR 101720343 B1 KR101720343 B1 KR 101720343B1 KR 1020100118133 A KR1020100118133 A KR 1020100118133A KR 20100118133 A KR20100118133 A KR 20100118133A KR 101720343 B1 KR101720343 B1 KR 101720343B1
Authority
KR
South Korea
Prior art keywords
computing system
image
services
storage medium
copy
Prior art date
Application number
KR1020100118133A
Other languages
English (en)
Other versions
KR20110067081A (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 KR20110067081A publication Critical patent/KR20110067081A/ko
Application granted granted Critical
Publication of KR101720343B1 publication Critical patent/KR101720343B1/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
    • 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)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

네트워크 환경에서의 가상 머신(VM)의 원격 배치를 관리하기 위한 방법을 제공한다. 제2 저장 매체에 저장되어 있는 VM 이미지는 제1 저장 매체로 복사된다. 제1 저장 매체는 제1 컴퓨팅 시스템 근처에 위치하고, 제2 저장 매체는 제1 컴퓨팅 시스템으로부터 원격으로 위치하고 제2 컴퓨팅 시스템 근처에 위치한다. VM 이미지가 복사되고 있을 때, 제1 VM은 제1 저장 매체에 저장되어 있는 VM의 부분 복사로부터 제1 컴퓨팅 시스템 상에 배치되고, 제2 VM은 제2 저장 매체에 저장되어 있는 VM 이미지로부터 제2 컴퓨팅 시스템 상에 배치된다. 제1 컴퓨팅 시스템에 제출되는 서비스 요구들은, 요구되는 서비스들의 유형에 기초하여 제1 VM에 의해 국부적으로 또는 제2 VM에 의해 원격으로 관리된다.

Description

네트워크 환경에서의 가상 머신의 원격 배치 관리 방법{MANAGING REMOTE DEPLOYMENT OF A VIRTUAL MACHINE IN A NETWORK ENVIRONMENT}
저작권 & 상표 공지
본 특허 문헌의 명세서의 일부는 저작권 보호를 받는 물질을 포함할 수 있다. 소유권자는, 본 특허 문헌의 명세서가 미국 특허상표청의 특허 파일이나 레코드에 개시되어 있으므로, 본 특허 문헌이나 특허 명세서 중 임의의 것에 의한 팩스 재생에 이의를 제기하지 않지만, 그 외에는 모든 저작권을 보유한다.
본 명세서에서 참조되는 소정의 마크들은, 출원인, 양수인, 또는 출원인이나 양수인에 연계된 또는 연계되지 않은 제삼자의 관습법상 또는 등록된 상표들일 수 있다. 이러한 마크들을 이용하는 것은, 본 명세서를 예를 들어 제공할 수 있게 하기 위해서이며, 본 발명의 요지의 범위를 이러한 마크들에 연관된 물질로 배타적으로 제한하는 것으로 해석되어서는 안 된다.
본 발명의 요지는 일반적으로 가상 머신에 관한 것으로서, 보다 상세하게는, 네트워크 환경에서의 가상 머신의 원격 배치 관리에 관한 것이다.
가상화 환경에서, 하나 이상의 소프트웨어 또는 하드웨어 인프라스트럭처(즉, 호스트 머신) 상에서 실행되는 호스트 소프트웨어(예를 들어, 하이퍼바이저)는 게스트 소프트웨어를 위해 호스트 머신을 에뮬레이트 또는 가상화할 수 있다. 다시 말하면, 하이퍼바이저는 가상 머신(VM)을 구현하여 게스트 소프트웨어에게 서비스를 제공한다. 하이퍼바이저는 보관소로부터 VM(즉, VM 이미지)을 구현하는 데 활용되는 데이터를 호스트 머신의 메모리 내로 로딩함으로써 호스트 머신 상에 VM을 배치한다.
VM 이미지가 원격 보관소에 저장되어 있다면, 하이퍼바이저는 그 VM 이미지를 원격 보관소로부터 국부 보관소로 복사하고, 국부 보관소 내의 VM 이미지를 이용하여 VM을 배치한다. VM의 배치는 VM 이미지가 국부 보관소로 완전히 복사될 때까지 지연된다. 다른 일 구현예에서, VM은 네트워크를 통해 원격 서버 상에 배치되며, 이는 레이턴시 문제를 야기하고, 호스트 머신이 원격 서버에 끊임없이 접속되어야 하고, 원격 서버가 VM을 위한 지원 및 갱신을 관리해야 한다.
요약을 위해, 본 명세서에서는 소정의 양태들, 이점들 및 신규한 특징들을 설명하였다. 이러한 이점들 모두가 임의의 하나의 특정한 실시예에 따라 달성되지 못할 수도 있다는 점을 이해하기 바란다. 따라서, 개시된 요지는 본 명세서에서 교시되거나 제안될 수 있는 모든 이점들을 달성하지 않고 하나의 이점 또는 이점들의 그룹을 달성하거나 최적화하는 방식으로 구체화되거나 실행될 수 있다.
일 실시예에 따르면, 네트워크 환경에서의 가상 머신(VM)의 원격 배치를 관리하기 위한 방법을 제공한다. 제2 저장 매체에 저장된 VM 이미지는 제1 저장 매체로 복사된다. 제1 저장 매체는 제1 컴퓨팅 시스템에 근접하여 위치하며, 제2 저장 매체는 제1 컴퓨팅 시스템으로부터 원격으로 위치하며 제2 컴퓨팅 시스템에 근접하여 위치한다. VM 이미지가 복사되고 있을 때, 제1 VM은 제1 저장 매체에 저장된 VM 이미지의 부분 복사본으로부터 제1 컴퓨팅 시스템 상에 배치되고, 제2 VM은 제2 저장 매체에 저장된 VM 이미지로부터 제2 컴퓨팅 시스템 상에 배치된다. 제1 컴퓨팅 시스템에 제출되는 서비스 요구들은 요구되는 서비스의 유형에 기초하여 제1 VM에 의해 국부적으로 또는 제2 VM에 의해 원격으로 관리된다.
하나 이상의 실시예들에 따르면, 하나 이상의 논리 유닛을 포함하는 시스템을 제공한다. 하나 이상의 논리 유닛은 전술한 방법들에 연관된 기능과 동작을 수행하도록 구성된다. 다른 일 실시예에서는, 컴퓨터 판독 가능 프로그램을 갖는 컴퓨터 판독 가능 저장 매체를 포함하는 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 판독 가능 프로그램은, 컴퓨터 상에서 실행될 때, 컴퓨터가 전술한 방법들에 연관된 기능과 동작을 수행하게 한다.
이하에서는 첨부 도면을 참조하여 소정의 대안들에 더하여 전술한 실시예들 중 하나 이상을 더욱 상세히 제공한다. 그러나, 개시된 요지는 개시된 임의의 특정한 실시예로 한정되지 않는다.
청구 대상의 실시예들은 이하와 같은 첨부 도면을 참조함으로써 이해할 수 있다.
도 1은 하나 이상의 실시예들에 따라 예시적인 네트워크 환경을 도시한다.
도 2와 도 3은 일 실시예에 따라 원격 보관소에 저장된 VM 이미지를 이용하여 VM의 배치를 관리하기 위한 방법의 흐름도이다.
도 4와 도 5는 하나 이상의 실시예들에 따라 개시된 시스템과 방법이 동작할 수 있는 하드웨어 및 소프트웨어 환경들의 블록도이다.
서로 다른 도면들에서 동일한 번호로 참조되는 특징들, 요소들 및 양태들은 하나 이상의 실시예들에 따라 동일한, 등가의, 또는 유사한 특징들, 요소들 또는 양태들을 나타낸다.
이하에서는, 다양한 실시예들을 완전하게 설명하도록 많은 특정 상세를 설명한다. 소정의 실시예들은 이러한 특정 상세 없이 또는 소정의 변동과 함께 상세하게 실시될 수 있다. 일부 예에서는, 소정의 특징들을 다른 양태들이 모호해지지 않도록 덜 상세하게 설명한다. 요소들이나 특징들의 각각에 연관된 상세의 레벨은 하나의 특징이 나머지 특징들보다 중요한 중요도 또는 신규성을 갖추는 것으로서 해석되어서는 안 된다.
하나 이상의 일 실시예에 따라, 도 1을 참조해 보면, 예시적인 네트워크 환경(100)은, 컴퓨팅 시스템(110), 컴퓨팅 시스템(120), 네트워크(130) 및 원격 보관소(140)를 포함한다. 컴퓨팅 시스템(110)은 네트워크(130)를 거쳐 컴퓨팅 시스템(120)에 원격 접속된다. 컴퓨팅 시스템(120)은 원격 보관소(140)에 대하여 국부적이거나 근접해 있는 컴퓨팅 시스템이다. 컴퓨팅 시스템(110) 상에서 실행되고 있는 소프트웨어 애플리케이션은 VM에 의해 서비스를 제공받는 요구를 생성할 수 있다. VM의 이미지가 원격 보관소(140)에 저장되어 있으면, 그 VM 이미지를 컴퓨팅 시스템(110)에 근접하여 위치하는 저장 매체(예를 들어, 국부 보관소(150))로 복사하고 그 요구에 서비스를 제공하도록 국부 VM(114)을 배치하는 것이 바람직하다.
VM 이미지를 원격 보관소(140)로부터 국부 보관소(150)로 복사하고 컴퓨팅 시스템(110) 상에서 실행되고 있는 대상 호스트(112) 상에 국부 VM(114)을 배치하는 것은, 가용 네트워크 대역폭 및 원격 보관소(140)와 컴퓨팅 시스템(110) 사이의 거리에 따라, 오랜 시간이 걸릴 수 있다. 도 1과 도 2를 참조해 볼 때, VM 이미지의 복사 및 원격 보관소(140)로부터의 VM 이미지의 배치에 연관된 레이턴시를 최소화하기 위해, 일 실시예에 따르면, VM 이미지를 활용하여 원격 VM(124)을 컴퓨팅 시스템(120) 상에서 실행되고 있는 임시 호스트(122) 상에 배치한다(P200). 임시 호스트(122) 상에 VM을 배치하는 것은, 원격 보관소(140)가 컴퓨팅 시스템(120)에 근접해 있기 때문에, 대상 호스트(112) 상에 VM을 배치하는 것보다 상당히 빠르다.
구현예에 따라서는, 임시 호스트(122) 상에 VM 이미지를 배치하기 전에, 배치하는 동안, 또는 배치한 후에, VM 이미지를 국부 보관소(150)에 복사할 수 있다(P210). VM 이미지는 원격 보관소(140)로부터 국부 보관소(150)로 복사되고 있지만, 국부 VM(114)이 완전히 배치 가능해지기 전일지라도, 국부 보관소(150)에 저장된 VM 이미지의 부분 복사본을 활용하여 하나 이상의 기능이나 서비스를 갖는 국부 VM(114)을 대상 호스트(112) 상에 배치할 수 있다(P220). 이에 따라, 국부 VM(114)은 대상 호스트(112)에 제출되는 하나 이상의 요구에 국부적으로 서비스를 제공할 수 있다.
국부 레벨에서 이용 가능한 기능이나 서비스의 레벨에 따라, 대상 호스트(112)에 제출된 서비스 요구들은 국부 VM(114)과 원격 VM(124) 사이에 파티션화될 수 있다. 파티션화는, 소정의 실시예들에서, VM 이미지가 원격 보관소(140)로부터 국부 보관소(150)로 완전히 복사되고 국부 VM(114)이 완전히 배치될 때까지 계속될 수 있다(P230). 바람직하게는, 국부 VM(114)의 완전한 배치시, 대상 호스트(112)가 국부 VM(114)과 원격 VM(124) 사이의 서비스 요구들의 파티션화를 중단하고 그 서비스 요구들을 국부 VM(114)에 제출한다(P240). 최적의 성능을 위해 그리고 구현예에 따라, 일부 실시예들에서, 대상 호스트(112)는 국부 VM(114)이 완전히 배치된 후에도 국부 VM(114)과 원격 VM(124) 사이의 서비스 요구들의 파티션화를 계속 행할 수 있다.
다시 말하면, 이미지가 국부 보관소(150)로 완전히 전달된 후, 원격 VM(124)의 상태는 국부 VM(114) 내로 전달되어 병합되고, 원격 VM(124)은 파괴되고, 한편 국부 VM(114)은 모든 기능을 인수하여, 규칙적으로 국부 보관소(150)로부터 배치된 것처럼 계속 실행된다. VM의 라이브 마이그레이션(live migration)에서 일반적으로 사용되는 기술을 이용하여 상태 전달을 수행한다.
전술한 프로세스들은 이하에서 더욱 상세히 제공되는 바와 같이 VM을 소스 환경으로부터 대상 환경으로 투명하게 마이그레이션하는 데 활용될 수 있다. 본 명세서에서 개시된 예시적인 실시예의 문맥 내에서, 소스 환경은 원격 보관소(140) 및 하나 이상의 잠재적 임시 호스트를 포함하는 환경을 가리킨다. 대상 환경은 서비스 요구들이 제출되는 대상 호스트(112) 및 국부 보관소(150)를 포함하는 환경을 가리킨다.
일 실시예에 따라, 도 1과 도 3을 참조해 보면, 대상 호스트(112) 또는 기타 컴퓨팅 엔티티는 VM에 의해 가상화되는 하나 이상의 컴포넌트(예를 들어, 중앙 처리 유닛(CPU), 메모리, 디스크, 유저 인터페이스, 네트워크, 또는 기타 컴포넌트) 간의 통신 강도 및 워크로드(workload)를 분석할 수 있다(P300). 또한, 소스 환경과 대상 환경 간의 네트워크 및 저장 접속성(예를 들어, 망 형태(topology), 대역폭, 레이턴시, 또는 기타 경험학(heuristics))을 분석할 수도 있다(P310).
VM의 복사본이 대상 환경으로 다운로드되고 있는 동안, 전술한 분석의 결과를 활용하여 소스 환경과 대상 환경에 의해 각각 제공될 수 있는 기능 또는 서비스의 유형과 수를 결정할 수 있다. 또한, 임시 호스트(122)는 컴퓨팅 시스템들(110, 120)에 대한 네트워크(130)의 망 형태, 컴퓨팅 시스템(120)에 대한 원격 보관소(140)의 근접성 등의 하나 이상의 인자에 따라 선택될 수 있다(P320).
네트워크 및 대역폭 관련 인자들에 따라, 국부 VM(114)을 대상 호스트(112) 상에 배치하여 제1 세트의 기능들이나 서비스들을 제공할 수 있고, 원격 VM(124)을 임시 호스트(122) 상에 배치하여 제2 세트의 기능들이나 서비스들을 제공할 수 있다(P330). 예를 들어, 원격 VM(124)을 배치하여 CPU, 메모리 및 디스크 컴포넌트들을 가상화할 수 있고, 국부 VM(114)을 배치하여 유저 인터페이스(예를 들어, 키보드, 비디오, 마우스 등) 및 네트워크 컴포넌트들을 가상화할 수 있다.
전술한 바와 같이, 국부 VM(114)과 원격 VM(124)에 의해 지원되는 기능들 또는 서비스들의 레벨과 수 및 이러한 서비스들과 기능들이 그 두 개의 VM 사이에서 파티션화되는 방식은 VM 이미지가 대상 호스트(112)와 임시 호스트(122)에 의해 각각 배치되는 방식에 기초할 수 있다. 이에 따라, 대상 호스트(112)에 제출되는 서비스 요구들은 요구되는 서비스의 유형에 기초하여 국부 VM(114)에 의해 국부적으로 또는 원격 VM(124)에 의해 원격으로 관리될 수 있다(P340).
대상 호스트(112)가 국부 VM(114)과 원격 VM(114)을 위한 통신에 관하여 프록시로서 기능을 할 수 있는 가상 네트워크 에이전트를 실행할 수 있다는 점은 주목할만하다. 다시 말하면, 대상 호스트(112)는, 예를 들어, 주변 컴포넌트 상호접속(PCI) 버스를 거쳐 중앙 처리 유닛(CPU) 및 메모리와 통신하고 대상 호스트(112)의 외부에 위치하는 네트워크 브리지나 스위치를 거쳐 네트워크(130)와 통신하는 네트워크 아답터를 포함할 수 있다. 이러한 컴포넌트들은, 가상 네트워크 에이전트에 의해 대체될 수 있고, 이 가상 네트워크 에이전트는 네트워크 스택(예를 들어, PCI에서 네트워크 카드로, 네트워크 카드에서 브리지나 스위치로, 브리지나 스위치에서 네트워크(130)로의 네트워크 스택)을 통해 트래픽을 하향 전달하는 대신 임시 호스트(122)에 트래픽을 전달한다.
선택 사항으로, 모든 요구들을 국부 VM(114)에 의해 서비스를 제공받도록 대상 호스트(112)에 제출하는 것이 바람직할 수 있다. 이러한 상황에서는, 저장 미러 스위치오버(storage mirror switchover)가 VM 마이그레이션 핸드오프(migration handoff)와 동기화되도록 미러링 기술을 이용하여 VM 이미지를 원격 보관소(140)로부터 국부 보관소(150)로 복사할 수 있다. 미러링은, 애플리케이션이 실행되고 있는 동안 백업 위치에 데이터를 복제(즉, 복사)하고 복구 프로세스 동안 백업 위치에서 그 데이터를 이용하여 애플리케이션을 재개하는 것을 가리킨다. 일 구현예에서, 데이터 일관성은 백업 복사본을 판독 전용으로 구성한 후 복구 프로세스 동안 판독과 기입을 허용하는 허가를 변경함으로써 보존될 수 있다. 또한, 이러한 미러링은 VM 라이브 마이그레이션에 적용될 수 있고, 여기서 VM은 임시 호스트(122)로부터 대상 호스트(112)로 마이그레이션된다.
요약하자면, 임시 호스트(122)(즉, VM의 이미지에 대하여 국부적이거나 근접해 있는 호스트) 상에 VM을 배치함으로써, VM이 원격 위치한 대상 호스트에 복사 및 배치되도록 기다릴 필요 없이 바람직하게 VM을 빠르게 배치할 수 있다. 임시 호스트가 즉시 배치를 지원하면, 그 배치는 즉각적일 수 있다. VM을 소스 환경(예를 들어, 컴퓨팅 시스템(120))으로부터 대상 환경(예를 들어, 컴퓨팅 시스템(110))으로 마이그레이션하는 것은, VM의 빠른 배치에 더하여, 바람직하게 대상 호스트(112)에 의해 제출되는 서비스 요구들의 빠른 처리를 지원한다.
다른 실시예들에서, 개시된 요지는 하드웨어 요소와 소프트웨어 요소 둘 다의 조합으로서, 또는 다른 방안으로 완전히 하드웨어의 형태나 완전히 소프트웨어의 형태로 구현될 수 있다. 또한, 본 명세서에서 개시된 컴퓨팅 시스템 및 프로그램 소프트웨어는 본 명세서에서 예상되는 결과들을 달성하는 방법과 프로세스를 수행하도록 실행되는 논리 코드 또는 하드웨어 컴포넌트의 관점에서 제시될 수 있는 피제어 컴퓨팅 환경을 포함할 수 있다. 상기 방법과 프로세스는, 범용 컴퓨팅 시스템이나 머신에 의해 실행될 때, 범용 머신을 전용 머신으로 변환한다.
도 4와 도 5를 참조하면, 예시적인 일 실시예에 따른 컴퓨팅 시스템 환경은 하드웨어 환경(1110)과 소프트웨어 환경(1120)으로 이루어질 수 있다. 하드웨어 환경(1110)은 소프트웨어 환경(1120)의 컴포넌트들을 위한 실행 환경을 제공하는 논리 유닛, 회로 또는 기타 머신 및 장비를 포함할 수 있다. 이어서, 소프트웨어 환경(1120)은 근본적인 동작 가능 설정 및 구성을 포함한 실행 명령들을 하드웨어 환경(1110)의 다양한 컴포넌트들에게 제공할 수 있다.
도 4를 참조해 보면, 본 명세서에서 개시된 애플리케이션 소프트웨어 및 논리 코드는 예시적인 하드웨어 환경(1110)으로 표현되는 하나 이상의 컴퓨팅 시스템에 걸쳐 실행되는 컴퓨터 판독 가능 코드의 형태로 구현될 수 있다. 도시한 바와 같이, 하드웨어 환경(1110)은 시스템 버스(1100)를 경유하여 하나 이상의 저장 요소들에 연결된 프로세서(1101)를 포함할 수 있다. 저장 요소들은, 예를 들어, 국부 메모리(1102), 저장 매체(1106), 캐시 메모리(1104) 또는 기타 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 매체를 포함할 수 있다. 본 명세서의 문맥 내에서, 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 매체는 프로그램 코드를 포함하고, 저장 할 수 있는 임의의 기록 가능 제품을 포함할 수 있다.
컴퓨터 판독 가능 저장 매체는 전자, 자기, 광, 전자기, 적외선 또는 반도체 매체, 시스템, 기기 또는 장치일 수 있다. 컴퓨터 판독 가능 저장 매체의 예로는, 반도체 또는 고체 메모리, 자기 테이프, 탈착 가능 컴퓨터 디스켓, RAM, ROM, 강성 자기 디스크, 또는 광 디스크가 적절할 수 있다. 광 디스크의 현재 예로는, 컴팩트 디스크, CD-ROM, CD-R/W, DVD, 고해상도 비디오 디스크(HD-DVD) 또는 Blue-rayTM 디스크가 있다.
일 실시예에서, 프로세서(1101)는 실행 가능 코드를 저장 매체(1106)로부터 국부 메모리(1102)로 로딩한다. 캐시 메모리(1104)는 실행을 위해 그 실행 가능 코드를 로딩하는 횟수를 저감시키는 데 일조하는 임시 저장 장치를 제공함으로써 처리 시간을 최적화한다. 하나 이상의 유저 인터페이스 장치들(1105)(예를 들어, 키보드, 포인팅 장치 등) 및 디스플레이 스크린(1107)은 예를 들어 하드웨어 환경(1110)의 다른 요소들에 직접적으로 또는 중재 I/O 컨트롤러(1103)를 통해 연결될 수 있다. 네트워크 아답터와 같은 통신 인터페이스 유닛(1108)을 제공하여, 하드웨어 환경(1110)이 중재 기능의 사설 또는 공중 네트워크(예를 들어, 인터넷)를 통해 국부 또는 원격 위치한 컴퓨팅 시스템, 프린터 및 저장 장치와 통신하게 할 수 있다. 유선 또는 무선 모뎀 및 이더넷 카드는 네트워크 아답터들의 예시적인 유형들 중 일부이다.
소정의 구현예에서, 하드웨어 환경(1110)은 전술한 컴포넌트들 중 일부 또는 전부를 포함하지 않을 수 있고, 또는 추가 컴포넌트들을 포함하여 보충 기능이나 유틸리티를 제공할 수 있다는 점은 주목할만하다. 고려하는 용도 및 구성에 따라, 하드웨어 환경(1110)은, 데스크탑 또는 랩탑 컴퓨터일 수 있고, 또는 셋톱 박스, 개인 휴대 정보 단말기(PDA), 퍼스널 미디어 플레이어, 모바일 통신 유닛(예를 들어, 무선 전화), 또는 선택 사항으로 정보 처리 능력이나 데이터 저장 능력을 갖는 기타 유사한 하드웨어 플랫폼과 같은 임베딩 시스템에서 구체화되는 기타 컴퓨팅 장치일 수 있다.
일부 실시예들에서, 통신 인터페이스(1108)는 프로그램 코드를 포함하여 다양한 유형의 정보를 나타내는 아날로그나 디지털 데이터 스트림을 반송하는 디지털 신호, 전기 신호, 전자기 신호 또는 광 신호를 송수신함으로써 하나 이상의 컴퓨팅 시스템과 통신하는 수단을 제공하기 위한 데이터 통신 포트로서 기능을 한다. 그 통신은 국부 또는 원격 네트워크를 경유하여 또는 대안으로 제한 없이 반송파를 통한 전파를 비롯하여 방송이나 기타 매체를 통한 송신으로 확립될 수 있다.
본 명세서에서 제공하는 바와 같이, 예시된 하드웨어 요소들에서 실행되는 개시된 소프트웨어 요소들은 사실상 예시적인 논리 관계 또는 기능 관계에 따라 정의된다. 그러나, 상기 예시적인 소프트웨어 요소들에 의해 구현되는 각 방법들은, 예를 들어, 구성되고 프로그래밍된 프로세서, 주문형 반도체(ASIC), 필드 프로그래밍 가능 게이트 어레이(FPGA) 및 디지털 신호 프로세서(DSP)에 의해 상기 하드웨어 요소들에서 인코딩될 수도 있다는 점을 주목하기 바란다.
도 5를 참조해 보면, 소프트웨어 환경(1120)은 일반적으로 하나 이상의 하드웨어 환경(1110)에서 실행될 때 시스템 소프트웨어(1121)와 애플리케이션 소프트웨어(1122)를 포함하는 두 개의 클래스로 분리될 수 있다. 일 실시예에서, 본 명세서에서 개시된 방법과 프로세스는 시스템 소프트웨어(1121), 애플리케이션 소프트웨어(1122), 또는 이들의 조합으로서 구현될 수 있다. 시스템 소프트웨어(1121)는, 어떻게 기능을 하고 정보를 처리할 것인지에 대하여 하드웨어 환경(1110)의 하나 이상의 프로세서(1101)(예를 들어, 마이크로컨트롤러)에게 지시하는, 운영 체제(OS)나 정보 관리 시스템과 같은 제어 프로그램들을 포함할 수 있다. 애플리케이션 소프트웨어(1122)는 프로그램 코드, 데이터 구조, 펌웨어, 상주 소프트웨어, 마이크로코드 또는 프로세서에 의해 판독, 분석 또는 실행될 수 있는 다른 임의의 형태의 정보나 루틴을 포함할 수 있지만, 이러한 예로 한정되지는 않는다.
다시 말하면, 애플리케이션 소프트웨어(1122)는 컴퓨터 또는 임의의 명령 실행 시스템이 이용하기 위한 또는 이러한 컴퓨터 또는 임의의 명령 실행 시스템과 함께 이용하기 위한 프로그램 코드를 제공하는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 저장 매체의 형태로 컴퓨터 프로그램 제품에 임베딩된 프로그램 코드로서 구현될 수 있다. 또한, 애플리케이션 소프트웨어(1122)는 저장 매체(1106)로부터 국부 메모리(1102)로 로딩 된 후 시스템 소프트웨어(1121) 상에서 실행되는 하나 이상의 컴퓨터 프로그램을 포함할 수 있다. 클라이언트-서버 아키텍처에서, 애플리케이션 소프트웨어(1122)는 클라이언트 소프트웨어 및 서버 소프트웨어를 포함할 수 있다. 예를 들어, 일 실시예에서, 클라이언트 소프트웨어는 서버 소프트웨어가 실행되는 서버 컴퓨팅 시스템으로부터 분리 가능하며 구별되는 클라이언트 컴퓨팅 시스템 상에서 실행될 수 있다.
또한, 소프트웨어 환경(1120)은 국부 또는 원격 컴퓨팅 네트워크를 통해 이용 가능한 데이터에 액세스하기 위한 브라우저 소프트웨어(1126)를 포함할 수 있다. 또한, 소프트웨어 환경(1120)은 유저 커맨드 및 데이터를 수신하기 위한 유저 인터페이스(1124)(예를 들어, 그래픽 유저 인터페이스(GUI))를 포함할 수 있다. 전술한 하드웨어 및 소프트웨어 아키텍처 그리고 환경은 예시하기 위한 것이라는 점은 반복하여 주목할만하다. 이처럼, 하나 이상의 실시예는 아키텍처, 기능 또는 논리 플랫폼 또는 처리 환경의 임의의 유형에 대하여 구현될 수 있다.
또한, 논리 코드, 프로그램, 모듈, 프로세스, 방법 및 각 방법의 각 프로세스가 수행되는 순서는 단지 예시라는 점을 이해하기 바란다. 구현예에 따라, 프로세스 또는 임의의 근본적인 서브 프로세스 및 방법은, 본 명세서에서 특별히 다르게 언급하지 않는 한, 임의의 순서로 또는 동시에 수행될 수 있다. 또한, 특별히 다르게 언급하지 않는 한, 본 명세서의 문맥 내에서의 논리 코드의 정의는, 임의의 구체적인 프로그래밍 언어에 관한 것이 아니며 이러한 언어로 한정되지도 않으며, 분산형, 비분산형, 단일 또는 멀티프로세싱 환경에서 하나 이상의 프로세서 상에서 실행될 수 있는 하나 이상의 모듈을 포함할 수 있다.
당업자라면 인식하듯이, 소프트웨어 실시 예는, 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함할 수 있다. 소프트웨어 또는 하드웨어를 포함하거나 소프트웨어와 하드웨어 양태들을 조합하는 일부 컴포넌트들은 본 명세서에서 일반적으로 "회로", "모듈", 또는 "시스템"이라 칭할 수 있다. 또한, 개시된 요지는 컴퓨터 판독 가능 프로그램 코드가 구체화되어 있는 하나 이상의 컴퓨터 판독 가능 저장 매체(들)에서 구체화된 컴퓨터 프로그램 제품으로서 구현될 수 있다. 하나 이상의 컴퓨터 판독 가능 저장 매체(들)의 임의의 조합을 활용해도 된다. 컴퓨터 판독 가능 저장 매체는 컴퓨터 판독 가능 저장 매체일 수 있다. 컴퓨터 판독 가능 저장 매체는, 예를 들어, 전자, 자기, 광, 전자기, 적외선, 또는 반도체 시스템, 기기, 또는 장치, 또는 이들의 임의의 적절한 조합일 수 있지만, 이러한 예로 한정되지는 않는다.
본 명세서의 문맥에서, 컴퓨터 판독 가능 저장 매체는 명령 실행 시스템, 기기, 또는 장치가 이용하기 위한 또는 이러한 명령 실행 시스템, 기기, 또는 장치와 함께 이용하기 위한 프로그램을 저장할 수 있는 임의의 유형(tangible)의 매체일 수 있다.
개시된 동작들을 실행하기 위한 컴퓨터 프로그램 코드는 Java, Smalltalk, C++ 등의 오브젝트 지향 프로그래밍 언어 및 C 프로그래밍 언어나 유사 프로그래밍 언어와 같은 종래의 절차적 프로그래밍 언어를 포함한 하나 이상의 프로그래밍 언어의 임의의 조합으로 기입될 수 있다.
프로그램 코드는, 사용자의 컴퓨터 상에서 완전하게, 독립형 소프트웨어 패키지로서 사용자의 컴퓨터 상에서 부분적으로, 사용자의 컴퓨터 상에서 부분적으로 그리고 원격 컴퓨터 상에서 부분적으로, 또는 원격 컴퓨터나 서버 상에서 완전하게 실행될 수 있다. 후자의 경우, 원격 컴퓨터는 LAN 또는 WAN을 포함한 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 접속될 수 있고, 또는 그 접속은 (예를 들어, 인터넷 서비스 제공자를 이용하여 인터넷을 통해) 외부 컴퓨터에 행해질 수 있다.
실시예들에 따른 방법, 기기 (시스템) 및 컴퓨터 프로그램 제품의 블록도 및/또는 흐름도를 참조하여 소정의 실시예들을 설명하였다. 흐름도 및/또는 블록도의 각 블록, 및 흐름도 및/또는 블록도의 블록들의 조합이 컴퓨터 프로그램 명령들에 의해 구현될 수 있다는 것을 이해할 것이다. 이러한 컴퓨터 프로그램 명령들은 범용 컴퓨터, 전용 컴퓨터, 또는 머신을 생성하기 위한 기타 프로그래밍 가능 데이터 처리 기기의 프로세서에 제공될 수 있으며, 여기서 컴퓨터 또는 기타 프로그래밍 가능 데이터 처리 기기의 프로세서를 통해 실행되는 이러한 명령들은 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 기능/액션을 구현하기 위한 수단을 생성한다.
또한, 이러한 컴퓨터 프로그램 명령들은, 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램 명령들이 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 기능/액션을 구현하는 명령들을 포함하는 제조 물품을 생성하도록, 컴퓨터, 기타 프로그래밍 가능 데이터 처리 기기 또는 기타 장치가 특정한 방식으로 기능을 할 수 있게 하는 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
또한, 컴퓨터 프로그램 명령들은 컴퓨터, 기타 프로그래밍 가능 데이터 처리 기기 또는 기타 장치 상으로 로딩되어, 일련의 연산 단계들을 그 컴퓨터, 기타 프로그래밍 가능 데이터 처리 기기 또는 기타 장치 상에서 수행하여 컴퓨터 구현 프로세스를 생성할 수 있으며, 이때 그 컴퓨터나 기타 프로그래밍 가능 데이터 처리 기기 상에서 실행되는 명령들은 흐름도 및/또는 블록도의 블록이나 블록들에서 특정된 기능/액션을 구현하기 위한 프로세스들을 제공한다.
도면에서의 흐름도와 블록도는 다양한 실시예들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현예의 아키텍처, 기능 및 동작을 예시하는 것이다. 이러한 점에서, 흐름도 또는 블록도의 각 블록은, 특정된 논리 함수(들)를 구현하기 위한 하나 이상의 실행 가능 명령을 포함하는, 모듈, 세그먼트, 또는 코드의 일부를 나타낼 수 있다. 또한, 일부 대체 구현예에서는, 블록에 기재된 기능들이 도면에 기재된 순서와 다르게 발생해도 된다.
예를 들어, 관련된 기능에 따라, 연속으로 도시된 두 개의 블록이 실제로는 대략 동시에 실행될 수 있고, 또는 그 블록들이 때때로 역순으로 실행될 수 있다. 또한, 예시한 블록도 및/또는 흐름도의 각 블록 및 예시한 블록도 및/또는 흐름도의 블록들의 조합이 특정 기능이나 액션을 수행하는 전용 하드웨어 기반 시스템에 의해 또는 전용 하드웨어 및 컴퓨터 명령들의 조합에 의해 구현될 수 있다는 점을 주목한다.
하나 이상의 특징들이나 실시예들을 참조하여 청구 대상을 제공하였다. 당업자라면, 본 명세서에서 제공된 예시적인 실시예들의 상세 유형에도 불구하고, 일반적으로 의도한 범위로부터 벗어나지 않거나 이러한 범위를 한정하지 않고 상기 실시예들에 변경 및 수정을 적용해도 된다는 점을 인식하고 이해할 것이다. 본 명세서에서 제공되는 실시예들의 이러한 적응과 조합 및 기타 다양한 적응과 조합은 청구범위 및 그 청구범위의 완전한 등가물에 의해 정의되는 바와 같이 청구 대상의 범위 내에 있다.
100 네트워크 환경
110 컴퓨팅 시스템
112 대상 호스트
114 로컬 VM
120 컴퓨팅 시스템
122 임시 호스트
124 원격 VM
130 네트워크
140 원격 보관소
150 로컬 보관소

Claims (10)

  1. 네트워크 환경에서의 가상 머신(VM)의 배치를 관리하기 위한 컴퓨터 구현 방법으로서, 상기 방법은:
    제1 컴퓨팅 시스템에 VM을 배치하기 위한 배치 요구(a deployment request)를 수신하는 단계 ― 상기 VM은 상기 제1 컴퓨팅 시스템으로부터 원격으로 위치하고 있는, 제2 저장 매체에 저장되어 있는 VM 이미지로서 표시됨 ―;
    상기 VM을 배치하기 위해 상기 제1 컴퓨팅 시스템과 복수의 잠재적 임시 호스트들(a plurality of temporary hosts) 사이에서 네트워크와 저장 접속성(storage connectivity)을 분석하는 단계;
    상기 제1 컴퓨팅 시스템과 상기 잠재적 임시 호스트들 사이에서 네트워크와 저장 접속성을 분석한 결과에 따라, 상기 잠재적 임시 호스트들로부터 상기 VM 이미지의 제2 복사본을 배치하기 위해 제2 컴퓨팅 시스템을 선택하는 단계;
    상기 제1 컴퓨팅 시스템과 상기 제2 컴퓨팅 시스템 사이에서 통신 대역폭을 분석하고, 따라서 상기 VM 이미지의 제1 복사본에 의해서 제공될 제1 세트의 서비스들을 선택하며; 상기 배치 요구에 응답하여, 상기 제1 컴퓨팅 시스템에 근접하여 위치하는(local) 제1 저장 매체로 상기 제2 저장 매체에 저장되어 있는 상기 VM 이미지를 복사하는 단계;
    상기 VM 이미지를 복사하는 동안, 상기 제1 컴퓨팅 시스템 상에, 상기 제1 세트의 서비스들을 제공하는, 부분 이미지를 포함하는 제1 VM 이미지 복사본을 배치하는 단계;
    제2 세트의 서비스들을 제공하기 위해, 상기 복사하는 동안 또는 상기 복사하기 전에, 상기 제2 컴퓨팅 시스템 상에, 상기 VM 이미지의 적어도 부분 복사본을 포함하는, 제2 VM 이미지 복사본을 배치하는 단계;
    상기 VM에 의해서 처리하기 위해 제출되는 서비스 요구들이 상기 제 1 또는 상기 제2 세트의 서비스들과 관련이 있는지를 결정하기 위해, 상기 VM에 의해서 처리하기 위해 제출되는 서비스 요구들을 관리하는 단계; 및
    상기 제1 세트의 서비스들과 관련된 서비스 요구들은 상기 제1 컴퓨팅 시스템에 의해서 처리하고, 그리고 상기 제2 세트의 서비스들과 관련된 서비스 요구들은 상기 제1 컴퓨팅 시스템으로부터 상기 제2 컴퓨팅 시스템으로 전달해서(forward) 상기 제2 컴퓨팅 시스템에 의해서 처리하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 VM 이미지가 상기 제1 저장 매체로 완전히 복사된 후, 상기 복사된 VM을 상기 제1 컴퓨팅 시스템 상에 완전히 배치하고 그리고 모든 서비스 요구들을 상기 제1 컴퓨팅 시스템에 의해서 관리하는, 컴퓨터 구현 방법.
  3. 제1항에 있어서, 상기 VM 이미지가 상기 제1 저장 매체로 완전히 복사되고 난 후, 상기 복사된 VM 이미지를 상기 제1 컴퓨팅 시스템 상에 완전히 배치하고, 상기 복사된 VM 이미지를 상기 제1 컴퓨팅 시스템 상에 완전히 배치한 후에는, 상기 VM 이미지의 성능을 최적화하기 위해서, 상기 제1 컴퓨팅 시스템 상의 일부 서비스 요구들을 관리하고(manage) 그리고 상기 일부 서비스 요구들을 상기 제2 컴퓨팅 시스템으로 전달하는 것(forward)을 계속하는, 컴퓨터 구현 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 제2 세트의 서비스들은 중앙 처리 유닛(CPU) 서비스들, 메모리 서비스들 및 디스크 컴포넌트 서비스들을 포함하는, 컴퓨터 구현 방법.
  6. 삭제
  7. 제1항에 있어서, 상기 VM 이미지는 미러링 기술을 이용하여 상기 제1 저장 매체에 복사되는, 컴퓨터 구현 방법.
  8. 네트워크 환경에서의 가상 머신(VM)의 배치를 관리하기 위한 시스템으로서, 상기 시스템은:
    VM 이미지들의 복사본들을 저장하기 위한 제1 저장매체;
    상기 제1 저장 매체에 저장되어 있는 VM 이미지들을 실행하기 위한 제1 컴퓨팅 시스템; 및
    제1 컴퓨팅 시스템 상에 제1 VM을 배치하기 위한 배치 요구에 응답하여, 상기 제1 저장 매체로 제2 저장 매체에 저장된 VM 이미지를 복사하는 것을 시작하고(initiating), 상기 제1 컴퓨팅 시스템과 복수의 잠재적인 임시 호스트들(plurality of potential temporary hosts) 사이에서 네트워크와 저장 접속성을 분석하며, 상기 제1 컴퓨팅 시스템과 상기 잠재적인 임시 호스트들 사이에서 네트워크와 저장 접속성을 분석한 결과에 따라, 상기 잠재적 임시 호스트들로부터 상기 VM 이미지의 제2 복사본을 배치하기 위해 제2 컴퓨팅 시스템을 선택하고, 그리고 상기 제1 컴퓨팅 시스템과 상기 제2 컴퓨팅 시스템 사이의 통신 대역폭을 분석하고, 따라서 제1 세트의 서비스들에 포함될 서비스들을 선택하도록 구성되는 프로세서를 포함하고;
    상기 제1 컴퓨팅 시스템은, 상기 배치 요구에 응답하여, 상기 제1 세트의 서비스들을 제공하는, 부분 이미지를 포함하는 제1 VM 이미지 복사본을 배치하도록 구성되고; 그리고
    상기 프로세서는 상기 제1 VM으로 처리하기 위해 제출되는 서비스 요구들을 관리하도록 구성되며, 상기 제1 세트의 서비스들과 관련된 서비스 요구들은 상기 제1 컴퓨팅 시스템에 의해서 처리되고, 그리고 기타 서비스 요구들은 제2 컴퓨팅 시스템으로 전달되는, 가상 머신의 배치 관리 시스템.
  9. 제8항에 있어서, 상기 제1 컴퓨팅 시스템은 상기 VM 이미지가 상기 제1 저장 매체로 완전히 복사된 후 상기 VM 이미지의 완전한 복사본을 배치하도록 구성되고, 그리고 상기 프로세서는 상기 제1 컴퓨팅 시스템이 상기 VM 이미지의 완전한 복사본을 배치한 후 상기 제1 VM으로 처리하기 위해 제출되는 서비스 요구들을 관리하는 것을 중단하도록 구성되는, 가상 머신의 배치 관리 시스템.
  10. 컴퓨터 판독 가능 프로그램을 갖는 비일시적인 데이터 저장 매체로서, 상기 컴퓨터 판독 가능 프로그램은, 컴퓨터 상에서 실행될 때, 컴퓨터가 방법을 수행하도록 구성되고, 상기 방법은:
    제1 컴퓨팅 시스템에 제1 VM을 배치하기 위한 요구에 응답하여, 상기 제1 컴퓨팅 시스템에 근접하여 위치하는(local) 제1 저장 매체로 원격으로 위치하고 있는 제2 저장 매체에 저장되어 있는 VM 이미지를 복사하는 단계;
    상기 VM을 배치하기 위해 상기 제1 컴퓨팅 시스템과 복수의 잠재적 임시 호스트들(a plurality of temporary hosts) 사이에서 네트워크와 저장 접속성(storage connectivity)을 분석하는 단계;
    상기 제1 컴퓨팅 시스템과 상기 잠재적 임시 호스트들 사이에서 네트워크와 저장 접속성을 분석한 결과에 따라, 상기 잠재적 임시 호스트들로부터 상기 VM 이미지의 제2 복사본을 배치하기 위해 제2 컴퓨팅 시스템을 선택하는 단계;
    상기 제1 컴퓨팅 시스템과 상기 제2 컴퓨팅 시스템 사이에서 통신 대역폭을 분석하고, 따라서 제1 세트의 서비스들에 포함될 서비스들을 선택하는 단계;
    상기 VM 이미지를 복사하는 동안, 상기 제1 컴퓨팅 시스템 상에, 상기 제1 세트의 서비스들을 제공하는, 부분 이미지를 포함하는 제1 VM 이미지 복사본을 배치하는 단계;
    서비스 요구들이 상기 제1 세트의 서비스들과 관련이 있는지를 결정하기 위해, 상기 제1 VM으로 처리하기 위해 제출되는 서비스 요구들을 관리하는 단계; 및
    상기 제1 세트의 서비스들과 관련된 서비스 요구들은 상기 제1 컴퓨팅 시스템 상의 상기 VM 이미지의 배치된 제1의, 부분, 복사본으로 송신하고, 그리고 제2 세트의 서비스들과 관련된 서비스 요구들은 제2 VM으로 전달하는 단계를 포함하는, 비일시적인 데이터 저장 매체.
KR1020100118133A 2009-12-13 2010-11-25 네트워크 환경에서의 가상 머신의 원격 배치 관리 방법 KR101720343B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/636,742 2009-12-13
US12/636,742 US8850426B2 (en) 2009-12-13 2009-12-13 Managing remote deployment of a virtual machine and service request to be processed by the virtual machines based on network bandwith and storage connectivity

Publications (2)

Publication Number Publication Date
KR20110067081A KR20110067081A (ko) 2011-06-21
KR101720343B1 true KR101720343B1 (ko) 2017-03-27

Family

ID=44131049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100118133A KR101720343B1 (ko) 2009-12-13 2010-11-25 네트워크 환경에서의 가상 머신의 원격 배치 관리 방법

Country Status (5)

Country Link
US (1) US8850426B2 (ko)
JP (1) JP5695404B2 (ko)
KR (1) KR101720343B1 (ko)
CN (1) CN102098171B (ko)
TW (1) TW201120753A (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US8301700B1 (en) * 2010-08-06 2012-10-30 Open Invention Network Llc System and method for event-driven live migration of multi-process applications
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US8726275B2 (en) * 2009-12-18 2014-05-13 International Business Machines Corporation Selective partial cloning of virtual machines in a virtual computing environment
US8473587B1 (en) 2010-05-20 2013-06-25 Gogrid, LLC System and method for caching server images in a hosting system
US8826272B2 (en) * 2010-11-29 2014-09-02 International Business Machines Corporation Planning a reliable migration in a limited stability virtualized environment
US9326001B2 (en) * 2011-03-22 2016-04-26 International Business Machines Corporation Scalable image distribution in virtualized server environments
JP5720483B2 (ja) 2011-08-11 2015-05-20 富士通株式会社 移行プログラム、移行装置、および移行方法
US10310879B2 (en) * 2011-10-10 2019-06-04 Nvidia Corporation Paravirtualized virtual GPU
TWI453669B (zh) * 2011-12-21 2014-09-21 Inventec Corp 虛擬機器遷移方法與雲端伺服系統
CN102893229B (zh) 2011-12-29 2013-12-04 华为技术有限公司 一种节能监控方法以及设备
US20130290952A1 (en) * 2012-04-25 2013-10-31 Jerry W. Childers, JR. Copying Virtual Machine Templates To Cloud Regions
US9135045B2 (en) 2012-05-29 2015-09-15 International Business Machines Corporation Generating user-requested virtual machine templates from super virtual machine templates and cacheable patches
US10387201B2 (en) * 2012-06-26 2019-08-20 Vmware, Inc. Storage performance-based virtual machine placement
US8990798B2 (en) * 2012-09-28 2015-03-24 Sap Ag Software appliance installation systems and methods
US9298491B2 (en) * 2013-06-25 2016-03-29 Vcumulus Limited System and method for live conversion and movement of virtual machine image and state information between hypervisors
TWI573024B (zh) * 2013-07-23 2017-03-01 中華電信股份有限公司 雲端自動同步系統與雲端自動同步方法
US9509626B2 (en) * 2013-10-17 2016-11-29 Ciena Corporation Method and apparatus for provisioning a virtual machine (VM) from a network service provider
JP6393612B2 (ja) 2014-12-26 2018-09-19 株式会社日立製作所 システムのバックアップ装置及びバックアップ方法
JP6476932B2 (ja) 2015-02-02 2019-03-06 富士通株式会社 ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法
KR101669567B1 (ko) 2015-04-27 2016-10-27 울산과학기술원 가상 머신의 배치를 관리하는 방법
US11120892B2 (en) 2015-06-18 2021-09-14 Amazon Technologies, Inc. Content testing during image production
JP2017033375A (ja) * 2015-08-04 2017-02-09 富士通株式会社 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
US10013265B2 (en) * 2016-06-23 2018-07-03 International Business Machines Corporation Management of container host clusters
CN106982244B (zh) * 2016-12-30 2020-10-23 中国银联股份有限公司 在云网络环境下实现动态流量的报文镜像的方法和装置
CN108345490B (zh) * 2017-01-24 2021-04-09 华为技术有限公司 一种nfv中部署虚拟机的方法和系统
KR101886317B1 (ko) 2017-04-28 2018-08-08 울산과학기술원 가상 머신 배치 선택 장치 및 방법
US20190273779A1 (en) * 2018-03-01 2019-09-05 Hewlett Packard Enterprise Development Lp Execution of software on a remote computing system
CN111045822B (zh) * 2019-12-07 2023-12-29 深圳先进技术研究院 一种移动云计算中的服务迁移方法、系统及终端设备
US11841772B2 (en) * 2021-02-01 2023-12-12 Dell Products L.P. Data-driven virtual machine recovery

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133894A (ja) 2002-07-11 2004-04-30 Microsoft Corp 仮想マシンをフォークまたはマイグレートするための方法
US20050060590A1 (en) 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
JP2007066265A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機装置及び仮想マシン提供方法
US20070300220A1 (en) 2006-06-23 2007-12-27 Sentillion, Inc. Remote Network Access Via Virtual Machine

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6874020B1 (en) * 2000-08-28 2005-03-29 International Business Machines Corporation System uses application manager and master agent to communicate with mini-agents for remotely managing application resources distributed across multiple Java virtual machines
US6895444B1 (en) * 2000-09-15 2005-05-17 Motorola, Inc. Service framework with local proxy for representing remote services
JP3687587B2 (ja) * 2001-03-27 2005-08-24 ソニー株式会社 データ処理システム及びデータ処理方法、情報処理装置及び情報処理方法、並びにコンピュータ・ソフトウェア
JP2002318862A (ja) * 2001-04-19 2002-10-31 Nippon Telegr & Teleph Corp <Ntt> クラスタリングサービス提供方式
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US20060107269A1 (en) * 2004-11-17 2006-05-18 International Business Machines Corporation Virtual device hub
US7849462B2 (en) * 2005-01-07 2010-12-07 Microsoft Corporation Image server
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
EP2037362A4 (en) * 2006-05-24 2012-04-18 Nec Corp ADMINISTRATIVE APPROACH FOR VIRTUAL MACHINES, METHOD FOR MANAGING A VIRTUAL MACHINE AND PROGRAM
US8667500B1 (en) * 2006-10-17 2014-03-04 Vmware, Inc. Use of dynamic entitlement and adaptive threshold for cluster process balancing
US20100088699A1 (en) * 2007-03-27 2010-04-08 Takayuki Sasaki Virtual machine operation system, virtual machine operation method and program
JP2009223778A (ja) * 2008-03-18 2009-10-01 Hitachi Software Eng Co Ltd 仮想マシンイメージによるプログラム配布装置
US8473594B2 (en) * 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
US8005991B2 (en) * 2008-08-15 2011-08-23 Dell Products, Lp Virtual machine image management system and methods thereof
US8336079B2 (en) * 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US7904540B2 (en) * 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
US8296419B1 (en) * 2009-03-31 2012-10-23 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US8464267B2 (en) * 2009-04-10 2013-06-11 Microsoft Corporation Virtual machine packing method using scarcity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133894A (ja) 2002-07-11 2004-04-30 Microsoft Corp 仮想マシンをフォークまたはマイグレートするための方法
US20050060590A1 (en) 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
JP2007066265A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機装置及び仮想マシン提供方法
US20070300220A1 (en) 2006-06-23 2007-12-27 Sentillion, Inc. Remote Network Access Via Virtual Machine

Also Published As

Publication number Publication date
US20110145816A1 (en) 2011-06-16
JP5695404B2 (ja) 2015-04-08
JP2011123891A (ja) 2011-06-23
CN102098171A (zh) 2011-06-15
KR20110067081A (ko) 2011-06-21
CN102098171B (zh) 2014-08-27
US8850426B2 (en) 2014-09-30
TW201120753A (en) 2011-06-16

Similar Documents

Publication Publication Date Title
KR101720343B1 (ko) 네트워크 환경에서의 가상 머신의 원격 배치 관리 방법
US10140115B2 (en) Applying update to snapshots of virtual machine
US10200471B2 (en) Workload migration across a hybrid network
JP5689475B2 (ja) ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード)
US10298670B2 (en) Real time cloud workload streaming
US9753669B2 (en) Real time cloud bursting
US9984648B2 (en) Delivering GPU resources to a migrating virtual machine
US10417027B1 (en) Virtual machine proxy server for hyper-V image backup and recovery
US9330013B2 (en) Method of cloning data in a memory for a virtual machine, product of computer programs and computer system therewith
US9942323B2 (en) Workload migration across a hybrid network
US20180101452A1 (en) Memory first live snapshot
US9015705B2 (en) Computing device having a migrated virtual machine accessing physical storage space on another computing device
US9733964B2 (en) Live snapshot of a virtual machine
US20150205542A1 (en) Virtual machine migration in shared storage environment
JP2008287631A (ja) デプロイ対象計算機、デプロイメントシステムおよびデプロイ方法
US10635482B2 (en) Controlling usage of virtual disks before their attachment to virtual machines
US20210055946A1 (en) Minimizing downtime when importing virtual machines from other platforms
EP2466459A1 (en) Seamless application integration apparatus and method
US10585690B2 (en) Online promote disk using mirror driver
JP2011248742A (ja) ストレージ管理システム、及び管理計算機、並びにプログラム
KR101460452B1 (ko) 하이버네이션 기반 스냅샷 이미지 생성 장치 및 방법

Legal Events

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

Payment date: 20200227

Year of fee payment: 4