KR20120046807A - 가상화 플랫폼 제공 방법 및 장치 - Google Patents

가상화 플랫폼 제공 방법 및 장치 Download PDF

Info

Publication number
KR20120046807A
KR20120046807A KR1020100105174A KR20100105174A KR20120046807A KR 20120046807 A KR20120046807 A KR 20120046807A KR 1020100105174 A KR1020100105174 A KR 1020100105174A KR 20100105174 A KR20100105174 A KR 20100105174A KR 20120046807 A KR20120046807 A KR 20120046807A
Authority
KR
South Korea
Prior art keywords
application
operating system
terminal
mobile
mobile operating
Prior art date
Application number
KR1020100105174A
Other languages
English (en)
Other versions
KR101761409B1 (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 KR1020100105174A priority Critical patent/KR101761409B1/ko
Publication of KR20120046807A publication Critical patent/KR20120046807A/ko
Application granted granted Critical
Publication of KR101761409B1 publication Critical patent/KR101761409B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals

Abstract

모바일 운영 체제 및 모바일 어플리케이션의 가상 환경을 제공하기 위한 방법 및 장치가 제공된다. 가상화 서버는 모바일 운영 체제의 가상 환경을 생성하고, 상기 가상 모바일 운영 체제에서 모바일 어플리케이션을 동작시킨다. 가상화 서버에서 동작하는 모바일 운영 체제 및 모바일 어플리케이션에 대한 정보는 단말의 씬 클라이언트에게 전송되고, 단말의 사용자는 씬 클라이언트를 통해 마치 모바일 운영 체제를 단말에 직접 설치해서 사용하는 것과 같이 모바일 운영 체제 및 어플리케이션을 조작할 수 있다.

Description

가상화 플랫폼 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING VIRTUAL PLATFORM}
아래의 실시예들은 휴대 단말에게 가상화 플랫폼을 제공하기 위한 방법 및 장치에 관한 것이다.
특정 휴대 단말 플랫폼을 가상화하는 가상화 서버 및 가상화 환경을 제공하는 스트리밍 서버가 개시된다.
사용자가 직접 어플리케이션(application)을 선택 및 설치할 수 있는 스마트 폰(smart phone)이 널리 사용됨에 따라, 스마트 폰 전용의 모바일(mobile) 운영체제(operating system; OS) 및 스마트폰 OS 에서 동작하는 다양한 전용 어플리케이션이 제공된다.
일반적으로, 스마트 폰은 제한된 종류의 모바일 OS 만을 사용할 수 있다.
따라서, 특정 스마트폰 OS 용으로 개발된 애플리케이션은 그 OS를 사용하지 않는 다른 스마트 폰에서는 사용되지 못할 수 있다.
한 사용자가 개인용 컴퓨터(Personal Computer; PC) 및 스마트 폰을 사용할 경우, 개인용 컴퓨터의 데이터와 스마트 폰 내의 데이터(예컨대, E-Mail, 일정, 멀티미디어 데이터 등)가 상호 동기화되어야 할 경우가 있다. 이러한 상호 동기화는 주로 PC 어플리케이션 및 스마트 폰 내의 어플리케이션에 의해 수행된다.
그러나, PC 어플리케이션의 제조자와 모바일 OS의 제조자가 서로 상이한 경우처럼, 특정 PC 어플리케이션과의 동기화에 필요한 스마트 폰 어플리케이션이 특정 모바일 OS를 위해서는 제공되지 않는 경우가 있다. 즉, 특정 OS 및 특정 어플리케이션을 사용하는 단말만이 요구되는 PC 어플리케이션과 데이터 동기화를 할 수 있는 경우가 있다.
또한, 인터넷이 널리 사용되면서, 다양한 웹 서비스가 웹 서버에 의해 제공된다.
이러한 웹 서비스는 웹 브라우저(Web Browser) 또는 전용 어플리케이션을 통해 직접적으로 데이터를 제공할 수도 있다.
또한, 웹 서버는 데이터 동기화를 통해 PC에 데이터(예컨대, E-Mail 또는 일정 데이터)를 제공할 수 있으며, 푸쉬(Push) 등의 방법을 통해 일방으로 데이터를 제공할 수도 있다.
이러한 경우에도, 전술된 동기화 또는 어플리케이션의 제한과 유사한 문제가 발생할 수 있다. 즉, 특정 모바일 OS 및 특정 어플리케이션을 사용하는 단말만이 특정 웹 서버와 데이터 동기화를 할 수 있거나, 웹 서버로부터 데이터를 제공받을 수 있는 경우가 있다.
본 발명의 일 실시예는, 모바일 운영 체제 및 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서비스 방법 및 장치를 제공한다.
본 발명의 일 실시예는, 가상화 서버 및 스트리밍 서버를 포함하는 가상화 서비스 제공 시스템을 제공한다.
본 발명의 일 측에 따르면, 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서비스 제공 방법에 있어서, 단말로부터 가상화 서비스 요청을 수신하는 단계, 상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 구동하는 단계, 상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 상기 단말로 전송하는 단계 및 상기 단말로부터 상기 모바일 운영 체제 또는 상기 어플리케이션을 조작하기 위한 입력 정보를 수신하는 단계를 포함하는, 가상화 서비스 제공 방법이 제공된다.
상기 가상화 서비스 제공 방법은, 웹 서버로 상기 모바일 운영 체제 또는 상기 어플리케이션과의 연동 요청을 전송하는 단계 및 상기 웹 서버로부터 상기 연동 요청에 대한 응답을 수신하는 단계를 더 포함할 수 있다.
상기 연동은 상기 운영 체제 또는 상기 어플리케이션과의 데이터 동기화일 수 있다.
상기 동기화에 의해 생성된 데이터는 상기 모바일 OS 또는 상기 어플리케이션을 위해 제공되는 가상 파일 시스템에 저장될 수 있다.
상기 가상화 서비스 요청은 단말의 사용자의 계정 정보를 포함할 수 있고, 상기 연동 요청은 상기 단말의 사용자의 계정 정보에 대응하는 상기 웹 서버의 사용자 계정 정보를 포함할 수 있다.
상기 가상화 서비스 제공 방법은, 상기 단말로부터 가상화 서비스 종료 요청을 수신하는 단계 및 상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료하는 단계를 더 포함할 수 있고, 상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료하는 단계는 상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 할당된 자원을 회수하는 단계를 포함할 수 있다.
상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료하는 단계는, 상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 제공된 항구적인 데이터를 저장하는 단계를 더 포함할 수 있다.
상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 구동하는 단계는, 상기 가상화 서비스 요청에 포함된 정보에 기반하여 상기 모바일 운영 체제 또는 상기 어플리케이션을 설정하는 단계를 더 포함할 수 있다.
상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 상기 단말로 전송하는 단계는, 상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 상기 단말에 맞게 변환하는 단계를 포함할 수 있다.
상기 단말로부터 상기 모바일 운영 체제 또는 상기 어플리케이션을 조작하기 위한 입력 정보를 수신하는 단계는, 상기 입력 정보를 상기 모바일 운영 체제 또는 상기 어플리케이션에게 맞게 변환되는 단계를 포함할 수 있다.
본 발명의 다른 일 측에 따르면, 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서버에 있어서, 데이터의 송수신을 수행하는 송수신부 및 상기 모바일 운영 체제 및 상기 어플리케이션을 구동함으로써 가상 환경을 제공하는 제어부를 포함하고, 상기 제어부는 상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 생성하고, 상기 단말로부터 제공된 상기 모바일 운영 체제 또는 상기 어플리케이션을 조작하기 위한 입력 정보를 처리하고, 상기 송수신부는 단말로부터 가상화 서비스 요청을 수신하고, 상기 동작에 대한 정보를 상기 단말로 전송하고, 상기 단말로부터 상기 입력 정보를 수신하는, 가상화 서버가 제공된다.
상기 제어부는 상기 모바일 운영 체제 또는 상기 어플리케이션과의 연동 요청을 생성할 수 있고, 상기 송수신부는 웹 서버로 상기 연동 요청을 전송할 수 있고, 상기 웹 서버로부터 상기 연동 요청에 대한 응답을 수신할 수 있다.
상기 연동은 상기 운영 체제 또는 상기 어플리케이션과의 데이터 동기화일 수 있고, 상기 동기화에 의해 생성된 데이터는 상기 모바일 OS 또는 상기 어플리케이션을 위해 제공되는 가상 파일 시스템에 저장될 수 있다.
상기 가상화 서버는, 상기 가상 환경을 제공하기 위해 필요한 데이터를 저장하는 데이터베이스부를 더 포함할 수 있고, 상기 가상화 서비스 요청은 단말의 사용자의 계정 정보를 포함할 수 있고, 상기 데이터베이스부는 상기 단말의 사용자의 계정 정보에 대응하는 상기 웹 서버의 사용자 계정 정보를 포함할 수 있고, 상기 제어부는 상기 데이터베이스부를 사용하여 상기 단말의 사용자에 계정 정보에 대응하는 상기 웹 서버의 사용자 계정 정보를 상기 연동 요청에 포함시킬 수 있다.
상기 가상화 서버는, 상기 가상 환경을 제공하기 위해 필요한 데이터를 저장하는 데이터베이스부를 더 포함할 수 있고, 상기 송수신부는 상기 단말로부터 가상화 서비스 종료 요청을 수신할 수 있고, 상기 제어부는 상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료할 수 있고, 상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 할당된 자원을 회수할 수 있고, 상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 제공된 항구적인 데이터를 상기 데이터베이스부에 저장할 수 있다.
상기 제어부는 상기 가상화 서비스 요청에 포함된 정보에 기반하여 상기 모바일 운영 체제 또는 상기 어플리케이션을 설정할 수 있다.
본 발명의 또 다른 일 측에 따르면, 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서비스 제공 시스템에 있어서, 상기 모바일 운영 체제 및 상기 어플리케이션을 구동하여 가상 환경을 제공하는 가상화 서버 및 상기 가상화 서버로부터 상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 전송 받아, 상기 정보를 변환하여 변환된 정보를 단말로 전송하는 스트리밍 서버를 포함하는, 가상화 서비스 제공 시스템이 제공된다.
상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보는 상기 모바일 운영 체제 또는 상기 어플리케이션의 실행 화면 이미지를 포함할 수 있고, 상기 스트리밍 서버는 상기 실행 화면 이미지를 동영상으로 부호화하여 단말로 전송할 수 있다.
상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보는 상기 모바일 운영 체제 또는 상기 어플리케이션으로부터 출력된 음향을 포함할 수 있고, 상기 실행 화면 이미지는 연속적으로 생성된 복수 개의 이미지들일 수 있고, 상기 음향은 연속적으로 생성된 복수 개의 시간 단위의 음향들일 수 있고, 상기 스트리밍 서버는 상기 복수 개의 이미지들 및 상기 복수 개의 시간 단위의 음향들을 동영상으로 부호화하여 상기 단말로 실시간 전송할 수 있다.
상기 스트리밍 서버는 단말로부터 전송된 입력 정보를 가상화 서버가 사용하는 규격에 맞게 변환하고, 변환된 입력 정보를 상기 가상화 서버로 전송할 수 있다.
본 발명의 또 다른 일 측에 따르면, 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 모바일 어플리케이션의 가상 환경을 제공하는 가상화 서버에 있어서, 상기 서버의 하드웨어를 제어하고 운영 체제 기능을 제공하는 호스트 층, 상기 호스트 층의 어플리케이션으로서 동작하고, 상기 모바일 운영 체제의 기능을 제공하는 모바일 운영 체제 스택 층 및 상기 모바일 운영 체제 스택 층의 어플리케이션으로서 동작하는 모바일 어플리케이션 층을 포함하고, 상기 모바일 어플리케이션 층에서 동작하는 모바일 어플리케이션의 코드는 모바일 단말에서 사용되는 상기 모바일 운영 체제에 동작하는 상기 모바일 어플리케이션의 코드와 동일한, 가상화 서버가 제공된다.
상기 가상화 서버는, 상기 모바일 운영 체제를 지원하기 위한 CPU를 에뮬레이트하는 CPU 에뮬레이션 층을 더 포함할 수 있다.
상기 CPU 에뮬레이션 층은 상기 CPU가 탑재된 단말의 디바이스를 에뮬레이트하는 디바이스 에뮬레이터를 포함할 수 있고, 상기 디바이스 에뮬레이터는 상기 모바일 운영 체제 또는 상기 모바일 어플리케이션의 실행 화면을 출력할 수 있다.
상기 가상화 서버는 상기 실행 화면을 포함하는 가상 환경 정보를 스트리밍 서버로 전송할 수 있다.
상기 모바일 운영 체제 스택 층은 복수 개이고, 상기 복수 개의 모바일 운영 체제 스택 층들 각각은 상이한 가상화 서비스 요청을 위해 생성될 수 있다.
모바일 운영 체제 및 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서비스 방법 및 장치가 제공된다.
가상화 서버 및 스트리밍 서버를 포함하는 가상화 서비스 제공 시스템이 제공된다.
도 1은 본 발명의 일 실시예에 따른 가상화 플렛폼 제공 시스템의 구조도이다.
도 2는 본 발명의 일 실시예에 따른 가상화 플랫폼 제공 시스템의 동작 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 가상화 서버의 구조도이다.
도 4는 본 발명의 일 실시예에 따른 가상화 서버의 소프트웨어 아키텍처(architecture)를 나타내는 도면이다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 가상화 플렛폼 제공 시스템의 구조도이다.
시스템(100)은 가상화 서버(110)를 포함하고, 스트리밍 서버(120)를 더 포함할 수 있다. 일반적으로, 가상화 서버(110) 및 스트리밍 서버(120)는 지역망(local area network; LAN) 등과 같은 고속 네트워크로 연결된다.
시스템(100)은 단말(150)에게 가상화 서비스를 제공한다. 일반적으로, 시스템(100) 및 단말(150)은 이동 통신 네트워크 또는 무선 통신 네트워크 등으로 연결된다.
시스템(100)은 웹 서버(190)와의 연동을 통해, 웹 서버(190)가 제공하는 서비스를 사용할 수 있다. 일반적으로, 시스템(100) 및 웹 서버(190)는 인터넷(internet) 등으로 연결된다.
가상화 서버(110)는 가상화 서비스를 제공한다.
단말(150)은 가상화 서버(110)로부터 가상화 서비스를 제공받는 스마트 폰 또는 피처(Feature) 폰이다. 단말(150)은 가상화 서비스를 단말(150) 내에서 동작(operate)시키기 위한 씬 클라이언트(thin client)를 포함할 수 있다.
스트리밍 서버(120)는 가상화 서비스의 동작 효율을 높이기 위해, 가상화 서버(110) 및 단말(150) 간의 데이터 송수신의 중계 역할을 수행한다.
웹 서버(190)는 가상화 서버(110)의 가상 환경에서 동작하는 특정 모바일 OS 및/또는 어플리케이션(이하, 모바일 OS 및/또는 어플리케이션으로 간략하게 표현한다.)과의 연동을 통해 웹 서비스를 제공한다. 일반적으로, 상기의 특정 모바일 OS 및/또는 어플리케이션은, 단말(150)에서 직접(즉, 가상화 서비스를 통하지 않고) 동작할 수 없는 것이다. 즉, 웹 서버(190)가 제공하는 웹 서비스는 단말의 OS/어플리케이션과는 연동될 수 없다.
하기에서, 가상화 서비스에 대해 설명한다.
가상화 서비스는, 단말(150)에게, 특정 모바일 OS 및 상기 모바일 OS에서 동작(operation)하는 어플리케이션을 마치 단말(150)이 직접 실행하는 것과 같은 환경을 제공하는 것을 의미한다.
모바일 OS는 안드로이드(Android), 아이폰 OS(iPhone OS), 윈도우 모바일(Windows Mobile), 윈도우 폰(Windows Phone) 및 심비안(Symbian)과 같은 상용 OS이거나, 공개 모바일 OS일 수 있다.
가상화 서버(110)는 모바일 OS 및 어플리케이션을 동작 시키고, 동작 중인 모바일 OS 및/또는 어플리케이션에 대한 정보를 단말(150)에게 제공함으로써, 단말(150)이 제공되는 모바일 OS 및/또는 어플리케이션을 직접 실행하는 것과 같은 환경을 단말(150)의 사용자에게 제공한다.
단말(150)의 사용자는 단말(150)의 출력 장치(예컨대, 액정 화면(LCD display) 및 스피커(Speaker) 등) 및 입력 장치(예컨대, 버튼(button), 터치 패드(touch pad), 키 패드(key pad), 카메라(camera), 마이크(mike), 마우스(mouse), 트랙 포인트(track point) 등)를 사용하여 가상화 서비스가 제공하는 모바일 OS 및/또는 어플리케이션을 조작할 수 있다.
가상화 서버(150)는 복수 개의 단말(150)에게 가상화 서비스를 제공할 수 있으며, 단말(150) 또는 단말(150)의 사용자를 식별하기 위해 단말(150)에 대한 정보(예컨대, 단말의 입출력 장치와 같은 하드웨어 특성) 또는 단말(150)의 사용자에 대한 사용자 계정 정보(예컨대, 가상화 서버로의 로그인(login)을 위한 ID(identifier) 또는 암호(password))를 데이터베이스를 사용하여 유지 및 관리할 수 있다.
일반적으로, 본 발명의 일 실시예에 따른 가상화 서비스는 이동 단말을 위한 모바일 OS를 지원하기 위한 것이나, 반드시 모바일 OS 만으로 가상화 서비스의 범위가 한정되는 것은 아니고, 개인용 컴퓨터의 OS 또한 가상화 서비스에 의해 제공될 수 있다.
하기에서, 씬 클라이언트에 대해서 설명한다.
씬 클라이언트는 특정한 모바일 OS(일반적으로, 가상화 서버(110)가 제공하는 모바일 OS와는 다른 것) 상에서 동작하는 어플리케이션이거나(특히, 단말(150)이 스마트 폰인 경우), 단말에 설치된 전용 프로그램(특히, 단말(150)이 피처 폰인 경우)이다.
특정한 모바일 OS의 예로서, 전술된 안드로이드, 윈도우 모바일 및 아이폰 OS 등이 있고, 시스템 소프트웨어의 예로서, DMSS(Dual-Mode Subscriber Software) 등과 같은 것이 있다.
씬 클라이언트는 가상화 서버(110)가 전송하는 모바일 OS 및/또는 어플리케이션의 실행과 관련된 데이터(예컨대, 모바일 OS 및/또는 어플리케이션의 실행 화면, 모바일 OS 및/또는 어플리케이션으로부터 출력되는 음향)를 해석하여 단말의 표시부(Display) 또는 스피커부(Speaker) 등으로 출력한다.
또한, 사용자가 단말(150)의 입력 장치를 조작하면, 입력 장치의 조작에 대한 입력 정보가 단말의 OS 또는 시스템 소프트웨어를 통해 씬 클라이언트로 전달된다. 씬 클라이언트는 전달받은 입력 정보를 가상화 서버(110)로 전송하여 모바일 OS 및/또는 어플리케이션이 입력 정보에 따라 동작하게 한다.
따라서, 씬 클라이언트는 가상화 서버(110)가 제공하는 모바일 OS 및/또는 어플리케이션이 직접 단말(150)에서 실행되는 것과 같은 가상 환경을 단말(150)의 사용자에게 제공한다.
하기에서, 가상화 서비스 프로토콜에 대해 설명한다.
이러한 가상화 서비스를 위해, 가상화 서버(110) 및 단말(150)(또는, 단말의 씬 클라이언트) 간에는 가상화 서비스 프로토콜(protocol)에 따른 데이터 송수신이 이루어져야 한다.
가상화 서비스 프로코톨은 터미널 서비스(terminal service) 또는 VNC(virtual network computing)과 같은 PC에서 사용되는 프로토콜이거나, 이러한 PC 프로토콜과 호환되는 프로토콜일 수 있다.
하기에서, 가상화 서버(110)가 동작 중인 모바일 OS 및/또는 어플리케이션에 대한 정보를 단말(150)에게 전달하는 방법에 대해서 설명한다.
가상화 서버(110)는 동작 중인 모바일 OS 및/또는 어플리케이션에 대한 정보를 가상화 서비스 프로토콜에 따른 특정한 형태로 제공할 수 있다. 가상화 서버(110)에 의해 제공되는 동작 중인 모바일 OS 및/또는 어플리케이션에 대한 정보를 가상 환경 정보로 명명한다.
예컨대, 가상화 서버(110)는 단말(150)에게 가상화 서비스를 제공하기 위해 동작 중인 모바일 OS의 전체 데스크탑(desktop) 화면을 전송할 수 있다. 이 경우, 데스크탑 화면 내에서는 복수 개의 어플리케이션의 실행 창(window)들이 동시에 표시되어 있을 수 있으며, 한 어플리케이션의 실행 창 및 다른 백그라운드(background) 실행 중인 어플리케에션에 대한 정보가 표시되어 있을 수 있다.
또한, 가상화 서버(110)는 단말(150)에게 가상화 서비스를 제공하기 위해 동작 중인 어플리케이션의 실행 창을 전송할 수 있다.
이러한 데스크탑 화면 및/또는 실행 창은 데스크탑 화면 및/또는 실행 창을 나타내는 객체(object)(또는, 이러한 객체를 나타내는 데이터)로서 전송될 수 있으며, 이미지(image), 이미지 청크(chunk) 또는 동영상(motion picture)으로서 전송될 수 있다.
단말(150)(또는, 단말의 씬 클라이언트)는, 가상화 서버(110)로부터 전송된 는 동작 중인 모바일 OS 및/또는 어플리케이션에 대한 정보를 분석하여 단말(150)의 표시부에 출력할 수 있다.
예컨대, 단말(150)(또는, 단말의 씬 클라이언트)은 전송된 데스크탑 화면 또는 실행 창을 나타내는 객체(object)(또는, 객체를 나타내는 데이터)를 분석하여, 데스크탑 화면 또는 실행 창을 구성함으로써 모바일 OS 및 어플리케이션을 직접 사용하는 것과 같은 가상 환경을 사용자에게 제공할 수 있다.
또는, 단말(150)(또는, 단말의 씬 클라이언트)은 전송된 이미지 또는 동영상을 표시부에 출력함으로써 가상 환경을 사용자에게 제공할 수 있다.
하기에서, 단말(150)이 가상 환경에서 동작 중인 모바일 OS 및 어플리케이션에 대한 사용자의 조작을 가상화 서버(110)에게 전달하는 방법에 대해서 설명한다.
단말(150)의 사용자가 가상 환경에서 동작하는 모바일 OS 및 어플리케이션을 사용하기 위해서는, 모바일 OS 및/또는 어플리케이션을 단말(150)의 입력 장치를 통해 조작할 수 있어야 한다.
사용자는 표시부에 표시된 모바일 OS 및/또는 어플리케이션의 실행 화면을 보고, 단말(150)의 입력 장치를 조작할 수 있다.
사용자가 입력 장치를 조작하면, 단말(또는, 단말의 씬 클라이언트)은 조작에 따른 입력 정보를 생성하여, 생성된 정보를 가상화 서버(150)에 전송한다. 입력 정보는 하기의 1) 내지 5) 중 하나 이상을 포함할 수 있다.
1) 사용자가 단말(150)의 터치 스크린을 터치함에 의해 발생한 입력 정보 (예컨대, 터치 스크린의 좌표 정보, 멀티(Multi) 터치가 지원되는 터치 스크린인 경우 복수 개의 좌표 정보)
2) 사용자가 단말(150)의 키패드를 누름에 의해 발생한 입력 정보 (예컨대, 한글, 영문 및 숫자 등의 수문자를 나타내는 정보)
3) 사용자가 단말(150)의 버튼(button)을 누름에 의해 발생한 입력 정보 (예컨대, 볼륨(volume) 업(up)/다운(down)이 눌렸음을 나타내는 정보)
4) 사용자가 단말(150)의 마우스 또는 트랙 포인트를 조작함에 의해 발생한 입력 정보 (예컨대, 마우스 커셔(cursor)의 위치 정보 또는 마우스 버튼의 눌림(press)/풀림(release)에 대한 정보)
5) 사용자가 단말(150)의 카메라 또는 마우스를 조작함에 의해 발생한 영상 또는 음성 정보 (예컨대, 카메라에 의해 캡춰된 이미지 또는 동영상 데이터 또는 마이크를 통해 입력된 음성 데이터)
입력 정보를 전송 받은 가상화 서버(150)는 이러한 입력 정보를 가상화 환경에서 동작 중인 모바일 OS 및/또는 어플리케이션에게 전달한다. 모바일 OS 및 어플리케이션은 이벤트(event), 인터럽트(interrupt) 및 폴링(polling) 등과 같은 방식을 통해 가상화 서버(110)로부터 입력 정보를 제공 받을 수 있다.
하기에서, 가상화 스트리밍 서버의 기능에 대해서 설명한다.
전술된 것처럼, 가상화 서버(110) 및 단말(150) 간에는 가상 환경과 관련된 데이터가 송수신되어야 한다. 즉, 가상화 서버(110)로부터 단말(150)로 가상 환경 정보가 전송되고, 단말(150)로부터 가상화 서버(110)로 입력 정보가 전송된다.
특정한 가상 환경 정보 또는 입력 정보는 단말(150)로 제공되기 전, 또는 가상화 서버(110)로 제공되기 전에 다른 형식으로 변환 또는 가공될 필요가 있다.
예컨대, 가상화 서버(110)가 실행 중인 모바일 OS 및/또는 어플리케이션의 실행 화면 이미지를 생성하는 경우, 생성된 이미지들이 개별적으로 전송되는 것 보다는 높은 압축율을 갖는 동영상 스트림으로서 전송되는 것이 더 효율적일 수 있다.
예컨대, 가상화 서버(110)가 실행 중인 모바일 OS 및/또는 어플리케이션에 의해 생성되는 음향을 출력한 경우, 출력되는 음향이 압축 없이 전송되는 것보다는 높은 압축율을 갖는 동영상 스트림의 음향으로서 전송되는 것이 더 효율적일 수 있다.
이러한 경우, 가상화 서버(110) 및 단말(150)이 직접 통신하는 대신, 스트리밍 서버(120)가 가상화 서버(110) 및 단말(150)의 사이에서, 양자 간에 송수신 되어야 할 데이터를 변환 및 가공하여 전달할 수 있다.
스트리밍 서버(120)는 가상화 서버(110)에 의해 연속적으로 생성된 복수 개의 가상 환경의 이미지를 전송 받아, 전송 받은 복수 개의 가상 환경의 이미지들을 H.264와 같은 특정 동영상 형식으로 부호화하여 단말(150)에게 실시간 전송할 수 있다.
스트리밍 서버(120)는 가상화 서버(110)에 의해 연속적으로 생성된(즉, 상기 모바일 운영 체제 또는 상기 어플리케이션으로부터 출력된) 복수 개의 시간 단위의 음향들을 전송 받아, 전송 받은 복수 개의 시간 단위의 음향들을 H.264와 같은 특정 동영상 형식으로 부호화하여 단말(150)에게 실시간 전송할 수 있다.
스트리밍 서버(120)는 단말(150)로부터 전송된 입력 정보를 가상화 서버(110)에게 전송할 수 있다. 이 때, 전송된 입력 정보는 가상화 서버(110)에게 전송되기 전, 가상화 서버(110)가 사용하는 규격에 맞도록 스트리밍 서버(120)에 의해 변환될 수 있다.
스트리밍 서버(120)는 부가적인 것으로, 본 발명의 실시예들에서 설명되는 스트리밍 서버(120)의 기능은 제외되거나, 가상화 서버(110)의 기능으로서 통합될 수 있다. 예컨대, 가상화 서버(110)가 가상 환경의 이미지를 동영상 형식으로 부호화하여 단말(150)에게 전송할 수 있다.
하기에서, 단말 특성 또는 사용자의 설정에 따른 가상화 환경 및 데이터의 변환에 대하여 설명한다.
가상화 서버(110)는 가상화 서버(110)에 접속한 단말(150)에 따라 서로 상이한 가상화 환경을 제공할 수 있다.
예컨대, 가상화 서버(110)는 1) 단말(150)에 설치된 씬 클라이언트(종류 및 버전으로 분류될 수 있다.)나, 2) 단말이 구비한 디스플레이 특성(해상도, 최대 색상, 방향(가로, 세로) 등) 또는 3) 단말의 입력 장치(터치 패드, 키 패트, 카메라, 마이크, 마우스, 트랙 포인트 등)의 종류 및 특성에 맞는 가상화 환경을 단말(150)에게 제공할 수 있다. 또한, 가상화 서버(110)는 단말(150)의 사용자에 의해 설정된 사용자 환경에 맞는 가상화 환경을 단말(150)에게 제공할 수 있다.
가상화 서버(110)에 의해 생성된 모바일 OS 및/또는 어플리케이션에 대한 정보는, 단말(150)의 하드웨어 특성 또는 사용자 설정 때문에 단말(150)(또는, 단말의 씬 클라이언트)에 의해 직접적으로 사용되지 못할 수 있다.
예컨대, 모바일 OS 및/또는 어플리케이션의 화면 해상도는 단말(150)의 표시부의 해상도와 다를 수 있다.
예컨대, 모바일 OS가 트루 컬러(true color)의 색상만을 지원하는데, 단말(150)의 사용자는 단말(150) 또는 씬 클라이언트가 그 보다 더 적은 수의 색상만을 사용하도록 설정할 수 있다.
이러한 경우, 모바일 OS 및/또는 어플리케이션에 대한 정보는 단말(150)(또는, 단말의 씬 클라이언트)에 맞게 변환(예컨대, 색상의 변환)되어야 한다. 이러한 변환은, 가상화 서버(110), 스트리밍 서버(120), 단말(150) 및 단말의 씬 클라이언트 중 하나 이상에 의해 전부 또는 부분적으로 수행될 수 있다.
단말(150)에 의해 전송된 입력 정보는 하드웨어 특성 또는 사용자 설정 때문에 모바일 OS 및/또는 어플리케이션으로 직접 제공되지 못할 수 있다.
예컨대, 모바일 OS 및/또는 어플리케이션이, 단말이 특정한 하드웨어 버튼(예컨대, 홈(home), 백(back) 및 검색(search) 등)을 구비하였음을 전제로 하여, 이러한 버튼의 입력을 요구할 경우가 있다.
이러한 경우, 단말(150)(또는, 단말의 씬 클라이언트)에 의해 생성된 입력 신호는 모바일 OS 및/또는 어플리케이션에게 맞게 변환(예컨대, 단말(150)의 특정 버튼의 누름/풀림 신호가 모바일 OS 및/또는 어플리케이션을 위해 요구되는 다른 버튼의 누름/풀림 신호로 변환되는 것)되어야 한다. 이러한 변환은, 단말(150), 단말의 씬 클라이언트, 스트리밍 서버(120) 및 가상화 서버(110) 중 하나 이상에 의해 전부 또는 부분적으로 수행될 수 있다.
하기에서, 웹 서버(190)에 대해서 설명한다.
웹 서버(190)는 가상화 서버(110)의 가상 환경에서 동작하는 특정 모바일 OS 및/또는 어플리케이션과 연동한다.
단말(150)(또는, 단말의 씬 클라이언트)는 모바일 OS 및/또는 어플리케이션이 실행되는 것과 같은 가상 환경을 사용자에게 제공하지만, 실제 모바일 OS 및/또는 어플리케이션의 실행은 가상화 서버(110)에서 이루어진다.
따라서, 가상화 서버(110)는 웹 서버(190)와의 연동을 위해 모바일 OS 및/또는 어플리케이션이 요구하는 작업을 처리할 수 있다.
웹 서버(190)는 특정 모바일 OS 및/또는 어플리케이션과 데이터 동기화를 수행할 수 있다. 이러한 경우, 동기화를 위해 요구되는 데이터 또는 동기화에 의해 생성된 데이터는 모바일 OS 및/또는 어플리케이션을 위해 제공하는 가상 파일 시스템(file system)에 저장될 수 있다.
웹 서버(190)는 부가적인 것으로, 본 발명의 실시예들에서 설명되는 웹 서버 (190)의 기능은 제외되거나, 가상화 서버(110)의 기능으로서 통합될 수 있다. 예컨대, 가상화 서버(110)가 웹 서비스를 모바일 OS 및/또는 어플리케이션에게 제공할 수 있다.
웹 서버(190)는 웹 서비스 제공을 위해 별개의 사용자 계정 정보(예컨대, ID, 암호, 환경 설정 정보 등)를 가지고 있을 수 있다. 가상화 서버(110)의 데이터베이스는 단말(150)의 사용자로서 웹 서버(190)에 접속하기 위해 필요한 정보(예컨대, 웹 서버 ID 및 웹 서버 암호 등)을 관리할 수 있고, 단말(150)의 사용자 계정 정보를 대응하는 웹 서버의 사용자 계정 정보와 매핑(mapping) 및 연동할 수 있다.
또는, 단말(150)은 가상화 서버(110)에게 웹 서버(190)에 접속하기 위해 필요한 정보를 직접 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 가상화 플랫폼 제공 시스템의 동작 흐름도이다.
단계(S200)에서, 단말(150)은 가상화 서버(110)로 가상화 서비스를 요청한다. 또는, 단말(150)은 스트리밍 서버(120)로 가상화 서비스를 요청하고, 스트리밍 서버(120)가 가상화 서비스 요청을 가상화 서버(110)로 전달 할 수 있다.
가상화 서비스 요청에는 단말(150) 또는 단말(150)의 사용자에 대한 정보(예컨대, 가상화 서버로의 로그인을 위한 ID 또는 암호)가 포함될 수 있다.
가상화 서비스 요청에는 단말(150)의 종류 또는 특성에 대한 정보가 포함될 수 있고, 사용자 환경에 대한 정보가 포함될 수 있다.
가상화 서비스 요청에는 단말(150)이 구동 또는 실행되기를 원하는 모바일 OS 및/또는 어플리케이션을 나타내는 정보가 포함될 수 있다.
단계(S210)에서, 가상화 서버(110)는 단말(150)을 위한 가상 환경을 구동한다. 즉, 가상화 서비스 요청에 따라 단말(150)을 위한 모바일 OS 및/또는 어플리케이션이 구동된다.
상기의 구동은 모바일 OS의 가상화 서버(110) 내에서의 부팅(booting)을 포함할 수 있다.
가상화 서비스 요청에 포함된 단말(150) 또는 사용자에 대한 정보가 모바일 OS 및/또는 어플리케이션을 설정하기 위해 사용될 수 있다.
가상화 서비스 요청에 포함된 사용자에 대한 정보가 단말 사용자를 식별하기 위해 사용될 수 있다.
예컨대, 가상화 서버(150)는 가상화 서비스 요청 내의 ID를 가상화 서버(150)의 데이터베이스에 저장된 사용자 목록과 비교하여 사용자를 식별할 수 있다. 가상화 서버(150)는 가상화 서비스 요청 내의 암호를 식별된 사용자를 인증하기 위해 사용할 수 있다. 가상화 서버(150)는 식별된 사용자에게 대응하는 가상 환경 설정 정보를 데이터베이스로부터 검색 및 로드하고, 모바일 OS 및/또는 어플리케이션을 구동할 때 가상 환경 설정 정보를 적용할 수 있다.
즉, 가상화 서버(110)는 가상화 서비스 요청에 포함된 정보에 기반하여 구동될 모바일 OS 및/또는 어플리케이션을 설정할 수 있다.
단계(S220)에서, 가상화 서버(110)는 단말(150)로 가상 환경 정보를 전송한다. 또는, 가상화 서버(110)는 스트리밍 서버(120)로 가상 환경 정보를 전송하고, 스트리밍 서버는 가상 환경 정보를 변환하여, 변환된 가상 환경 정보를 단말(150)로 전송할 수 있다.
이 때, 가상화 서버는 가상 환경 정보를 단말(150)에 맞게 변환할 수 있다.
단계(S230)에서, 단말(150)은 수신된 가상 환경 정보를 이용하여, 출력 장치로 가상 환경을 출력한다. 즉, 모바일 OS/또는 어플리케이션의 화면은 표시부에 나타나고, 모바일 OS/또는 어플리케이션에 의해 생성된 음향이 스피커를 통해 출력될 수 있다.
단계(S240)에서, 사용자가 단말(150)을 조작함에 따른 입력 정보가 단말(150)에서 생성된다.
단계(S250)에서, 단말(150)은 생성된 입력 정보를 가상화 서버(110)로 전송한다. 또는 단말(150)은 생성된 입력 정보를 스트리밍 서버(120)로 전송하고, 스트리밍 서버는 입력 정보를 변환하여, 변환된 입력 정보를 가상화 서버(110)로 전송할 수 있다.
단계(S260)에서, 가상화 서버는 가상화 서비스에서 제공하는 모바일 OS/또는 어플리케이션에 대한 연동(예컨대, 데이터 동기화)을 웹 서버(190)에게 요청한다.
단계(S262)에서, 웹 서버(190)는 연동에 필요한 작업을 처리한다.
단계(S264)에서, 웹 서버(190)는 연동 요청에 대한 응답을 가상화 서버(110)에게 전송한다.
전술된 단계들(S220 내지 S264)은 수 회, 연속적 또는 지속적으로 수행될 수 있다. 또한, 전술된 단계들(S220 내지 S264)은 서로 중첩되거나 병렬로 수행될 수 있다.
예컨대, 가상화 서버(110)에서 실행되는 모바일 OS/또는 어플리케이션이 동영상 또는 애니메이션(animation)을 표시하는 경우, 화면의 변경이 가상 환경에 반영되어야 한다. 이러한 경우, 가상화 서버(110)는 변경에 따른 가상 환경 정보를 단말(150)에게 제공하여야 한다. 이 때, 단계(S220)는 짧은 시간 간격으로 여러 번 수행될 수 있으며, 지속적으로 수행되는 것으로 간주될 수 있다. 모바일 OS/또는 어플리케이션이 음향을 출력하는 경우 등도 이와 같다.
예컨대, 사용자가 단말(150)로 음성을 입력하는 경우, 단말(150)은 음성 입력에 따라 생성된 입력 정보를 일정한 기간 동안 가상화 서버(110)로 제공하여야 한다. 음성 입력에 대한 입력 정보는 시간에 따라 분할 전송되는 것으로 볼 수 있다. 이 경우, 단계(S250)는 짧은 시간 간격으로 여러 번 수행될 수 있으며, 지속적으로 수행되는 것으로 간주될 수 있다.
예컨대, 모바일 OS/또는 어플리케이션 및 웹 서버(190) 간의 연동은 1회의 요청(S260) 및 응답(S264)으로는 완료되지 않을 수 있고, 가상화 환경이 제공되는 동안 지속적으로 수행되어야 할 경우도 있다.
단계(S270)에서, 단말(150)은 가상화 서비스 종료 요청을 가상화 서버(110)에게 전송한다. 또는, 가상화 서버(110)는 스트리밍 서버(120)로 가상화 서비스 종료 요청을 전송하고, 스트리밍 서버는 가상화 서비스 종료 요청을 변환하여, 변환된 가상화 서비스 종료 요청을 단말(150)로 전송할 수 있다.
단계(S280)에서, 가상화 서버(110)(또는 스트리밍 서버(120)는 단말(150)에게 제공된 가상 환경(즉, 단말(150)을 위한 모바일 OS 및/또는 어플리케이션)을 종료한다.
가상 환경을 종료하면서, 가상화 서버(110)(또는 스트리밍 서버(120)는 가상 환경을 단말(150)에게 제공하기 위해 할당하였던 자원(즉, 단말(150)을 위한 모바일 OS 및/또는 어플리케이션에게 할당된 자원)을 회수할 수 있다.
가상화 서버(110)는 가상 환경을 종료하면서, 예컨대, 모바일 OS 또는 어플리케이션을 위해 제공된 파일 시스템이나 설정 정보와 같은, 항구적인(permanent) 데이터를 저장할 수 있다.
항구적인 데이터는 가상화 서버(110)의 데이터베이스 등에 저장될 수 있다. 항구적인 데이터는 이후 동일한 사용자 또는 단말(150)을 위해 가상 환경이 구동될 때 사용될 수 있다.
도 3은 본 발명의 일 실시예에 따른 가상화 서버의 구조도이다.
가상화 서버(110)는 송수신부(310), 제어부(320) 및 데이터베이스부(330)를 포함한다.
송수신부(310)는 네트워크를 통한 데이터의 송수신을 수행한다.
제어부(320)는 모바일 운영 체제 및 어플리케이션을 구동함으로써 가상 환경을 제공한다.
데이터베이스부(330)는 가상 환경을 제공하기 위해 필요한 데이터를 저장한다.
수신부는 단말(150)(또는, 스트리밍 서버(120))로부터 가상화 서비스, 입력 정보 및 가상화 서비스 종료 요청을 수신할 수 있다.
수신부는 단말(150)(또는, 스트리밍 서버(120))로 가상 환경 정보를 전송한다.
수신부는 웹 서버(190)로 연동 요청을 전송하고, 웹 서버(190)로부터 연동 응답을 수신할 수 있다.
제어부(320)는 모바일 운영 체제 또는 어플리케이션의 동작에 대한 정보를 포함하는 가상 환경 정보를 생성할 수 있다.
제어부(320)는 입력 정보를 처리할 수 있다. 처리된 입력 정보는 모바일 운영 체제 또는 어플리케이션의 동작에 반영될 수 있다.
제어부(320)는 웹 서버(190)과의 연동 요청을 생성할 수 있다.
데이터베이스부(330)는 단말(150)의 사용자의 계정 정보에 대응하는 웹 서버(190)의 사용자 계정 정보를 포함할 수 있다.
제어부(320)는 데이터베이스부(330)를 사용하여 단말(150)의 사용자에 계정 정보에 대응하는 웹 서버(190)의 사용자 계정 정보를 연동 요청에 포함시킬 수 있다.
데이터베이스부(330)는 모바일 운영 체제 또는 어플리케이션을 위해 제공된 항구적인 데이터를 저장할 수 있다.
제어부(320)는 단말(150)을 위한 모바일 운영 체제 또는 어플리케이션을 종료할 수 있고, 모바일 운영 체제 또는 어플리케이션을 위해 할당된 자원을 회수할 수 있고, 모바일 운영 체제 또는 어플리케이션을 위해 제공된 항구적인 데이터를 데이터베이스부에 저장할 수 있다.
앞서 도 1 및 도 2를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 특히, 데이터의 입출력 기능 및 데이터베이스의 기능을 제외한 가상화 서버(110)에서 수행되는 가상화 환경을 제공하기 위한 제반 기능은, 본 실시예의 제어부(320)에서 수행되는 것으로 간주될 수 있다.
따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 4는 본 발명의 일 실시예에 따른 가상화 서버의 소프트웨어 아키텍처(architecture)를 나타내는 도면이다.
가상화 서버의 소프트웨어 아키텍처는 호스트 층(layer)(410), CPU(central processing unit), 에뮬레이션(emulation) 층(420), 모바일 OS 스택(stack) 층(430) 및 모바일 어플리케이션 층(440)을 포함한다.
호스트 층(410)은 서버(110)의 하드웨어를 제어하고 서버 OS 기능을 제공한다.
호스트 층(410)은 하드웨어 제어 층(412) 및 서버 OS 층(414)을 포함한다.
하드웨어 제어 층(412)은 서버(110)의 하드웨어 자체 또는 서버(110)의 하드웨어를 제어하기 위한 시스템 소프트웨어(예컨대, BIOS(basic input output system), 펌웨어(firmware) 및 디바이스 드라이버(device driver) 등)을 나타낸다.
서버 OS 층(414)은 서버(110) 자체를 위한 OS를 나타낸다. 서버 OS는 UNIX 또는 윈도우(windows)와 같은 통상적인 PC 용 OS일 수 있다.
CPU 에뮬레이션 층(420)은 모바일 OS 스택(stack)의 모바일 OS를 지원하기 위한 CPU를 에뮬레이트한다. 상기의 CPU는 ARM과 같은 통상적인 모바일 단말용 CPU일 수 있다.
CPU 에뮬레이션 층(420)은 가상 아키텍처 에뮬레이션 층(422) 및 가상 CPU SOC(system on chip) 층(424)을 포함한다.
가상 아키텍처 에뮬레이션 층(422)은 가상 CPU SOC 층의 CPU SOC가 동작하기 위한 아키텍처를 에뮬레이트한다. 가상 아키텍처 에뮬레이션 층(422)은 x86, MIPS, SPARC, ARM 아키텍처 등과 같은 널리 알려진 아키텍처를 지원할 수 있다. 가상 아키텍처 에뮬레이션 층(422)은 QEMU와 같은 통상적인 아키텍처 에뮬레이터일 수 있다.
가상 CPU SOC 층(424)는 가상 아키텍처 상에서 동작하는 CPU SOC를 에뮬레이트한다. 가상 CPU SOC 층(424)은 Goldfish와 같은 통상적인 CPU SOC 에뮬레이터일 수 있다.
가상 CPU SOC 층(424)에는, 모바일 단말용 CPU가 탑재된 단말의 디바이스를 에뮬레이트하는 디바이스 에뮬레이터(426)가 플러그-인(plug-in)될 수 있다. 즉, 가상 CPU SOC 층(424)은 디바이스 에뮬레이터(426)를 포함할 수 있다.
모바일 OS 스택 층(430)은 호스트 층(410) 또는 CPU 에뮬레이션 층(420)의 어플리케이션으로서 동작할 수 있고, 모바일 OS의 기능을 제공할 수 있다.
모바일 OS 스택 층(430)은 임베디드(embedded) OS 층(432), 시스템 라이브러리 층(434), 가상 머신 층(436) 및 어플리케이션 프레임워크(framework) 층(438)을 포함한다.
임베디드 OS 층(432)은 모바일 OS의 가상 머신(virtual machine)이 동작하기 위한 임베디드 OS 커널(kernel)이다. 임베디드 OS 커널은 임베디드 리눅스(LINUX)와 같은 통상적인 임베디드 OS일 수 있다.
시스템 라이브러리 층(434)은 임베디드 OS 커널을 위한 시스템 라이브러리를 제공한다. 시스템 라이브러리는 임베디드 OS의 프로그램이 임베디드 OS 커널로부터 서비스를 제공받기 위한 기본적인 시스템 라이브러리이다.
가상 머신 층(436)은 모바일 어플리케이션이 동작하기 위한 가상 머신을 제공한다. 가상 머신은 Dalvik 및 JAVA와 같은 통상적인 모바일 운영체제 가상 머신일 수 있다.
어플리케이션 프레임워크 층(438)은 모바일 어플리케이션이 동작하기 위한 클래스(class)들을 제공한다.
모바일 OS 스택 층(430)은 CPU 에뮬레이션 층(420)에서 제공하는 가상의 CPU를 위한 바이너리(binary)를 사용할 수 있다. CPU 에뮬레이션 층(420)은 모바일 단말에서 사용되는 CPU 및 아키텍처를 지원하므로, 모바일 OS 스택 층(430)에서 사용되는 바이너리는 모바일 단말에서 사용되는 것과 동일한 것일 수 있다. 즉, 모바일 OS 스택 층(430)은 모바일 단말에서 사용되는 모바일 OS의 바이너리를 변경 없이 사용할 수 있다.
모바일 어플리케이션 층(440)은 모바일 OS 스택 층(430)의 어플리케이션으로서 동작한다. 즉, 모바일 어플리케이션 층(440)에서 모바일 OS의 어플리케이션(442)이 실행된다.
모바일 OS 스택 층(430)은 모바일 OS의 환경을 제공한다. 따라서, 모바일 어플리케이션 층(440)에서 실행되는 어플리케이션(442)의 코드(code)는 모바일 단말에서 사용되는 모바일 운영 체제에서 동작하는 실제 모바일 어플리케이션의 코드와 동일할 수 있다. 즉, 모바일 단말을 위한 모바일 어플리케이션은 코드가 변경 또는 수정 등이 되지 않은 채, 모바일 어플리케이션 충(440)에서 동작할 수 있다.
디바이스 에뮬레이터(426)는 모바일 단말에서 사용되는 모바일 OS의 디바이스를 에뮬레이트한다. 따라서, 디바이스 에뮬레이터는 모바일 OS 및/또는 어플리케이션의 실행 화면 또는 모바일 OS 및/또는 어플리케이션으로부터 출력되는 음향을 그대로 에뮬레이트할 수 있다.
디바이스 에뮬레이터(426)에 의해 출력된 가상 환경 정보는 스트리밍 서버(120)로 전송될 수 있다.
CPU 에뮬레이션 층(420)은 복수 개일 수 있다. 복수 개의 CPU 에뮬레이션 층(420) 각각은 서로 상이한 CPU를 에뮬레이트 할 수 있다. 복수 개의 CPU 에뮬레이션 층(420) 각각은 하나 이상의 가상화 서비스 요청자(예컨대, 단말(150) 사용자)에게 가상 환경을 제공하기 위한 것일 수 있다.
모바일 OS 스택 층(430) 은 복수 개일 수 있다. 복수 개의 모바일 OS 스택 층(430) 각각은 서로 상이한 모바일 OS를 에뮬레이트 할 수 있다. 복수 개의 모바일 OS 스택 층(430) 각각은 서로 상이한 모바일 OS 스택 층(430)에서 제공될 수 있다. 복수 개의 모바일 OS 스택 층(430) 각각은 하나 이상의 가상화 서비스 요청자를 위한 가상 환경을 제공하기 위한 것일 수 있다.
즉, 각각의 단말(150)에게 다양한 가상 환경을 제공하기 위해 CPU 에뮬레이션 층(420) 및/또는 모바일 OS 스택 층(430)은 복수 개일 수 있고, 각각의 가상화 서비스 요청자를 위해 별개의 CPU 에뮬레이션 층(420) 및/또는 모바일 OS 스택 층(430)이 생성될 수 있다.
모바일 어플리케이션 층(440)에서 실행되는 어플리케이션(442)은, 모바일 OS의 능력에 따라, 복수 개일 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110: 가상화 서버
120: 스트리밍 서버
150: 단말
190: 웹 서버

Claims (25)

  1. 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서비스 제공 방법에 있어서,
    단말로부터 가상화 서비스 요청을 수신하는 단계;
    상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 구동하는 단계;
    상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 상기 단말로 전송하는 단계; 및
    상기 단말로부터 상기 모바일 운영 체제 또는 상기 어플리케이션을 조작하기 위한 입력 정보를 수신하는 단계
    를 포함하는, 가상화 서비스 제공 방법.
  2. 제1항에 있어서,
    웹 서버로 상기 모바일 운영 체제 또는 상기 어플리케이션과의 연동 요청을 전송하는 단계; 및
    상기 웹 서버로부터 상기 연동 요청에 대한 응답을 수신하는 단계
    를 더 포함하는, 가상화 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 연동은 상기 운영 체제 또는 상기 어플리케이션과의 데이터 동기화인, 가상화 서비스 제공 방법.
  4. 제3항에 있어서,
    상기 동기화에 의해 생성된 데이터는 상기 모바일 OS 또는 상기 어플리케이션을 위해 제공되는 가상 파일 시스템에 저장되는, 가상화 서비스 제공 방법.
  5. 제2항에 있어서,
    상기 가상화 서비스 요청은 단말의 사용자의 계정 정보를 포함하고,
    상기 연동 요청은 상기 단말의 사용자의 계정 정보에 대응하는 상기 웹 서버의 사용자 계정 정보를 포함하는, 가상화 서비스 제공 방법.
  6. 제1항에 있어서,
    상기 단말로부터 가상화 서비스 종료 요청을 수신하는 단계; 및
    상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료하는 단계
    를 더 포함하고, 상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료하는 단계는
    상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 할당된 자원을 회수하는 단계
    를 포함하는, 가상화 서비스 제공 방법.
  7. 제6항에 있어서,
    상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료하는 단계는,
    상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 제공된 항구적인 데이터를 저장하는 단계
    를 더 포함하는, 가상화 서비스 제공 방법.
  8. 제1항에 있어서,
    상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 구동하는 단계는,
    상기 가상화 서비스 요청에 포함된 정보에 기반하여 상기 모바일 운영 체제 또는 상기 어플리케이션을 설정하는 단계
    를 더 포함하는, 가상화 서비스 제공 방법.
  9. 제1항에 있어서,
    상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 상기 단말로 전송하는 단계는,
    상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 상기 단말에 맞게 변환하는 단계
    를 포함하는, 가상화 서비스 제공 방법.
  10. 제1항에 있어서,
    상기 단말로부터 상기 모바일 운영 체제 또는 상기 어플리케이션을 조작하기 위한 입력 정보를 수신하는 단계는,
    상기 입력 정보를 상기 모바일 운영 체제 또는 상기 어플리케이션에게 맞게 변환되는 단계
    를 포함하는, 가상화 서비스 제공 방법.
  11. 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서버에 있어서,
    데이터의 송수신을 수행하는 송수신부; 및
    상기 모바일 운영 체제 및 상기 어플리케이션을 구동함으로써 가상 환경을 제공하는 제어부
    를 포함하고,
    상기 제어부는 상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 생성하고, 상기 단말로부터 제공된 상기 모바일 운영 체제 또는 상기 어플리케이션을 조작하기 위한 입력 정보를 처리하고, 상기 송수신부는 단말로부터 가상화 서비스 요청을 수신하고, 상기 동작에 대한 정보를 상기 단말로 전송하고, 상기 단말로부터 상기 입력 정보를 수신하는, 가상화 서버.
  12. 제11항에 있어서,
    상기 제어부는 상기 모바일 운영 체제 또는 상기 어플리케이션과의 연동 요청을 생성하고,
    상기 송수신부는 웹 서버로 상기 연동 요청을 전송하고, 상기 웹 서버로부터 상기 연동 요청에 대한 응답을 수신하는, 가상화 서버.
  13. 제12항에 있어서,
    상기 연동은 상기 운영 체제 또는 상기 어플리케이션과의 데이터 동기화이고, 상기 동기화에 의해 생성된 데이터는 상기 모바일 OS 또는 상기 어플리케이션을 위해 제공되는 가상 파일 시스템에 저장되는, 가상화 서버.
  14. 제11항에 있어서,
    상기 가상 환경을 제공하기 위해 필요한 데이터를 저장하는 데이터베이스부
    를 더 포함하고, 상기 가상화 서비스 요청은 단말의 사용자의 계정 정보를 포함하고, 상기 데이터베이스부는 상기 단말의 사용자의 계정 정보에 대응하는 상기 웹 서버의 사용자 계정 정보를 포함하고, 상기 제어부는 상기 데이터베이스부를 사용하여 상기 단말의 사용자에 계정 정보에 대응하는 상기 웹 서버의 사용자 계정 정보를 상기 연동 요청에 포함시키는, 가상화 서버.
  15. 제11항에 있어서,
    상기 가상 환경을 제공하기 위해 필요한 데이터를 저장하는 데이터베이스부
    를 더 포함하고,
    상기 송수신부는 상기 단말로부터 가상화 서비스 종료 요청을 수신하고, 상기 제어부는 상기 단말을 위한 상기 모바일 운영 체제 또는 상기 어플리케이션을 종료하고, 상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 할당된 자원을 회수하고, 상기 모바일 운영 체제 또는 상기 어플리케이션을 위해 제공된 항구적인 데이터를 상기 데이터베이스부에 저장하는, 가상화 서버.
  16. 제11항에 있어서,
    상기 제어부는 상기 가상화 서비스 요청에 포함된 정보에 기반하여 상기 모바일 운영 체제 또는 상기 어플리케이션을 설정하는, 가상화 서버.
  17. 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 어플리케이션의 가상 환경을 제공하는 가상화 서비스 제공 시스템에 있어서,
    상기 모바일 운영 체제 및 상기 어플리케이션을 구동하여 가상 환경을 제공하는 가상화 서버; 및
    상기 가상화 서버로부터 상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보를 전송 받아, 상기 정보를 변환하여 변환된 정보를 단말로 전송하는 스트리밍 서버
    를 포함하는, 가상화 서비스 제공 시스템.
  18. 제17항에 있어서,
    상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보는 상기 모바일 운영 체제 또는 상기 어플리케이션의 실행 화면 이미지를 포함하고,
    상기 스트리밍 서버는 상기 실행 화면 이미지를 동영상으로 부호화하여 단말로 전송하는, 가상화 서비스 제공 시스템.
  19. 제18항에 있어서,
    상기 모바일 운영 체제 또는 상기 어플리케이션의 동작에 대한 정보는 상기 모바일 운영 체제 또는 상기 어플리케이션으로부터 출력된 음향을 포함하고,
    상기 실행 화면 이미지는 연속적으로 생성된 복수 개의 이미지들이고,
    상기 음향은 연속적으로 생성된 복수 개의 시간 단위의 음향들이고,
    상기 스트리밍 서버는 상기 복수 개의 이미지들 및 상기 복수 개의 시간 단위의 음향들을 동영상으로 부호화하여 상기 단말로 실시간 전송하는, 가상화 서비스 제공 시스템.
  20. 제19항에 있어서,
    상기 스트리밍 서버는 단말로부터 전송된 입력 정보를 가상화 서버가 사용하는 규격에 맞게 변환하고, 변환된 입력 정보를 상기 가상화 서버로 전송하는, 가상화 제공 시스템.
  21. 모바일 운영 체제 및 상기 모바일 운영 체제에서 동작하는 모바일 어플리케이션의 가상 환경을 제공하는 가상화 서버에 있어서,
    상기 서버의 하드웨어를 제어하고 운영 체제 기능을 제공하는 호스트 층
    상기 호스트 층의 어플리케이션으로서 동작하고, 상기 모바일 운영 체제의 기능을 제공하는 모바일 운영 체제 스택 층; 및
    상기 모바일 운영 체제 스택 층의 어플리케이션으로서 동작하는 모바일 어플리케이션 층
    을 포함하고, 상기 모바일 어플리케이션 층에서 동작하는 모바일 어플리케이션의 코드는 모바일 단말에서 사용되는 상기 모바일 운영 체제에 동작하는 상기 모바일 어플리케이션의 코드와 동일한, 가상화 서버.
  22. 제21항에 있어서
    상기 모바일 운영 체제를 지원하기 위한 CPU를 에뮬레이트하는 CPU 에뮬레이션 층
    을 더 포함하는, 가상화 서버.
  23. 제22항에 있어서,
    상기 CPU 에뮬레이션 층은 상기 CPU가 탑재된 단말의 디바이스를 에뮬레이트하는 디바이스 에뮬레이터를 포함하고, 상기 디바이스 에뮬레이터는 상기 모바일 운영 체제 또는 상기 모바일 어플리케이션의 실행 화면을 출력하는, 가상화 서버.
  24. 제23항에 있어서,
    상기 가상화 서버는 상기 실행 화면을 포함하는 가상 환경 정보를 스트리밍 서버로 전송하는, 가상화 서버.
  25. 제23항에 있어서,
    상기 모바일 운영 체제 스택 층은 복수 개이고, 상기 복수 개의 모바일 운영 체제 스택 층들 각각은 상이한 가상화 서비스 요청을 위해 생성되는, 가상화 서버.
KR1020100105174A 2010-10-27 2010-10-27 가상화 플랫폼 제공 방법 및 장치 KR101761409B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100105174A KR101761409B1 (ko) 2010-10-27 2010-10-27 가상화 플랫폼 제공 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100105174A KR101761409B1 (ko) 2010-10-27 2010-10-27 가상화 플랫폼 제공 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120046807A true KR20120046807A (ko) 2012-05-11
KR101761409B1 KR101761409B1 (ko) 2017-07-25

Family

ID=46265739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100105174A KR101761409B1 (ko) 2010-10-27 2010-10-27 가상화 플랫폼 제공 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101761409B1 (ko)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223981B1 (ko) * 2012-07-11 2013-01-21 주식회사 안랩 안전한 애플리케이션 실행을 위한 가상화 장치, 서버 및 방법
KR101417439B1 (ko) * 2012-11-30 2014-07-08 중소기업은행 가상화 데스크탑 시스템 및 방법
KR20150040950A (ko) * 2012-08-31 2015-04-15 엔이씨 솔루션 이노베이터 가부시키가이샤 입력 제어 장치, 씬 클라이언트 시스템, 입력 제어 방법 및 기록 매체
KR20150040983A (ko) * 2012-08-31 2015-04-15 엔이씨 솔루션 이노베이터 가부시키가이샤 표시 제어 장치, 씬 클라이언트 시스템, 표시 제어 방법 및 기록매체
KR20150043365A (ko) * 2012-09-14 2015-04-22 엔이씨 솔루션 이노베이터 가부시키가이샤 입력 표시 제어 장치, 씬 클라이언트 시스템, 입력 표시 제어 방법 및 기록매체
KR20170047969A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 모바일 애플리케이션 운영 방법
KR101857009B1 (ko) * 2017-01-19 2018-05-11 숭실대학교산학협력단 안드로이드 악성코드 분석을 위한 컨테이너 플랫폼 및 이를 이용한 모바일 장치의 보안 방법
US10073688B2 (en) 2013-05-30 2018-09-11 Samsung Electronics Co., Ltd. Method and apparatus for executing application
KR20180127809A (ko) * 2017-05-22 2018-11-30 엔에이치엔엔터테인먼트 주식회사 원격 데스크탑 서비스를 제공하는 방법 및 원격 데스크탑의 동작 방법
KR20200044390A (ko) * 2018-10-19 2020-04-29 에스케이텔레콤 주식회사 특정영역에서의 vmi화면과 로컬화면 표시 방법 및 장치
KR20200056557A (ko) * 2018-11-15 2020-05-25 주식회사 엘지유플러스 원격 접속을 위한 장치, 시스템 및 방법
KR102141850B1 (ko) * 2020-02-19 2020-08-06 주식회사 커넥션소프트 모바일 가상화 서비스를 위한 시스템, 서버, 단말, 및 방법
KR102189889B1 (ko) * 2020-09-09 2020-12-11 주식회사 커넥션소프트 웹 브라우저 기반 안드로이드 애플리케이션 스트리밍 서비스 제공 방법 및 이를 위한 시스템
KR20210021514A (ko) * 2015-10-26 2021-02-26 에스케이텔레콤 주식회사 모바일 애플리케이션 운영 방법
KR102233705B1 (ko) * 2020-09-10 2021-03-30 (유)아홉 모바일 가상화 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102265886B1 (ko) 2020-07-24 2021-06-16 (주)온넷시스템즈코리아 Arm 서버 기반의 가상 클라우드 서비스 플랫폼
KR20220056645A (ko) 2020-10-28 2022-05-06 삼성에스디에스 주식회사 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231731B (zh) * 2007-01-25 2015-10-21 运软网络科技(上海)有限公司 一种应用虚拟化在公网上的通用商务方法及其迷你服务器
CN101754466B (zh) * 2008-12-10 2012-09-05 运软网络科技(上海)有限公司 移动虚拟化的基础设施以及基础平台

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223981B1 (ko) * 2012-07-11 2013-01-21 주식회사 안랩 안전한 애플리케이션 실행을 위한 가상화 장치, 서버 및 방법
KR20150040950A (ko) * 2012-08-31 2015-04-15 엔이씨 솔루션 이노베이터 가부시키가이샤 입력 제어 장치, 씬 클라이언트 시스템, 입력 제어 방법 및 기록 매체
KR20150040983A (ko) * 2012-08-31 2015-04-15 엔이씨 솔루션 이노베이터 가부시키가이샤 표시 제어 장치, 씬 클라이언트 시스템, 표시 제어 방법 및 기록매체
US9665238B2 (en) 2012-08-31 2017-05-30 Nec Solution Innovators, Ltd. Input control device, thin-client system, input control method, and recording medium
KR20150043365A (ko) * 2012-09-14 2015-04-22 엔이씨 솔루션 이노베이터 가부시키가이샤 입력 표시 제어 장치, 씬 클라이언트 시스템, 입력 표시 제어 방법 및 기록매체
US9874940B2 (en) 2012-09-14 2018-01-23 Nec Solution Innovators, Ltd. Input display control device, thin client system, input display control method, and recording medium
KR101417439B1 (ko) * 2012-11-30 2014-07-08 중소기업은행 가상화 데스크탑 시스템 및 방법
US10073688B2 (en) 2013-05-30 2018-09-11 Samsung Electronics Co., Ltd. Method and apparatus for executing application
KR20210021514A (ko) * 2015-10-26 2021-02-26 에스케이텔레콤 주식회사 모바일 애플리케이션 운영 방법
KR20170047969A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 모바일 애플리케이션 운영 방법
KR101857009B1 (ko) * 2017-01-19 2018-05-11 숭실대학교산학협력단 안드로이드 악성코드 분석을 위한 컨테이너 플랫폼 및 이를 이용한 모바일 장치의 보안 방법
US10671728B2 (en) 2017-01-19 2020-06-02 Foundation Of Soongsil University-Industry Cooperation Mobile device for analyzing malicious code using a container platform, system for analyzing malicious code in a mobile device using the same, and method for analyzing malicious code using the same
US10606608B2 (en) 2017-05-22 2020-03-31 NHN Entertianment Corporation Method of providing remote desktop service and method of operating remote desktop
KR20180127809A (ko) * 2017-05-22 2018-11-30 엔에이치엔엔터테인먼트 주식회사 원격 데스크탑 서비스를 제공하는 방법 및 원격 데스크탑의 동작 방법
KR20200044390A (ko) * 2018-10-19 2020-04-29 에스케이텔레콤 주식회사 특정영역에서의 vmi화면과 로컬화면 표시 방법 및 장치
KR20200056557A (ko) * 2018-11-15 2020-05-25 주식회사 엘지유플러스 원격 접속을 위한 장치, 시스템 및 방법
KR102141850B1 (ko) * 2020-02-19 2020-08-06 주식회사 커넥션소프트 모바일 가상화 서비스를 위한 시스템, 서버, 단말, 및 방법
KR102189889B1 (ko) * 2020-09-09 2020-12-11 주식회사 커넥션소프트 웹 브라우저 기반 안드로이드 애플리케이션 스트리밍 서비스 제공 방법 및 이를 위한 시스템
KR102233705B1 (ko) * 2020-09-10 2021-03-30 (유)아홉 모바일 가상화 방법 및 장치

Also Published As

Publication number Publication date
KR101761409B1 (ko) 2017-07-25

Similar Documents

Publication Publication Date Title
KR101761409B1 (ko) 가상화 플랫폼 제공 방법 및 장치
US11494010B2 (en) Touch support for remoted applications
US9451043B2 (en) Remote virtualization of mobile apps
US8959141B2 (en) System and method for pervasive computing
US11451619B2 (en) App remote control method and related devices
US8934887B2 (en) System and method for running mobile devices in the cloud
WO2021143182A1 (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
WO2017124860A1 (zh) 分布式无线多屏虚拟机服务系统
US20150082239A1 (en) Remote Virtualization of Mobile Apps with Transformed Ad Target Preview
JP2016076216A (ja) アプリケーション試用システム、方法及びそのサーバとユーザデバイス
WO2016061018A1 (en) Input signal emulation
CN114339332B (zh) 一种移动终端、显示设备及跨网投屏方法
US9293108B2 (en) Transmission apparatus and system of using the same
WO2015176352A1 (zh) 一种基于安卓系统的应用间信息交互方法及装置
KR20120096741A (ko) 가상단말 클라우드 네트워크 시스템 및 이기종 단말 플랫폼 어플리케이션 제공방법
WO2021239073A1 (zh) 物联网操作系统构建方法、系统、云平台及物联网设备
WO2017211260A1 (zh) 一种访问数据的方法及相关设备
KR20210027338A (ko) 특정 시점의 환경을 제공할 수 있는 가상 데스크톱 시스템 및 그 데이터 처리 방법
WO2024051148A1 (zh) 云游戏控制方法、装置、电子设备及存储介质
TW201701152A (zh) 網路伺服系統
US10290151B2 (en) AR/VR device virtualisation
CN112328356B (zh) Android与Windows的互通方法、装置、存储介质及计算机设备
KR101284791B1 (ko) 휴대용 단말기를 이용한 컴퓨터 운영체제 구현 방법 및 그 장치
KR101326231B1 (ko) 가상화 소프트웨어 서비스 시스템 및 이를 위한 서비스 서버 및 사용자단말
KR101412310B1 (ko) 가상단말 클라우드 네트워크 시스템 및 이기종 단말 플랫폼 어플리케이션 제공방법

Legal Events

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