KR101489466B1 - 프로세스 마이그레이션을 관리하는 장치 및 방법 - Google Patents
프로세스 마이그레이션을 관리하는 장치 및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/83—Querying
- G06F16/835—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/83—Querying
- G06F16/835—Query processing
- G06F16/8358—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/468—Specific 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
본 발명의 하나 이상의 양상은 가상화 기술에 관한 것으로, 더욱 상세하게는 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)
- 프로세스 마이그레이션을 관리하는 장치에 있어서,하나의 OS상에서 실행되는 적어도 하나의 버추얼 머신의 정보를 포함하는 버추얼 머신 정보 데이터베이스;마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보를 포함하는 네임스페이스 라우터 테이블; 및프로세스 마이그레이션 요청에 기초하여 소스 버추얼 머신의 프로세스가 동일한 OS상의 타겟 버추얼 머신으로 마이그레이션이 수행되어야 하는 경우, 상기 버추얼 머신 정보 데이터베이스 및 상기 네임스페이스 라우터 테이블에 포함된 정보를 업데이트함으로써 논리적 마이그레이션을 수행하는 마이그레이션 관리부를 포함하는 장치.
- 제1항에 있어서,상기 버추얼 머신 정보 데이터베이스는 버추얼 머신별로 버추얼 머신의 네임스페이스 정보, 버추얼 머신에서 동작중인 프로세스의 프로세스 ID의 리스트, 상기 프로세스 ID에 대응하는 프로세스의 속성 정보를 포함하는 장치.
- 제2항에 있어서,상기 프로세스 ID에 대응하는 프로세스의 속성 정보는 상기 프로세스가 마이 그레이션된 프로세스인지를 나타내는 정보를 포함하는 장치.
- 제2항에 있어서,상기 마이그레이션 관리부는 상기 소스 버추얼 머신에서 수행되는 대상 프로세스가 동일한 OS상에 존재하는 타겟 버추얼 머신으로 마이그레이션되어야 하는 경우,상기 버추얼 머신 정보 데이터베이스에서, 상기 마이그레이션이 수행될 프로세스의 프로세스 ID를 상기 소스 버추얼 머신의 프로세스 ID 리스트로부터 삭제하고, 상기 타겟 버추얼 머신의 프로세스 ID 리스트에 추가하고, 상기 프로세스 ID에 해당하는 속성 정보를 마이그레이션이 수행되었음을 나타내는 정보로 변경하는 장치.
- 제1항에 있어서,상기 네임스페이스 라우터 테이블에 저장되는 상기 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보는, 자원의 핸들 정보 및 마이그레이션 전 버추얼 머신 식별 정보를 포함하는 장치.
- 제5항에 있어서,상기 마이그레이션이 수행된 프로세스의 자원 접근 요청이 마이그레이션 수행 전에 접근한 자원에 대한 요청인 경우, 상기 마이그레이션 관리부는 상기 네임 스페이스 라우터 테이블에 포함된 마이그레이션 전 버추얼 머신 식별 정보를 참조하여 상기 프로세스가 이전 버추얼 머신의 네임스페이스를 이용하여 요청한 자원에 접근하도록 제어하는 장치.
- 프로세스 마이그레이션을 관리하는 방법에 있어서,소스 버추얼 머신으로부터 타겟 버추얼 머신으로의 프로세스 마이그레이션 요청을 수신하는 단계;상기 소스 버추얼 머신 및 상기 타겟 버추얼 머신이 동일한 OS 상에서 존재하는지 여부를 결정하는 단계; 및상기 소스 버추얼 머신 및 상기 타겟 버추얼 머신이 동일한 OS 상에서 존재하는 것으로 결정되는 경우, 하나의 OS상에서 실행되는 적어도 하나의 버추얼 머신의 정보를 포함하는 버추얼 머신 정보 데이터베이스 및 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보를 포함하는 네임스페이스 라우터 테이블을 업데이트함으로써 프로세스 마이그레이션을 수행하는 단계;를 포함하는 방법.
- 제7항에 있어서,상기 버추얼 머신 정보 데이터베이스는 버추얼 머신별로 버추얼 머신의 네임스페이스 정보, 버추얼 머신에서 동작중인 프로세스의 프로세스 ID 리스트, 상기 프로세스 ID에 대응하는 프로세스의 속성 정보를 포함하는 방법.
- 제8항에 있어서,상기 프로세스 ID에 대응하는 프로세스의 속성 정보는 상기 프로세스가 마이그레이션된 프로세스인지를 나타내는 정보를 포함하는 방법.
- 제9항에 있어서,상기 버추얼 머신 정보 데이터베이스를 업데이트하는 단계는,상기 마이그레이션이 수행된 프로세스의 프로세스 ID를 상기 소스 버추얼 머신의 프로세스 ID 리스트로부터 삭제하고 상기 타겟 버추얼 머신의 프로세스 ID 리스트에 추가하고, 상기 프로세스 ID에 해당하는 속성 정보를 마이그레이션이 수행되었음을 나타내는 정보로 변경하는 방법.
- 제7항에 있어서,상기 네임스페이스 라우터 테이블에 저장되는 상기 마이그레이션이 수행된 프로세스별로 각각의 프로세스가 접근한 적어도 하나의 자원에 대한 정보는, 자원의 핸들 정보 및 마이그레이션 전 버추얼 머신 식별 정보를 포함하는 방법.
- 제11항에 있어서,상기 마이그레이션이 수행된 프로세스의 자원 접근 요청이 마이그레이션 수행 전에 접근한 자원에 대한 요청인 경우,상기 네임스페이스 라우터 테이블에 포함된 마이그레이션 전 버추얼 머신 식별 정보를 참조하여 상기 프로세스가 이전 버추얼 머신의 네임스페이스를 이용하여 요청한 자원에 접근하도록 제어하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 마이그레이션 관리부는 상기 프로세스 마이그레이션 요청에 포함된 소스 버추얼 머신 정보와 타겟 버추얼 머신 정보가 상기 버추얼 머신 정보 데이터베이스에 존재하는지를 체크하여, 마이그레이션이 동일한 OS상에서 수행되어야 하는지를 결정하는 장치.
- 제1항에 있어서,상기 마이그레이션 관리부는 상기 소스 버추얼 머신의 프로세스가 다른 OA 상의 타겟 버추얼 머신으로 마이그레이션되어야 하는 경우, 체크포인트/리스타트(checkpoint/restart) 기법 및 라이브 마이그레이션(Live migration) 기법 중의 어느 하나의 프로세스 마이그레이션 기법을 사용하여 마이그레이션을 수행하는 장치.
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)
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)
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)
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)
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 |
-
2008
- 2008-12-17 KR KR1020080128533A patent/KR101489466B1/ko not_active IP Right Cessation
-
2009
- 2009-08-25 US US12/546,961 patent/US8458696B2/en not_active Expired - Fee Related
-
2013
- 2013-05-10 US US13/891,423 patent/US9477499B2/en not_active Expired - Fee Related
Patent Citations (4)
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)
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 |