KR101489466B1 - 프로세스 마이그레이션을 관리하는 장치 및 방법 - Google Patents

프로세스 마이그레이션을 관리하는 장치 및 방법 Download PDF

Info

Publication number
KR101489466B1
KR101489466B1 KR1020080128533A KR20080128533A KR101489466B1 KR 101489466 B1 KR101489466 B1 KR 101489466B1 KR 1020080128533 A KR1020080128533 A KR 1020080128533A KR 20080128533 A KR20080128533 A KR 20080128533A KR 101489466 B1 KR101489466 B1 KR 101489466B1
Authority
KR
South Korea
Prior art keywords
virtual machine
migration
information
namespace
resource
Prior art date
Application number
KR1020080128533A
Other languages
English (en)
Other versions
KR20100069968A (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 KR1020080128533A priority Critical patent/KR101489466B1/ko
Priority to US12/546,961 priority patent/US8458696B2/en
Publication of KR20100069968A publication Critical patent/KR20100069968A/ko
Priority to US13/891,423 priority patent/US9477499B2/en
Application granted granted Critical
Publication of KR101489466B1 publication Critical patent/KR101489466B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • G06F16/8358Query translation
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • 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/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

OS 가상화 특징을 고려하여 프로세스 마이그레이션을 수행하는 프로세스 마이그레이션 관리 장치 및 방법이 개시된다. 일 실시예에 따르면, 프로세스 마이그레이션 요청에 기초하여 소스 버추얼 머신의 프로세스가 타겟 버추얼 머신으로 마이그레이션이 수행되어야 하고, 소스 버추얼 머신 및 타겟 버추얼 머신이 동일한 OS 상에서 존재하는 경우, 버추얼 머신 정보 데이터베이스 및 네임스페이스 라우터 테이블에 포함된 정보를 업데이트함으로써 논리적 마이그레이션을 수행한다.
버추얼 머신, 네임스페이스 가상화, OS 가상화, 프로세스 마이그레이션

Description

프로세스 마이그레이션을 관리하는 장치 및 방법{Apparatus and method for managing process migration}
본 발명의 하나 이상의 양상은 가상화 기술에 관한 것으로, 더욱 상세하게는 OS 가상화에서 이용되는 프로세스 마이그레이션 기술에 관한 것이다.
최근, 사용자의 컴퓨터에 설치된 응용 프로그램 또는 운영체제를 다른 컴퓨터에서도 사용 가능하도록 하는 기술이 활발히 연구되는 추세이다. 예를 들어, 프로세스 마이그레이션(Process Migration) 기술, 서버 관리자에 의한 패키징 기술, OS(Operating System) 가상화 기술 등이 있다.
OS 가상화 기술은 시스템 가상화 기술과는 달리 컴퓨터의 운영체제와 사용자 응용 프로그램 사이에 가상 OS 계층을 설치하여 가상 OS 계층과 사용자 응용 프로그램, 데이터만을 저장 및 마이그레이션함으로써 다른 컴퓨터에서도 동일한 컴퓨팅 환경을 보장하는 방법이다. 이러한 OS 가상화 기술은 하드웨어 가상화에 비하여 경량화된 마이그레이션을 지원하며, 유틸리티 컴퓨팅(Utility Computing)이나 클라우드 컴퓨팅(Cloud Computin) 등 사용자에게 애플리케이션을 서비스 형태로 제공하는 환경에서 서비스 업자의 자원을 효율적으로 관리할 수 있는 필수적인 기술로 자 리매김하고 있다.
OS 가상화 특징을 고려하여 프로세스 마이그레이션을 수행하는 프로세스 마이그레이션 관리 장치 및 방법을 제안한다.
일 양상에 따른 프로세스 마이그레이션을 관리하는 장치는, 하나의 OS상에서 실행되는 적어도 하나의 버추얼 머신의 정보를 포함하는 버추얼 머신 정보 데이터베이스; 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보를 포함하는 네임스페이스 라우터 테이블; 및 프로세스 마이그레이션 요청에 기초하여 소스 버추얼 머신의 프로세스가 동일한 OS상의 타겟 버추얼 머신으로 마이그레이션이 수행되어야 하는 경우, 버추얼 머신 정보 데이터베이스 및 네임스페이스 라우터 테이블에 포함된 정보를 업데이트함으로써 논리적 마이그레이션을 수행하는 마이그레이션 관리부를 포함한다.
버추얼 머신 정보 데이터베이스는 버추얼 머신별로 버추얼 머신의 네임스페이스 정보, 버추얼 머신에서 동작중인 프로세스의 프로세스 ID 리스트, 프로세스 ID에 대응하는 프로세스의 속성 정보를 포함한다. 프로세스 ID에 대응하는 프로세스의 속성 정보는 프로세스가 마이그레이션된 프로세스인지를 나타내는 정보를 포함한다.
마이그레이션 관리부는 소스 버추얼 머신에서 수행되는 대상 프로세스가 동 일한 OS상에 존재하는 타겟 버추얼 머신으로 마이그레이션되어야 하는 경우, 버추얼 머신 정보 데이터베이스에서, 마이그레이션이 수행될 프로세스의 프로세스 ID를 소스 버추얼 머신의 프로세스 ID 리스트로부터 삭제하고, 타겟 버추얼 머신의 프로세스 ID 리스트에 추가하고, 프로세스 ID에 해당하는 속성 정보를 마이그레이션이 수행되었음을 나타내는 정보로 변경한다.
네임스페이스 라우터 테이블에 저장되는 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보는, 자원의 핸들 정보 및 마이그레이션 전 버추얼 머신 식별 정보를 포함한다.
마이그레이션이 수행된 프로세스의 자원 접근 요청이 마이그레이션 수행 전에 접근한 자원에 대한 요청인 경우, 마이그레이션 관리부는 네임스페이스 라우터 테이블에 포함된 마이그레이션 전 버추얼 머신 식별 정보를 참조하여 프로세스가 이전 버추얼 머신의 네임스페이스를 이용하여 요청한 자원에 접근하도록 제어한다.
다른 양상에 따른 프로세스 마이그레이션을 관리하는 방법은, 소스 버추얼 머신으로부터 타겟 버추얼 머신으로의 프로세스 마이그레이션 요청을 수신하는 단계; 소스 버추얼 머신 및 타겟 버추얼 머신이 동일한 OS 상에서 존재하는지 여부를 결정하는 단계; 및 소스 버추얼 머신 및 타겟 버추얼 머신이 동일한 OS 상에서 존재하는 것으로 결정되는 경우, 하나의 OS상에서 실행되는 적어도 하나의 버추얼 머신의 정보를 포함하는 버추얼 머신 정보 데이터베이스 및 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보를 포함하는 네임스페이스 라우터 테이블을 업데이트함으로써 프로세스 마이그레이션을 수행하는 단계;를 포함한다.
OS 가상화를 이용하는 컴퓨팅 환경에서, OS 가상화의 특징을 고려하여 동일한 OS상에서 프로세스 마이그레이션이 이루어지는 경우에 최소한의 비용으로 효율적인 프로세스 마이그레이션을 달성할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 일 실시예에 따른 프로세스 마이그레이션 환경을 나타내는 도면이다.
도 1의 프로세스 마이그레이션이 수행될 수 있는 시스템의 구조는 하드웨어 계층(110), 운영체제(OS) 계층(120), OS 가상화 계층(130) 및 사용자 응용 프로그램 계층(140)을 포함한다.
OS 가상화 기술을 이용하여 시스템 운용체제의 저장없이, OS 가상화 계층(130)과 사용자 응용 프로그램 계층(140)의 데이터 저장만으로 다른 컴퓨터에서 사용자가 사용하던 동일한 컴퓨팅 환경을 사용할 수 있다.
컴퓨터 시스템에서 OS 가상화 계층(130)은 사용자 응용 프로그램 계층(140) 의 애플리케이션들이 실제 하나의 OS 이미지(OS image)를 가지지만 많은 OS를 가진 환경에서와 같이 동작하도록 한다. 도 1을 참조하면, 버추얼 머신 1(142) 및 버추얼 머신 2(144)는 네임스페이스 가상화(namespace virtualization) 기술을 이용하여 서로 다른 OS 상에서 동작하는 것처럼 동작한다. 도 1에는 2개의 버추얼 머신이 도시되어 있으나, 하나의 OS상에서 동작하는 버추얼 머신의 개수에는 제한이 없다.
애플리케이션 계층(140)은 시스템 자원에 네임과 핸들을 이용하여 접근한다. 즉, 시스템 자원을 생성하거나 오픈(또는 접근)할 때 이름을 가지고 접근하여 OS(120)로부터 핸들을 얻은 후 핸들을 이용하여 시스템 자원에 접근한다. 네임스페이스 가상화 기술은 모든 시스템 자원 예를 들어, 파일, 레지스트리, 커널 오브젝트, 네트워크 어드레스 등을 리네이밍(renameing)함으로써 자원을 각 버추얼 머신들이 시스템 자원에 접근하도록 한다. 자원 리네이밍을 통해서 예를 들어 버추얼 머신 1(142)에서 프로세스들에 보이는 네임스페이스 1(20)는 버추얼 머신 2(144)에서의 프로세스들에 보이는 네임스페이스 2(22)와 분리되는 것이 보장된다.
예를 들어, 버추얼 머신 1(142)이 /a/b에 위치한 파일에 접근하려고 하는 경우, OS 가상화 계층(130)은 /a/b에 대한 접근을 /vm1/a/b에 위치한 파일에 대한 접근으로 리다이렉트한다. 버추얼 머신 2(144)이 /a/b에 위치한 파일에 접근하려고 하는 경우, OS 가상화 계층(130)은 /a/b에 대한 접근을 /vm1/a/b과는 다른 /vm2/a/b에 위치한 파일에 대한 접근으로 리다이렉트한다. 여기에서, 자원 리네이밍시 이용되는 vm1, vm2와 같은 정보가 네임스페이스 정보이다. 이와 같은 네임스 페이스 가상화 기술에 의하여 버추얼 머신들은 각각 자원 생성, 읽기, 쓰기, 삭제 등 다양한 동작을 수행하게 된다.
도 2는 다른 실시예에 따른 프로세스 마이그레이션 환경을 나타내는 도면이다.
도 2의 프로세스 마이그레이션이 수행될 수 있는 시스템의 구조는 하드웨어 계층(110), 하드웨어 가상화 계층(150), 운영체제(OS) 계층(120), OS 가상화 계층(130) 및 사용자 응용 프로그램 계층(140)을 포함한다. 도 2의 시스템 구조는 하드웨어 가상화 계층(150)이 더 포함되어, 하드웨어 가상화 계층(150)의 OS 계층(120)이 하드웨어들(110)이 복수 개의 하드웨어인 것처럼 이용할 수 있도록 한다. 도 2의 시스템 구조에서도 OS 가상화 계층(130)이 있으므로, 버추얼 머신(142, 144)들이 시스템 자원에 접근하기 위하여 도 1을 참조하여 설명한 바와 같이 네임스페이스 가상화 기술이 이용될 수 있다.
도 1 및 도 2와 같은 시스템 환경에서 버추얼 머신 1(142)에서 버추얼 머신(144)으로 화살표(A)로 도시된 바와 같이 프로세스(10)가 마이그레이션되는 경우, 프로세스(10) 입장에서는 다른 버추얼 머신으로의 이동으로 인하여 마이그레이션이 이루어지지만 실제 프로세스에게 시스템 서비스를 제공하는 OS(120) 입장에서는 마이그레이션 전과 후가 동일한 상황이 된다.
체크포인트/리스타트(checkpoint/restart) 기법, 라이브 마이그레이션(Live migration)과 같은 통상적인 프로세스 마이그레이션 기법은 프로세스 마이그레이션을 위해서 실제로 프로세스들이 네트워크상에서 이동되거나 다른 저장매체로 이동 되는 것과 같은 물리적인 이동을 전제로 하고 있다.
예를 들어, 체크포인트/리스타트 기법은 다음과 같은 방식으로 프로세스 마이그레이션을 수행한다. 우선, 마이그레이션 대상이 되는 프로세스(이하에서, 프로세스 #1이라 함)를 중지(suspend)하고 프로세스 #1와 관련된 상태(state)를 저장한다. 프로세스 #1을 죽인다(kill). 프로세스 #1의 실행 이미지와 저장된 상태를 네트워크나 저장장치를 통하여 다른 컴퓨터로 이동시킨다. 이동된 컴퓨터에서 새로운 프로세스를 생성(creat)하고 저장된 상태(state)를 통해 생성된 프로세스와 관련된 상태를 변경한 후 프로세스를 시작(resume)한다. 결과적으로 프로세스 #1의 프로세스 마이그레이션이 수행된다.
따라서, 도 1 및 도 2를 참조하여 설명한 바와 같이 동일한 OS상에서 프로세스 마이그레이션이 일어나는 경우에는 통상의 프로세스 마이그레이션 기법을 적용하면 불필요한 오버헤드 예를 들어, 프로세스를 죽이고, 상태를 저장하고 로드하며, 프로세스를 다시 생성하는 등의 오버헤드를 발생시키게 된다.
도 3은 일 실시예에 따른 프로세스 마이그레이션 관리 장치를 나타내는 블록도이다.
일 실시예에 따른 마이그레이션 장치는 마이그레이션 관리부(310), 버추얼 머신 정보 데이터베이스(320) 및 네임스페이스 라우터 테이블(330)을 포함한다.
마이그레이션 관리부(310)는 프로세스 마이그레이션이 일 실시예에 따라 효율적으로 이루어지도록 관리한다. 일 실시예에 따르면, 마이그레이션 관리부(310)는 프로세스 마이그레이션이 동일한 OS 상의 다른 버추얼 머신으로 이동되는지 여 부에 기초하여 마이그레이션이 이루어지도록 관리한다.
버추얼 머신 정보 데이터베이스(320, 이하에서는 VM 정보 DB라 약칭함)은 하나의 OS상에서 실행되는 적어도 하나의 버추얼 머신의 정보를 포함한다. 버추얼 머신 정보는 해당 버추얼 머신의 네임 스페이스 정보 및 프로세스 정보를 포함한다.
상세하게는, VM 정보 DB(320)는 버추얼 머신별로 버추얼 머신의 네임스페이스 정보, 버추얼 머신에서 동작중인 프로세스의 프로세스 ID 리스트, 프로세스 ID에 대응하는 프로세스의 속성 정보를 포함한다. 프로세스 ID에 대응하는 프로세스의 속성 정보는 프로세스가 마이그레이션된 프로세스인지를 나타내는 정보를 포함한다. 프로세스 속성 정보 예를 들어 <Migrated>, <Native>와 같이 표시될 수 있다. <Migrated>는 마이그레이션이 수행된 프로세스임을 나타내고, <Native>는 마이그레이션이 수행되지 않은 원래의 프로세스임을 나타낸다. 부가하여, 응용 예에 따라 버추얼 머신 정보는 IP 어드레스, 자원 할당 및 네트워크 액세스에 대한 정책 정보 등 다양한 정보를 포함할 수 있다.
네임스페이스 라우터 테이블(330)은 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보를 포함한다. 적어도 하나의 자원에 대한 정보는 자원의 핸들 정보 및 해당 프로세스가 마이그레이션 전 속해있던 버추얼 머신(또는 소스 버추얼 머신) 식별 정보를 포함한다. 네임스페이스 라우터 테이블(330)은 프로세스 마이그레이션이 발생할 때마다 업데이트될 수 있다.
일 실시예에 따르면, 프로세스 마이그레이션 요청에 기초하여 소스 버추얼 머신의 프로세스가 타겟 버추얼 머신으로 마이그레이션이 수행되어야 하는 경우, 마이그레이션 관리부(310)는 소스 버추얼 머신 및 타겟 버추얼 머신이 동일한 OS 상에서 존재하는지 결정한다. 마이그레이션 관리부(310)는 소스 버추얼 머신 및 타겟 버추얼 머신이 동일한 OS 상에서 존재하는 것으로 결정되는 경우, 버추얼 머신 정보 데이터베이스 및 네임스페이스 라우터 테이블에 포함된 정보를 업데이트함으로써 논리적 마이그레이션을 수행한다.
도 3을 참조하면, 마이그레이션 관리부(310)는 제어부(312), 네임스페이스 변환부(315) 및 네임스페이스 라우터(316)를 포함할 수 있으며, 제어부(312)는 마이그레이션 명령 인터프리터(313) 및 마이그레이션 결정부(314)를 포함할 수 있다.
마이그레이션 명령 인터프리터(313)는 마이그레이션 요청 정보를 사용자의 명령을 통해 수신하고, 마이그레이션 요청 정보를 해석한다. 마이그레이션 요청 정보는 기본적으로 현재 프로세스에 대한 프로세스 식별 정보(ID), 현재 프로세스가 속한 버추얼 머신 정보(또는 소스 버추얼 머신 정보), 마이그레이션이 수행될 버추얼 머신의 정보(또는 타겟 버추얼 머신 정보)를 포함할 수 있다.
마이그레이션 결정부(314)는 마이그레이션이 수행될 프로세스가 동일한 OS 상의 다른 버추얼 머신으로 이동되는지 여부를 결정하고, 결정에 기초하여 마이그레이션 수행 방법을 결정한다. 마이그레이션 결정부(314)는 마이그레이션할 버추얼 머신이 VM 정보 DB(320)에 있는지 검사하여 동일 OS 내의 마이그레이션인지 결정할 수 있다. 전술한 바와 같이 VM 정보 DB(320)는 동일한 하나의 OS 상의 VM 정 보를 저장하고 있다.
마이그레이션 결정부(314)는 수행될 프로세스 마이그레이션이 동일 OS상에서 이루어진다고 결정되는 경우 일 실시예에 따른 논리적 마이그레이션을 수행하는 것으로 결정하다. 또는, 마이그레이션 결정부(314)는 VM 정보 DB(320)에 존재하지 않는 경우에는 다른 OS로 통상의 프로세스 마이그레이션 기법에 의한 마이그레이션 작업을 수행한다.
네임스페이스 변환부(315)는 네임스페이스 가상화에 따른 애플리케이션 프로세스의 자원 접근을 관리한다. 일 실시예에 따르면, 네임스페이스 변환부(315)는 프로세스가 자원 접근을 요청하는 경우, VM 정보 DB(320)를 참고하여 자원 접근을 요청한 프로세스가 속한 버추얼 머신을 확인하고, 확인된 버추얼 머신의 네임스페이스 정보를 이용하여 프로세스가 자원에 접근하도록 제어한다.
네임스페이스 라우터(316)는 마이그레이션이 수행된 프로세스가 이전에 속해 있던 버추얼 머신에서 오픈했던 자원에 접근하는 경우, 현재 속해 있는 버추얼 머신의 네임스페이스를 사용하지 않고 라우팅 테이블을 참고하여 마이그레이션 이전 버추얼 머신의 네임스페이스에 접근하도록 하는 네임스페이스 라우팅을 수행한다. 도 1 및 도 2에서 화살표(B)는 일 실시예에 따른 네임스페이스 라우팅을 나타낸다.
제어부(312)는 소스 버추얼 머신에서 수행되는 대상 프로세스가 동일한 OS상에 존재하는 타겟 버추얼 머신으로 마이그레이션하는 경우, VM 정보 DB(320)에서, 마이그레이션이 수행된 프로세스의 프로세스 ID를 소스 버추얼 머신의 프로세스 ID리스트로부터 삭제하고 타겟 버추얼 머신의 프로세스 ID 리스트에 추가하고, 프로 세스 ID에 해당하는 속성 정보를 마이그레이션이 수행되었음을 나타내는 정보로 변경한다. 예를 들어, 마이그레이션이 수행된 프로세스의 속성 정보는 <Native>에서 <Migrated>로 변경될 수 있다.
네임스페이스 라우터 테이블(330)에 저장되는 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보는, 자원의 핸들 정보 및 마이그레이션 전 해당 프로세스가 속해있던 버추얼 머신 식별 정보를 포함한다. 추가적으로, 자원에 대한 정보는 마이그레이션 후 버추얼 머신 식별 정보가 더 포함될 수 있다.
제어부(312)는 대상 프로세스가 타겟 버추얼 머신으로 마이그레이션이 수행된 경우, 마이그레이션이 수행된 프로세스의 자원 접근 요청을 감시한다. 마이그레이션 결정부(314)는 프로세스의 자원 접근 요청이 마이그레이션 수행 전에 접근한 자원에 대한 요청인 경우 네임스페이스 라우터(316)가 네임스페이스 라우터 테이블(330)을 참조하여 프로세스가 이전 버추얼 머신의 네임스페이스에 포함된 자원에 접근하도록 제어한다.
일 실시예에 따르면, 동일 OS 내에서 프로세스 마이그레이션이 발생하는 경우에도 통상적인 체크 포인트/리스타트 방법을 이용하지 않고, 각 버추얼 머신(OS 환경) 환경을 구분짓는 논리적인 요소인 네임스페이스를 고려하여 수행한다. 따라서, OS 가상화를 이용하는 컴퓨팅 환경에서, OS 가상화의 특징을 고려하여 동일한 OS상에서 프로세스 마이그레이션이 이루어지는 경우에 최소한의 비용으로 효율적인 프로세스 마이그레이션을 달성할 수 있다.
도 4는 일 실시예에 따른 버추얼 머신 정보 데이터베이스에서 관리되는 정보를 나타내는 도면이다.
VM 정보 DB(320)는 동일한 OS위에서 존재하는 여러 개의 버추얼 머신 정보를 저장한다. 버추얼 머신 정보는 버추얼 머신 내에서 동작중인 프로세스에 대한 프로세스 ID의 리스트, 각 프로세스 속성, 해당 버추얼 머신의 네임스페이스 정보를 포함한다. 도 4를 참조하면, 버추얼 머신 #1에는 프로세스 #1 및 프로세스 #2가 속해있음이 도시되고 있다.
도 5는 일 실시예에 따른 네임스페이스 라우터 테이블에서 관리되는 정보를 나타내는 도면이다.
네임스페이스 라우터 테이블(330)은 해당 프로세스가 오픈한 모든 자원에 대한 핸들 및 마이그레이션 전에 속해 있던 버추얼 머신(또는 소스 VM) ID를 포함한다.
도 6은 일 실시예에 따른 프로세스 마이그레이션 관리 방법은 나타내는 순서도이다.
사용자의 마이그레이션 요청을 수신하고 요청 내용을 분석한다(S 610). 마이그레이션 요청에는 프로세스 ID, 소스 버추얼 머신 ID 및 목적 버추얼 머신 ID이 포함될 수 있다.
프로세스 마이그레이션이 동일한 OS 상에서의 마이그레이션인지 여부를 판단한다(S 620). 소스 버추얼 머신 ID가 존재하는 VM 정보 데이터베이스(320)에 목적 버추얼 머신 ID가 존재하는 경우(S 620), 동일한 OS 내의 마이그레이션으로 결정될 수 있다.
해당 목적 버추얼 머신이 동일한 OS 상에 존재하는 것으로 결정되면(S 620), 소스 버추얼 머신에서 수행되던 프로세스를 목적 버추얼 머신으로 논리적 마이그레이션을 수행한다(S 630). 해당 목적 버추얼 머신 ID가 동일한 OS 상에 존재하지 않는 것으로 결정되면(S 620), 다른 통상의 프로세스 마이그레이션 방법 예를 들어 체크포인트/리스타트 기법의 프로세스 마이그레이션을 수행한다(S 640).
도 7은 일 실시예에 따른 논리적 프로세스 마이그레이션 방법을 설명하기 위한 순서도이다.
해당 목적 버추얼 머신이 동일한 OS 상에 존재하는 것으로 결정되면, 마이그레이션 대상 프로세스가 오픈한 자원들의 핸들을 네임스페이스 라우터 테이블(330)에 저장한다(S 710).
VM 정보 DB(320)에서는 소스 버추얼 머신 ID 내의 프로세스 리스트에서 해당 프로세스를 제거하고(S 720), 목적 버추얼 머신 ID 내의 프로세스 리스트에 해당 프로세스를 추가한다(S 730). 이 경우 해당 프로세스 속성은 <Migrated>로 바뀐다. VM 정보 DB(320) 및 네임스페이스 라우터 테이블(330)을 업데이트하는 단계 S 710 내지 S 730은 순서에 무관하게 수행될 수 있다. 마이그레이션 과정이 성공하면 프로세스가 이동된 OS가 마이그레이션된 프로세스에 석세스를 리턴한다(S 740).
도 8은 일 실시예에 따른 프로세스 마이그레이션 후 동작을 나타내는 순서도이다.
프로세스가 OS에 자원접근을 요청하면(S 810), 마이그레이션 관리부(310)는 자원접근 요청을 가로채어, 자원접근을 요청한 프로세스의 속성을 확인한다(S 820).
속성이 <Native>인 경우 해상 프로세스가 속한 버추얼 머신 정보를 바탕으로 네임스페이스 변환을 수행한다(S 840).
속성이 <Migrated>인 경우 요청한 자원이 네임스페이스 라우터 테이블(330)에 존재하는지 확인하여 오픈된 자원의 핸들인지 확인한다(S 850). 네임스페이스 라우터 테이블(330)에 존재하지 않는 경우에는 오픈된 자원의 핸들이 없으므로 네임스페이스 변환을 수행한다(S 840).
네임스페이스 라우터 테이블(330)에 존재하는 경우에는 네임스페이스 라우팅을 수행한다(S 860). 즉, 해당 버추얼 머신의 네임스페이스를 사용하지 않고 라우팅 테이블을 참고하여 이전 버추얼 머신을 확인하고 마이그레이션 이전 버추얼 머신의 네임스페이스를 접근하도록 한다. 따라서, 일 실시예에 따라 프로세스 마이그레이션이 일어난 경우, 이전 버추얼 머신에서 접근했던 자원과 동일한 자원을 요청하는 경우에 이전 버추얼 머신에서 이용하는 네임스페이스를 이용하여 자원에 접근할 수 있다. 따라서, 프로세스 마이그레이션이 수행되더라도 동일한 자원 접근 요청으로 이전에 접근한 자원에 접근할 수 있으므로 마이그레이션으로 중단했던 동작이 최소한의 비용으로 재수행될 수 있다.
OS는 프로세스가 요청한 자원 접근 요청에 대한 결과 값을 리턴한다(S 860).
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그 먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.
도 1은 일 실시예에 따른 프로세스 마이그레이션 환경을 나타내는 도면이고,
도 2는 다른 실시예에 따른 프로세스 마이그레이션 환경을 나타내는 도면이고,
도 3은 일 실시예에 따른 프로세스 마이그레이션 관리 장치를 나타내는 블록도이고,
도 4는 일 실시예에 따른 버추얼 머신 정보 데이터베이스에서 관리되는 정보를 나타내는 도면이고,
도 5는 일 실시예에 따른 네임스페이스 라우터 테이블에서 관리되는 정보를 나타내는 도면이고,
도 6은 일 실시예에 따른 프로세스 마이그레이션 관리 방법은 나타내는 순서도이고,
도 7은 일 실시예에 따른 논리적 프로세스 마이그레이션 방법을 나타내는 순서도이고,
도 8은 일 실시예에 따른 프로세스 마이그레이션 후 동작을 나타내는 순서도이다.

Claims (14)

  1. 프로세스 마이그레이션을 관리하는 장치에 있어서,
    하나의 OS상에서 실행되는 적어도 하나의 버추얼 머신의 정보를 포함하는 버추얼 머신 정보 데이터베이스;
    마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보를 포함하는 네임스페이스 라우터 테이블; 및
    프로세스 마이그레이션 요청에 기초하여 소스 버추얼 머신의 프로세스가 동일한 OS상의 타겟 버추얼 머신으로 마이그레이션이 수행되어야 하는 경우, 상기 버추얼 머신 정보 데이터베이스 및 상기 네임스페이스 라우터 테이블에 포함된 정보를 업데이트함으로써 논리적 마이그레이션을 수행하는 마이그레이션 관리부를 포함하는 장치.
  2. 제1항에 있어서,
    상기 버추얼 머신 정보 데이터베이스는 버추얼 머신별로 버추얼 머신의 네임스페이스 정보, 버추얼 머신에서 동작중인 프로세스의 프로세스 ID의 리스트, 상기 프로세스 ID에 대응하는 프로세스의 속성 정보를 포함하는 장치.
  3. 제2항에 있어서,
    상기 프로세스 ID에 대응하는 프로세스의 속성 정보는 상기 프로세스가 마이 그레이션된 프로세스인지를 나타내는 정보를 포함하는 장치.
  4. 제2항에 있어서,
    상기 마이그레이션 관리부는 상기 소스 버추얼 머신에서 수행되는 대상 프로세스가 동일한 OS상에 존재하는 타겟 버추얼 머신으로 마이그레이션되어야 하는 경우,
    상기 버추얼 머신 정보 데이터베이스에서, 상기 마이그레이션이 수행될 프로세스의 프로세스 ID를 상기 소스 버추얼 머신의 프로세스 ID 리스트로부터 삭제하고, 상기 타겟 버추얼 머신의 프로세스 ID 리스트에 추가하고, 상기 프로세스 ID에 해당하는 속성 정보를 마이그레이션이 수행되었음을 나타내는 정보로 변경하는 장치.
  5. 제1항에 있어서,
    상기 네임스페이스 라우터 테이블에 저장되는 상기 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보는, 자원의 핸들 정보 및 마이그레이션 전 버추얼 머신 식별 정보를 포함하는 장치.
  6. 제5항에 있어서,
    상기 마이그레이션이 수행된 프로세스의 자원 접근 요청이 마이그레이션 수행 전에 접근한 자원에 대한 요청인 경우, 상기 마이그레이션 관리부는 상기 네임 스페이스 라우터 테이블에 포함된 마이그레이션 전 버추얼 머신 식별 정보를 참조하여 상기 프로세스가 이전 버추얼 머신의 네임스페이스를 이용하여 요청한 자원에 접근하도록 제어하는 장치.
  7. 프로세스 마이그레이션을 관리하는 방법에 있어서,
    소스 버추얼 머신으로부터 타겟 버추얼 머신으로의 프로세스 마이그레이션 요청을 수신하는 단계;
    상기 소스 버추얼 머신 및 상기 타겟 버추얼 머신이 동일한 OS 상에서 존재하는지 여부를 결정하는 단계; 및
    상기 소스 버추얼 머신 및 상기 타겟 버추얼 머신이 동일한 OS 상에서 존재하는 것으로 결정되는 경우, 하나의 OS상에서 실행되는 적어도 하나의 버추얼 머신의 정보를 포함하는 버추얼 머신 정보 데이터베이스 및 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보를 포함하는 네임스페이스 라우터 테이블을 업데이트함으로써 프로세스 마이그레이션을 수행하는 단계;를 포함하는 방법.
  8. 제7항에 있어서,
    상기 버추얼 머신 정보 데이터베이스는 버추얼 머신별로 버추얼 머신의 네임스페이스 정보, 버추얼 머신에서 동작중인 프로세스의 프로세스 ID 리스트, 상기 프로세스 ID에 대응하는 프로세스의 속성 정보를 포함하는 방법.
  9. 제8항에 있어서,
    상기 프로세스 ID에 대응하는 프로세스의 속성 정보는 상기 프로세스가 마이그레이션된 프로세스인지를 나타내는 정보를 포함하는 방법.
  10. 제9항에 있어서,
    상기 버추얼 머신 정보 데이터베이스를 업데이트하는 단계는,
    상기 마이그레이션이 수행된 프로세스의 프로세스 ID를 상기 소스 버추얼 머신의 프로세스 ID 리스트로부터 삭제하고 상기 타겟 버추얼 머신의 프로세스 ID 리스트에 추가하고, 상기 프로세스 ID에 해당하는 속성 정보를 마이그레이션이 수행되었음을 나타내는 정보로 변경하는 방법.
  11. 제7항에 있어서,
    상기 네임스페이스 라우터 테이블에 저장되는 상기 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보는, 자원의 핸들 정보 및 마이그레이션 전 버추얼 머신 식별 정보를 포함하는 방법.
  12. 제11항에 있어서,
    상기 마이그레이션이 수행된 프로세스의 자원 접근 요청이 마이그레이션 수행 전에 접근한 자원에 대한 요청인 경우,
    상기 네임스페이스 라우터 테이블에 포함된 마이그레이션 전 버추얼 머신 식별 정보를 참조하여 상기 프로세스가 이전 버추얼 머신의 네임스페이스를 이용하여 요청한 자원에 접근하도록 제어하는 단계를 더 포함하는 방법.
  13. 제1항에 있어서,
    상기 마이그레이션 관리부는 상기 프로세스 마이그레이션 요청에 포함된 소스 버추얼 머신 정보와 타겟 버추얼 머신 정보가 상기 버추얼 머신 정보 데이터베이스에 존재하는지를 체크하여, 마이그레이션이 동일한 OS상에서 수행되어야 하는지를 결정하는 장치.
  14. 제1항에 있어서,
    상기 마이그레이션 관리부는 상기 소스 버추얼 머신의 프로세스가 다른 OA 상의 타겟 버추얼 머신으로 마이그레이션되어야 하는 경우, 체크포인트/리스타트(checkpoint/restart) 기법 및 라이브 마이그레이션(Live migration) 기법 중의 어느 하나의 프로세스 마이그레이션 기법을 사용하여 마이그레이션을 수행하는 장치.
KR1020080128533A 2008-12-17 2008-12-17 프로세스 마이그레이션을 관리하는 장치 및 방법 KR101489466B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080128533A KR101489466B1 (ko) 2008-12-17 2008-12-17 프로세스 마이그레이션을 관리하는 장치 및 방법
US12/546,961 US8458696B2 (en) 2008-12-17 2009-08-25 Managing process migration from source virtual machine to target virtual machine which are on the same operating system
US13/891,423 US9477499B2 (en) 2008-12-17 2013-05-10 Managing process migration from source virtual machine to target virtual machine which are on the same operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080128533A KR101489466B1 (ko) 2008-12-17 2008-12-17 프로세스 마이그레이션을 관리하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100069968A KR20100069968A (ko) 2010-06-25
KR101489466B1 true KR101489466B1 (ko) 2015-02-03

Family

ID=42241967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080128533A KR101489466B1 (ko) 2008-12-17 2008-12-17 프로세스 마이그레이션을 관리하는 장치 및 방법

Country Status (2)

Country Link
US (2) US8458696B2 (ko)
KR (1) KR101489466B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061875A (ko) * 2017-11-28 2019-06-05 한양대학교 에리카산학협력단 프로세스 라이브 마이그레이션 기술 최적화를 위한 자동화 기법
KR102120033B1 (ko) * 2019-01-23 2020-06-16 연세대학교 산학협력단 가상화 시스템의 메모리 관리 장치 및 그 방법

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745442B1 (en) 2011-04-28 2014-06-03 Open Invention Network, Llc System and method for hybrid kernel- and user-space checkpointing
US9354977B1 (en) * 2008-12-15 2016-05-31 Open Invention Network Llc System and method for hybrid kernel- and user-space incremental and full checkpointing
US9256496B1 (en) * 2008-12-15 2016-02-09 Open Invention Network, Llc System and method for hybrid kernel—and user-space incremental and full checkpointing
US10019327B1 (en) * 2008-12-15 2018-07-10 Open Invention Network Llc System and method for hybrid kernel- and user-space incremental and full checkpointing
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US8745233B2 (en) 2010-12-14 2014-06-03 International Business Machines Corporation Management of service application migration in a networked computing environment
KR101473317B1 (ko) 2010-12-23 2014-12-17 주식회사 케이티 클라우드 컴퓨팅 시스템 및 클라우드 컴퓨팅 시스템에서의 트래픽 분산 방법 및 제어 방법
US11625307B1 (en) 2011-04-28 2023-04-11 International Business Machines Corporation System and method for hybrid kernel- and user-space incremental and full checkpointing
US11307941B1 (en) 2011-04-28 2022-04-19 Open Invention Network Llc System and method for hybrid kernel- and user-space incremental and full checkpointing
KR101512714B1 (ko) * 2011-05-06 2015-04-23 주식회사 케이티 가상머신 디스크 마이그레이션 장치 및 그 방법
KR101650424B1 (ko) * 2011-09-13 2016-09-05 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 기점 가상 머신으로부터 목적지 가상 머신으로의 동작 전송
JP6244309B2 (ja) * 2012-01-27 2017-12-06 エンパイア テクノロジー ディベロップメント エルエルシー クラウドマイグレーション用パラメータ化動的モデル
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
GB2507779A (en) * 2012-11-09 2014-05-14 Ibm Terminating a virtual machine in response to user inactivity in a cloud computing environment
JP2014142720A (ja) * 2013-01-22 2014-08-07 Fujitsu Ltd 仮想マシン移動方法、情報処理装置及びプログラム
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
WO2014165538A2 (en) 2013-04-01 2014-10-09 Nebula, Inc. Update management for a distributed computing system
US9811364B2 (en) 2013-06-13 2017-11-07 Microsoft Technology Licensing, Llc Thread operation across virtualization contexts
US20140373009A1 (en) * 2013-06-13 2014-12-18 Microsoft Corporation Thread operation across virtualization contexts
US9870268B2 (en) * 2013-08-05 2018-01-16 Amazon Technologies, Inc. Virtual computing instance migration
US9298752B2 (en) * 2013-08-26 2016-03-29 Dropbox, Inc. Facilitating data migration between database clusters while the database continues operating
US9811375B2 (en) * 2014-04-30 2017-11-07 Vmware, Inc. Operating system migration while preserving applications, data, and settings
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
CN106774536A (zh) * 2015-11-23 2017-05-31 大唐移动通信设备有限公司 一种监控系统
US20180329700A1 (en) * 2015-11-30 2018-11-15 Hewlett Packard Enterprise Development Lp Application migration system
CN106559429A (zh) * 2016-11-28 2017-04-05 北京铭铭鑫软件有限公司 一种基于Linux系统的一键换机方法
CN107918668B (zh) * 2017-11-28 2020-01-31 苏州浪潮智能科技有限公司 一种k-db数据库表空间元数据本地存储方法
WO2019126072A1 (en) 2017-12-18 2019-06-27 Formulus Black Corporation Random access memory (ram)-based computer systems, devices, and methods
US10719352B2 (en) * 2018-01-22 2020-07-21 International Business Machines Corporation System and method for in-process namespace switching
WO2020130676A1 (ko) * 2018-12-20 2020-06-25 경희대학교 산학협력단 클라우드 환경 내에서 가상 머신을 위한 마이그레이션을 수행하기 위한 전자장치 및 그의 동작 방법
KR102296940B1 (ko) * 2018-12-20 2021-09-01 경희대학교 산학협력단 클라우드 환경 내에서 가상 머신을 위한 마이그레이션을 수행하기 위한 전자 장치 및 그의 동작 방법
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
US11422851B2 (en) * 2019-04-22 2022-08-23 EMC IP Holding Company LLC Cloning running computer systems having logical partitions in a physical computing system enclosure

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160424A1 (en) * 2004-01-21 2005-07-21 International Business Machines Corporation Method and system for grid-enabled virtual machines with distributed management of applications
KR20070008668A (ko) * 2004-05-08 2007-01-17 인터내셔널 비지네스 머신즈 코포레이션 가상 머신 컴퓨터 프로그램의 동적 이동
KR20070057783A (ko) * 2004-08-03 2007-06-07 소프트리시티, 인크. 컨텍스트 정책 제어를 통한 애플리케이션간 연관을제어하는 시스템 및 방법
US20070214505A1 (en) * 2005-10-20 2007-09-13 Angelos Stavrou Methods, media and systems for responding to a denial of service attack

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250740A (ja) * 1999-03-02 2000-09-14 Fujitsu Ltd 情報処理装置および情報処理方法並びに記録媒体
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US7117354B1 (en) * 2000-07-20 2006-10-03 International Business Machines Corporation Method and apparatus for allowing restarted programs to use old process identification
US6775673B2 (en) * 2001-12-19 2004-08-10 Hewlett-Packard Development Company, L.P. Logical volume-level migration in a partition-based distributed file system
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7784058B2 (en) * 2003-09-22 2010-08-24 Trigence Corp. Computing system having user mode critical system elements as shared libraries
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US7680758B2 (en) * 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US7512769B1 (en) * 2004-10-06 2009-03-31 Hewlett-Packard Development Company, L.P. Process migration
JP4514578B2 (ja) * 2004-10-27 2010-07-28 株式会社日立製作所 データの移行先を選択する方法及び装置
US7376860B2 (en) * 2004-12-16 2008-05-20 International Business Machines Corporation Checkpoint/resume/restart safe methods in a data processing system to establish, to restore and to release shared memory regions
US7634687B2 (en) * 2005-01-13 2009-12-15 Microsoft Corporation Checkpoint restart system and method
US8280944B2 (en) * 2005-10-20 2012-10-02 The Trustees Of Columbia University In The City Of New York Methods, media and systems for managing a distributed application running in a plurality of digital processing devices
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
JP4757165B2 (ja) * 2006-10-04 2011-08-24 株式会社日立製作所 計算機システム、データ移行監視方法及びデータ移行監視プログラム
US20080189700A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US20080196043A1 (en) * 2007-02-08 2008-08-14 David Feinleib System and method for host and virtual machine administration
US7975024B2 (en) * 2007-02-14 2011-07-05 Yakov Nudler Virtual personal computer access over multiple network sites
US9270781B2 (en) * 2007-02-15 2016-02-23 Citrix Systems, Inc. Associating virtual machines on a server computer with particular users on an exclusive basis
JP4931660B2 (ja) * 2007-03-23 2012-05-16 株式会社日立製作所 データ移行処理装置
JP4980792B2 (ja) * 2007-05-22 2012-07-18 株式会社日立製作所 仮想計算機の性能監視方法及びその方法を用いた装置
US8127289B2 (en) * 2007-06-27 2012-02-28 International Business Machines Corporation Enabling a third party application to participate in migration of a virtualized application instance
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
US20090063753A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method for utilizing data access patterns to determine a data migration order
JP2010049634A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd ストレージシステム及びストレージシステムにおけるデータ移行方法
US8245013B2 (en) * 2008-10-10 2012-08-14 International Business Machines Corporation Mapped offsets preset ahead of process migration
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160424A1 (en) * 2004-01-21 2005-07-21 International Business Machines Corporation Method and system for grid-enabled virtual machines with distributed management of applications
KR20070008668A (ko) * 2004-05-08 2007-01-17 인터내셔널 비지네스 머신즈 코포레이션 가상 머신 컴퓨터 프로그램의 동적 이동
KR20070057783A (ko) * 2004-08-03 2007-06-07 소프트리시티, 인크. 컨텍스트 정책 제어를 통한 애플리케이션간 연관을제어하는 시스템 및 방법
US20070214505A1 (en) * 2005-10-20 2007-09-13 Angelos Stavrou Methods, media and systems for responding to a denial of service attack

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061875A (ko) * 2017-11-28 2019-06-05 한양대학교 에리카산학협력단 프로세스 라이브 마이그레이션 기술 최적화를 위한 자동화 기법
KR102035394B1 (ko) * 2017-11-28 2019-10-22 한양대학교 에리카산학협력단 프로세스 라이브 마이그레이션 기술 최적화를 위한 자동화 기법
KR102120033B1 (ko) * 2019-01-23 2020-06-16 연세대학교 산학협력단 가상화 시스템의 메모리 관리 장치 및 그 방법

Also Published As

Publication number Publication date
US8458696B2 (en) 2013-06-04
KR20100069968A (ko) 2010-06-25
US9477499B2 (en) 2016-10-25
US20130268932A1 (en) 2013-10-10
US20100153674A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
KR101489466B1 (ko) 프로세스 마이그레이션을 관리하는 장치 및 방법
US11243707B2 (en) Method and system for implementing virtual machine images
US9462055B1 (en) Cloud tiering
US9081682B2 (en) Virtual machine installation image caching
US8577940B2 (en) Managing computer file system using file system trees
KR101437122B1 (ko) Os 가상화를 이용하여 서비스를 제공하는 장치 및 방법
US7783665B1 (en) Effective file-sharing among virtual environments
US10740133B2 (en) Automated data migration of services of a virtual machine to containers
JP4972670B2 (ja) 仮想計算機システム、そのアクセス制御方法及び通信装置
US11520919B2 (en) Sharing of data among containers running on virtualized operating systems
US20110276963A1 (en) Virtual Data Storage Devices and Applications Over Wide Area Networks
US20120030456A1 (en) Booting Devices Using Virtual Storage Arrays Over Wide-Area Networks
US20190281112A1 (en) System and method for orchestrating cloud platform operations
JP2008033483A (ja) 計算機システム、計算機および計算機動作環境の移動方法
US11397622B2 (en) Managed computing resource placement as a service for dedicated hosts
US10162834B2 (en) Fine-grained metadata management in a distributed file system
US9965308B2 (en) Automatic creation of affinity-type rules for resources in distributed computer systems
US11586371B2 (en) Prepopulating page tables for memory of workloads during live migrations
US20220317987A1 (en) Hybrid approach to performing a lazy pull of container images
US9740514B1 (en) Method and system to share data with snapshots in a virtualization environment
US20230022226A1 (en) Automated storage access control for clusters
US12050931B2 (en) System and method for migrating partial tree structures of virtual disks between sites using a compressed trie
US11907161B2 (en) Upgrading the file system of objects in a distributed storage system
US20220012081A1 (en) System and method to support port mapping for virtual machine based container
JP2024101663A (ja) 多階層クラスタ制御装置、多階層クラスタ制御方法、及び多階層クラスタ制御プログラム

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
FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee