KR101836749B1 - Operating method of launching application for controlling emulator - Google Patents
Operating method of launching application for controlling emulator Download PDFInfo
- Publication number
- KR101836749B1 KR101836749B1 KR1020160183703A KR20160183703A KR101836749B1 KR 101836749 B1 KR101836749 B1 KR 101836749B1 KR 1020160183703 A KR1020160183703 A KR 1020160183703A KR 20160183703 A KR20160183703 A KR 20160183703A KR 101836749 B1 KR101836749 B1 KR 101836749B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- emulator
- market
- processor
- launching
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G06F17/30864—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
Abstract
Description
아래 실시예들은 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법에 관한 것이다.The following embodiments relate to a method of operating a launching application for controlling an emulator.
운영체제 플랫폼은 운영체제 커널(OS Kernel), 가상 머신(Virtual Machine: VM), 프레임워크, 어플리케이션(application) 등을 포함하는 소프트웨어 패키지이다. 이러한 운영체제 플랫폼에서 실행되는 어플리케이션을 유통하기 위한 다양한 마켓들(markets)이 마련되어 있다. 개발자는 자유롭게 개발한 앱을 마켓에 등록할 수 있고, 사용자는 마켓에 등록된 앱을 자유롭게 다운로드 받아서 사용할 수 있다는 점에서, 마켓은 개방형 구조를 가진다.An operating system platform is a software package including an operating system kernel, a virtual machine (VM), a framework, an application, and the like. There are various markets for distributing applications running on these operating system platforms. Developers can register freely developed apps in the market, and the market has an open structure in that users can freely download and use the apps registered in the market.
최근 모바일 기기의 보급이 확대되면서, 모바일 기기에서 즐길 수 있는 다양한 모바일 어플리케이션들(예를 들어, 모바일 게임 어플리케이션 등)이 다양한 마켓들을 통하여 유통되고 있다. 모바일 어플리케이션들의 인기가 높아지면서, 모바일 어플리케이션을 모바일 기기가 아닌 퍼스널 컴퓨터(PC) 상에서도 즐기고자 하는 요구가 늘어나고 있다.With the recent spread of mobile devices, various mobile applications (for example, mobile game applications) that can be enjoyed on mobile devices are circulating through various markets. With the increasing popularity of mobile applications, there is a growing demand for mobile applications to be enjoyed on personal computers (PCs) rather than mobile devices.
일 실시예에 따르면 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 에뮬레이터(emulator)에서 실행 가능한 어플리케이션의 패키지(application package)의 식별 정보 및 상기 어플리케이션의 패키지를 제공하는 마켓의 식별 정보를 포함하는 런칭 신호를 수신하는 단계; 상기 패키지의 식별 정보에 기초하여, 상기 에뮬레이터에 상기 어플리케이션이 설치되어 있는지 확인하는 단계; 상기 에뮬레이터에 상기 어플리케이션이 설치되어 있지 않은 경우, 상기 마켓의 식별 정보에 기초하여 상기 마켓의 유형을 판단하는 단계; 상기 마켓의 유형이 미리 정해진 제1 유형인 경우, 상기 제1 유형의 마켓으로부터 상기 어플리케이션의 패키지를 다운로드 받는 단계; 상기 다운로드된 패키지에 기초하여, 상기 에뮬레이터에 상기 어플리케이션이 설치되도록 상기 에뮬레이터를 제어하는 단계; 및 상기 에뮬레이터를 통하여 상기 어플리케이션이 실행되도록, 상기 에뮬레이터를 제어하는 단계; 및 상기 마켓의 유형이 미리 정해진 제2 유형인 경우, 상기 패키지의 식별 정보와 상기 마켓의 식별 정보를 기초로, 상기 에뮬레이터를 통하여 상기 제2 유형의 마켓이 제공하는 상기 어플리케이션에 대응하는 페이지에 접속(access)되도록 상기 에뮬레이터를 제어하는 단계를 포함한다. According to one embodiment, a method of operating a launching application for controlling an emulator includes receiving a launching signal including identification information of an application package executable in an emulator and identification information of a market providing a package of the application, Receiving; Confirming whether the application is installed in the emulator based on the identification information of the package; Determining the type of the market based on the identification information of the market when the application is not installed in the emulator; Downloading a package of the application from the first type of market if the type of the market is a predetermined first type; Controlling the emulator so that the application is installed in the emulator based on the downloaded package; And controlling the emulator so that the application is executed through the emulator. And accessing a page corresponding to the application provided by the market of the second type through the emulator based on the identification information of the package and the identification information of the market when the type of the market is the second type predetermined and controlling the emulator to access the emulator.
상기 런칭 신호는 통합 자원 식별자(Uniform Resource Identifier; URI) 호출 규격에 따라 생성될 수 있다. The launch signal may be generated according to a Uniform Resource Identifier (URI) call standard.
상기 런칭 신호는 상기 제1 유형의 마켓에 대응하는 웹 프론트앤드(web front-end)를 통해 노출되는 사용자 인터페이스에 대한 사용자의 선택; 인스턴트 메신저 프로그램의 채팅방을 통해 인스턴트 메시지의 형태로 노출되는 사용자 인터페이스에 대한 사용자의 선택; 상기 인스턴트 메신저 프로그램에서 제공하는 추가 인터페이스에 대한 사용자의 선택 중 적어도 하나에 반응하여 생성될 수 있다. Wherein the launch signal comprises a user's selection of a user interface exposed through a web front-end corresponding to the first type of market; A user's selection of a user interface exposed in the form of an instant message through a chat room of an instant messenger program; Or in response to at least one of a user's selection of an additional interface provided by the instant messenger program.
상기 웹 프론트앤드는 상기 런칭 어플리케이션에 대한 바로가기 아이콘; 상기 에뮬레이터 내에 설치된 어플리케이션에 대응하는 바로가기 아이콘; 상기 인스턴트 메신저 프로그램의 채팅방을 통해 상기 인스턴트 메시지의 형태로 노출되는 상기 사용자 인터페이스; 상기 인스턴트 메신저 프로그램에서 제공하는 상기 추가 인터페이스; 및 상기 제1 유형의 마켓을 통하여 제공되는 어플리케이션에 대한 광고 또는 검색과 관련된 사용자 인터페이스 중 적어도 하나를 통하여 접근 가능할 수 있다. The web front-end includes a shortcut icon for the launching application; A shortcut icon corresponding to an application installed in the emulator; The user interface being exposed in the form of the instant message through a chat room of the instant messenger program; The additional interface provided by the instant messenger program; And a user interface associated with advertising or searching for an application provided through the first type of marketplace.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 상기 제1 유형의 마켓에 대응하는 웹 프론트앤드에서 사용자 인증 및 성인 인증 중 적어도 하나를 수행하는 단계를 더 포함할 수 있다. The method of operating a launching application for controlling the emulator may further include performing at least one of user authentication and adult authentication in a web front end corresponding to the first type of market.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 검색을 위한 키워드 및 상기 검색을 수행할 마켓의 식별 정보를 포함하는 검색 신호를 수신하는 단계; 및 상기 검색 신호에 기초하여, 상기 에뮬레이터를 통하여 상기 검색을 수행할 마켓 내 상기 키워드에 대응하는 검색 결과가 제공되도록 상기 에뮬레이터를 제어하는 단계를 더 포함할 수 있다. A method of operating a launching application for controlling the emulator includes receiving a search signal including a keyword for search and identification information of a market in which the search is to be performed; And controlling the emulator based on the search signal to provide search results corresponding to the keywords in the market through which the search is to be performed through the emulator.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 상기 마켓의 식별 정보에 복수의 마켓들에 대응하는 식별자들이 포함되는 경우, 사용자로부터 상기 복수의 마켓들 중 어느 하나의 마켓에 대한 선택을 입력받는 단계를 더 포함하고, 상기 마켓의 유형을 판단하는 단계는 상기 선택된 마켓의 유형을 판단하는 단계일 수 있다. The method of operating a launching application for controlling the emulator may further include receiving a selection from a user for one of the plurality of markets if identifiers corresponding to the plurality of markets are included in the identification information of the market And the step of determining the type of the market may include the step of determining the type of the selected market.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 상기 런칭 신호가 커뮤니티 정보를 더 포함하는 경우, 상기 에뮬레이터로부터 커뮤니티 접속을 요청하는 신호를 수신하는 단계; 상기 커뮤니티 접속을 요청하는 신호에 응답하여 서버에 접속하는 단계; 및 상기 서버에의 접속을 통해 상기 에뮬레이터에게 상기 커뮤니티 내의 컨텐츠 정보를 전달하는 단계를 더 포함할 수 있다. The method comprising: receiving a signal requesting community access from the emulator if the launching signal further includes community information; Connecting to the server in response to the signal requesting the community connection; And communicating content information in the community to the emulator through a connection to the server.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 상기 에뮬레이터에서 어플리케이션의 실행과 관련된 제1 로그 정보; 상기 에뮬레이터에서 어플리케이션의 설치와 관련된 제2 로그 정보; 상기 에뮬레이터에서 마켓 내 페이지의 접속과 관련된 제3 로그 정보; 및 상기 에뮬레이터에서 마켓 내 키워드의 검색과 관련된 제4 로그 정보 중 적어도 하나를 저장하는 단계; 및 상기 저장된 로그 정보를 서버에 리포팅하는 단계를 더 포함할 수 있다. The method of operating a launching application for controlling the emulator includes: first log information related to execution of an application in the emulator; Second log information related to the installation of the application in the emulator; Third log information related to connection of pages in the market in the emulator; And storing at least one of fourth log information related to retrieval of a keyword in the market in the emulator; And reporting the stored log information to the server.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 서버로부터 배너 광고를 수신하는 단계; 및 상기 에뮬레이터에서 상기 어플리케이션의 로딩 중에 상기 배너 광고가 노출되도록 상기 에뮬레이터를 제어하는 단계를 더 포함할 수 있다. A method of operating a launching application for controlling the emulator includes receiving a banner advertisement from a server; And controlling the emulator to expose the banner advertisement during loading of the application in the emulator.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 서버로부터 토스트 광고를 수신하는 단계; 및 미리 정해진 위치에 상기 토스트 광고를 노출하는 단계를 더 포함할 수 있다. A method of operating a launching application for controlling the emulator includes receiving a toast advertisement from a server; And exposing the toast advertisement to a predetermined location.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 상기 에뮬레이터로부터 복수의 인스턴스들에 관한 정보를 수신하는 단계; 상기 패키지의 식별 정보에 기초하여, 상기 복수의 인스턴스들 각각에 대응하여 상기 어플리케이션이 설치되어 있는지 여부 및 상기 어플리케이션이 구동 중인지 여부 중 적어도 하나를 표시하는 단계; 상기 표시된 복수의 인스턴스들 중 어느 하나의 인스턴트에 대한 사용자의 선택을 수신하는 단계; 및 상기 마켓의 유형에 기초하여, 상기 선택된 어느 하나의 인스턴트에서 상기 어플리케이션이 설치 또는 실행되거나 상기 어플리케이션에 대응하는 페이지에 접속되도록 상기 에뮬레이터를 제어하는 단계를 더 포함할 수 있다. The method of operating a launching application for controlling the emulator includes receiving information about a plurality of instances from the emulator; Displaying at least one of whether the application is installed corresponding to each of the plurality of instances and whether the application is running based on the identification information of the package; Receiving a user's selection of any one of the displayed plurality of instances; And controlling the emulator so that the application is installed or executed in a selected one of the selected instant or connected to a page corresponding to the application based on the type of the market.
상기 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법은 서버로부터 상기 런칭 어플리케이션 및 상기 에뮬레이터 중 적어도 하나의 업데이트 신호를 수신하는 단계; 및 상기 업데이트 신호에 따라 상기 런칭 어플리케이션 및 상기 에뮬레이터 중 적어도 하나의 업데이트를 수행하는 단계를 더 포함할 수 있다.The method of operating a launching application for controlling the emulator includes receiving an update signal of at least one of the launching application and the emulator from a server; And updating at least one of the launching application and the emulator according to the update signal.
도 1은 일 실시예에 따른 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법이 수행되는 시스템 환경을 나타낸 도면.
도 2는 일 실시예에 따른 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법을 설명하기 위한 도면.
도 3은 일 실시예에 따른 런칭 어플리케이션의 구성을 설명하기 위한 도면.
도 4는 일 실시예에 따른 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법을 나타낸 흐름도.
도 5는 일 실시예에 따른 런칭 어플리케이션의 설치 유도 방법을 설명하기 위한 도면.
도 6은 일 실시예에 따라 제1 마켓에서 검색되지 않은 어플리케이션을 제2 마켓의 검색을 통해 제공하는 방법을 설명하기 위한 도면.
도 7은 일 실시예에 따라 멀티 플레이어를 선택하는 선택창을 도시한 도면.
도 8은 일 실시예에 따라 에뮬레이터를 통해 수행되는 어플리케이션의 환경 설정 화면을 도시한 도면.1 illustrates a system environment in which an operating method of a launching application for controlling an emulator according to one embodiment is performed.
2 is a diagram for explaining an operation method of a launching application for controlling an emulator according to an embodiment;
3 is a diagram for explaining a configuration of a launching application according to an embodiment;
4 is a flow diagram illustrating a method of operating a launching application for controlling an emulator according to one embodiment.
5 is a diagram for explaining a method of inducing an installation of a launching application according to an embodiment;
FIG. 6 is a diagram illustrating a method of providing an application that is not searched in a first market through searching in a second market according to an embodiment;
FIG. 7 illustrates a selection window for selecting a multiplayer in accordance with one embodiment; FIG.
8 is a view showing an environment setting screen of an application executed through an emulator according to an embodiment;
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In the following, embodiments will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements. Various modifications may be made to the embodiments described below. It is to be understood that the embodiments described below are not intended to limit the embodiments, but include all modifications, equivalents, and alternatives to them.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.
도 1은 일 실시예에 따른 시스템을 나타낸 도면이다. 도 1을 참조하면, 일 실시예에 따른 시스템(100)은 사용자 PC(105) 및 서버(130)를 포함하고, 사용자 PC(105)는 런칭 어플리케이션(110) 및 에뮬레이터(150)를 포함한다. 1 is a diagram of a system according to one embodiment. Referring to FIG. 1, a
런칭 어플리케이션(110)은 에뮬레이터(150)를 제어한다. 예를 들어, 런칭 어플리케이션(110)은 에뮬레이터(150)를 통하여 어플리케이션(155)이 실행되도록, 런칭 신호에 대응하는 다양한 기능들을 통하여 에뮬레이터(150)를 제어할 수 있다. 에뮬레이터(150)는 특정 하드웨어나 소프트웨어의 기능을 다른 종류의 하드웨어나 소프트웨어로 모방하여 실현시키기 위한 장치나 프로그램이다. 런칭 어플리케이션(110)은 사용자 PC(105)의 제1 운영체제 위에서 동작하며, 에뮬레이터(150)는 제1 운영체제와 구별되는 제2 운영체제를 가상화할 수 있다. 어플리케이션(155)은 제1 운영체제에서는 동작하지 않고, 제2 운영체제에서만 동작하는 프로그램이지만, 에뮬레이터(150)를 통하여 사용자 PC(105)에서 어플리케이션(155)이 실행될 수 있다. 일 실시예에 따르면, 에뮬레이터(150)는 게임 에뮬레이터일 수 있으며, 런칭 어플리케이션(110)의 설치(install) 시에 함께 설치될 수 있다. The
런칭 어플리케이션(110)과 에뮬레이터(150)는 상호간 호출 규약에 따라 명령이나 정보 등을 포함하는 신호를 송수신할 수 있다. 런칭 어플리케이션(110)은 에뮬레이터(150)에 설치된 어플리케이션과 관련된 데이터를 관리하고, 런칭 신호를 수신하거나 에뮬레이터를 제어하기 위한 API(application programming interface)를 제공할 수 있다. 런칭 어플리케이션(110)의 구성에 대하여는 도 3을 참조하여 구체적으로 설명한다.The
에뮬레이터(150)는 런칭 어플리케이션(110)과 통신하기 위한 API를 제공할 수 있다. 에뮬레이터(150)는 예를 들어, 런칭 어플리케이션(110)에 의하여 게임이 설치, 실행, 또는 종료될 수 있도록, 런칭 어플리케이션(110)에 실행 방법을 제공할 수 있다. 또한, 에뮬레이터(150)는 런칭 어플리케이션(110)에게 멀티 플레이어 제어 방법을 제공할 수도 있다. 일 실시예에 따르면, 에뮬레이터(150)는 런칭 어플리케이션(110)을 통해서만 실행될 수 있다.The
런칭 어플리케이션(110) 및 서버(130)는 네트워크를 통해 서로 통신할 수 있다. 네트워크는 시스템 환경에 포함된 다양한 개체들(entities) 간의 유, 무선 통신을 가능하게 한다. 예를 들어, 런칭 어플리케이션(110)은 서버(130)에 의하여 운영되는 마켓으로부터 어플리케이션의 패키지를 다운로드할 수 있다. The
어플리케이션의 패키지는 특정 플랫폼에 종속적인 어플리케이션 패키지일 수 있다. 어플리케이션 패키지는 적어도 하나 이상의 구성요소를 포함할 수 있다. 어플리케이션 패키지는 예를 들어, 프로그램 코드가 컴파일 됨으로써 생성된 실행 파일, 파일의 해시값을 포함하는 매니페스트 파일, 매니페스트 파일의 해시값을 포함하는 다이제스트(digest) 정보 파일, 개인키를 이용하여 전자 서명된 다이제스트 정보 파일의 해시값을 포함하는 인증서(certificate) 파일, 개인키에 대응하는 공개키를 포함하고, 암호화키를 이용하여 암호화된 보안 정보, 및 실행 파일이 실행되는 데에 필요한 API 등을 포함할 수 있다.An application's package may be an application package that is specific to a particular platform. The application package may include at least one or more components. The application package includes, for example, an executable file generated by compiling the program code, a manifest file containing the hash value of the file, a digest information file containing the hash value of the manifest file, A certificate file containing the hash value of the digest information file, a security key encrypted with the encryption key, including the public key corresponding to the private key, and an API necessary for execution of the executable file .
어플리케이션의 패키지는, 예를 들어 게임 APK(Android application package)일 수 있다. APK는 안드로이드의 소프트웨어와 미들웨어 배포에 사용되는 패키지 파일일 수 있다. 또한, 런칭 어플리케이션(110)은 어플리케이션(155)의 로딩 중 에뮬레이터(150) 상에 노출되는 배너 광고, 혹은 사용자 PC(105)의 미리 정해진 영역에 노출되는 토스트 광고 등을 서버(130)로부터 다운로드할 수 있다.The package of the application may be, for example, a game APK (Android application package). The APK can be a package file used to distribute Android software and middleware. The
서버(130)는 네트워크를 통해 사용자 단말에게 모바일 어플리케이션을 제공하는 마켓을 운영할 수 있다. 예를 들어, 서버(130)는 마켓 서비스를 제공하는 웹 페이지를 제공할 수 있다. 서버(130)는 사용자 PC(105)에 설치된 런칭 어플리케이션(110) 및/또는 에뮬레이터(150)를 업데이트하거나, 사용자 PC(105)에서 어플리케이션을 설치, 삭제, 및 실행하기 위하여 에뮬레이터(150)를 제어하는 명령을 전송하거나, 사용자 PC(105)로부터 어플리케이션의 설치, 삭제, 및 실행에 관한 로그 정보를 수신하는 API를 제공할 수 있다.The
서버(130)는 예를 들어, 런칭 어플리케이션(110)과 에뮬레이터(150) 중 어느 하나라도 업데이트가 필요한 경우, 업데이트를 진행할 수 있다. 런칭 어플리케이션(110) 및 에뮬레이터(150)에 대한 업데이트는 서버(130)로부터 사용자 PC(105)로 셋업(set-up) 파일이 다운로드 되어 재설치 되는 형태로 진행될 수 있다. 서버(130)는 예를 들어, 에뮬레이터(150)를 통한 어플리케이션(155)을 실행하는 명령이 있는 경우, 런칭 어플리케이션(110) 및 에뮬레이터(150)의 업데이트 여부를 체크할 수 있다.The
일 실시예에 따르면, 에뮬레이터(150)를 통하여 게임 어플리케이션을 실행하는 것은 PC 게임에 해당하므로, 서버(130)는 성인 인증을 수행한 사용자에게만 에뮬레이터(150)를 통한 게임 서비스가 제공되도록 할 수 있다. 이 밖에도, 서버(130)는 관리자 페이지 등을 통해 사용자 개인 별 게임 리스트 등을 관리할 수 있다.According to an exemplary embodiment, since executing a game application through the
실시예에 따라, 서버(130)는 인스턴트 메시징 서비스, 광고 서비스, 알림 서비스 등 다양한 서비스를 제공하는 인스턴트 메시징 서버를 포함할 수도 있다. 이 경우, 마켓 서비스, 인스턴트 메시징 서비스, 상담 서비스, 광고 서비스, 및 알림 서비스는 서버(130)의 다양한 API들을 통해 제공될 수 있다. 서버(130)는 예를 들어, 단일의 서버 컴퓨터 또는 이와 유사한 시스템이거나, 또는 하나 이상의 서버 뱅크들(server banks) 또는 그 외 다른 배열들로 배열되는 복수의 서버들일 수 있다. 서버(130)는 단일 시설에 놓일 수도 있고, 혹은 서로 다른 지리적 위치들 간에 분산된 클라우드(cloud)일 수도 있다.According to an embodiment, the
도면에 도시하지 않았으나, 실시예에 따라 에뮬레이터(150) 및 어플리케이션(155)도 네트워크를 통하여 외부의 서버에 접속할 수 있다. 예를 들어, 에뮬레이터(150)는 서버(130)에 의하여 운영되는 마켓이 아닌 다른 마켓으로부터 어플리케이션을 다운로드받아 설치할 수 있다. 이와 같이 다양한 어플리케이션들이 에뮬레이터(150) 내에 설치됨으로써 서버(130)는 사용자의 다양한 어플리케이션들 간의 이용 형태에 대한 분석을 수행할 수 있다. Although not shown in the drawing, the
일 실시예에 따르면, 런칭 어플리케이션(110)은 사용자 PC(105)에 설치된 인스턴트 메신저 프로그램과 연계하여 동작할 수 있다. 사용자 PC(105)에 설치된 인스턴트 메신저 프로그램은 사용자 PC(105)에서 모바일 인스턴트 메시징 서비스를 제공하는 프로그램일 수 있다. 이 경우, 인스턴트 메신저 프로그램은 런칭 어플리케이션(110)을 트리거링(triggering)하는 런칭 신호를 생성하는 웹 페이지로 접속할 수 있다. 또는, 인스턴트 메신저 프로그램은 직접 런칭 신호를 생성할 수도 있다.According to one embodiment, the launching
이처럼, 실시예들은 런칭 어플리케이션(110) 및 에뮬레이터(150)를 통해 사용자 PC(105)에서 모바일 어플리케이션의 실행 환경을 제공함으로써, 사용자는 모바일 어플리케이션을 사용자 PC(105)에서도 동일하게 실행할 수 있다. As described above, the embodiments provide the execution environment of the mobile application in the
도 2는 일 실시예에 따른 런칭 어플리케이션의 호출 방법 및 동작 방법을 설명하기 위한 도면이다. 도 2를 참조하면, 런칭 어플리케이션(250)은 웹 프론드앤드의 특정 어플리케이션에 대응하는 페이지(240)에 노출되는 인터페이스를 통하여 호출될 수 있다. 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)는 사용자 PC의 웹 브라우저 등을 통하여 사용자에게 제공되며, 에뮬레이터(260)를 통한 어플리케이션(265)의 실행을 위하여 사용자와의 상호 작용이 일어나는 부분이다. 프론트앤드는 사용자와 직접 상호 작용을 하고, 백앤드(back-end)는 사용자와 직접 상호 작용을 하는 대신 기술적인 부분을 처리할 수 있다. 예를 들어, 사용자가 마우스를 클릭하는 등 프론트앤드에서 사용자의 의도를 입력하면, 백앤드에서 사용자 입력을 처리한 뒤 그 결과를 다시 프론트앤드로 돌려줌으로써 처리 결과가 화면에 표시된다. 2 is a diagram for explaining a calling method and an operating method of a launching application according to an embodiment. Referring to FIG. 2, the launching
런칭 어플리케이션(250)은 백앤드의 역할을 수행할 수 있다. 사용자가 예를 들어, 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)에 노출되는 사용자 인터페이스(예를 들어, 'PC에서 플레이하기' 버튼)를 선택하는 경우, 사용자의 선택에 반응하여 런칭 신호가 생성될 수 있다. 런칭 신호는 런칭 어플리케이션(250)으로 전달되어 에뮬레이터(260)를 제어하게 된다. The launching
런칭 신호를 생성하는 인터페이스를 포함하는 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)는 다양한 경로들을 통하여 접근(access)될 수 있다. The
예를 들어, 사용자 PC의 바탕화면 등에 표시되는 런칭 어플리케이션의 바로가기 아이콘이 선택되면, 웹 프론트앤드의 메인 페이지(230)로 접근될 수 있다. 또는, 사용자 PC에 설치된 인스턴트 메신저 프로그램에 의하여 제공되는 추가 인터페이스(215)를 통하여 웹 프론트앤드의 메인 페이지(230)로 접근될 수 있다. 추가 인터페이스는 예를 들어, 인스턴트 메신저 프로그램에서 인스턴트 메시지 서비스 이외에 추가로 제공하는 서비스에 관한 더보기 탭 등을 포함할 수 있다. 아래에서 설명하겠으나, 인스턴트 메신저 프로그램에 의하여 웹 프론트앤드로 접속하는 시나리오에서 인스턴트 메신저 프로그램 내에서의 로그인 정보 및/또는 성인 인증 정보가 웹 프론트앤드가 전달될 수 있다. 이 경우, 웹 프론트앤드에서 로그인 혹은 성인 인증이 생략될 수 있다.For example, if the shortcut icon of the launching application displayed on the desktop of the user PC is selected, the
웹 프론트앤드의 메인 페이지(230)는 사용자 PC에 설치된 웹 브라우저 등을 통하여 표시될 수 있다. 웹 프론트앤드의 메인 페이지(230)는 도 1의 서버(130)에 의하여 운영되는 마켓 서비스의 홈 화면을 사용자에게 제공할 수 있다. 예를 들어, 서버(130)에 의하여 운영되는 마켓이 모바일 게임 마켓인 경우, 웹 프론트앤드의 메인 페이지(230)는 모바일 게임 마켓과 관련된 배너와 함께 추천 게임 목록을 표시할 수 있다. 또한, 웹 프론트앤드의 메인 페이지(230)는 검색 기능을 제공할 수 있다. 웹 프론트앤드의 메인 페이지(230)에서 특정 어플리케이션이 검색 및/또는 선택되는 경우, 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)로 접근될 수 있다.The
또는, 사용자 PC에 설치된 인스턴트 메신저 프로그램의 채탕방 인터페이스(220)를 통하여 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)로 접근될 수 있다. 예를 들어, 채팅방에 특정 어플리케이션과 관련된 메시지와 함께 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)로의 링크 인터페이스가 표시될 수 있다. 채팅방에 표시된 링크 인터페이스가 선택되는 경우, 웹 브라우저 등을 통하여 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)로 접근된다. 이 경우, 인스턴트 메신저 프로그램의 로그인 정보 및/또는 성인 인증 정보가 웹 프론트앤드로 전달될 수 있다.Alternatively, the user can access the
또는, 그 밖의 광고 혹은 검색 서비스에 의하여 사용자에게 제공되는 웹 페이지 등을 통하여 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(240)로 접근될 수 있다.Or a
도면에 도시하지 않았으나, 실시예에 따라 로그인 및/또는 성인 인증이 필요하지 않은 어플리케이션의 경우, 바로가기 아이콘, 인스턴트 메신저 프로그램의 인터페이스, 또는 관련 웹 페이지로부터 웹 프론트앤드를 거치지 않고 바로 런칭 어플리케이션(250)이 호출될 수도 있다. 또한, 전술한 것과 같이 인스턴트 메신저 프로그램의 인터페이스(215, 220)은 로그인 정보 및/또는 성인 인증 정보를 제공할 수 있으므로, 이 경우 로그인 및/또는 성인 인증이 필요한 어플리케이션이라도 웹 프론트앤드를 거치지 않고 바로 런칭 어플리케이션(250)이 호출될 수도 있다.In the case of an application which does not require login and / or adult authentication according to an embodiment, the launching application 250 (not shown in the figure) without a web front-end from a shortcut icon, an instant messenger program interface, ) May be called. In addition, since the instant messenger program interfaces 215 and 220 can provide login information and / or adult authentication information as described above, even in an application requiring login and / or adult authentication in this case, The launching
아래에서 상세하게 설명하겠으나, 런칭 신호가 호출되면, 런칭 어플리케이션(250)은 에뮬레이터(260) 내 해당 어플리케이션의 설치 여부를 확인하고, 확인 결과에 따라 해당 어플리케이션을 자동으로 설치 및 실행할 수 있다. 런칭 어플리케이션(250)은 어플리케이션의 패키지를 다운로드 받을 수 있는 마켓이 제1 유형의 마켓(예를 들어, 서버(130)에 의하여 운영되는 게임 샵(game shop) 등)인지 혹은 그 외의 유형의 마켓인지 여부에 따라 에뮬레이터(260)의 제어 방법을 달리할 수 있다. As will be described below in detail, when the launching signal is called, the launching
또한, 런칭 어플리케이션(250)은 예를 들어, 에뮬레이터(260)에서 어플리케이션의 실행과 관련된 제1 로그 정보, 에뮬레이터(260)에서 어플리케이션의 설치와 관련된 제2 로그 정보, 에뮬레이터(260)에서 마켓 내 페이지의 접속과 관련된 제3 로그 정보, 및 상기 에뮬레이터에서 마켓 내 키워드의 검색과 관련된 제4 로그 정보 중 적어도 하나를 저장할 수 있다. 런칭 어플리케이션(250)은 저장된 로그 정보를 서버(130)에 리포팅할 수 있다. In addition, the launching
런칭 어플리케이션(250)은 독립적인 프로그램의 형태로 사용자 PC에 설치될 수 있고, 실시예에 따라 모듈의 형태로 인스턴트 메신저 프로그램이나 에뮬레이터(260) 등에 결합된 형태로 구성될 수도 있다. 런칭 어플리케이션(250)의 구체적인 동작 방법에 대하여는 도 4를 참조하여 설명한다.The launching
일 실시예에 따르면, 에뮬레이터(260)는 런칭 어플리케이션(250)의 제어를 통하여만 실행되도록 구성될 수 있다. 예를 들어, 에뮬레이터(260)는 런칭 어플리케이션(250)을 통해서만 실행 및 업데이트 등이 가능하며, 독립적으로는 실행이 불가능할 수 있다. 또한, 에뮬레이터(260)는 자체적으로 업데이트 체크 또는 업데이트를 수행하거나, 런칭 어플리케이션(250)과 별도로 직접 서버(130)를 호출하는 등의 통신을 수행할 수 없을 수 있다. According to one embodiment, the emulator 260 may be configured to execute only through the control of the
에뮬레이터(260)는 런칭 어플리케이션(250)과 통신하기 위한 API를 제공한다. 예를 들어, 에뮬레이터(260)는 런칭 어플리케이션(250)에 표 1과 같은 다양한 타입들의 API들을 제공할 수 있다.The emulator 260 provides an API for communicating with the
● 에뮬레이터 내 설치된 어플리케이션 실행
● 어플리케이션의 패키지 설치
● 에뮬레이터 내 브라우저로 URL 실행 (예를 들어, 검색 등)
● 설치된 어플리케이션 리스트 전송
● 실행된 플레이어 (혹은 인스턴스)의 개수와 이름 전송
● 멀티 플레이어 (혹은 멀티 인스턴스) 기능과 관련하여, 대상 플레이어 (혹은 대상 인스턴스) 지정 호출
● 어플리케이션의 설치 또는 삭제가 있는 경우 해당 어플리케이션의 정보(예를 들어, 썸네일, 이름, 패키지 명 등) 및 전체 어플리케이션 리스트 전송
● 어플리케이션 실행 시 해당 어플리케이션 정보 전송 (예를 들어, 웹 프론트앤드에서 설치된 앱 리스트를 최신 사용 순으로 정렬을 위하여)
● 에뮬레이터 실행 시 어플리케이션 별 러닝타임 로그 수집 및 전송● Running the emulator
● Running installed applications in the emulator
● Package installation of the application
● Run the URL in the emulator's browser (for example, search)
● Transferring installed application list
● Transfer the number and name of the player (or instance) that was executed
● With respect to the multiplayer (or multi-instance) function, the target player (or target instance)
● When the application is installed or deleted, the information of the application (for example, thumbnail, name, package name, etc.)
● Transferring the application information when the application is executed (for example, ordering the list of installed apps in the web front end in order of latest use)
● Collect and transmit running time logs for each application when the emulator is running
도 3은 일 실시예에 따른 런칭 어플리케이션의 구성을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따른 런칭 어플리케이션(300)은 버전 체크, 업데이터 실행(310), 임베디드 웹 브라우저(embedded web browser)(320), 어플리케이션 데이터 관리(330), API 제공(340), API 및 서버 호출(350), URI 스킴(Scheme)(360), 트레이(370), 멀티 플레이어 관리(380), 바탕 화면에 어플리케이션 바로가기 생성(390) 및 환경 설정(395) 등을 수행할 수 있다. 도 3에 도시된 기능들은 예시적인 사항들에 해당하며, 실시예에 따라 일부 기능들이 생략되거나 다른 기능들이 추가될 수도 있다.3 is a diagram for explaining a configuration of a launching application according to an embodiment. 3, the launching
버전 체크, 업데이터 실행(310)과 관련하여, 런칭 어플리케이션(300)은 실행 시, 자기 자신 및 에뮬레이터의 버전을 체크할 수 있다. 버전 체크 결과, 런칭 어플리케이션(300) 및/또는 에뮬레이터의 업데이트가 필요한 경우, 런칭 어플리케이션(300)은 업데이터(updater)를 호출하여 셋업 파일을 다운로드 및 실행할 수 있다. 또는, 런칭 어플리케이션(300)은 도 1의 서버(130)로부터 런칭 어플리케이션 및 에뮬레이터 중 적어도 하나의 업데이트 신호를 수신할 수 있다. 런칭 어플리케이션(300)은 업데이트 신호에 따라 다운로드 및 셋업 파일 설치 중 적어도 하나를 수행할 수 있다. With respect to version checking,
임베디드 웹 브라우저(320)의 실행과 관련하여, 런칭 어플리케이션(300)은 임베디드 웹 브라우저를 통해 배너(banner)와 어플리케이션 목록을 노출할 수 있다. 임베디드 웹 브라우저 내 배너가 선택되는 경우, 사용자 PC의 웹 브라우저 등을 통하여 관련 페이지에 접속될 수 있다. 또한, 어플리케이션 목록 중 특정 어플리케이션이 선택되는 경우, URI 스킴을 통해 런칭 어플리케이션(300)에 명령 신호가 전달되어 어플리케이션의 실행이 요청될 수 있다. In connection with the execution of the embedded
어플리케이션 데이터 관리(330)와 관련하여, 런칭 어플리케이션(300)은 서버(130)에서 제공하는 목록을 기준으로 에뮬레이터에 어플리케이션의 실행 명령을 할 수 있다. 이 때, 런칭 어플리케이션(300)은 로컬 데이터를 기반으로 타겟 플레이어에게 실행 명령을 전송할 수 있다. With respect to the
런칭 어플리케이션(300)은 예를 들어, 사용자 별 구분, 설치 어플리케이션 정보, 어플리케이션 플레이 정보(예를 들어, 어플리케이션의 시작 및 종료 등) 및 다수의 타겟 플레이어 등에 대한 로컬 데이터를 관리할 수 있다. The launching
API 제공(340)과 관련하여, 런칭 어플리케이션(300)은 예를 들어, 에뮬레이터 수행 API, 패키지 설치, 삭제, 종료 API 및 모바일 인스턴트 메시지 프로그램의 PC 버전용 API 등의 다양한 API들을 제공할 수 있다. With respect to the
에뮬레이터 수행 API는 예를 들어, 기 설치된 어플리케이션을 실행하거나, 어플리케이션의 패키지를 전달하여 'Game Player'가 어플리케이션의 패키지를 설치한 뒤, 해당 어플리케이션을 실행하도록 할 수 있다. 'Game Player'는 에뮬레이터에 등록된 플레이어 혹은 인스턴스일 수 있다. 또한, 에뮬레이터 수행 API는 에뮬레이터로 제2 마켓 내 어플리케이션과 관련된 URL 정보를 전달하여 'Game Player'가 에뮬레이터 상 웹 브라우저를 통해 해당 URL에 접속하여 해당 어플리케이션을 다운로드 받거나 실행하도록 할 수 있다. For example, the emulator execution API can execute a pre-installed application or deliver a package of an application so that the 'Game Player' can install the application package and then execute the application. 'Game Player' may be a player or instance registered in the emulator. In addition, the emulator execution API may transmit URL information related to the application in the second market to the emulator so that the 'Game Player' can access the URL via the web browser on the emulator and download or execute the application.
또는 에뮬레이터 수행 API는 서버(130)에 의하여 운영되는 제1 마켓과 구별되는 제2 마켓으로 키워드(Keyword)를 전달하고, 'Game Player'가 제2 마켓에서 해당 키워드 검색 결과로서 검색한 어플리케이션에 대응하는 페이지에 접근하도록 할 수 있다. 이 밖에도, 에뮬레이터 수행 API는 제2 마켓으로 어플리케이션 정보를 전달하고, 'Game Player'가 제2 마켓을 통해 해당 어플리케이션 페이지에 접속함으로써 어플리케이션을 실행하도록 할 수 있다. 또는, 에뮬레이터 수행 API는 별도의 수행 항목 없이 에뮬레이터만 실행할 수 있다. Alternatively, the emulator execution API may transmit a keyword to a second market that is different from the first market operated by the
패키지 설치, 삭제, 종료 API는 어플리케이션의 패키지가 설치, 삭제, 실행, 종료가 된 경우, 해당 어플리케이션의 정보와 타겟 플레이어 정보를 API를 통해 전달할 수 있다. 런칭 어플리케이션(300)은 수신된 정보를 기반으로 어플리케이션 데이터를 관리할 수 있다. 패키지 설치, 삭제, 종료 API는 서버(130)에 의하여 운영되는 제1 마켓 이외의 마켓을 통해 제공되는 어플리케이션이나 어플리케이션의 설치 시에도 데이터를 수신, 구분하여 관리할 수 있다. Package installation, deletion, and termination APIs can transfer information of the application and target player information through the API when the package of the application is installed, deleted, executed, or terminated. The launching
모바일 인스턴트 메시지 PC 버전용 API는 사용자 PC에 설치된 인스턴트 메신저 프로그램의 인터페이스를 통하여 전송되는 런칭 신호를 수신할 수 있다. 사용자 PC에 설치된 인스턴트 메신저 프로그램은 모바일 인스턴트 메신저의 PC 버전일 수 있다. 예를 들어, 인스턴트 메신저 프로그램은 모바일 어플리케이션 관련 메시지나 배너를 통해서 에뮬레이터를 통하여 어플리케이션을 PC 상에서 실행 할 수 있는 인터페이스를 제공한다. 이 때, 인스턴트 메신저 프로그램은 로그인 또는 성인인증 상태로 런칭 어플리케이션(300)을 호출할 수 있다. The API for the mobile instant message PC version can receive a launching signal transmitted through the interface of the instant messenger program installed in the user PC. The instant messenger program installed on the user PC may be a PC version of the mobile instant messenger. For example, an instant messenger program provides an interface through which an application can be executed on a PC via a mobile application-related message or banner through the emulator. At this time, the instant messenger program can call the
API 및 서버 호출(350)과 관련하여, 런칭 어플리케이션(300)은 새로운 로딩 배너가 있는지 체크하고, 새로운 로딩 배너가 있는 경우, 배너를 다운로드할 수 잇다. 또한, 런칭 어플리케이션(300)은 에뮬레이터에 설치되지 않은 어플리케이션의 경우 서버(130)의 제1 마켓에 요청하여 패키지를 다운로드 하거나, 또는 제2 마켓 내에서 해당 어플리케이션에 대응하는 페이지로의 링크를 수신할 수 있다. With respect to the API and
런칭 어플리케이션(300)은 에뮬레이터 이용 통계를 위한 정보를 서버(130)에게 전송할 수 있다. 에뮬레이터 이용 통계를 위한 정보는 예를 들어, 어플리케이션 패키지의 설치, 삭제, 실행, 종료 데이터와 관련된 정보를 포함할 수 있다. 이때, 제1 마켓 이외의 마켓을 통해 제공되는 게임 어플리케이션이나 기타 어플리케이션에 대한 정보도 전송이 가능하다. The launching
이 밖에도, 런칭 어플리케이션(300)은 토스트 배너(toast banner)에 노출할 이미지와 랜딩 URL을 다운로드할 수 있다. 토스트 배너는 '토스트 광고'라고도 불릴 수 있다. In addition, the launching
URI 스킴(360)과 관련하여, 런칭 어플리케이션(300)은 자체 임베디드 브라우저, 사용자 PC의 웹 브라우저에 표시되는 메인 페이지, 또는 인스턴트 메신저 프로그램의 PC 버전의 인터페이스 등을 통한 URI 호출 신호를 수신할 수 있다. URI 호출 신호는 사용자 PC에 설치된 운영체제를 이용하여 전송될 수 있으며, 런칭 어플리케이션(300)은 사용자 PC에 설치될 때 자신의 URI 정보를 운영체제의 레지스트리에 등록할 수 있다.With respect to the
트레이(370)와 관련하여, 런칭 어플리케이션(300)이 실행 중일 때 런칭 어플리케이션(300)은 트레이를 실행할 수 있다. 트레이(370)는 트레이 메뉴 및 토스트 배너를 포함할 수 있다. 트레이 메뉴는 예를 들어, 어플리케이션 열기, 로그인 및 로그 아웃, 환경 설정 및 종료 등을 포함할 수 있다. 런칭 어플리케이션(300)은 사용자의 로그인 여부와 관계없이 토스트 배너를 제공할 수 있다. 토스트 배너는 클릭 시 PC의 웹 브라우저를 통해 랜딩될 수 있다. 토스트 배너는 예를 들어, 프로세스의 로딩 후 3분 뒤 노출될 수 있다. With respect to the
멀티 플레이어 관리(380)와 관련하여, 런칭 어플리케이션(300)은 멀티 플레이어 (혹은 멀티 인스턴스) 기능을 위하여 에뮬레이터와 상호 작용할 수 있다. 이 때, 최소 1개의 플레이어 (혹은 인스턴스)가 존재해야 하고, 최대 n개(예를 들어, 5개)의 플레이어들 (혹은 인스턴스들)이 동시에 실행될 수 있다. 멀티 플레이어는 도 8을 통해 설명하는 환경 설정을 통해 추가 또는 삭제가 가능하다. 런칭 어플리케이션(300)은 특정 플레이어 (혹은 인스턴스)가 삭제되는 경우, 해당 플레이어 (혹은 인스턴스)와 관련된 로컬 어플리케이션 데이터 정보를 갱신할 수 있다.With respect to the
어플리케이션 바로 가기 생성(390)과 관련하여, 런칭 어플리케이션(300)은 어플리케이션 설치 시 컴퓨터의 바탕 화면에 해당 어플리케이션의 바로 가기 아이콘 또는 버튼을 생성할 수 있다. 바로 가기 아이콘은 옵션 기능으로 환경 설정(395) 시에 설정 가능하다. 환경 설정(395)은 예를 들어, 도 8에 도시된 환경 설정 화면을 통해 설정 가능하다. With regard to the
도 4는 일 실시예에 따른 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법을 나타낸 흐름도이다. 도 4에 도시된 각 단계들은 사용자 PC의 적어도 하나의 프로세서에 의하여 수행될 수 있다. 보다 구체적으로, 프로세서는 에뮬레이터에서 실행 가능한 어플리케이션의 패키지의 식별 정보 및 어플리케이션의 패키지를 제공하는 마켓의 식별 정보를 포함하는 런칭 신호를 수신한다(410). 4 is a flowchart illustrating an operation method of a launching application for controlling an emulator according to an exemplary embodiment of the present invention. Each of the steps shown in FIG. 4 may be performed by at least one processor of the user PC. More specifically, the processor receives a launching signal including an identification of a package of an application executable in the emulator and a identification of a market providing a package of the application (410).
런칭 신호는 예를 들어, 통합 자원 식별자(URI) 호출 규격에 따라 생성될 수 있다. 통합 자원 식별자는 예를 들어, "URI 정보://호스트 이름/주소"의 형태를 가질 수 있다. The launch signal may be generated, for example, according to the Unified Resource Identifier (URI) call specification. The unified resource identifier may take the form of, for example, "URI information: // hostname / address ".
런칭 신호는 예를 들어, 도 1의 서버(130)에 의하여 제공되는 제1 마켓에 대응하는 웹 프론트앤드를 통해 노출되는 사용자 인터페이스에 대한 사용자의 선택에 반응하여 생성될 수 있다. 웹 프론트앤드는 예를 들어, 런칭 어플리케이션에 대한 바로가기 아이콘, 에뮬레이터 내에 설치된 어플리케이션에 대응하는 바로가기 아이콘, 인스턴트 메신저 프로그램의 채팅방을 통해 인스턴트 메시지의 형태로 노출되는 사용자 인터페이스, 인스턴트 메신저 프로그램에서 제공하는 추가 인터페이스, 및 제1 유형의 마켓을 통하여 제공되는 어플리케이션에 대한 광고 또는 검색과 관련된 사용자 인터페이스 등을 통하여 접근할 수 있다. The launch signal may be generated, for example, in response to a user's selection of a user interface exposed through a web front end corresponding to a first market provided by the
또는, 런칭 신호는 인스턴트 메신저 프로그램의 채팅방을 통하여 인스턴트 메시지의 형태로 노출되는 사용자 인터페이스에 대한 사용자의 선택, 인스턴트 메신저 프로그램에서 제공하는 추가 인터페이스에 대한 사용자의 선택 중 적어도 하나에 반응하여 생성될 수 있다. Alternatively, the launch signal may be generated in response to at least one of a user's selection of a user interface for exposing in the form of an instant message through a chat room of the instant messenger program, a user's selection of an additional interface provided by the instant messenger program .
런칭 신호가 커뮤니티 정보를 더 포함하는 경우, 프로세서는 에뮬레이터로부터 커뮤니티 접속을 요청하는 신호를 수신하고, 커뮤니티 접속을 요청하는 신호에 응답하여 도 1의 서버(130)에 접속할 수 있다. 프로세서는 서버(130)에의 접속을 통해 에뮬레이터에게 커뮤니티 내의 컨텐츠 정보를 전달할 수 있다. If the launching signal further includes community information, the processor may receive a signal from the emulator requesting a community connection and may connect to the
프로세서는 웹 프론트앤드에서 사용자 인증 및 성인 인증 중 적어도 하나를 수행할 수 있다. 이때, 사용자 인증 및 성인 인증에는 제1 마켓에서 사용하는 로그인 구성 요소 그대로 사용될 수 있다. 페이지 이동이 있는 링크는 사용자 PC의 웹 브라우저를 통해 해당 링크로 랜딩될 수 있다. 사용자 PC를 통해 제공되는 인스턴트 메신저 프로그램의 계정으로 로그인에 성공한 후, 메인 화면이 노출될 수 있다. 어플리케이션 실행 시 성인인 아닌 경우 사용자는 외부 브라우저를 통해 성인 인증을 수행할 수 있다. The processor may perform at least one of user authentication and adult authentication at the web front end. At this time, user authentication and adult authentication can be used as the login component used in the first market. The link with the page movement can be landed on the corresponding link through the web browser of the user PC. After successful login to the account of the instant messenger program provided through the user PC, the main screen may be exposed. If the application is not adult at the time of executing the application, the user can perform the adult authentication through the external browser.
프로세서는 단계(410)에서 수신한 패키지의 식별 정보에 기초하여, 에뮬레이터에 어플리케이션이 설치되어 있는지 여부를 확인한다(420). 단계(420)에서 에뮬레이터에 어플리케이션이 설치되어 있는 경우, 프로세서는 설치된 어플리케이션을 수행할 수 있다(430).Based on the identification information of the package received in
단계(420)에서 에뮬레이터에 어플리케이션이 설치되어 있지 않은 경우, 프로세서는 마켓의 식별 정보에 기초하여 마켓의 유형을 판단한다(440). 실시예에 따라서, 마켓의 식별 정보에 복수의 마켓들에 대응하는 식별자들이 포함되는 경우, 프로세서는 사용자로부터 상기 복수의 마켓들 중 어느 하나의 마켓에 대한 선택을 입력받을 수 있다. 이 경우, 프로세서는 단계(440)에서 선택된 마켓의 유형을 판단할 수 있다. If the application is not installed in the emulator at
프로세서는 마켓의 유형이 미리 정해진 제1 유형인지 여부를 판단할 수 있다(450). 단계(450)에서 마켓의 유형이 미리 정해진 제1 유형이라고 판단되면, 프로세서는 제1 유형의 마켓으로부터 어플리케이션의 패키지를 다운로드 받을 수 있다(470). 제1 유형의 마켓은 예를 들어, 도 1의 서버(130)에 의하여 제공되는 제1 마켓일 수 있다.The processor may determine whether the type of market is a first type predetermined 450. If at
단계(450)에서 마켓의 유형이 제1 유형이 아니라고 판단되면(다시 말해 마켓의 유형이 제2 유형이라고 판단되면), 프로세서는 패키지의 식별 정보와 마켓의 식별 정보를 기초로, 에뮬레이터를 통하여 제2 유형의 마켓이 제공하는 어플리케이션에 대응하는 페이지에 접속 되도록 에뮬레이터를 제어할 수 있다(460). 제2 유형의 마켓은 예를 들어, 제1 마켓과 구별되는 제2 마켓일 수 있다.If it is determined at
프로세서는 단계(470)에서 다운로드된 패키지에 기초하여, 에뮬레이터에 어플리케이션이 설치되도록 에뮬레이터를 제어한다(480). 프로세서는 에뮬레이터를 통하여 어플리케이션이 실행되도록, 에뮬레이터를 제어한다(490).Based on the package downloaded in
도 5는 일 실시예에 따른 런칭 어플리케이션의 설치 유도 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 다양한 경로들을 따라 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(530)에 접근될 수 있다. 예를 들어, 인스턴트 메신저 프로그램에서 제공하는 추가 인터페이스(515), 인스턴트 메신저 프로그램에서 제공하는 인스턴트 메시지의 형태로 노출되는 사용자 인터페이스(520), 또는 광고나 검색 결과에 해당하는 웹 페이지 상의 인터페이스(525) 등을 통하여 웹 프론트앤드에 접근될 수 있다. 여기서, 추가 인터페이스(515)는 메뉴 형태로 표시된 "게임하기" 버튼일 수 있고, 사용자 인터페이스(520)는 "PC에서 플레이 하기"와 같은 말 풍선 형태의 인터페이스일 수 있다. 5 is a diagram for explaining a method of inducing installation of a launching application according to an embodiment. Referring to FIG. 5, a
전술한 것과 같이, 웹 프론트앤드에서 "PC에서 플레이 하기" 버튼이 선택되면, URI 규약에 따라 런칭 어플리케이션(540)이 호출될 수 있다. 다만, 실시예에 따라, 웹 프론트앤드가 런칭 어플리케이션(540)을 호출하기만 할 뿐, 런칭 어플리케이션(540)으로부터 웹 프론트앤드로 응답 신호 등이 전송되지 않는 단 방향 통신이 이루어질 수 있다. 웹 프론트앤드가 런칭 어플리케이션(540)을 호출하는 URI 규약은 다양한 운영체제들에서 공통적으로 제공된다. 또한, 런칭 어플리케이션(540)으로부터 웹 프론트앤드로의 통신을 위해서는 웹 프론트앤드를 위한 액티브 액스 등이 설치되어야 하는데, 단 방향 통신 구조를 이용함으로써 실시예들은 범용적인 플랫폼 환경에 적용될 수 있다.As described above, when the "Play on PC" button is selected in the web front end, the launching
다만, 단 방향 통신 구조로 인하여 웹 프론트앤드는 런칭 어플리케이션(540)이 성공적으로 호출되었는지 여부를 확인하기 어려우므로, 웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(530)는 "설치 유도 정보"를 더 표시할 수 있다. 실시예에 따라, "설치 유도 정보"는 "PC에서 플레이 하기"가 선택되는 것에 반응하여 미리 정해진 시간 동안만 표시될 수도 있다.However, because of the unidirectional communication structure, it is difficult for the web front end to determine whether or not the
웹 프론트앤드의 특정 어플리케이션에 대응하는 페이지(530)에 표시되는 "설치 유도 정보"가 선택되는 경우, 런칭 어플리케이션(540)의 설치 여부를 문의하는 팝업 윈도우(560)가 표시되고, 사용자의 확인을 거쳐 런칭 어플리케이션(540)이 다운로드 및 설치될 수 있다. 런칭 어플리케이션(540)이 다운로드 및 설치되는 과정은 설치 윈도우(565)를 통하여 표시될 수 있다. 일 예로, 도 1의 서버(130)에 의하여 운영되는 마켓이 모바일 게임 어플리케이션을 유통 대상으로 하는 경우, 런칭 어플리케이션(540)은 게임 플레이어일 수 있다.When the "installation inducement information" displayed on the
실시예에 따라, 인스턴트 메신저 프로그램은 런칭 어플리케이션(540)과 양 방향 통신을 수행할 수 있다. 이 경우, 인스턴트 메신저 프로그램에 의하여 제공되는 인터페이스(515, 520)를 통하여 런칭 어플리케이션(540)이 호출되었음에도 불구하고, 런칭 어플리케이션(540)이 실행되지 않는 경우 바로 런칭 어플리케이션(540)의 설치 여부를 문의하는 팝업 윈도우(560)가 표시될 수 있다.According to an embodiment, the instant messenger program may perform bi-directional communication with the
도 6은 일 실시예에 따라 제1 마켓에서 검색되지 않은 어플리케이션을 제2 마켓의 검색을 통해 제공하는 방법을 설명하기 위한 도면이다. 도 6을 참조하면, 어플리케이션들을 포함하는 웹 메인 페이지(610)가 도시된다. 웹 메인 페이지(610)는 웹 프론트앤드의 메인 페이지에 대응한다.FIG. 6 is a diagram illustrating a method of providing an application that is not searched in the first market through searching in the second market according to an embodiment. Referring to FIG. 6, a web
웹 메인 페이지(610)의 상단(611)은 배너 영역으로서, 관리자 페이지에서 설정한 다수 개의 이미지를 랜덤하게 노출할 수 있다. 런칭 어플리케이션은 도 1의 서버(130)로부터 배너 광고를 수신하고, 에뮬레이터에서 어플리케이션의 로딩 중에 배너 광고가 노출되도록 에뮬레이터를 제어할 수 있다.The top 611 of the web
웹 메인 페이지(610)의 중단(613)은 어플리케이션 검색을 위한 검색창을 제공할 수 있다. 웹 메인 페이지(610)의 하단(615)은 어플리케이션 목록을 제공할 수 있다. 어플리케이션 목록이 한 페이지를 초과할 경우, 스크롤 기능도 함께 제공될 수 있다. 어플리케이션 목록은 예를 들어, 인기도 혹은 추천 순으로 정렬될 수 있으며, 어플리케이션 목록 내 각 항목은 대표 아이콘과 어플리케이션의 이름으로 구성될 수 있다. 또는 어플리케이션 목록은 사용자가 마지막으로 플레이한 어플리케이션의 순서 등 다양한 기준에 따라 정렬될 수 있다. Interrupt 613 of web
웹 메인 페이지(610)는 검색을 위한 키워드를 수신할 수 있다. 예를 들어, 사용자는 화면(630)과 같이 웹 메인 페이지의 중단(613)에 제공되는 검색창에 검색을 위한 키워드인 "크리"를 입력하고, 검색 버튼을 클릭할 수 있다. Web
어플리케이션 목록 중 검색어 "크리"에 일치하는 어플리케이션 (예를 들어, "크리스탈하츠 게임")이 존재하는 경우, 웹 메인 페이지(610)는 검색 결과를 노출할 수 있다. 이 경우, 사용자는 검색된 어플리케이션과 관련하여 표시된 PC에서 플레이 하기 버튼(635)을 선택함으로써 해당 어플리케이션을 에뮬레이터를 통하여 사용자 PC에서 실행할 수 있다. If there is an application (e.g., "Crystal Hearts game") that matches the search term "CREE " in the application list, the web
한편, 사용자가 화면(650)과 같이 검색창에 검색을 위한 키워드인 "러너"를 입력했으나, 어플리케이션 목록 중 검색어 "러너"에 일치하는 어플리케이션이 존재하지 않을 수 있다. 어플리케이션 목록 중 검색어 "러너"에 일치하는 어플리케이션이 없는 경우, 런칭 어플리케이션은 예를 들어, "검색 결과가 없습니다". 및/또는 "다른 검색어를 입력하시거나 다른 마켓에서 검색해보세요."라는 문구를 화면에 표시할 수 있다. 이와 함께, 웹 메인 페이지(610)는 "다른 마켓에서 검색하기" 버튼(655) 및 목록으로 돌아가기 버튼을 함께 표시할 수 있다. On the other hand, although the user inputs a keyword "runner " for searching in the search window as in the
사용자가 "다른 마켓에서 검색하기" 버튼(655)을 선택한 경우, 웹 메인 페이지(610)는 런칭 어플리케이션(660)을 호출하여, 에뮬레이터(670) 내에서 다른 마켓에서의 검색이 실행되도록 할 수 있다. 이 경우, 런칭 어플리케이션(660)은 검색을 위한 키워드 및 검색을 수행할 마켓의 식별 정보를 포함하는 검색 신호를 수신할 수 있다. 런칭 어플리케이션은 검색 신호에 기초하여, 에뮬레이터(670)를 통하여 검색을 수행할 마켓 내 키워드에 대응하는 검색 결과가 제공되도록 에뮬레이터(670)를 제어할 수 있다.If the user selects the "Search in other market"
사용자가 "목록으로 돌아가기" 버튼을 선택한 경우, 런칭 어플리케이션은 초기 어플리케이션 목록 화면을 표시할 수 있다. When the user selects the "return to list" button, the launching application can display the initial application list screen.
도 7은 일 실시예에 따라 멀티 플레이어를 선택하는 선택창을 도시한 도면이다. 런칭 어플리케이션은 에뮬레이터로부터 복수의 플레이어들 (혹은 복수의 인스턴스들)에 관한 정보를 수신할 수 있다. 런칭 어플리케이션은 패키지의 식별 정보에 기초하여, 복수의 플레이어들 (혹은 인스턴스들) 각각에 대응하여 어플리케이션이 설치되어 있는지 여부 및 어플리케이션이 구동 중인지 여부 중 적어도 하나를 표시할 수 있다. 런칭 어플리케이션은 표시된 복수의 플레이어들 (혹은 인스턴스들) 중 어느 하나의 인스턴트에 대한 사용자의 선택을 수신하고, 선택된 플레이어 (혹은 선택된 인스턴스)를 제어할 수 있다.7 is a view showing a selection window for selecting a multiplayer according to an embodiment. The launching application may receive information about a plurality of players (or a plurality of instances) from the emulator. The launching application can display at least one of whether an application is installed corresponding to each of a plurality of players (or instances) and whether the application is running, based on the identification information of the package. The launching application may receive a user's selection of one of the displayed plurality of players (or instances) and control the selected player (or selected instance).
예를 들어, 도 7을 참조하면, 런칭 어플리케이션은 에뮬레이터에 등록된 복수의 플레이어들(혹은 복수의 인스턴스들)을 선택하도록 추가 가능한 모달 팝업 형태의 선택창(700)을 제공할 수 있다. 이를 위하여, 런칭 어플리케이션은 각각의 플레이어들(혹은 인스턴스들)에 대응하여, 설치된 어플리케이션 및 실행 중인 어플리케이션을 조회하는 API를 제공할 수 있다. 이때, 해당 어플리케이션이 설치된 플레이어(혹은 인스턴스)와 관련하여 "설치됨"이라는 지시자가 표시되고, 해당 어플리케이션이 실행 중인 플레이어(혹은 인스턴스)와 관련하여 "실행중"이라는 지시자가 표시될 수 있다. 사용자는 이러한 정보에 기초하여 해당 어플리케이션을 설치 혹은 실행할 플레이어(혹은 인스턴스)를 선택하거나, 새로운 플레이어(혹은 인스턴스)를 추가할 수 있다.For example, referring to FIG. 7, the launching application may provide a
도 8은 일 실시예에 따라 런칭 어플리케이션의 환경 설정 화면을 도시한 도면이다. 도 8을 참조하면, 사용자는 웹 프론트앤드에 표시된 설정 버튼을 호출하여 런칭 어플리케이션의 환경을 설정할 수 있다. 설정 다이얼로그는 런칭 어플리케이션의 다이얼로그로 실행될 수 있다. 런칭 어플리케이션의 설정 변경 시에 즉시 적용되며, 별도 확인이나 적용 버튼은 제공되지 않을 수 있다. 8 is a diagram showing an environment setting screen of a launching application according to an embodiment. Referring to FIG. 8, the user can set the environment of the launching application by calling the setting button displayed on the web front-end. The setting dialogue can be executed with a dialog of the launching application. It is applied immediately when changing the settings of the launching application, and there may not be a separate confirmation or application button.
사용자는 환경 설정 화면(810)을 통해 기본 설정(default)으로, 에뮬레이터 내 어플리케이션 설치 시에 바탕 화면에 바로가기를 등록하거나, 또는 컴퓨터 실행 시에 런칭 어플리케이션이 자동으로 실행되도록 할 수 있다. The user can register shortcuts on the desktop when installing the application in the emulator, or execute the launching application automatically when the computer is running, with the default setting through the
또한, 사용자는 환경 설정 화면(810)을 통해 플레이어(혹은 인스턴스)의 추가 또는 삭제가 가능한 사용자 인터페이스(UI)를 제공할 수 있다. 사용자는 멀티 플레이어의 선택 화면을 통해 플레이어(혹은 인스턴스)를 추가할 수 있다.In addition, the user can provide a user interface (UI) capable of adding or deleting a player (or an instance) through the
사용자가 등록된 플레이어(혹은 인스턴스)를 삭제하는 경우, 런칭 어플리케이션은 삭제를 다시 한 번 확인하는 팝업창(830)을 노출할 수 있다. 특정 플레이어(혹은 인스턴스)를 삭제 시 해당 플레이어(혹은 인스턴스) 내에 설치된 어플리케이션도 함께 삭제될 수 있다. 어플리케이션이 삭제되는 경우, 런칭 어플리케이션은 로컬 어플리케이션 데이터 정보를 갱신할 수 있다.When the user deletes the registered player (or instance), the launching application may expose a
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 프로세싱 유닛(Graphics Processing Unit; GPU), ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 주문형 집적 회로(Application Specific Integrated Circuits; ASICS), 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. The embodiments described above may be implemented in hardware components, software components, and / or a combination of hardware components and software components. For example, the apparatuses, methods, and components described in the embodiments may be implemented by, for example, a processor, a controller, a central processing unit (CPU), a graphics processing unit (GPU) arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, Application Specific Integrated Circuits (ASICS) may be implemented using one or more general purpose or special purpose computers, such as any other device capable of executing and responding to instructions.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (14)
상기 프로세서가 상기 에뮬레이터(emulator)에서 실행 가능한 어플리케이션의 패키지(application package)의 식별 정보 및 상기 어플리케이션의 패키지를 제공하는 마켓의 식별 정보를 포함하는 런칭 신호를 수신하는 단계;
상기 프로세서가 상기 패키지의 식별 정보에 기초하여, 상기 에뮬레이터에 상기 어플리케이션이 설치되어 있는지 확인하는 단계;
상기 에뮬레이터에 상기 어플리케이션이 설치되어 있지 않은 경우,
상기 프로세서가 상기 마켓의 식별 정보에 기초하여 상기 마켓의 유형을 판단하는 단계;
상기 마켓의 유형이 미리 정해진 제1 유형인 경우,
상기 프로세서가 상기 제1 유형의 마켓으로부터 상기 어플리케이션의 패키지를 다운로드 받는 단계;
상기 프로세서가 상기 다운로드된 패키지에 기초하여, 상기 에뮬레이터에 상기 어플리케이션이 설치되도록 상기 에뮬레이터를 제어하는 단계; 및
상기 프로세서가 상기 에뮬레이터를 통하여 상기 어플리케이션이 실행되도록, 상기 에뮬레이터를 제어하는 단계; 및
상기 마켓의 유형이 미리 정해진 제2 유형인 경우,
상기 프로세서가 상기 패키지의 식별 정보와 상기 마켓의 식별 정보를 기초로, 상기 에뮬레이터를 통하여 상기 제2 유형의 마켓이 제공하는 상기 어플리케이션에 대응하는 페이지에 접속(access)되도록 상기 에뮬레이터를 제어하는 단계
를 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.A method of operating a launching application in which at least one processor of a user terminal controls an emulator,
Receiving, by the processor, a launch signal including identification information of an application package executable in the emulator and identification information of a market providing a package of the application;
Determining whether the application is installed in the emulator based on identification information of the package;
If the application is not installed in the emulator,
The processor determining the type of the market based on the identification information of the market;
If the type of the market is a predetermined first type,
The processor downloading the package of the application from the first type of market;
Controlling the emulator so that the processor is installed in the emulator based on the downloaded package; And
Controlling the emulator so that the processor executes the application through the emulator; And
If the type of the market is a predetermined second type,
Controlling the emulator to access the page corresponding to the application provided by the second type of market through the emulator, based on the identification information of the package and the identification information of the market,
The method comprising the steps of:
상기 런칭 신호는
통합 자원 식별자(URI) 호출 규격에 따라 생성되는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
The launch signal
A method of operating a launching application for controlling an emulator, the method being generated according to a Unified Resource Identifier (URI) call specification.
상기 런칭 신호는
상기 제1 유형의 마켓에 대응하는 웹 프론트앤드(web front-end)를 통해 노출되는 사용자 인터페이스에 대한 사용자의 선택;
인스턴트 메신저 프로그램의 채팅방을 통해 인스턴트 메시지의 형태로 노출되는 사용자 인터페이스에 대한 사용자의 선택; 및
상기 인스턴트 메신저 프로그램에서 제공하는 추가 인터페이스에 대한 사용자의 선택
중 적어도 하나에 반응하여 생성되는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
The launch signal
Selecting a user for a user interface exposed through a web front-end corresponding to the first type of market;
A user's selection of a user interface exposed in the form of an instant message through a chat room of an instant messenger program; And
The user's selection of the additional interface provided by the instant messenger program
Wherein the emulator is generated in response to at least one of:
상기 웹 프론트앤드는
상기 런칭 어플리케이션에 대한 바로가기 아이콘;
상기 에뮬레이터 내에 설치된 어플리케이션에 대응하는 바로가기 아이콘;
상기 인스턴트 메신저 프로그램의 채팅방을 통해 상기 인스턴트 메시지의 형태로 노출되는 상기 사용자 인터페이스;
상기 인스턴트 메신저 프로그램에서 제공하는 상기 추가 인터페이스; 및
상기 제1 유형의 마켓을 통하여 제공되는 어플리케이션에 대한 광고 또는 검색과 관련된 사용자 인터페이스
중 적어도 하나를 통하여 접근 가능한, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method of claim 3,
The web front end
A shortcut icon for the launching application;
A shortcut icon corresponding to an application installed in the emulator;
The user interface being exposed in the form of the instant message through a chat room of the instant messenger program;
The additional interface provided by the instant messenger program; And
A user interface associated with an advertisement or search for an application provided through the first type of marketplace
The emulator being accessible through at least one of the plurality of emulators.
상기 프로세서가 상기 제1 유형의 마켓에 대응하는 웹 프론트앤드에서 사용자 인증 및 성인 인증 중 적어도 하나를 수행하는 단계
를 더 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
Wherein the processor performs at least one of user authentication and adult authentication at a web front end corresponding to the first type of market
Further comprising the steps of:
상기 프로세서가 검색을 위한 키워드 및 상기 검색을 수행할 마켓의 식별 정보를 포함하는 검색 신호를 수신하는 단계; 및
상기 프로세서가 상기 검색 신호에 기초하여, 상기 에뮬레이터를 통하여 상기 검색을 수행할 마켓 내 상기 키워드에 대응하는 검색 결과가 제공되도록 상기 에뮬레이터를 제어하는 단계
를 더 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
Receiving, by the processor, a search signal including a keyword for a search and identification information of a market in which the search is to be performed; And
Controlling the emulator so that the processor is provided with a search result corresponding to the keyword in the market to perform the search through the emulator based on the search signal
Further comprising the steps of:
상기 마켓의 식별 정보에 복수의 마켓들에 대응하는 식별자들이 포함되는 경우, 상기 프로세서가 사용자로부터 상기 복수의 마켓들 중 어느 하나의 마켓에 대한 선택을 입력받는 단계
를 더 포함하고,
상기 마켓의 유형을 판단하는 단계는
상기 선택된 마켓의 유형을 판단하는 단계인, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
When the identification information of the market includes identifiers corresponding to a plurality of markets, the processor receives from the user a selection of one of the plurality of markets
Further comprising:
The step of determining the type of the market
Determining a type of the selected market; and controlling the emulator.
상기 런칭 신호가 커뮤니티 정보를 더 포함하는 경우,
상기 프로세서가 상기 에뮬레이터로부터 커뮤니티 접속을 요청하는 신호를 수신하는 단계
상기 프로세서가 상기 커뮤니티 접속을 요청하는 신호에 응답하여 서버에 접속하는 단계; 및
상기 프로세서가 상기 서버에의 접속을 통해 상기 에뮬레이터에게 상기 커뮤니티 내의 컨텐츠 정보를 전달하는 단계
를 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
If the launch signal further includes community information,
The processor receiving a signal from the emulator requesting a community connection
The processor accessing the server in response to a signal requesting the community access; And
The processor communicating content information within the community to the emulator through a connection to the server
The method comprising the steps of:
상기 에뮬레이터에서 어플리케이션의 실행과 관련된 제1 로그 정보;
상기 에뮬레이터에서 어플리케이션의 설치와 관련된 제2 로그 정보;
상기 에뮬레이터에서 마켓 내 페이지의 접속과 관련된 제3 로그 정보; 및
상기 에뮬레이터에서 마켓 내 키워드의 검색과 관련된 제4 로그 정보
중 적어도 하나를 저장하는 단계; 및
상기 저장된 로그 정보를 서버에 리포팅하는 단계
를 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
First log information related to execution of an application in the emulator;
Second log information related to the installation of the application in the emulator;
Third log information related to connection of pages in the market in the emulator; And
The fourth log information related to the search of the keyword in the market in the emulator
≪ / RTI > And
Reporting the stored log information to the server
The method comprising the steps of:
상기 프로세서가 서버로부터 배너 광고를 수신하는 단계; 및
상기 프로세서가 상기 에뮬레이터에서 상기 어플리케이션의 로딩 중에 상기 배너 광고가 노출되도록 상기 에뮬레이터를 제어하는 단계
를 더 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
The processor receiving a banner advertisement from a server; And
The processor controlling the emulator to expose the banner advertisement during loading of the application in the emulator
Further comprising the steps of:
상기 프로세서가 서버로부터 토스트 광고를 수신하는 단계; 및
상기 프로세서가 미리 정해진 위치에 상기 토스트 광고를 노출하는 단계
를 더 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
The processor receiving a toast advertisement from a server; And
Wherein the processor exposes the toast advertisement to a predetermined location
Further comprising the steps of:
상기 프로세서가 상기 에뮬레이터로부터 복수의 인스턴스들에 관한 정보를 수신하는 단계;
상기 프로세서가 상기 패키지의 식별 정보에 기초하여, 상기 복수의 인스턴스들 각각에 대응하여 상기 어플리케이션이 설치되어 있는지 여부 및 상기 어플리케이션이 구동 중인지 여부 중 적어도 하나를 표시하는 단계;
상기 프로세서가 상기 표시된 복수의 인스턴스들 중 어느 하나의 인스턴트에 대한 사용자의 선택을 수신하는 단계; 및
상기 프로세서가 상기 마켓의 유형에 기초하여, 상기 선택된 어느 하나의 인스턴트에서 상기 어플리케이션이 설치 또는 실행되거나 상기 어플리케이션에 대응하는 페이지에 접속되도록 상기 에뮬레이터를 제어하는 단계
를 더 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
The processor receiving information about a plurality of instances from the emulator;
Displaying at least one of whether the application is installed and whether the application is running corresponding to each of the plurality of instances based on the identification information of the package;
The processor receiving a user's selection of an instant of any of the displayed plurality of instances; And
Controlling the emulator so that the processor is connected to a page corresponding to the application installed or executed in the selected one instant based on the type of the market
Further comprising the steps of:
상기 프로세서가 서버로부터 상기 런칭 어플리케이션 및 상기 에뮬레이터 중 적어도 하나의 업데이트 신호를 수신하는 단계; 및
상기 프로세서가 상기 업데이트 신호에 따라 상기 런칭 어플리케이션 및 상기 에뮬레이터 중 적어도 하나의 업데이트를 수행하는 단계
를 더 포함하는, 에뮬레이터를 제어하는 런칭 어플리케이션의 동작 방법.The method according to claim 1,
The processor receiving at least one update signal of the launching application and the emulator from a server; And
Wherein the processor performs an update of at least one of the launching application and the emulator in accordance with the update signal
Further comprising the steps of:
13. A computer program stored on a medium for executing a method according to any one of claims 1 to 13 in combination with hardware.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160183703A KR101836749B1 (en) | 2016-12-30 | 2016-12-30 | Operating method of launching application for controlling emulator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160183703A KR101836749B1 (en) | 2016-12-30 | 2016-12-30 | Operating method of launching application for controlling emulator |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180021055A Division KR101856924B1 (en) | 2018-02-22 | 2018-02-22 | Operating method of launching application for controlling emulator |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101836749B1 true KR101836749B1 (en) | 2018-03-08 |
Family
ID=61726086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160183703A KR101836749B1 (en) | 2016-12-30 | 2016-12-30 | Operating method of launching application for controlling emulator |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101836749B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4020359B2 (en) * | 2001-11-30 | 2007-12-12 | 独立行政法人科学技術振興機構 | Mobile emulator system |
JP5596785B2 (en) * | 2009-06-26 | 2014-09-24 | ヴイエムウェア インク | Virtual mobile device |
-
2016
- 2016-12-30 KR KR1020160183703A patent/KR101836749B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4020359B2 (en) * | 2001-11-30 | 2007-12-12 | 独立行政法人科学技術振興機構 | Mobile emulator system |
JP5596785B2 (en) * | 2009-06-26 | 2014-09-24 | ヴイエムウェア インク | Virtual mobile device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10560538B2 (en) | Integrated user interface for consuming services across different distributed networks | |
JP5819953B2 (en) | Application with many experience modules | |
US10007539B2 (en) | On-demand cloning of virtual machines | |
US9003395B2 (en) | Directing plug-in updates for a software application to a target audience using manifest parameters | |
RU2421785C2 (en) | Automated control of device drivers | |
TWI336861B (en) | Method and apparatus for virtualization of appliances | |
US20100306773A1 (en) | Instant on Platform | |
CN105210031B (en) | Kiosk application mode for operating systems | |
US20210081187A1 (en) | Modification of software behavior in run time | |
US10908948B2 (en) | Multiple application instances in operating systems that utilize a single process for application execution | |
KR20100015532A (en) | Programming framework for closed systems | |
US11782748B2 (en) | Cloud shell extension framework | |
US20170269916A1 (en) | Selective Application Installation Or Application Running Without Installation | |
KR20110123867A (en) | Web application executable device and web application management method therof | |
KR101856924B1 (en) | Operating method of launching application for controlling emulator | |
US11675964B2 (en) | Management of remote access user application layouts | |
KR101836749B1 (en) | Operating method of launching application for controlling emulator | |
CN113742716B (en) | Code running method, device, electronic equipment, storage medium and program product | |
US11119748B2 (en) | Method and apparatus for operating a mobile application store | |
KR100724005B1 (en) | System for providing online flash game, method for providing online flash game, method for providing webpage for flash game, storage media recording program for method execution in computer and web server for providing webpage | |
KR20110123513A (en) | Web application executable device and method with page association function | |
WO2001055876A1 (en) | Web-based appliance | |
US20240143807A1 (en) | Securely executing client code in a shared infrastructure | |
KR101802847B1 (en) | Apparatus for providing item of recommendation by shortcut installing and method using the same | |
Ciliberti | Mobile, Social, and Cloud Technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |