[go: up one dir, main page]

KR20120117151A - 디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법 - Google Patents

디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20120117151A
KR20120117151A KR1020110034727A KR20110034727A KR20120117151A KR 20120117151 A KR20120117151 A KR 20120117151A KR 1020110034727 A KR1020110034727 A KR 1020110034727A KR 20110034727 A KR20110034727 A KR 20110034727A KR 20120117151 A KR20120117151 A KR 20120117151A
Authority
KR
South Korea
Prior art keywords
virtual machine
operating system
data
migration
application
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020110034727A
Other languages
English (en)
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 KR1020110034727A priority Critical patent/KR20120117151A/ko
Priority to US13/446,969 priority patent/US20120266171A1/en
Publication of KR20120117151A publication Critical patent/KR20120117151A/ko
Ceased legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • 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/45583Memory management, e.g. access or allocation

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)

Abstract

본 발명은 가상화 기술을 수행하는 디바이스에 관한 것으로, 특히 상기 디바이스에서 실행중인 가상 머신을 운영체제 또는 프로그램이 다른 이기종 디바이스로 이주시키기 위한 장치 및 방법에 관한 것으로, 디바이스에서 가상 머신을 이주시키기 위한 장치는 가상 머신 이주를 위한 요청을 입력부와, 상기 가상 머신 이주 과정을 출력하는 표시부와, 상기 가상 머신을 생성하여 다수의 운영체제에 해당하는 어플리케이션을 구동시키고, 상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수집하는 가상화 처리부와, 상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 주변 디바이스로 전송하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.

Description

디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법{APPARATUS AND METHOD FOR GENERATING PERFORMING VIRTUAL MACHINE VM MIGRATION PROCESS IN DEVICE}
본 발명은 가상화 기술을 수행하는 디바이스에 관한 것으로, 특히 상기 디바이스에서 실행중인 가상 머신을 서로 다른 아키텍처를 사용하는 이기종 디바이스로 이주시키기 위한 장치 및 방법에 관한 것이다.
최근, 휴대용 단말기는 현대인에게 없어서는 안될 필수품으로서 남녀 노소를 막론하고 사용하고 있으며, 서비스 제공자 및 단말기 제조자는 다른 업체와의 차별화를 위해 제품(또는 서비스)을 경쟁적으로 개발하고 있다.
예를 들어, 상기 휴대용 단말기는 폰북(phone book), 게임(game), 단문 메시지(short message), 이메일(e-mail), 모닝콜(morning call), MP 3(MPEG Layer 3), 일정 관리 기능, 디지털 카메라, 멀티미디어 메시지(Multimedia Messaging Service) 및 무선 인터넷 서비스가 가능한 멀티미디어 기기로 발전하여 다양한 서비스를 제공한다.
최근에는 상기 휴대용 단말기의 성능이 향상되어 다수의 응용 소프트웨어를 지원하면서 상당한 양의 처리를 위해 멀티프로세서 구조를 이용하고 있다.
일 예로, 상기 휴대용 단말기는 이종의 프로세서를 복수 개 사용하는 가상화 기술을 사용한다.
상기 가상화 기술은 휴대용 단말기의 운영체제와 응용 프로그램 사이의 가상화 계층(가상화 소프트웨어)를 이용하여 하나의 단말기에서 다수의 운영체제를 사용하도록 하는 기술이며 최근에는 가상화 기술을 주변 단말기에서 사용하도록 하는 가상화 마이그레이션 기술로 발전하고 있다.
상기 가상화 마이그레이션 기술은 휴대용 단말기에서 구동중인 가상 머신을 다른 단말기로 이주시키는 것으로 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 단말기 사이에서 사용할 수 있으나 아키텍처가 다른 디바이스 간에는 가상화 마이그레이션 기술을 사용할 수 없다.
즉, 아키텍쳐가 동일한 디바이스 간의 마이그레이션 기술이 가능함에 따라 상기와 같은 문제점을 해결하기 위하여 아키텍처가 다른 디바이스 사이에서 가상화 마이그레이션 기술을 사용하기 위한 장치 및 방법이 요구된다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위하여 도출된 것으로서, 본 발명의 목적은 이기종 디바이스 사이의 가상 머신 마이그레이션을 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 이기종 디바이스로부터 가상화 머신을 이주받은 디바이스에서 동적 바이너리 변환기를 이용하여 디바이스 사이의 명령어를 처리하기 위한 장치 및 방법을 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 디바이스에서 가상 머신을 이주시키기 위한 장치는 가상 머신 이주를 위한 요청을 입력부와, 상기 가상 머신 이주 과정을 출력하는 표시부와, 상기 가상 머신을 생성하여 다수의 운영체제에 해당하는 어플리케이션을 구동시키고, 상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수집하는 가상화 처리부와, 상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 주변 디바이스로 전송하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 디바이스에서 가상 머신을 이주받기 위한 장치는 가상 머신 이주 요청을 수신할 경우 상기 요청에 대한 응답을 전송한 후, 상기 가상 머신 이주를 요청한 디바이스로부터 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수신하는 제어부와, 상기 수신한 데이터를 이용하여 가상 머신을 구동시키는 가상화 처리부를 포함하되, 가상화 계층에 포함된 동적 바이너리 변환기를 이용하여 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 3 견지에 따르면, 디바이스에서 가상 머신을 이주시키기 위한 방법은 가상 머신을 생성하여 다수의 운영체제에 해당하는 어플리케이션을 구동시키는 과정과, 상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수집하는 과정과, 상기 수집한 데이터를 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 주변 디바이스로 제공하는 과정을 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 4 견지에 따르면, 디바이스에서 가상 머신을 이주받기 위한 방법은 가상 머신 이주 요청을 수신할 경우 상기 요청에 대한 응답을 전송하는 과정과, 상기 응답 전송 후 가상 머신 이주를 요청한 디바이스로부터 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수신하는 과정과, 상기 수신한 데이터를 이용하여 가상 머신을 구동시키는 과정을 포함하되, 상기 가상 머신을 구동시키는 과정은 가상화 계층에 포함된 동적 바이너리 변환기를 이용하여 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 과정을 포함하는 것을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 제 5 견지에 따르면, 디바이스의 가상화 처리부는 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수집하는 데이터 수집부와, 상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터 및 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 동적 바이너리 변환기를 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명은 이기종 디바이스 사이의 가상 머신 마이그레이션을 위한 것으로, 디바이스에서 실행된 가상 머신 서로 다른 아키텍처를 사용하는 이기종 디바이스로 마이그레이션 시킬 수 있다.
도 1은 본 발명에 따른 가상 머신 마이그레이션을 수행하는 디바이스의 구성을 도시한 블록도,
도 2는 본 발명의 바람직한 일 실시 예에 따라 이기종 디바이스 사이에서 수행되는 가상 머신 마이그레이션 과정을 도시한 도면,
도 3은 본 발명에 따른 호스트 디바이스에서 이기종 간의 가상 머신 마이그레이션을 수행하는 과정을 도시한 흐름도,
도 4는 본 발명에 따른 디바이스에서 가상 머신 이주받는 과정을 도시한 흐름도,
도 5는 본 발명의 바람직한 일 실시 예에 따른 디바이스의 명령어 변환 과정을 도시한 흐름도,
도 6은 본 발명의 바람직한 일 실시 예에 따른 동적 바이너리 변환기의 동작 과정을 도시한 도면 및,
도 7은 본 발명의 바람직한 일 실시 예에 따른 가상 머신 마이그레이션 과정을 도시한 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 설명에서는 본 발명에 따른 디바이스에서 이기종 디바이스로 가상 머신을 이주시키는 이기종 디바이스 간의 가상 머신 마이그레이션을 가능하게 하는 장치 및 방법에 대하여 설명할 것이다. 상기 이기종 디바이스는 사용하는 아키텍처가 서로 다른 디바이스를 말하는 것이며 이하 설명에서 디바이스는 디바이스에서 사용하는 운영체제 외에 다른 운영 체제를 운용할 수 있는 디바이스로 개인용 컴퓨터, 이동통신 단말기, 노트북, 임베디드 디바이스를 말한다.
도 1은 본 발명에 따른 가상 머신 마이그레이션을 수행하는 디바이스의 구성을 도시한 블록도이다.
상기 도 1을 참조하면, 상기 디바이스는 제어부(100), 가상화 처리부(102), 메모리부(108), 입력부(110), 표시부(112) 및 통신부(114)를 포함하여 구성할 수 있으며, 상기 가상화 처리부(102)는 동적 바이너리 변환기(104) 및 데이터 수집부(106)를 더 포함하여 구성할 수 있다.
먼저, 상기 제어부(100)는 상기 디바이스의 전반적인 동작을 제어한다. 예를 들어, 상기 디바이스가 이동통신 단말기일 경우, 음성통화 및 데이터 통신을 위한 처리 및 제어를 수행하고, 상기 디바이스가 개인용 컴퓨터일 경우, 명령을 해독하고 산술논리연산이나 데이터를 처리한다. 또한, 상기 제어부(100)는 가상화 기술을 이용하여 가상 머신을 생성하고, 생성한 가상 머신으로 자신의 운영체제와 다른 운영체제를 구동시킬 수 있으며, 본 발명에 따라 상기 디바이스와 다른 아키텍처를 사용하는 디바이스로 가상 머신을 이주시키는 마이그레이션 과정을 수행하도록 처리한다.
상기 가상화 처리부(102)는 상기 제어부(100)의 제어를 받아 가상 머신을 이주시키는 마이그레이션 과정을 수행한다.
이때, 상기 가상화 처리부(102)는 자신의 가상 머신을 통해 구동하던 어플리케이션에 대한 이미지와 가상 머신의 운영체제를 포함하는 어플리케이션 데이터를 서로 다른 아키텍처를 사용하는 이 기종 디바이스로 이주시키는 가상화 마이그레이션 과정을 수행한다.
상기 가상화 처리부(102)의 동적 바이너리 변환기(104)는 상기 디바이스 자신과 가상 머신 사이의 명령어 전달을 관리한다. 즉, 상기 동적 바이너리 변환기(104)는 디바이스로부터 가상 머신으로 제공하는 명령어를 수신할 경우, 수신한 명령어를 가상 머신의 명령어 형태로 변환하고, 상기 가상 머신으로부터 상기 디바이스로 제공하는 명령어를 수신할 경우, 수신한 명령어를 디바이스의 명령어 형태로 변환하도록 처리한다.
상기 가상화 처리부(102)의 데이터 수집부(106)는 상기 가상 머신 마이그레이션 과정을 통해 이주되는 어플리케이션 데이터를 수집한다.
여기에서, 상기 어플리케이션 데이터는 가상 머신을 통해 구동한 어플리케이션에 대한 이미지로 가상 머신을 통해 구동한 운영체제, 운영체제에서 구동한 어플리케이션, 마이그레이션전까지 동작한 어플리케이션의 저장 데이터가 될 수 있다. 일 예로, 상기 디바이스가 가상 머신을 통해 윈도우 운영체제의 메모장 어플리케이션을 구동하다가 마이그레이션을 수행할 경우, 윈도우 운영체제, 메모장 어플리케이션에 작성된 데이터가 상기 어플리케이션 데이터가 되는 것이다. 만일, 상기 디바이스가 윈도우 운영체제에 포함된 메모장 말고 워드 프로그램을 실행한 경우, 상기 워드 프로그램 이미지도 어플리케이션 데이터에 포함된다.
상기 메모리부(108)는 롬(ROM; Read Only Memory), 램(RAM; Random Access Memory), 플래쉬롬(flash ROM)으로 구성된다. 상기 롬은 상기 제어부(100), 상기 가상화 처리부(102)의 처리 및 제어를 위한 프로그램의 마이크로코드와 각종 참조 데이터를 저장한다.
상기 램은 상기 제어부(100)의 워킹 메모리(working memory)로, 각종 프로그램 수행 중에 발생하는 일시적인 데이터를 저장한다. 뿐만 아니라, 상기 메모리부(108)는 본 발명에 따라 가상 머신을 통해 구동되는 어플리케이션의 이미지 데이터를 저장한다.
상기 입력부(110)는 상기 디바이스의 동작을 위한 키 입력 데이터를 상기 제어부(100)로 제공하는 것으로, 상기 디바이스가 개인용 컴퓨터일 경우, 키보드, 마우스 등이 상기 입력부(110)가 될 것이며, 상기 디바이스가 이동통신 단말기일 경우, 다수의 숫자키 버튼들과 메뉴 버튼을 포함하는 키패드가 상기 입력부(110)가 될 수 있다. 일 예로, 상기 입력부(110)는 가상 머신 이주를 위한 요청을 상기 제어부(100)로 제공할 수 있다.
상기 표시부(112)는 상기 디바이스의 동작 중에 발생하는 상태 정보, 제한된 숫자의 문자들, 다량의 동영상 및 정지영상 등을 디스플레이하며, 본 발명에 따라 가상 머신의 동작 및 가상 머신 이주 과정을 디스플레이한다. 상기 표시부(112)는 컬러 액정 디스플레이 장치(LCD; Liquid Crystal Display)를 사용할 수 있으며 상기 표시부(112)는 터치 입력 장치를 구비하여 터치 입력 방식의 디바이스에 적용할 경우 입력 장치로 사용할 수 있다.
상기 통신부(114)는 통신 모듈을 통해 입출력되는 신호를 송수신 처리하는 기능을 수행하는 것으로, 본 발명에 따라 네트워크 연결 또는 근거리 무선 통신을 위한 통신 모듈로 주변 디바이스로 가상 머신에 대한 어플리케이션 데이터를 이주시키고, 가상 머신 마이그레이션 요청 메시지 및 응답 메시지를 송수신한다.
상기 가상화 처리부(102)의 역할은 상기 디바이스의 제어부(100)에 의해 수행할 수 있으나, 본 발명에서 이를 별도로 구성하여 도시한 것은 설명의 편의를 위한 예시적인 구성이지 결코 본 발명의 범위를 제한하자는 것이 아니며, 당업자라면 본 발명의 범위 내에서 다양한 변형 구성이 가능하다는 것을 알 수 있을 것이다. 예를 들어, 이들 모두를 상기 제어부(100)에서 처리하도록 구성할 수도 있다.
도 2는 본 발명의 바람직한 일 실시 예에 따라 이기종 디바이스 사이에서 수행되는 가상 머신 마이그레이션 과정을 도시한 도면이다.
상기 도 2를 참조하면, 상기 이기종 디바이스는 제 1 하드웨어(201)와 제 2 하드웨어(211)로 표현하며 각각의 하드웨어는 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용한다. 예를 들어, 상기 제 1 하드웨어(201)는 인텔사의 칩셋에 해당하는 운영체제(윈도우)(203)를 사용하고, 상기 제 2 하드웨어(211)는 애플사의 칩셋에 해당하는 운영 체제(Mac OS)(213)를 사용한다고 가정할 수 있다. 여기에서, 상기 제 1 하드웨어와 제 2 하드웨어는 각각의 하드웨어에 해당하는 가상화 계층을 포함하고, 상기 가상화 계층은 하드웨어의 아키텍처에 해당하는 동적 바이너리 변환기를 포함한다. 먼저, 상기 제 1 하드웨어(201)는 운영체제를 이용하여 구동한 상태에서 가상화 계층(205)에 해당하는 가상화 소프트웨어(예; QEMU 등)를 이용하여 가상 머신을 생성한다. 즉, 상기 제 1 하드웨어(201)는 자신의 운영체제 안에 가상 머신(207)의 운영 체제(예; 리눅스)(208)를 동시에 구동시킬 수 있다.
이때, 상기 제 1 하드웨어는 가상화 계층(205)에 포함된 동적 바이너리 변환기(206)를 이용하여 가상 머신(207)과 운영체제(203) 사이의 명령어를 전달한다. 이는 가상 머신(207)과 제 1 하드웨어(201)의 운영 체제(203)가 지원하는 명령어 형태가 서로 다름으로 상기 동적 바이너리 변환기(206)를 이용하여 서로에게 맞는 명령어 형태로 변환시키는 것이다.
상기와 같은 가상 머신(207)을 생성한 제 1 하드웨어(201)의 사용자는 기 생성한 가상 머신(207)을 다른 하드웨어로 이주시키는 가상 머신 마이그레이션을 수행하여 실행 중이던 가상 머신의 프로세스를 다른 하드웨어에서 이어서 처리할 수 있도록 할 수 있다.
일반적으로 상기 가상 머신 마이그레이션은 인스트럭션 셋 아키텍처가 동등한 하드웨어 사이에서만 가능하다. 즉, 상기 도 2에 도시된 바와 같이 인텔사의 칩셋을 사용하는 제 1 하드웨어(201)와 애플사의 칩셋을 사용하는 제 2 하드웨어(211)와 같이 서로 다른 아키텍처를 사용하는 경우 디바이스 간의 가상 머신 마이그레이션은 불가능하다는 것이다.
하지만, 본 발명에서는 제 1 하드웨어(201)에서 생성된 가상 머신(207)을 제 2 하드웨어(211)로 이주시킨 후, 상기 제 2 하드웨어의 동적 바이너리 변환기를 통해 가상 머신과 제 2 하드웨어 사이의 명령어 전달을 가능하게 함으로써 이기종 하드웨어 간의 가상 머신 마이그레이션을 가능하게 한다.
상기와 같이 제 1 하드웨어(201)의 가상 머신(207)을 이주받은 제 2 하드웨어(211)는 자신의 동적 바이너리 변환기(219)를 이용하여 상기 제 1 하드웨어로부터 수신한 가상 머신과 2 하드웨어(211)의 운영체제(213) 사이의 명령어 변환 및 전달을 수행하여 지속적인 프로세스 사용을 가능하게 한다.
도 3은 본 발명에 따른 호스트 디바이스에서 이기종 간의 가상 머신 마이그레이션을 수행하는 과정을 도시한 흐름도이다.
상기 도 3을 참조하면, 상기 디바이스는 상기 디바이스에서 사용하는 운영체제 외에 다른 운영 체제를 운용할 수 있는 디바이스로 개인용 컴퓨터, 이동통신 단말기, 노트북, 임베디드 디바이스가 될 수 있다. 또한, 상기 가상 머신 마이그레이션은 상기 디바이스에서 구동중인 가상 머신을 기 연결 중인 주변 디바이스로 이주시키는 기술을 말한다.
상기와 같이 가상 머신 마이그레이션을 수행하기 위한 디바이스는 먼저 301단계에서 가상 머신 드라이브를 동작시킨 후, 303단계로 진행하여 가상 머신으로 구동할 이미지를 로딩한다. 여기에서, 상기 이미지는 상기 디바이스의 운영 체제와 다른 운영 체제의 이미지가 될 수 있는 것으로, 상기 301단계 내지 303단계는 본 발명의 바람직한 일 실시 예에 따라 리눅스 운영체제를 사용하는 디바이스에서 가상화 드라이브(가상화 소프트웨어(예; QEMU 등))로 구동한 가상 머신을 통해 마이크로 소프트 사의 윈도우 운영체제를 동시에 구동시키는 과정이 될 수 있다.
이후, 상기 디바이스는 305단계로 진행하여 가상 머신을 통한 어플리케이션을 구동시킨다. 이는 상기 디바이스에서 가상 머신을 통해 구동시킨 윈도우 운영체제에서 구동되는 메모장, 웹 브라우져, 게임, 문서 프로그램 등과 같은 어플리케이션을 구동시키는 것이다.
이후, 상기 디바이스는 307단계로 진행하여 기 구동 중인 가상 머신을 주변에 존재하는 디바이스로 이주시키는 가상 머신 마이그레이션을 수행할 것인지 확인한다. 여기에서, 상기 주변에 존재하는 디바이스는 상기 가상 머신을 구동시키는 디바이스와 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)을 사용하는 이기종 디바이스를 말한다.
만일, 상기 307단계에서 가상 머신 마이그레이션을 수행하지 않음을 확인할 경우, 상기 디바이스는 상기 305단계의 과정을 재수행한다.
한편, 상기 307단계에서 가상 머신 마이그레이션을 수행함을 확인할 경우, 상기 디바이스는 309단계로 진행하여 이기종 디바이스로 마이그레이션 명령을 전송한 후, 311단계로 진행하여 이기종 디바이스로부터 마이그레이션 준비 완료를 수신하는지 확인한다.
만일, 상기 311단계에서 이기종 디바이스로부터 마이그레이션 준비 완료를 수신하지 않음을 확인할 경우, 상기 디바이스는 마이그레이션 준비가 완료되지 않음으로 판단하여 상기 311단계의 과정을 재수행한다.
한편, 상기 311단계에서 이기종 디바이스로부터 마이그레이션 준비 완료를 수신함을 확인할 경우, 상기 디바이스는 마이그레이션 준비가 완료되었다고 판단하여 313단계로 진행하여 가상 머신을 통해 구동한 어플리케이션 데이터를 전송한다. 여기에서, 상기 어플리케이션 데이터는 가상 머신을 통해 구동한 어플리케이션에 대한 이미지로 가상 머신을 통해 구동한 운영체제, 운영체제에서 구동한 어플리케이션, 마이그레이션전까지 동작한 어플리케이션의 저장 데이터가 될 수 있다. 일 예로, 상기 디바이스가 가상 머신을 통해 윈도우 운영체제의 메모장 어플리케이션을 구동하다가 마이그레이션을 수행할 경우, 윈도우 운영체제, 메모장 어플리케이션에 작성된 데이터가 상기 어플리케이션 데이터가 되는 것이다. 만일, 상기 디바이스가 윈도우 운영체제에 포함된 메모장 말고 워드 프로그램을 실행한 경우, 상기 워드 프로그램 이미지도 어플리케이션 데이터에 포함된다.
이후, 상기 디바이스는 315단계로 진행하여 어플리케이션 데이터의 전송을 완료하는지 확인한다.
만일, 상기 317단계의 과정을 완료하지 않음을 확인할 경우, 상기 디바이스는 상기 317단계의 과정을 재수행한다.
한편, 상기 317단계의 과정을 완료함을 확인할 경우, 상기 디바이스는 본 알고리즘을 종료한다.
도 4는 본 발명에 따른 디바이스에서 가상 머신 이주받는 과정을 도시한 흐름도이다.
상기 도 4를 참조하면, 상기 디바이스는 상기 가상 머신을 이주시키는 디바이스와 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)을 사용하는 이기종 디바이스이다.
상기와 같이 가상 머신을 이주받기 위한 디바이스는 먼저 401단계에서 대기 모드를 수행한 후, 403단계로 진행하여 가상 머신을 이주시키기 위한 디바이스로부터 가상 머신 마이그레이션 요청을 수신하는지 확인한다.
만일, 상기 403단계에서 가상 머신 마이그레이션 요청을 수신하지 않음을 확인할 경우, 상기 디바이스는 상기 401단계로 진행하여 대기 모드를 유지한다.
한편, 상기 403단계에서 가상 머신 마이그레이션 요청을 수신함을 확인할 경우, 상기 디바이스는 405단계로 진행하여 마이그레이션 요청을 승락하는 응답을 상기 가상 머신 마이그레이션을 요청한 디바이스로 전송한다.
이후, 상기 디바이스는 407단계로 진행하여 상기 마이그레이션을 요청한 디바이스로부터 어플리케이션 데이터동적 바이너리 변환기를 수신한 후, 409단계로 진행하여 데이터의 수신을 완료하는지 확인한다. 여기에서, 상기 어플리케이션 데이터는 가상 머신을 통해 구동한 어플리케이션에 대한 이미지로 가상 머신을 통해 구동한 운영체제, 운영체제에서 구동한 어플리케이션, 마이그레이션전까지 동작한 어플리케이션의 저장 데이터가 될 수 있으며, 이는 가상 머신을 이주시키는 디바이스의 메모리에 상주해 있는 운영체제를 포함하는 어플리케이션 데이터를 수신하는 것이다.
만일, 상기 409단계에서 데이터의 수신을 완료하지 않은 경우, 상기 디바이스는 상기 407단계로 진행하여 데이터의 수신 과정을 재수행한다.
한편, 상기 409단계에서 데이터의 수신을 완료함을 확인할 경우, 상기 디바이스는 상기 411단계로 진행하여 수신 데이터를 로딩하는 과정을 수행한다.
즉, 상기 디바이스는 상기 마이그레이션을 요청한 디바이스로부터 수신한 운영체제 이미지, 어플리케이션 이미지, 저장 데이터 등을 수신하여 가상 머신이 이주되기 전의 상황으로 복구하는 것이다. 일 예로, 상기 디바이스는 수신한 데이터를 이용하여 가상 머신이 이주되기 전에 실행된 문서 어플리케이션과 이주되기 전까지 작성된 문서 형태를 복구한다.
이후, 상기 디바이스는 413단계로 진행하여 이주된 가상 머신을 동작시킨다. 이때, 상기 디바이스는 자신의 운영체제와 이주된 가상 머신의 운영체제 사이의 아키텍처가 다름으로 자신의 동적 바이너리 변환기를 이용하여 가상 머신 또는 자신의 하드웨어로 명령어를 전달한다.
이후, 상기 디바이스는 본 알고리즘을 종료한다.
도 5는 본 발명의 바람직한 일 실시 예에 따른 디바이스의 명령어 변환 과정을 도시한 흐름도이다.
상기 도 5를 참조하면, 상기 디바이스는 이주된 가상 머신을 동작시키는 도 4의 413단계를 수행한다.
이후, 상기 디바이스는 501단계에서 이기종 디바이스의 아키텍처에 해당하는 명령어를 수신하는지 확인한다.
만일, 상기 501단계에서 자신의 아키텍처에 해당하는 명령어를 수신함을 확인할 경우, 상기 디바이스는 507단계로 진행하여 수신한 명령어를 자신의 운영체제 또는 하드웨어로 전송한다.
한편, 상기 501단계에서 이기종 디바이스의 아키텍처에 해당하는 명령어를 수신함을 확인할 경우, 503단계로 진행하여 수신한 명령어를 이기종 디바이스의 아키텍처에 해당하는 명령어로 변환시킨다.
이후, 상기 디바이스는 505단계는 진행하여 상기 변환한 명령어를 이기종 디바이스의 운영체제 또는 하드웨어로 전송한다.
이후, 상기 디바이스는 본 알고리즘을 종료한다.
도 6은 본 발명의 바람직한 일 실시 예에 따른 동적 바이너리 변환기의 동작 과정을 도시한 도면이다.
상기 도 6을 참조하면, 상기 동적 바이너리 변환기는 이주된 가상 머신(600)과, 상기 가상 머신(600)을 이주한 디바이스(604) 간의 명령어 전달을 처리한다.
먼저, 상기 가상 머신(600)과 디바이스(604)는 서로 다른 아키텍처에 해당하는 운영체제를 이용하여 어플리케이션을 구동시키고 있다고 가정할 경우, 상기 디바이스에서 하는 명령어를 이용하여 상기 이주된 가상 머신(600)을 제어할 수 없게 된다.
이에 따라, 상기 동적 바이너리 변환기(602)는 호스트 OS로 기재된 디바이스(604)의 OS로부터 제공되는 명령어(코드)를 디코딩하여 가상 머신(600)에 해당하는 명령어 형태로 변환한 후, 변환된 명령어를 인코딩하여 상기 가상 머신(604)으로 제공한다.(610)
또한, 상기 동적 바이너리 변환기(602)는 가상 머신(600)으로부터 수신한 명령어를 디코딩하여 호스트 OS에 해당하는 명령어 형태로 변환한 후, 변환된 명령어를 인코딩하여 상기 호스트 OS(604)로 제공한다.(612)
즉, 상기 동적 바이너리 변환기(602)는 서로 다른 아키텍처 형태의 명령어를 지원하는 디바이스(604)와 가상 머신 사이(600)의 명령어 전달을 가능하도록 처리한다.
도 7은 본 발명의 바람직한 일 실시 예에 따른 가상 머신 마이그레이션 과정을 도시한 도면이다.
상기 도 7을 참조하면, 상기 가상 머신 마이그레이션 과정은 인텔 CPU를 장착한 디바이스(700)와 SPARC CPU(702)를 장착한 디바이스 사이의 가상 머신 마이그레이션 과정을 예를 들어 설명한다.
먼저, SPARC CPU를 장착한 디바이스(702)에서 가상 머신을 생성한 후, 다른 운영체제의 이미지를 로딩할 수 있다(712). 이에 따라 상기 디바이스(702)는 Solaris 운영체제를 사용하지만 생성한 가상 머신을 이용하여 마이크로소프트 사의 윈도우 운영체제를 동시에 구동시킬 수 있으며, 상기 윈도우 운영체제에 맞는 어플리케이션도 구동(716)시킬 수 있다.
상기와 같은 가상 머신을 통해서 Solaris 운영체제를 사용하는 디바이스(702)에서 두개 이상의 운영체제를 구동시키는 가상화 기술을 사용(710)하면서 가상 머신을 인텔 CPU를 장착한 디바이스(700)로 이주시키는 가상 머신 마이그레이션 과정을 수행(720)할 수 있다. 상기와 같은 가상 머신 마이그레이션은 사용자가 서로 다른 아키텍처를 사용하는 디바이스를 변경하면서 기 실행중인 어플리케이션을 지속적으로 사용할 수 있도록 처리한다.
상기 가상 머신 마이그레이션을 수행하고자 하는 디바이스(702)는 자신의 가상 머신에 대한 어플리케이션 데이터를 수집(718)한다. 여기에서, 상기 어플리케이션 데이터는 가상 머신을 통해 구동한 어플리케이션에 대한 이미지로 가상 머신을 통해 구동한 운영체제, 상기 운영체제에서 구동한 어플리케이션, 마이그레이션전까지 동작한 어플리케이션의 저장 데이터가 될 수 있다. 일 예로, 상기 디바이스가 가상 머신을 통해 윈도우 운영체제의 메모장 어플리케이션을 구동하다가 마이그레이션을 수행할 경우, 윈도우 운영체제, 메모장 어플리케이션에 작성된 데이터가 상기 어플리케이션 데이터가 되는 것이다. 만일, 상기 디바이스가 윈도우 운영체제에 포함된 메모장 말고 워드 프로그램을 실행한 경우, 상기 워드 프로그램 이미지도 어플리케이션 데이터에 포함된다.
이후, 상기 가상 머신 마이그레이션을 수행하고자 하는 디바이스(702)는 수집한 어플리케이션 데이터를 다른 아키텍처를 사용하는 디바이스(700)로 제공(722)한다.
상기와 같이 가상 머신 마이그레이션을 통해 어플리케이션 데이터를 수신한 디바이스(700)는 수신한 데이터를 로딩(724)한 후, 자신의 가상화 계층에 포함된 동적 바이너리 변환기를 이용하여 디바이스 간 전송되는 명령어를 변환(726)한다. 이때, 상기 디바이스(700)는 가상 머신에 해당하는 운영체제를 로딩한 후, 가상 머신이 이주되기 전까지 실행된 상태로 어플리케이션을 복원함으로써 수신한 데이터를 로딩한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
100: 제어부 102: 가상화 처리부
104: 동적 바이너리 변환기 106: 데이터 수집부

Claims (16)

  1. 디바이스에서 가상 머신을 이주시키기 위한 장치에 있어서,
    가상 머신 이주를 위한 요청을 입력부와,
    상기 가상 머신 이주 과정을 출력하는 표시부와,
    상기 가상 머신을 생성하여 다수의 운영체제에 해당하는 어플리케이션을 구동시키고, 상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수집하는 가상화 처리부와,
    상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 주변 디바이스로 전송하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서,
    상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터는,
    가상 머신을 통해 구동한 운영체제, 운영체제에서 구동한 어플리케이션, 가상 머신 이주전까지 동작한 어플리케이션의 저장 데이터 가운데 적어도 어느 한 가지를 포함하는 것을 특징으로 하는 장치.
  3. 디바이스에서 가상 머신을 이주받기 위한 장치에 있어서,
    가상 머신 이주 요청을 수신할 경우 상기 요청에 대한 응답을 전송한 후, 상기 가상 머신 이주를 요청한 디바이스로부터 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수신하는 제어부와,
    상기 수신한 데이터를 이용하여 가상 머신을 구동시키는 가상화 처리부를 포함하되,
    상기 가상화 처리부는,
    가상화 계층에 포함된 동적 바이너리 변환기를 이용하여 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 것을 특징으로 하는 장치.
  4. 제 3항에 있어서,
    상기 가상 머신 이주를 요청한 디바이스는,
    상기 가상 머신 이주 과정을 수행하기 위한 디바이스와 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 이기종 디바이스임을 특징으로 하는 장치.
  5. 제 3항에 있어서,
    상기 가상화 처리부는,
    상기 동적 바이너리 변환기를 이용하여 상기 운영체제로부터 수신한 명령어를 상기 구동한 가상 머신의 명령어 형태로 변환하고, 상기 가상 머신으로부터 수신한 명령어를 상기 운영체제의 명령어 형태로 변환하는 것을 특징으로 하는 장치.
  6. 제 3항에 있어서,
    상기 가상화 처리부는,
    상기 가상 머신 이주를 요청한 디바이스에서 가상 머신을 이주시키기 전까지 실행된 상태로 어플리케이션을 복원함으로써 가상 머신을 구동시키는 것을 특징으로 하는 장치.
  7. 디바이스에서 가상 머신을 이주시키기 위한 방법에 있어서,
    가상 머신을 생성하여 다수의 운영체제에 해당하는 어플리케이션을 구동시키는 과정과,
    상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수집하는 과정과,
    상기 수집한 데이터를 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 주변 디바이스로 제공하는 과정을 포함하는 것을 특징으로 하는 방법.
  8. 제 7항에 있어서,
    상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터는,
    가상 머신을 통해 구동한 운영체제, 운영체제에서 구동한 어플리케이션, 이주 전까지 동작한 어플리케이션의 저장 데이터 가운데 적어도 어느 한 가지를 포함하는 것을 특징으로 하는 방법.
  9. 디바이스에서 가상 머신을 이주받기 위한 방법에 있어서,
    가상 머신 이주 요청을 수신할 경우 상기 요청에 대한 응답을 전송하는 과정과,
    상기 응답 전송 후 가상 머신 이주를 요청한 디바이스로부터 가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수신하는 과정과,
    상기 수신한 데이터를 이용하여 가상 머신을 구동시키는 과정을 포함하되,
    상기 가상 머신을 구동시키는 과정은,
    가상화 계층에 포함된 동적 바이너리 변환기를 이용하여 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 과정을 포함하는 것을 특징으로 하는 방법.
  10. 제 9항에 있어서,
    상기 가상 머신 이주를 요청한 디바이스는,
    상기 가상 머신 이주 과정을 수행하기 위한 디바이스와 서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 이기종 디바이스임을 특징으로 하는 방법.
  11. 제 9항에 있어서,
    상기 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 과정은,
    상기 운영체제로부터 수신한 명령어를 상기 구동한 가상 머신의 명령어 형태로 변환하고, 상기 가상 머신으로부터 수신한 명령어를 상기 운영체제의 명령어 형태로 변환하는 것을 특징으로 하는 방법.
  12. 제 9항에 있어서,
    상기 수신한 데이터를 이용하여 가상 머신을 구동시키는 과정은,
    상기 가상 머신 이주를 요청한 디바이스에서 가상 머신을 이주시키기 전까지 실행된 상태로 어플리케이션을 복원하는 과정을 포함하는 것을 특징으로 하는 방법.
  13. 디바이스의 가상화 처리부에 있어서,
    가상 머신을 통해 구동한 어플리케이션에 대한 데이터를 수집하는 데이터 수집부와,
    상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터 및 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 동적 바이너리 변환기를 포함하는 것을 특징으로 하는 가상화 처리부.
  14. 제 13항에 있어서,
    상기 가상 머신을 통해 구동한 어플리케이션에 대한 데이터는,
    가상 머신을 통해 구동한 운영체제, 운영체제에서 구동한 어플리케이션, 이주전까지 동작한 어플리케이션의 저장 데이터 가운데 적어도 어느 한 가지를 포함하는 것을 특징으로 하는 가상화 처리부.
  15. 제 13항에 있어서,
    상기 디바이스의 가상화 처리부는,
    서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 이기종 디바이스로 이주시키기 위한 정보를 수집하는 것을 특징으로 하는 가상화 처리부.
  16. 제 13항에 있어서,
    상기 디바이스의 가상화 처리부는,
    서로 다른 인스트럭션 셋 아키텍처(ISA: Instruction Set Architecture)를 사용하는 이기종 디바이스로부터 가상 머신을 이주받을 경우, 상기 동적 바이너리 변환기를 이용하여 상기 가상 머신과 운영체제에 맞는 형태의 명령어를 변환하는 것을 특징으로 하는 가상화 처리부.

KR1020110034727A 2011-04-14 2011-04-14 디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법 Ceased KR20120117151A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110034727A KR20120117151A (ko) 2011-04-14 2011-04-14 디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법
US13/446,969 US20120266171A1 (en) 2011-04-14 2012-04-13 Apparatus and method for carrying out a migration process of a virtual machine in a device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110034727A KR20120117151A (ko) 2011-04-14 2011-04-14 디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20120117151A true KR20120117151A (ko) 2012-10-24

Family

ID=47007380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110034727A Ceased KR20120117151A (ko) 2011-04-14 2011-04-14 디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US20120266171A1 (ko)
KR (1) KR20120117151A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180048087A (ko) * 2016-11-02 2018-05-10 (주)그렙 가상화 기반 멀티 윈도우 구동 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055069B2 (en) 2012-03-19 2015-06-09 Xcelemor, Inc. Hardware computing system with software mediation and method of operation thereof
CN103235738B (zh) * 2013-05-17 2016-04-27 浙江大学 一种基于应用程序性能约束的虚拟机节能整合规划方法
WO2016003646A1 (en) * 2014-06-30 2016-01-07 Unisys Corporation Enterprise management for secure network communications over ipsec
US9680965B2 (en) 2015-04-01 2017-06-13 Alcatel-Lucent Usa Inc. Software upgrades for offline charging systems within a network
US9996377B2 (en) * 2015-06-30 2018-06-12 International Business Machines Corporation Virtual machine migration via a mobile device
US9928062B2 (en) * 2016-03-04 2018-03-27 International Business Machines Corporation ISA-ported container images
CN108108229B (zh) * 2018-01-05 2021-08-06 京东方科技集团股份有限公司 虚拟主机迁移系统、方法、计算机设备、可读存储介质
CN113626131B (zh) * 2020-05-07 2023-03-28 中科寒武纪科技股份有限公司 实现热迁移的方法、芯片、板卡和存储介质
EP4485194A1 (en) * 2023-06-30 2025-01-01 Aptiv Technologies AG Migration of application executions across processing units

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295265A (zh) * 2007-04-25 2008-10-29 国际商业机器公司 全系统isa仿真系统及其识别进程的方法
US8327354B1 (en) * 2007-05-31 2012-12-04 Hewlett-Packard Development Company, L.P. Virtualization with binary translation
US8230425B2 (en) * 2007-07-30 2012-07-24 International Business Machines Corporation Assigning tasks to processors in heterogeneous multiprocessors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180048087A (ko) * 2016-11-02 2018-05-10 (주)그렙 가상화 기반 멀티 윈도우 구동 방법

Also Published As

Publication number Publication date
US20120266171A1 (en) 2012-10-18

Similar Documents

Publication Publication Date Title
KR20120117151A (ko) 디바이스에서 가상 머신 마이그레이션 과정을 수행하기 위한 장치 및 방법
JP5010492B2 (ja) 通信装置、方法及びプログラム
EP3876161A1 (en) Method and apparatus for training deep learning model
CA2771785C (en) A system and method for pervasive computing
KR101761409B1 (ko) 가상화 플랫폼 제공 방법 및 장치
JP5814526B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
CN103677970A (zh) 实现终端本地桌面和远端虚拟桌面合并显示的系统和方法
US20100318770A1 (en) Electronic device, computer-implemented system, and application display control method therefor
US11979941B2 (en) Data transmission method and terminal
KR101776042B1 (ko) 단말의 다중 운영체제 구동장치 및 운영체제 전환방법
CN102077543A (zh) 计算机网络中用于用户设备间的资源共享的方法和装置
KR101955744B1 (ko) 로컬 서버를 통한 로컬 클라이언트 어플리케이션용 이벤트 서비스
CN102932520A (zh) 移动设备之间的信息交互方法和系统
KR101812145B1 (ko) 디바이스와 장착하여 가상 머신을 제어하기 위한 가상화 장치 및 방법
CN110309462B (zh) 数据展示方法及系统
EP2933729B1 (en) Method for providing cloud service, and system and apparatus therefor
US8166105B2 (en) Portable terminal, server, and method for realizing function of portable terminal using network
CN102339221A (zh) 一种基于Windows CE平台的应用程序界面处理方法
KR100590560B1 (ko) 휴대 단말기에서 운용되는 애플리케이션 플랫폼과 휴대단말기 운영 체제 간의 인터페이스 방법 및 장치
KR20040013356A (ko) 휴대전화를 주변장치로 사용하는 휴대형 단말기
Ali et al. Battery efficiency of mobile devices through computational offloading: A review
KR101181508B1 (ko) 가상 호스팅 서비스를 제공하는 시스템, 장치 및 그 방법
CN117395235B (zh) 一种基于远程桌面和web技术的云化应用系统及其方法
CN103544094B (zh) 用以执行信息监控控制的方法、装置以及监控系统
CN113141298B (zh) 消息处理方法、消息处理装置、存储介质及电子设备

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20110414

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20160414

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20110414

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20170118

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20170621

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20170118

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I