KR102311211B1 - 멀티 인스턴스 관리 방법 및 장치 - Google Patents
멀티 인스턴스 관리 방법 및 장치 Download PDFInfo
- Publication number
- KR102311211B1 KR102311211B1 KR1020190169915A KR20190169915A KR102311211B1 KR 102311211 B1 KR102311211 B1 KR 102311211B1 KR 1020190169915 A KR1020190169915 A KR 1020190169915A KR 20190169915 A KR20190169915 A KR 20190169915A KR 102311211 B1 KR102311211 B1 KR 102311211B1
- Authority
- KR
- South Korea
- Prior art keywords
- instance
- application
- master
- duplicate
- game
- Prior art date
Links
Images
Classifications
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/54—Interprogram communication
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
멀티 인스턴스 관리 방법 및 장치가 개시된다. 일 실시예에 따른 멀티 인스턴스 관리 방법은, 에뮬레이터의 마스터 인스턴스에 대한 복제 인스턴스를 생성하는 동작, 상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트하는 동작 및 상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화하는 동작을 포함한다.
Description
개시되는 실시예들은 멀티 인스턴스를 관리하는 기술과 관련된다.
최근, 스마트폰, 태블릿 PC 등과 같은 모바일 단말의 보급이 가속화됨에 따라 모바일 단말을 이용한 모바일 게임 서비스의 이용 또한 증가하고 있다. 그러나, 모바일 단말을 이용하여 게임 서비스를 이용하는 경우, 모바일 단말의 발열, 배터리 소모 등으로 인해 모바일 단말의 수명이 단축된다. 이 때문에, 개인용 컴퓨터에서 녹스(Nox), 블루스택(BlueStacks) 등과 같은 모바일 운영 체제 에뮬레이터를 이용하여 모바일 게임 서비스를 이용하는 사용자가 늘어나고 있다.
한편, 모바일 운영 체제 에뮬레이터는 멀티 인스턴스를 통해 모바일 운영 체제 기반의 게임 애플리케이션을 실행시키기 위한 하나 이상의 모바일 환경을 제공할 수 있다. 다만, 복수의 인스턴스 각각에 설치된 모바일 운영 체제 기반의 게임 애플리케이션은 별도로 관리된다. 따라서, 모바일 운영 체제 기반의 게임 애플리케이션에 대한 업데이트 등을 수행하려는 경우, 각 복제 인스턴스마다 별도로 게임 애플리케이션 업데이트를 수행해야 하는 문제점이 있다.
개시되는 실시예들은 멀티 인스턴스 관리 방법 및 장치를 제공하기 위한 것이다.
일 실시예에 따른 멀티 인스턴스 관리 방법은, 에뮬레이터의 마스터 인스턴스에 대한 복제 인스턴스를 생성하는 동작; 상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트하는 동작; 및 상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화하는 동작을 포함한다.
상기 생성하는 동작은, 상기 마스터 인스턴스에 설치된 애플리케이션을 복제하여 상기 복제 인스턴스를 생성할 수 있다.
상기 업데이트하는 동작은, 상기 복제 인스턴스에서 상기 애플리케이션과 동일한 애플리케이션이 실행중인 경우, 상기 복제 인스턴스에서 실행중인 애플리케이션을 종료시킨 후 상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트할 수 있다.
상기 동기화하는 동작은, 상기 복제 인스턴스에 설치된 하나 이상의 애플리케이션 중 상기 업데이트된 애플리케이션과 동일한 애플리케이션이 업데이트되도록 상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화할 수 있다.
상기 마스터 인스턴스는, 개인용 컴퓨터 운영 체제 환경에서 모바일 운영 체제 환경을 가상화하고, 상기 애플리케이션은, 모바일 운영 체제 기반의 모바일 애플리케이션일 수 있다.
일 실시예에 따른 멀티 인스턴스 관리 장치는, 하나 이상의 통신 인터페이스; 및 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 에뮬레이터의 마스터 인스턴스에 대한 복제 인스턴스를 생성하고, 상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트하고, 상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화할 수 있다.
상기 하나 이상의 프로세서는, 상기 마스터 인스턴스에 설치된 애플리케이션을 복제하여 상기 복제 인스턴스를 생성할 수 있다.
상기 하나 이상의 프로세서는, 상기 복제 인스턴스에서 상기 애플리케이션과 동일한 애플리케이션이 실행중인 경우, 상기 복제 인스턴스에서 실행중인 애플리케이션을 종료시킨 후 상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트할 수 있다.
상기 하나 이상의 프로세서는, 상기 복제 인스턴스에 설치된 하나 이상의 애플리케이션 중 상기 업데이트된 애플리케이션과 동일한 애플리케이션이 업데이트되도록 상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화할 수 있다.
상기 마스터 인스턴스는, 개인용 컴퓨터 운영 체제 환경에서 모바일 운영 체제 환경을 가상화하고, 상기 애플리케이션은, 모바일 운영 체제 기반의 모바일 애플리케이션일 수 있다.
개시되는 실시예들에 따르면, 애플리케이션을 실행시키기 위한 복제 인스턴스와 업데이트된 애플리케이션을 포함하는 마스터 인스터스를 동기화함으로써, 마스터 인스턴스에서의 애플리케이션에 대한 업데이트 수행만으로도 복제 인스턴스에 설치된 애플리케이션이 자동으로 업데이트될 수 있다.
도 1은 일 실시예에 따른 멀티 인스턴스 관리 장치의 구성도이다.
도 2는 일 실시예에 따른 복제 인스턴스를 생성하는 예를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 복제 인스턴스를 생성하는 다른 예를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 복수의 복제 인스턴스를 생성하는 예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 복수의 복제 인스턴스를 생성하는 다른 예를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 마스터 인스턴스와 복제 인스턴스를 동기화하는 예를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 멀티 인스턴스 관리 방법의 순서도이다.
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 복제 인스턴스를 생성하는 예를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 복제 인스턴스를 생성하는 다른 예를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 복수의 복제 인스턴스를 생성하는 예를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 복수의 복제 인스턴스를 생성하는 다른 예를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 마스터 인스턴스와 복제 인스턴스를 동기화하는 예를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 멀티 인스턴스 관리 방법의 순서도이다.
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 또한, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
이하에서 "게임"이란, 한 명 또는 그 이상의 게이머들이 게이밍 디바이스에 탑재되거나 연결된 입력장치를 이용하여 즐길 수 있는 소프트웨어를 의미한다. 통상 플레이어 캐릭터를 직접 조작하거나, 게임 내 오브젝트의 움직임을 조작하는 등의 방식으로 진행되며, 롤플레잉, 어드벤쳐, 아케이드 등으로 장르가 구분되기도 한다.
이하에서 "게이밍 디바이스"란 게임 소프트웨어를 실행하되 입력장치를 통한 사용자의 입력에 따라 연산을 수행하며, 출력장치를 통해 결과를 출력하는 하드웨어를 의미한다.
이하에서 "온라인 게임"이란, 게임의 플레이를 위하여 네트워크를 경유하여야 하는 게임을 의미한다. 통상 원격지의 둘 이상의 게이밍 디바이스가 네트워크를 통해 서로 연결되거나, 서버를 통해 동기화되어 즐기는 게임을 의미한다. 상술한 정의를 만족하는 것이라면 게임을 실행하는 게이밍 디바이스의 형태에 제한을 두지 아니한다. 개인용 컴퓨터나 게임 콘솔에서 실행되는 게임뿐만 아니라, 스마트폰과 같은 모바일에서 실행되는 게임, 또는 서로 다른 복수개의 게이밍 디바이스(서로 다른 종류의 게이밍 디바이스도 포함한다)가 연동되거나 클라우드에서 실행되는 게임 또한 상술한 정의를 만족하는 것이라면 온라인게임에 속하는 것으로 해석된다.
이하에서 "입력장치(InputDevice)"란, 게이밍 디바이스에 데이터를 입력하기 위한 장치를 의미한다. 예컨대, 조이스틱, 마우스, 키보드, 터치스크린, 하드웨어버튼 또는 스티어링 휠, 악기, 총, 장갑, 발판 등의 형태로 제조된 게임 조작 전용 입력장치를 들 수 있다. 이외에도 게이밍 디바이스에 탑재되거나 연동되는 각종 센서(온도센서, 적외선 센서, 모션센서, 자이로 센서, 가속도 센서, 중력센서 등)나 글로벌 포지셔닝 시스템(GPS; Global Positioning System), 실내 위치 확인 시스템(Indoor Positioning System)등의 위치 확인 수단 또한 입력장치의 일 예로 들 수 있다.
이하에서 "출력장치(OutputDevice)"란, 게이밍 디바이스의 연산결과를 표시하기 위한 장치를 의미한다. 연산결과는 인간의 오감을 이용하여 인지될 수 있는 형태로 표시된다. 반드시 시각이나 청각적으로 표시되는 경우로 한정되지 않으며 후각적, 촉각적 형태로 표시될 수도 있다. 예컨대, 스피커나 모니터, 헤드마운티드 디스플레이와 같은 전형적인 하드웨어가 상술한 정의를 만족하지만, 이외에도 3D 프린터와 같이 촉각적 형태로 출력하거나, 진동이나 향기, 바람을 발생시키는 장치 또한 출력장치의 일 예가 될 수 있다.
상술한 입력장치 및 출력장치는 게이밍 디바이스의 일 요소로서 게이밍 디바이스에 포함될 수도 있고, 게이밍 디바이스와 별도의 유선 또는 무선 인터페이스를 통하여 연결될 수도 있다.
도 1는 일 실시예에 따른 멀티 인스턴스 관리 장치(100)의 구성도이다.
도 1을 참조하면, 멀티 인스턴스 관리 장치(100)는 복제 인스턴스 생성부(110), 업데이트부(130) 및 동기화부(150)를 포함한다.
일 실시예에서, 복제 인스턴스 생성부(110), 업데이트부(130) 및 동기화부(150)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
복제 인스턴스 생성부(110)는 에뮬레이터(emulator)의 마스터 인스턴스에 대한 복제 인스턴스를 생성한다.
에뮬레이터는 제1 운영 체제 환경에서 실행 가능한 제1 운영 체제 기반 애플리케이션이 제2 운영 체제 환경에서 실행되도록 제2 운영 체제 환경 내에서 제1 운영 체제 환경을 모방하기 위한 프로그램을 의미한다.
이때, 일 실시예에 따르면, 제1 운영 체제 환경은 예를 들어, 안드로이드(Andoroid), iOS 등과 같은 모바일 운영 체제에 의해 제공되는 컴퓨팅 환경을 의미할 수 있다.
또한, 일 실시예에 따르면, 제2 운영 체제 환경은 예를 들어, 윈도우(Windos), 맥 OS(mac OS), 리눅스(Linux) 등과 같은 개인용 컴퓨터 운영 체제에 의해 제공되는 컴퓨팅 환경을 의미할 수 있다.
한편, 인스턴스(instance)는 제1 운영 체제 환경을 에뮬레이션하여 제1 운영 체제 기반 애플리케이션의 설치 및 실행이 가능하도록 하는 가상화된 컴퓨팅 환경을 의미할 수 있다.
구체적으로, 사용자는 에뮬레이터를 이용하여 제2 운영 체제 환경 내에 하나 이상의 인스턴스를 생성하고, 생성된 각 인스턴스에 하나 이상의 제1 운영 체제 기반 애플리케이션을 설치할 수 있다.
한편, 일 실시예에서, 마스터 인스턴스는 다른 인스턴스로부터 복제되지 않은 원본 인스턴스를 의미하며, 마스터 인스턴스에 대한 복제 인스턴스는 마스터 인스턴스를 복제한 인스턴스를 의미할 수 있다.
구체적으로, 일 실시예에 따르면, 복제 인스턴스 생성부(110)는 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 적어도 하나를 복제하여 하나 이상의 복제 인스턴스를 생성할 수 있다. 이때, 마스터 인스턴스에 설치된 하나 이상의 애플리케이션은 각각 제1 운영 체제 기반 애플리케이션일 수 있다.
한편, 복제 인스턴스는 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 사용자에 의해 선택된 애플리케이션을 포함할 수 있다. 즉, 복제 인스턴스 생성부(110)는 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 사용자에 의해 선택된 애플리케이션을 복제하여 복제 인스턴스를 생성할 수 있다.
예를 들어, 복제 인스턴스 생성부(110)는 사용자의 선택에 따라 마스터 인스턴스에 설치된 하나 이상의 애플리케이션이 모두 설치된 하나 이상의 복제 인스턴스를 생성하거나, 각각 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 일부가 설치된 하나 이상의 복제 인스턴스를 생성할 수 있다.
한편, 마스터 인스턴스에 대한 하나 이상의 복제 인스턴스가 생성된 경우, 동일한 애플리케이션이 마스터 인스턴스와 하나 이상의 복제 인스턴스 각각에 의해 개별적으로 실행될 수 있다.
업데이트부(130)는 마스터 인스턴스에 설치된 애플리케이션을 업데이트한다.
구체적으로, 업데이트부(130)는 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 각각에 대한 업데이트 정보를 확인하고, 확인 결과에 기초하여 마스터 인스턴스에 설치된 하나 이상의 애플리케이션을 업데이트할 수 있다.
일 실시예에 따르면, 업데이트부(130)는 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 각각에 대한 배포 서버로부터 업데이트 정보를 획득하고, 획득된 업데이트 정보에 기초하여 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 업데이트 대상 애플리케이션을 식별할 수 있다. 또한, 업데이트부(130)는 업데이트 대상 애플리케이션에 대한 배포 서버로부터 업데이트 파일을 획득하여 업데이트 대상 애플리케이션에 대한 업데이트를 수행할 수 있다.
한편, 일 실시예에 따르면, 업데이트부(130)는 마스터 인스턴스에 설치된 업데이트 대상 애플리케이션과 동일한 애플리케이션이 마스터 인스턴스에 대한 복제 인스턴스에서 실행 중인 경우, 복제 인스턴스에서 실행 중인 애플리케이션을 종료시킨 후 마스터 인스턴스에 설치된 업데이트 대상 애플리케이션을 업데이트할 수 있다.
이에 따라, 복제 인스턴스를 통해 애플리케이션을 실행 중 마스터 인스턴스에 설치된 동일한 애플리케이션에 대한 업데이트 시 발생할 수 있는 마스터 인스턴스와 복제 인스턴스 간의 애플리케이션 충돌 문제 등을 방지할 수 있다.
동기화부(150)는 마스터 인스턴스와 복제 인스턴스를 동기화한다.
구체적으로, 동기화부(150)는 업데이트부(130)에 의해 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 적어도 하나가 업데이트된 경우, 복제 인스턴스에 설치된 하나 이상의 애플리케이션 중 마스터 인스턴스에서 업데이트된 애플리케이션과 동일한 애플리케이션이 업데이트되도록 복제 인스턴스와 마스터 인스턴스를 동기화할 수 있다.
예를 들어, 동기화부(150)는 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 업데이트된 애플리케이션에 대한 소스 파일을 복제 인스턴스에 설치된 하나 이상의 애플리케이션 중 업데이트된 애플리케이션과 동일한 애플리케이션에 대한 소스 파일로 복제하여 복제 인스턴스에 설치된 애플리케이션이 업데이트되도록 할 수 있다.
즉, 마스터 인스턴스와 복제 인스턴스에 공통적으로 설치된 애플리케이션에 대한 업데이트가 필요한 경우, 마스터 인스턴스에 설치된 애플리케이션에 대한 업데이트를 수행한 후, 마스터 인스턴스와 복제 인스턴스 사이의 동기화를 통해 복제 인스턴스에 설치된 애플리케이션이 업데이트되도록 할 수 있다. 따라서, 마스터 인스턴스에서 한 번의 업데이트 절차를 수행함으로써, 마스터 인스턴스와 복제 인스턴스에 설치된 애플리케이션에 대한 업데이트가 가능하게 된다.
도 2는 일 실시예에 따른 복제 인스턴스를 생성하는 일 예를 설명하기 위한 도면이다.
도 2에 도시된 예에서, 마스터 인스턴스(210)에는 A 게임에 대한 A 게임 애플리케이션(211) 및 B 게임에 대한 B 게임 애플리케이션(212)이 설치된 것으로 가정한다.
도 2를 참조하면, 복제 인스턴스 생성부(110)는 사용자로부터 마스터 인스턴스(210)에 대한 복제 인스턴스 생성 요청이 있는 경우, 마스터 인스턴스(210)에 설치된 A 게임 애플리케이션(211) 및 B 게임 애플리케이션(212)을 복제하여 복제된 A 게임 애플리케이션(221) 및 복제된 B 게임 애플리케이션(222)을 실행하기 위한 복제 인스턴스(220)를 생성할 수 있다.
즉, 제1 복제 인스턴스(220)에는 마스터 인스턴스(210)에 설치된 A 게임 애플리케이션(211)을 복제한 애플리케이션(221) 및 마스터 인스턴스(210)에 설치된 B 게임 애플리케이션(212)을 복제한 애플리케이션(222)이 설치될 수 있다.
도 3은 일 실시예에 따른 복제 인스턴스를 생성하는 다른 예를 설명하기 위한 도면이다.
도 3에 도시된 예에서, 마스터 인스턴스(310)에는 A 게임에 대한 A 게임 애플리케이션(311) 및 B 게임에 대한 B 게임 애플리케이션(312)이 설치된 것으로 가정한다.
도 3을 참조하면, 복제 인스턴스 생성부(110)는 사용자로부터 마스터 인스턴스(310)에 대한 복제 인스턴스 생성 요청이 있는 경우, 마스터 인스턴스(310)에 설치된 A 게임 애플리케이션(311) 및 B 게임 애플리케이션(312) 중 사용자에 의해 선택된 A 게임 애플리케이션(311)을 복제하여 복제된 A 게임 애플리케이션(321)을 실행시키기 위한 복제 인스턴스(320)를 생성할 수 있다.
즉, 복제 인스턴스(320)에는 마스터 인스턴스(310)에 설치된 A 게임 애플리케이션(311)을 복제한 애플리케이션(321)이 설치될 수 있다.
도 4는 일 실시예에 따른 복제 인스턴스를 생성하는 다른 예를 설명하기 위한 도면이다.
도 4에 도시된 예에서, 마스터 인스턴스(410)에는 A 게임에 대한 A 게임 애플리케이션(411) 및 B 게임에 대한 B 게임 애플리케이션(412)이 설치된 것으로 가정한다.
도 4를 참조하면, 복제 인스턴스 생성부(110)는 사용자로부터 마스터 인스턴스(410)에 대한 복제 인스턴스 생성 요청이 있는 경우, 마스터 인스턴스(410)에 설치된 A 게임 애플리케이션(411) 및 B 게임 애플리케이션(412) 중 사용자에 의해 선택된 A 게임 애플리케이션(411)을 복제하여 복제된 A 게임 애플리케이션(421)을 실행시키기 위한 제1 복제 인스턴스(420)를 생성할 수 있다.
이 경우, 제1 복제 인스턴스(420)에는 마스터 인스턴스(410)에 설치된 A 게임 애플리케이션(411)을 복제한 애플리케이션(421)이 설치될 수 있다.
한편, 사용자로부터 마스터 인스턴스(410)에 대한 복제 인스턴스 추가 생성 요청이 있는 경우, 복제 인스턴스 생성부(110)는 마스터 인스턴스(410)에 설치된 A 게임 애플리케이션(411) 및 B 게임 애플리케이션(412) 중 사용자에 의해 선택된 B 게임 애플리케이션(412)을 복제하여 복제된 B 게임 애플리케이션(431)을 실행시키기 위한 제2 복제 인스턴스(430)를 생성할 수 있다.
이 경우, 제2 복제 인스턴스(430)에는 마스터 인스턴스(410)에 설치된 B 게임 애플리케이션(412)을 복제한 애플리케이션(431)이 설치될 수 있다.
따라서, 도 4에 도시된 예의 경우, 사용자는 제1 복제 인스턴스(420)에 설치된 A 게임 애플리케이션(421)을 실행시킴과 동시에 제2 복제 인스턴스(430)에 설치된 B 게임 애플리케이션(431)을 실행시킬 수 있다.
도 5는 일 실시예에 따른 복제 인스턴스를 생성하는 다른 예를 설명하기 위한 도면이다.
도 5에 도시된 예에서, 마스터 인스턴스(510)에는 A 게임에 대한 A 게임 애플리케이션(511) 및 B 게임에 대한 B 게임 애플리케이션(512)이 설치된 것으로 가정한다.
도 5를 참조하면, 복제 인스턴스 생성부(110)는 사용자로부터 마스터 인스턴스(510)에 대한 복제 인스턴스 생성 요청이 있는 경우, 마스터 인스턴스(510)에 설치된 A 게임 애플리케이션(511) 및 B 게임 애플리케이션(512) 중 사용자에 의해 선택된 A 게임 애플리케이션(511)을 복제하여 복제된 A 게임 애플리케이션(521)을 실행시키기 위한 제1 복제 인스턴스(520)를 생성할 수 있다.
이 경우, 제1 복제 인스턴스(520)에는 마스터 인스턴스(510)에 설치된 A 게임 애플리케이션(511)을 복제한 애플리케이션(521)이 설치될 수 있다.
이후, 사용자로부터 마스터 인스턴스(510)에 대한 복제 인스턴스 추가 생성 요청이 있는 경우, 복제 인스턴스 생성부(110)는 사용자에 의해 선택된 A 게임 애플리케이션(511)을 복제하여 복제된 A 게임 애플리케이션(531)을 실행시키기 위한 제2 복제 인스턴스(530)를 생성할 수 있다.
이 경우, 제2 복제 인스턴스(530)에는 마스터 인스턴스(510)에 설치된 A 게임 애플리케이션(511)을 복제한 애플리케이션(531)이 설치될 수 있다.
따라서, 도 5에 도시된 예의 경우, 사용자는 제1 복제 인스턴스(520)에 설치된 A 게임 애플리케이션(521)을 실행시킴과 동시에 제2 복제 인스턴스(530)에 설치된 A 게임 애플리케이션(531)을 실행시킬 수 있다.
도 6은 일 실시예에 따른 마스터 인스턴스와 복제 인스턴스를 동기화하는 예를 설명하기 위한 도면이다.
도 6에 도시된 예에서, 마스터 인스턴스(610)에는 A 게임에 대한 A 게임 애플리케이션(611) 및 B 게임에 대한 B 게임 애플리케이션(612)이 설치된 것으로 가정한다.
또한, 마스턴 인스턴스(610)에 대한 복제 인스턴스들(620, 630, 640) 중 제1 복제 인스턴스(620) 및 제3 복제 인스턴스(640)에는 각각 마스터 인스턴스(610)에 설치된 A 게임 애플리케이션(611)에 대한 복제 애플리케이션(621, 641)이 설치되고, 제2 복제 인스턴스(630)에는 마스터 인스턴스(610)에 설치된 B 게임 애플리케이션(612)에 대한 복제 애플리케이션(631)이 설치된 것으로 가정한다.
도 6을 참조하면, 업데이트부(130)에 의해 마스터 인스턴스(610)에 설치된 A 게임 애플리케이션(611)이 업데이트된 경우, 동기화부(150)는 제1 복제 인스턴스(620) 및 제3 복제 인스턴스(640) 각각과 마스터 인스턴스(610)를 동기화하여 제1 복제 인스턴스(620)와 제3 복제 인스턴스(640) 각각에 설치된 A 게임 애플리케이션(621, 641)이 업데이트되도록 할 수 있다.
이에 따라, 제1 복제 인스턴스(620) 및 제3 복제 인스턴스(640) 각각에 설치된 A 게임 애플리케이션(621, 641)은 별도의 업데이트 과정 없이 마스터 인스턴스(610)와의 동기화를 통해 업데이트될 수 있다.
한편, 업데이트부(130)에 의해 마스터 인스턴스(610)에 설치된 B 게임 애플리케이션(612)이 업데이트된 경우, 동기화부(150)는 제2 복제 인스턴스(630)와 마스터 인스턴스(610)를 동기화하여 제2 복제 인스턴스(630)에 설치된 B 게임 애플리케이션(631)이 업데이트되도록 할 수 있다.
이에 따라, 제2 복제 인스턴스(630)에 설치된 B 게임 애플리케이션(631)은 별도의 업데이트 과정 없이 마스터 인스턴스(610)와의 동기화를 통해 업데이트될 수 있다.
도 7은 일 실시예에 따른 멀티 인스턴스 관리 방법의 순서도이다.
도 7에 도시된 방법은 예를 들어, 도 1에 도시된 멀티 인스턴스 관리 장치(100)에 의해 수행될 수 있다.
도 7을 참조하면, 멀티 인스턴스 관리 장치(100)는 에뮬레이터의 마스터 인스턴스에 대한 복제 인스턴스를 생성한다(710).
이때, 멀티 인스턴스 관리 장치(100)는 마스터 인스턴스에 설치된 하나 이상의 애플리케이션 중 적어도 하나를 복제하여 마스터 인스턴스에 대한 복제 인스턴스를 생성할 수 있다.
이후, 멀티 인스턴스 관리 장치(100)는 마스터 인스턴스에 설치된 애플리케이션을 업데이트한다(720).
이때, 일 실시예에 따르면, 멀티 인스턴스 관리 장치(100)는 업데이트 대상 애플리케이션이 복제 인스턴스에서 실행중인 경우, 실행중인 애플리케이션을 종료시킨 후 업데이트를 수행할 수 있다.
이후, 멀티 인스턴스 관리 장치(100)는 복제 인스턴스와 마스터 인스턴스를 동기화한다(730).
구체적으로, 일 실시예에 따르면, 멀티 인스턴스 관리 장치(100)는 복제 인스턴스에 설치된 하나 이상의 애플리케이션 중 마스터 인스턴스에서 업데이트된 애플리케이션과 동일한 애플리케이션이 업데이트되도록 복제 인스턴스와 상기 마스터 인스턴스를 동기화할 수 있다.
한편, 도 7에 도시된 순서도에서는 멀티 인스턴스 관리 방법을 복수 개의 동작으로 나누어 기재하였으나, 다른 동작과 결합되어 함께 수행되거나, 생략되거나, 세부 동작들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 동작이 부가되어 수행될 수 있다.
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 예를 들어, 도 2에 도시된 멀티 인스턴스 관리 장치(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서는 실시예들을 중심으로 기술적 특징들을 설명하였다. 하지만, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한고, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 권리범위에 포함된 것으로 해석되어야 할 것이다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 멀티 인스턴스 관리 장치
110: 복제 인스턴스 생성부
130: 업데이트부
150: 동기화부
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 멀티 인스턴스 관리 장치
110: 복제 인스턴스 생성부
130: 업데이트부
150: 동기화부
Claims (10)
- 하나 이상의 프로세서, 및
상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
에뮬레이터의 마스터 인스턴스에 대한 복제 인스턴스를 생성하는 동작;
상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트하는 동작; 및
상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화하는 동작을 포함하는 멀티 인스턴스 관리 방법. - 청구항 1에 있어서,
상기 생성하는 동작은, 상기 마스터 인스턴스에 설치된 애플리케이션을 복제하여 상기 복제 인스턴스를 생성하는 멀티 인스턴스 관리 방법. - 청구항 1에 있어서,
상기 업데이트하는 동작은, 상기 복제 인스턴스에서 상기 애플리케이션과 동일한 애플리케이션이 실행중인 경우, 상기 복제 인스턴스에서 실행중인 애플리케이션을 종료시킨 후 상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트하는 멀티 인스턴스 관리 방법. - 청구항 1에 있어서,
상기 동기화하는 동작은, 상기 복제 인스턴스에 설치된 하나 이상의 애플리케이션 중 상기 업데이트된 애플리케이션과 동일한 애플리케이션이 업데이트되도록 상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화하는 멀티 인스턴스 관리 방법. - 청구항 1에 있어서,
상기 마스터 인스턴스는, 개인용 컴퓨터 운영 체제 환경에서 모바일 운영 체제 환경을 가상화하고,
상기 애플리케이션은, 모바일 운영 체제 기반의 모바일 애플리케이션인 멀티 인스턴스 관리 방법. - 하나 이상의 통신 인터페이스; 및
하나 이상의 프로세서를 포함하고,
상기 하나 이상의 프로세서는,
에뮬레이터의 마스터 인스턴스에 대한 복제 인스턴스를 생성하고,
상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트하고,
상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화하는 멀티 인스턴스 관리 장치. - 청구항 6에 있어서,
상기 하나 이상의 프로세서는, 상기 마스터 인스턴스에 설치된 애플리케이션을 복제하여 상기 복제 인스턴스를 생성하는 멀티 인스턴스 관리 장치. - 청구항 6에 있어서,
상기 하나 이상의 프로세서는, 상기 복제 인스턴스에서 상기 애플리케이션과 동일한 애플리케이션이 실행중인 경우, 상기 복제 인스턴스에서 실행중인 애플리케이션을 종료시킨 후 상기 마스터 인스턴스에 설치된 애플리케이션을 업데이트하는 멀티 인스턴스 관리 장치. - 청구항 6에 있어서,
상기 하나 이상의 프로세서는, 상기 복제 인스턴스에 설치된 하나 이상의 애플리케이션 중 상기 업데이트된 애플리케이션과 동일한 애플리케이션이 업데이트되도록 상기 복제 인스턴스와 상기 마스터 인스턴스를 동기화하는 멀티 인스턴스 관리 장치. - 청구항 6에 있어서,
상기 마스터 인스턴스는, 개인용 컴퓨터 운영 체제 환경에서 모바일 운영 체제 환경을 가상화하고,
상기 애플리케이션은, 모바일 운영 체제 기반의 모바일 애플리케이션인 멀티 인스턴스 관리 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190169915A KR102311211B1 (ko) | 2019-12-18 | 2019-12-18 | 멀티 인스턴스 관리 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190169915A KR102311211B1 (ko) | 2019-12-18 | 2019-12-18 | 멀티 인스턴스 관리 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210078147A KR20210078147A (ko) | 2021-06-28 |
KR102311211B1 true KR102311211B1 (ko) | 2021-10-13 |
Family
ID=76607817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190169915A KR102311211B1 (ko) | 2019-12-18 | 2019-12-18 | 멀티 인스턴스 관리 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102311211B1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171661B1 (en) * | 2000-10-19 | 2007-01-30 | International Business Machines Corporation | Realtime configuration updates and software distribution to active client positions |
KR100836583B1 (ko) * | 2006-08-22 | 2008-06-10 | 엘지전자 주식회사 | 이동통신단말기의 fota 서비스 수행방법 |
-
2019
- 2019-12-18 KR KR1020190169915A patent/KR102311211B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
맵시. 블루스택4 다운로드하고 최적화에 멀티까지. 네이버 블로그. 2018.12.28. |
블루스택 고객지원. BlueStacks 4에서의 작동 동기화 법 소개. 블루스택. 2019.03.12. |
Also Published As
Publication number | Publication date |
---|---|
KR20210078147A (ko) | 2021-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7196179B2 (ja) | 複合現実システムにおいて仮想コンテンツを管理および表示する方法およびシステム | |
US10797967B2 (en) | Managing service deployment | |
Hilfert et al. | Low-cost virtual reality environment for engineering and construction | |
KR102034367B1 (ko) | 정보 처리 방법과 단말기, 및 컴퓨터 저장 매체 | |
JP2022526977A (ja) | 複合現実システムを用いて仮想3次元空間内のウェブページを管理および表示すること | |
US11043219B1 (en) | Removal of identifying traits of a user in a virtual environment | |
CN109313652A (zh) | 全息对象的关系绘制 | |
US12026527B2 (en) | World-controlled and application-controlled augments in an artificial-reality environment | |
CN109828823A (zh) | 一种基于容器虚拟化技术的无人机算法仿真系统扩展方法 | |
KR20240033087A (ko) | 가상 시나리오에서의 오프닝 조작의 제어 방법, 장치, 기기, 저장 매체 및 프로그램 제품 | |
KR102609293B1 (ko) | 게임 동작 결정 장치 및 방법 | |
US8992330B1 (en) | System and method for facilitating data model substitutions for pre-existing data objects | |
KR20200113834A (ko) | 애플리케이션 정보 제공 장치 및 방법 | |
KR102311211B1 (ko) | 멀티 인스턴스 관리 방법 및 장치 | |
KR20210078141A (ko) | 결제 서비스 제공 방법 및 장치 | |
KR102557808B1 (ko) | 게임 서비스 시스템 및 상기 시스템에서의 메모 공유 방법 | |
KR102268743B1 (ko) | 게임 인터페이스 제공 방법 및 장치 | |
KR102211564B1 (ko) | 게임 서비스 제공 방법 및 장치 | |
KR102170825B1 (ko) | 게임 제어 장치 및 방법 | |
KR102148701B1 (ko) | 게임 플레이 관리 장치 및 방법 | |
JP7329662B1 (ja) | 計算資源の効率的な制御及び使用のためのシステム、方法、プログラム及び情報処理装置 | |
JP2018142076A (ja) | 情報処理システムおよびプログラム | |
Wolfe et al. | Fiia: A model-based approach to engineering collaborative augmented reality | |
KR20200107403A (ko) | 아이콘 갱신 장치 및 방법 | |
KR20200117390A (ko) | 메신저 친구 정보 제공 방법 및 컴퓨팅 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |