KR100842084B1 - Application of mobile device and method for executing the same - Google Patents

Application of mobile device and method for executing the same Download PDF

Info

Publication number
KR100842084B1
KR100842084B1 KR1020070032902A KR20070032902A KR100842084B1 KR 100842084 B1 KR100842084 B1 KR 100842084B1 KR 1020070032902 A KR1020070032902 A KR 1020070032902A KR 20070032902 A KR20070032902 A KR 20070032902A KR 100842084 B1 KR100842084 B1 KR 100842084B1
Authority
KR
South Korea
Prior art keywords
application
platform
executed
mobile terminal
terminal
Prior art date
Application number
KR1020070032902A
Other languages
Korean (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 KR1020070032902A priority Critical patent/KR100842084B1/en
Application granted granted Critical
Publication of KR100842084B1 publication Critical patent/KR100842084B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

An application mounted on a mobile terminal in hierarchical structure and an execution method in the mobile terminal are provided to configure an application within the mobile terminal in up/down hierarchical structure, so that lower applications can be executed and managed by an upper application which is being executed on a platform. An upper application is carried out(S1), and a program code of a lower application is loaded on a memory of the upper application(S2). A relative address recorded in a program code area of the lower application is converted into an absolute address of a terminal to change the address into an address value accessible from the inside of the terminal(S3). A start function position designated when the lower application is linked is searched(S4). The current mode is converted into an ARM mode or a Thumb mode according to a state of a code where the lower application is compiled(S5). A program counter is moved, and a start function of the lower application is called(S6).

Description

모바일 단말기에 계층적 구조로 탑재되는 어플리케이션 및 모바일 단말기에서의 그 실행 방법{Application of mobile device and method for executing the same}Application of mobile device and method for executing the same}

도 1은 종래 이동통신 단말기에 탑재된 플랫폼 및 어플리케이션의 계통도,1 is a system diagram of a platform and an application mounted in a conventional mobile communication terminal,

도 2는 종래 이동통신 단말기에 탑재된 어플리케이션의 실행상태도,2 is an execution state diagram of an application mounted on a conventional mobile communication terminal.

도 3은 본 발명에 따른 어플리케이션의 계통도, 3 is a schematic diagram of an application according to the present invention;

도 4는 본 발명에 따른 어플리케이션의 실행상태를 나타낸 개략도,4 is a schematic diagram showing an execution state of an application according to the present invention;

도 5는 본 발명에 따라 어플리케이션이 구동되기 위한 이벤트 처리 과정을 나타낸 개략도, 5 is a schematic diagram showing an event processing procedure for driving an application according to the present invention;

도 6은 본 발명에서 하위 어플리케이션이 실행되기까지의 과정을 좀더 구체적으로 나타낸 순서도,6 is a flow chart illustrating in more detail the process until the lower application is executed in the present invention;

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

100 : 모바일 단말기 110 : 플랫폼100: mobile terminal 110: platform

121 ~ 123 : 상위 어플리케이션 131 ~ 136 : 하위 어플리케이션121 to 123: Upper application 131 to 136: Lower application

141 : 하위 어플리케이션 141: sub-application

본 발명은 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션 및 모바일 단말기에서의 그 실행 방법에 관한 것으로서, 더욱 상세하게는 모바일 단말기 내 어플리케이션을 상하 계층적 구조로 구성하여, 플랫폼상에서 실행 중인 상위 어플리케이션에 의해 하위 어플리케이션이 실행 및 관리되도록 한 모바일 단말기의 어플리케이션 및 그 실행 방법에 관한 것이다.The present invention relates to an application mounted on a mobile terminal in a hierarchical structure and a method of executing the same in a mobile terminal. More specifically, the application in the mobile terminal is configured in a hierarchical structure up and down by a higher application running on a platform. The present invention relates to an application of a mobile terminal and a method of executing the same, wherein the lower application is executed and managed.

오늘날 이동통신 단말기를 통해 제공되는 서비스가 질적, 양적으로 증가하면서 단말기의 하드웨어(H/W)와 운영체제(O/S)로부터 독립적으로 어플리케이션의 실행 환경을 제공하는 모바일 플랫폼이 등장하였다. As services provided through mobile communication terminals have increased in quality and quantity, mobile platforms have been introduced to provide an execution environment for applications independently from the hardware (H / W) and operating system (O / S) of the terminal.

또한 최근에는 이동통신 단말기 및 무선 인터넷 관련 기술의 발달로 인하여 모바일 플랫폼을 기반으로 하는 다양한 어플리케이션 및 서비스가 많이 개발되고 있으며, 사용자의 다양한 요구와 기호에 맞추어 상당량의 어플리케이션 및 서비스들이 여러 제작사로부터 경쟁적으로 제공되고 있다.Recently, due to the development of mobile communication terminal and wireless internet related technology, various applications and services based on mobile platform have been developed, and a large number of applications and services are competitively produced by various manufacturers in accordance with various needs and preferences of users. Is being provided.

모바일 플랫폼 기반의 어플리케이션 및 서비스란 모바일 플랫폼상에서 실행될 수 있는 어플리케이션이나 무선 인터넷 서비스로서, 통상 다운로드 서버로부터 무선 인터넷망을 통해 다운로드 되어 단말기에 설치된다. Mobile platform-based applications and services are applications or wireless Internet services that can be executed on a mobile platform, and are typically downloaded from a download server through a wireless Internet network and installed in a terminal.

현재 모바일 플랫폼상에서 실행될 수 있는 어플리케이션 및 서비스의 예로는 게임과 같은 각종 엔터테인먼트 프로그램, 그리고 영화, 음악, 만화, 광고 등의 각 종 모바일 컨텐츠 및 관련 프로그램, 비디오 프로그램, 전자책 프로그램 등의 여러 어플리케이션이 있으며, 점차 그 종류가 특정하게 한정되지 않고 더욱 다양하게 개발되는 추세이다.Examples of applications and services that can be executed on the current mobile platform include various entertainment programs such as games, and various applications such as various mobile contents such as movies, music, cartoons, advertisements, related programs, video programs, and e-book programs. Increasingly, the trend is not limited to any particular type, but more diverse.

모바일 플랫폼은 무선 인터넷 서비스를 사용하기 위해 단말기에 내장되는 미들웨어 프로그램을 말하며, 무선 인터넷으로 내려받아 단말기에서 구동할 수 있는 어플리케이션의 종류와 범위, 사용자 인터페이스나 어플리케이션 다운로드 및 실행속도에 직접적인 영향을 미친다는 점에서 무선 인터넷 서비스의 질과 직결된다.The mobile platform refers to a middleware program embedded in a terminal to use a wireless Internet service. The mobile platform directly affects the type and range of applications that can be downloaded to the wireless Internet and run on the terminal, and directly affects the user interface or application download and execution speed. In this respect, the quality of wireless Internet service is directly related to the quality.

현재 이동통신 단말기에 탑재되어 사용되고 있는 모바일 플랫폼의 예로는 컬컴사가 개발한 BREW(Binary Runtime Environment for Wireless), 한국전자통신연구원과 정보통신부, 한국무선인터넷표준화포럼 등이 공동으로 개발한 WIPI(Wireless Internet Platform for Interoperability), WITOP(Wireless Internet Terminal Open Platform) 등이 사용되고 있다.Examples of mobile platforms currently used in mobile communication terminals are WIPI (Wireless Internet), developed jointly by BREW (Binary Runtime Environment for Wireless) developed by Cullcom, Korea Electronics and Telecommunications Research Institute, Ministry of Information and Communication, and Korea Wireless Internet Standardization Forum. Platform for Interoperability (WITOP) and Wireless Internet Terminal Open Platform (WITOP) are being used.

알려진 바와 같이, 이동통신 단말기에서 구동되는 모든 어플리케이션들은 상기와 같은 모바일 플랫폼에 연동될 수 있도록 제작되어야 하며, 모바일 플랫폼의 종류에 따라 각기 다른 방식으로 제작되어야 한다.As is known, all applications running in the mobile communication terminal should be manufactured to be linked to the mobile platform as described above, and should be produced in different ways according to the type of the mobile platform.

즉, 현재의 모든 모바일 어플리케이션은 이동통신사에서 제공하는 모바일 플랫폼상에서 동작하도록 만들어지며, 제작사에서는 해당 플랫폼에서 제공하는 여러 API(Application Programming Interface)를 이용하여 동작할 수 있도록 게임 등의 각종 어플리케이션을 제작하고 있다. That is, all current mobile applications are made to operate on the mobile platform provided by the mobile carrier, and the production company makes various applications such as games to operate using various APIs (Application Programming Interface) provided by the platform. have.

API란 프로그램 또는 어플리케이션이 운영체제(OS)에 어떤 처리를 위해 호출 할 수 있는 서브 루틴 또는 함수의 집합으로서, 운영체제 등의 기능과 그 기능을 사용하는 방법을 정의한 함수의 집합을 말한다.An API is a set of subroutines or functions that a program or an application can call to an operating system (OS) for processing. It is a set of functions that define functions such as an operating system and how to use the functions.

예컨대, 윈도우 API의 경우 1000여 개 이상의 함수로 구성되어 있으며, 어플리케이션 작성자는 프로그램 중에 함수를 기술하기만 하면 함수 호출에 의해 다양한 기능을 이용할 수 있게 되는데, 이러한 함수의 집합을 API라 한다.For example, the Windows API consists of more than 1000 functions, and the application author can use various functions by calling a function simply by describing the function in the program. This set of functions is called an API.

모바일 플랫폼에서 API는, 표준화된 플랫폼 호환성을 제공하여 다양한 어플리케이션 개발을 촉진하기 위한 것으로, 통상 DLL(Dynamic Linking Library)의 형태로 제공되며, API를 추가하기 위해서 DLL을 이용하게 되는 바, DLL을 이용하여 API를 추가하기 위해서는 DLL을 메모리에 로딩하여 사용하여야 한다. In the mobile platform, API is to promote various application development by providing standardized platform compatibility. It is usually provided in the form of a dynamic linking library (DLL), and a DLL is used to add an API. To add API, DLL must be loaded into memory and used.

첨부한 도 1은 종래 이동통신 단말기에 탑재된 플랫폼 및 어플리케이션의 계통도이고, 도 2는 종래 이동통신 단말기에 탑재된 어플리케이션의 실행상태도로서, 모바일 플랫폼(110)과 이 모바일 플랫폼(110)상에서 실행될 수 있는 어플리케이션으로 어플리케이션1(121)과 어플리케이션2,3(122,123)이 특정 단말기(100)에 탑재되었다고 할 때, 종래의 어플리케이션1(121)과 어플리케이션2,3(122,123)은 모두 모바일 플랫폼(110)에 의해 직접적으로 실행, 제어 및 관리되며, 모바일 플랫폼(110)이 어플리케이션1(121)이 동작하는 상황하에 어플리케이션2(122)를 실행시킬 수 있는 API를 제공하지 않기 때문에 어플리케이션2를 실행시켜야 하는 경우에는 어플리케이션1을 종료시킨 뒤 어플리케이션 2를 실행시켜야 하는 절차를 밟게 된다.1 is a schematic diagram of a platform and an application mounted in a conventional mobile communication terminal, and FIG. 2 is an execution state diagram of an application mounted in a conventional mobile communication terminal, and can be executed on the mobile platform 110 and the mobile platform 110. When an application 1 121 and an application 2, 3 (122, 123) are mounted on a specific terminal 100, the application 1 121 and the application 2, 3 (122, 123) are both mobile platforms 110. Is directly executed, controlled and managed by the mobile platform 110, and the application 2 needs to be executed because the mobile platform 110 does not provide an API for executing the application 2 122 under the situation in which the application 1 121 operates. In this case, the procedure to terminate application 1 and execute application 2 is followed.

이와 같은 종래의 구성에서 기존의 모든 모바일 단말기용 어플리케이션은 기 본적으로 플랫폼이 제공하는 제한적인 환경에서만 구현이 가능하다. 즉, 특정 어플리케이션이 기능 구현을 위해 사용할 API를 호출하고 플랫폼이 호출된 API 정보에 따라 이벤트를 발생 및 처리하여 어플리케이션과 통신하므로, 기존 어플리케이션의 경우 플랫폼이 제공하지 않는 기능의 구현이 불가능하고, 플랫폼에서 제공하지 않는 기능이라면 플랫폼을 이용해서 서비스를 제공할 수 없다. In such a conventional configuration, all existing mobile terminal applications can be implemented only in a limited environment provided by the platform. That is, since a specific application calls an API to be used for implementing a function and the platform generates and processes an event according to the called API information to communicate with the application, the existing application cannot implement a function not provided by the platform. If the function is not provided by the platform, the service cannot be provided using the platform.

이와 같이 종래의 모바일 어플리케이션(모바일 컨텐츠)은 모바일 플랫폼이 제공하는 API를 사용하기 때문에 반드시 모바일 플랫폼에 의해 실행, 제어 및 관리될 수 있어야 하고, 따라서 플랫폼들이 제공하는 제한적인 환경에서만 구현이 가능하다.As such, the conventional mobile application (mobile content) uses an API provided by the mobile platform, and therefore, must be able to be executed, controlled, and managed by the mobile platform, and thus can be implemented only in the limited environment provided by the platforms.

이에 각 모바일 어플리케이션을 개발하여 제공하는 제작사들도 기본적으로 이동통신사가 제공하는 플랫폼상에서 반드시 실행될 수 있는 형태의 모바일 어플리케이션을 제작 및 납품해야 하며, 특히 납품 과정에서 이동통신사의 복잡한 납품 프로세스를 거쳐야 하는 어려움이 있다.Therefore, manufacturers that develop and provide each mobile application should basically produce and deliver a mobile application that can be executed on the platform provided by the mobile carrier. There is this.

즉, 제작사들이 특정 어플리케이션을 개발하여 제공하고자 할 때 소정 기간 동안 납품을 하고 서비스를 준비해야만 사용자들이 무선 데이터 통신을 통해 어플리케이션을 다운로드 받은 뒤 실행시킬 수가 있는 것이다.In other words, when a manufacturer wants to develop and provide a specific application, it must be delivered for a predetermined period of time and prepared for a service so that users can download and execute the application through wireless data communication.

더욱이, 제작사에서 어플리케이션을 서비스한 뒤에 버그가 있음을 발견한 경우라면, 버그를 수정한 뒤 또다시 서비스를 준비해야만 사용자들이 새로 수정된 어플리케이션을 사용할 수 있었다.Moreover, if the publisher found that there was a bug after servicing the application, the user could use the newly modified application after fixing the bug and preparing the service again.

결국, 모바일 컨텐츠 제작사가 온라인 게임 등 프로그램의 패치(patch)를 제 작하거나 새로운 버전의 컨텐츠를 제작 완료한 상태라 하더라도 실제 사용자 측면에서 신속한 버그 대응 및 업데이트가 불가한 실정이다. As a result, even if a mobile content producer has made a patch of a program such as an online game or has finished producing a new version of content, it is impossible to quickly respond to and update a bug in terms of an actual user.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 발명한 것으로서, 모바일 단말기 내 어플리케이션을 상하 계층적 구조로 구성하여, 플랫폼상에서 실행 중인 상위 어플리케이션에 의해 하위 어플리케이션이 실행 및 관리되도록 함으로써, 사용자 단말기에서 자체적으로 상위 어플리케이션을 이용한 하위 어플리케이션의 패치나 업데이트의 실행이 가능해지고, 하위 어플리케이션의 신속한 버그 대응 및 업데이트가 가능해지는 모바일 단말기의 어플리케이션 및 그 실행 방법을 제공한다.Accordingly, the present invention has been invented to solve the above problems, by configuring the application in the mobile terminal in the upper and lower hierarchical structure, the lower application is executed and managed by the upper application running on the platform, the user terminal in The present invention provides a mobile terminal application and a method of executing the patch or update of the lower application using the upper application by itself, enabling rapid bug response and update of the lower application.

또한 본 발명은 하나의 어플리케이션에서 다른 어플리케이션을 실행시킬 수 있도록 함으로써, 하나의 컨텐츠에서 다른 컨텐츠들을 기능 제약 없이 추가로 실행 및 제어가 가능하고, 어플리케이션의 개발 및 운용에 있어서 보다 효율성을 향상시키는 모바일 단말기의 어플리케이션 및 그 실행 방법을 제공한다.In addition, the present invention enables the execution of other applications in one application, it is possible to additionally execute and control other contents in one content without functional restrictions, a mobile terminal for improving the efficiency in the development and operation of the application Provides an application and a method of executing the same.

상기한 목적을 달성하기 위해, 본 발명은, 모바일 단말기의 플랫폼에 연동되도록 제작되어 플랫폼상에서 실행되는 동안에 하위 계층의 어플리케이션을 실행 및 관리하는 상위 어플리케이션과; 상기 상위 어플리케이션에 의해 다운로드 서버에서 모바일 단말기로 다운로드 되고, 또한 상기 상위 어플리케이션에 의해 상기 플랫폼과는 독립적으로 실행 및 관리되는 하위 어플리케이션;을 포함하는 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션을 제공한다.In order to achieve the above object, the present invention, an upper application that is produced to be linked to the platform of the mobile terminal to run and manage the application of the lower layer while running on the platform; A lower level application which is downloaded from the download server to the mobile terminal by the upper level application and is executed and managed independently of the platform by the upper level application.

바람직한 실시예에서, 상기 플랫폼상에서 실행되는 복수의 상위 어플리케이션들과, 상기 복수의 상위 어플리케이션들 중에 특정 상위 어플리케이션에 의해 다운로드 되어 실행 및 관리되는 복수의 하위 어플리케이션들을 포함하는 것을 특징으로 한다.In a preferred embodiment, it characterized in that it comprises a plurality of upper applications running on the platform, and a plurality of lower applications that are downloaded, executed and managed by a specific upper application of the plurality of upper applications.

또한 바람직한 실시예에서, 특정 어플리케이션이 또 다른 어플리케이션에 의해 다운로드 되어 실행 및 관리되는 상호 계층적 구조의 다단계로 이루어진 복수의 하위 어플리케이션들을 포함하는 것을 특징으로 한다.In addition, in a preferred embodiment, a particular application is characterized in that it comprises a plurality of sub-applications in a multi-layered hierarchical structure that is downloaded, executed and managed by another application.

한편, 본 발명은, 플랫폼에 연동되도록 제작되어 플랫폼상에서 실행되는 동안에 하위 계층의 어플리케이션을 실행 및 관리하는 상위 어플리케이션과, 상기 상위 어플리케이션에 의해 상기 플랫폼과는 독립적으로 실행 및 관리되는 하위 어플리케이션을 모바일 단말기에 제공하는 단계와; 상기 플랫폼상에서 상위 어플리케이션이 실행되는 단계와; 상기 하위 어플리케이션의 프로그램 코드를 상위 어플리케이션의 메모리에 적재한 상태에서, 상기 하위 어플리케이션의 프로그램 코드 영역에 기록되어 있는 상대 주소를 단말기의 절대 주소로 변환하여 단말기 내부에서 접근할 수 있는 주소값으로 변경하는 단계와; 이후 하위 어플리케이션의 시작 함수 위치를 검색하고, 하위 어플리케이션이 컴파일된 코드의 상태에 따라 모드 전환되는 단계와; 상위 어플리케이션에서 동작하고 있는 현재 실행 위치를 하위 어플리케 이션의 시작 함수로 이동시키고, 하위 어플리케이션의 시작 함수가 호출되면 상위 어플리케이션에서 전달한 플랫폼 API의 랩핑 함수를 연결하는 단계와; 플랫폼에서 발생되는 이벤트들을 상위 어플리케이션이 하위 어플리케이션에 전달하고, 이에 하위 어플리케이션이 응답하면서 어플리케이션 실행 및 기능 구현이 이루어지는 단계;를 포함하는 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션의 실행 방법을 제공한다.On the other hand, the present invention, the mobile terminal is a high-end application that is produced to be linked to the platform to run and manage the application of the lower layer while running on the platform, and a lower application that is executed and managed independently of the platform by the upper application Providing to; Executing an upper application on the platform; In the state where the program code of the lower application is loaded in the memory of the upper application, the relative address recorded in the program code area of the lower application is converted into an absolute address of the terminal and changed into an address value accessible within the terminal. Steps; Thereafter searching for a starting function position of the subapplication, and switching the mode according to the state of the compiled code; Moving the current execution position running in the upper application to the starting function of the lower application, and when the starting function of the lower application is called, connecting the wrapping function of the platform API delivered from the upper application; The upper application delivers events generated in the platform to the lower application, and the lower application responds to the execution of the application and the implementation of the function. The method provides an execution method of the application mounted in a hierarchical structure.

바람직한 실시예에서, 상기 하위 어플리케이션은 프로그램 코드가 압축된 상태로 모바일 단말기에 제공되고, 상기 상위 어플리케이션이 실행된 상태에서 압축 해제 후 추출된 하위 어플리케이션의 프로그램 코드를 상위 어플리케이션의 메모리에 적재하는 것을 특징으로 한다.In a preferred embodiment, the lower application is provided to the mobile terminal in a state in which the program code is compressed, and the program code of the lower application extracted after the decompression in the state of executing the upper application is loaded into the memory of the upper application. It is done.

또한 바람직한 실시예에서, 상기 하위 어플리케이션은 우선적으로 제공된 상위 어플리케이션의 실행에 의해 제작사의 자체 다운로드 서버로부터 모바일 단말기로 다운로드 되어 제공되는 것을 특징으로 한다.In a preferred embodiment, the lower application is characterized in that the download is provided to the mobile terminal from the manufacturer's own download server by the execution of the upper application provided preferentially.

또한 바람직한 실시예에서, 상기 하위 어플리케이션은 모바일 단말기에 기 제공된 하위 어플리케이션의 수정 또는 버전업을 위한 패치 또는 업데이트 프로그램인 것을 특징으로 한다.In a preferred embodiment, the sub-application is characterized in that the patch or update program for modifying or versioning up the pre-app provided to the mobile terminal.

또한 바람직한 실시예에서, 상기 하위 어플리케이션이 우선적으로 제공된 상태에서 상기 하위 어플리케이션에 의해 독립적으로 실행 및 관리되는 또 다른 하위 어플리케이션을 모바일 단말기에 추가로 제공하는 단계와; 우선적으로 제공된 상기 하위 어플리케이션에 의하여 추가로 제공된 상기 또 다른 하위 어플리케이션의 실 행 및 기능 구현이 이루어지는 단계;를 더 포함하는 것을 특징으로 한다.In a preferred embodiment, further comprising the step of providing to the mobile terminal another sub-application independently executed and managed by the sub-application while the sub-application is preferentially provided; And executing execution and function implementation of the another sub-application additionally provided by the sub-application provided preferentially.

이하, 첨부한 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

본 발명은 모바일 단말기 내 모든 어플리케이션을 상하 계층적 구조로 구성하여, WIPI, BREW, WITOP 등의 모바일 플랫폼상에서 구동되는 상위 어플리케이션이 다른 하위 어플리케이션을 실행 및 관리하도록 한 것으로서, 폴랫폼에서 제공되는 API를 이용하지 않고도 상위 어플리케이션에 의해 하위 어플리케이션이 실행 및 관리되도록 한 것에 주안점을 둔 것이다. The present invention configures all applications in a mobile terminal in a hierarchical structure, and allows an upper application running on a mobile platform such as WIPI, BREW, and WITOP to execute and manage another lower application, and to provide an API provided in a platform. The main focus is on enabling lower-level applications to be executed and managed by higher-level applications without using them.

본 발명에서는, 하위 어플리케이션의 실행이 단말기 플랫폼을 이용하지 않도록 하여, 기존 플랫폼에서 해당 기능을 제공하지 않아도 상위 어플리케이션에 의해 하위 어플리케이션이 실행되도록 하며, 따라서 하위 어플리케이션의 개발이 플랫폼의 제약을 받지 않도록 한다. 여기서, 상위 어플리케이션은 이동통신사의 납품 프로세스에 따라 모바일 컨텐츠 제작사에서 납품해야 하는 어플리케이션으로, 플랫폼에 의해 직접적으로 실행 및 관리되는 어플리케이션이며, 그 하위 계층의 또 다른 어플리케이션을 구동시킬 수 있고 제어할 수 있는 미들웨어 역할을 하게 된다.In the present invention, the execution of the lower application does not use the terminal platform, so that the lower application is executed by the upper application even without providing a corresponding function in the existing platform, so that the development of the lower application is not restricted by the platform. . Here, the upper application is an application that must be delivered by the mobile content producer according to the delivery process of the mobile carrier, which is directly executed and managed by the platform, and can run and control another application of the lower layer. It will act as middleware.

이러한 본 발명에 따르면, 모바일 컨텐츠 제작사가 하위 어플리케이션에 대해 패치(patch)를 제작하거나 새로운 버전을 제작 완료한 뒤 자체 서버에 올려준 상태라면, 그 패치 버전 및 업데이트 버전이 플랫폼의 제약 없이 상위 어플리케이션에 의해 실행 가능하므로, 결국 사용자 단말기에서 상위 어플리케이션에 의해 신속한 하위 어플리케이션의 패치나 버전업이 가능해진다. According to the present invention, if a mobile content producer has made a patch for a sub-application or a new version is completed and uploaded to its own server, the patch version and the updated version are applied to the parent application without platform limitations. As a result, it is possible to quickly patch or version up the lower application by the upper application in the user terminal.

즉, 해당 모바일 컨텐츠 제작사에서 패치 버전이나 업데이트 버전만 자체 서버를 통해 사용자 단말기가 다운받을 수 있도록 한다면, 사용자 단말기에서 자체적으로 상위 어플리케이션에 의해 하위 어플리케이션의 패치나 업데이트의 실행이 가능해지게 된다. 결국, 하위 어플리케이션의 경우에는 그 제작사에 의해서 사용자 단말기에서의 신속한 버그 대응 및 업데이트가 가능해지는 것이다. In other words, if only the patch version or the update version can be downloaded from the mobile terminal by the mobile terminal, the user terminal can execute the patch or update of the lower application by the upper application. As a result, in the case of the lower application, the manufacturer can quickly respond to and update bugs in the user terminal.

물론, 모바일 플랫폼에 의해 직접적으로 실행되어야 하는 상위 어플리케이션(하위 어플리케이션에 의해 또 다른 하위 어플리케이션이 실행되도록 전체 어플리케이션 시스템이 여러 단계로 확장된 경우에는 최상위 어플리케이션)은 이동통신사의 납품 프로세스를 거쳐야만 사용자 단말기에서의 사용이 가능하며, 플랫폼이 제공하는 환경 내에서 모든 동작 및 기능 구현이 가능하도록 제작된다.Of course, the parent application that needs to be executed directly by the mobile platform (the highest application if the entire application system has been extended in several stages to run another child application by the child application) must go through the delivery process of the mobile carrier to It can be used and is designed to implement all operations and functions within the environment provided by the platform.

이와 같이 하여, 기존의 모바일 어플리케이션들은 모바일 내에서 플랫폼이 지원하지 않는 것이라면 실행이 어려웠으나, 본 발명에서는 상위 어플리케이션이 하위 어플리케이션을 플랫폼과는 독립적으로 실행시켜주므로 상기 하위 어플리케이션의 실행이 플랫폼의 제약을 받지 않게 된다.In this way, the existing mobile applications were difficult to execute if the platform does not support in the mobile, but in the present invention, the upper application executes the lower application independently of the platform, so that the execution of the lower application is not limited to the platform. You will not receive.

또한 기존의 모바일 어플리케이션은 단말기에 한번 다운로드 받으면 기능을 수정할 수 없거나 제한적인 기능의 수정밖에 할 수 없었지만, 본 발명을 적용한 단말기에서는 마치 온라인 게임에서 패치 버전을 적용하듯이 모바일 컨텐츠 제작사로부터 플랫폼의 제약 없이 보다 간편하고 신속하게 초기에 제작된 어플리케이션을 수정 및 패치하거나 추가로 설치할 수 있게 된다. 종래에는 프로그램의 버그가 있는 경우에 소비자들이 수정된 버전을 받으려면 이동통신사의 납품 프로세스를 거쳐 오랜 시간이 걸린 뒤에 수정된 프로그램을 다운로드 받는 것이 가능했으나, 본 발명을 적용하면 모바일 컨텐츠 제작사의 더욱 빠른 대응이 가능해진다. 이 과정들이 종래의 플랫폼 기능적으로는 불가능했던 기능이었으나, 본 발명에서는 MAOS(Mobile Application Operating System) 개념의 상위 어플리케이션을 이용하게 되면서 가능해졌고, 부가적으로 서비스 프로세스 일정상으로 매우 빠르고 신속해질 수 있게 된다. In addition, the existing mobile application can not be modified or limited modification of the function once downloaded to the terminal, the terminal to which the present invention is applied as if applying a patch version in the online game without the limitation of the platform from the mobile content producer It's easier and faster to modify, patch, or install additional early applications. In the past, in the case of a bug in the program, it was possible for consumers to download the modified program after a long time through the delivery process of the mobile carrier to receive the modified version. This becomes possible. Although these processes were functions that were not possible with the conventional platform, the present invention was made possible by using a higher application of the MAOS (Mobile Application Operating System) concept, and additionally, the service process schedule can be very fast and fast. .

이러한 본 발명에 대하여 첨부한 도 3 내지 도 6를 참조하여 좀더 상세히 설명하기로 한다.The present invention will be described in more detail with reference to FIGS. 3 to 6.

첨부한 도 3은 본 발명에 따른 어플리케이션의 계통도이고, 도 4는 본 발명에 따른 어플리케이션의 실행상태를 나타낸 개략도이다.3 is a schematic diagram of an application according to the present invention, and FIG. 4 is a schematic diagram showing an execution state of an application according to the present invention.

또한 첨부한 도 5는 본 발명에 따라 어플리케이션이 구동되기 위한 이벤트 처리 과정을 나타낸 개략도이며, 도 6은 본 발명에서 하위 어플리케이션이 실행되기까지의 과정을 좀더 구체적으로 나타낸 순서도이다.5 is a schematic diagram illustrating an event processing process for driving an application according to the present invention, and FIG. 6 is a flowchart illustrating a process up to execution of a lower application in the present invention in more detail.

도시된 바와 같이, 모바일 단말기(100)에는 하드웨어(H/W)와 운영체제(O/S)로부터 독립적으로 어플리케이션의 실행 환경을 제공하는 모바일 플랫폼(110)이 탑재되며, 모바일 플랫폼에 대해서는 종래와 동일하므로 더 이상의 설명은 생략하기로 한다. As shown, the mobile terminal 100 is equipped with a mobile platform 110 that provides an execution environment of the application independently from the hardware (H / W) and the operating system (O / S), the same as the conventional mobile platform Therefore, further description will be omitted.

또한 단말기(100)에는 상하 계층적으로 실행되는 복수의 어플리케이션(121~123,131~136,141)들이 탑재되며, 이 어플리케이션들은 게임 등의 각종 엔터테인먼트 프로그램, 그리고 영화, 음악, 만화, 광고 등의 각종 컨텐츠 및 관련 프 로그램, 비디오 프로그램, 전자책 프로그램 등의 여러 어플리케이션이 될 수 있는데, 이는 모바일 환경에서 해당 제작사로부터 제공되어서 단말기(100)에서 구동될 수 있는 다양한 형태의 모바일 어플리케이션이며, 특정 형태로 한정되지는 않는다.In addition, the terminal 100 is equipped with a plurality of applications (121 to 123, 131 to 136, 141) that are executed in a hierarchical manner, and these applications are various entertainment programs such as games, and various contents such as movies, music, cartoons, advertisements, and the like. It may be various applications such as a program, a video program, an e-book program, etc., which are various types of mobile applications that may be provided from a corresponding manufacturer in a mobile environment and may be driven in the terminal 100. Do not.

도시한 예에서, 어플리케이션1 ~ 3(121~123)은 사용자 단말기(100)에 제공되는 상위 어플리케이션으로, 이는 모바일 플랫폼(110)에 연동될 수 있도록 제작되며, 모바일 플랫폼의 종류에 따라 각기 다른 방식으로 제작되어 제공된다. In the illustrated example, applications 1 to 3 (121 to 123) are higher-level applications provided to the user terminal 100, which are manufactured to be linked to the mobile platform 110, and are different depending on the type of the mobile platform. Produced and provided.

상기 상위 어플리케이션(121~123)은 이동통신사에서 제공하는 단말기 플랫폼(110)상에서 동작하도록 만들어지는 어플리케이션으로서, 이는 단말기 플랫폼상에서 실행되는 동안에 후술하는 하위 어플리케이션(131~136)을 실행시켜주고 관리해주는 어플리케이션이며, 모바일 컨텐츠를 제작하는 제작사에서 해당 플랫폼에서 제공하는 여러 API(Application Programming Interface)를 이용하여 동작할 수 있도록 제작된다.The upper applications 121 to 123 are applications that are made to operate on the terminal platform 110 provided by the mobile communication company, which executes and manages the lower applications 131 to 136 described below while being executed on the terminal platform. In addition, the production company that produces mobile content is produced to operate using a number of API (Application Programming Interface) provided by the platform.

여기서, 상위 어플리케이션(121~123)이 기능 구현을 위해 사용할 플랫폼(110)의 API를 호출하면 호출된 API 정보에 따라 플랫폼이 이벤트를 발생 및 처리하여 상위 어플리케이션과 통신하며, 이러한 상위 어플리케이션의 경우에 플랫폼이 제공하지 않는 기능의 구현은 불가능하다. In this case, when the upper application 121 to 123 calls an API of the platform 110 to be used for implementing the function, the platform generates and processes an event according to the called API information to communicate with the upper application. Implementing features not provided by the platform is impossible.

이에 상위 어플리케이션(121~123)은 모바일 컨텐츠 제작사에서 이동통신사의 납품 프로세스에 따라 납품을 한 뒤 서비스를 준비하여 제공하면 사용자들이 무선 데이터 통신을 통해 다운로드 받은 뒤 실행할 수 있도록 한 프로그램일 수 있으며, 이러한 측면에서 상위 어플리케이션은 사용자 단말기의 플랫폼상에서 동작하는 기 존의 어플리케이션과 차이가 없다. The upper applications (121 ~ 123) may be a program that allows users to run after downloading through wireless data communication if the mobile content producer to prepare the service provided after the delivery process according to the carrier's delivery, such a In the aspect, the upper application is not different from the existing application running on the platform of the user terminal.

다만, 본 발명에서는, 후술하는 하위 어플리케이션(131~136)이 단말기(100)의 플랫폼(110)을 이용하지 않고도 실행될 수 있도록, 상기 상위 어플리케이션(121~123)은 플랫폼(110)에서 실행되는 동안 플랫폼과 독립적으로 하위 어플리케이션(131~136)을 실행 및 제어하게 되며, 이러한 측면에서 상위 어플리케이션은 별도 어플리케이션을 구동시킬 수 있고 제어할 수 있는 미들웨어 역할을 한다. 즉, 본 발명에서 상위 어플리케이션은 단말기의 플랫폼상에서 하위 어플리케이션을 실행시키기 위한 플랫폼적인 요소를 내포하여, 플랫폼과 독립적으로 하위 어플리케이션을 실행 및 관리할 수 있는 모바일 어플리케이션 오퍼레이팅 시스템(Mobile Application Operating System, MAOS)이라 할 수 있다. However, in the present invention, the lower applications 131 to 136 to be described later can be executed without using the platform 110 of the terminal 100, while the upper applications 121 to 123 are executed on the platform 110. Independently from the platform, the lower applications 131 to 136 are executed and controlled, and in this aspect, the upper application serves as a middleware capable of driving and controlling a separate application. That is, in the present invention, the upper application includes a platform element for executing the lower application on the platform of the terminal, and the mobile application operating system (MAOS) that can execute and manage the lower application independently of the platform. This can be called.

한편, 도 3에서 어플리케이션1-1~3(131~133), 어플리케이션3-1~3(134~136)은 상위 어플리케이션(121~123)에 의해 실행되는 하위 어플리케이션으로, 이는, 해당 제작사에서 단말기(100)의 플랫폼(110)에 맞추어 제작한 뒤 이동통신사의 납품 프로세스를 거치는 상기 상위 어플리케이션(121~123)과는 달리, 제작사에서 상위 어플리케이션(121~123)을 이용하여 제작사 서버를 통해 자체적으로 제공하게 되는 어플리케이션으로, 플랫폼(110)상에서 구동되고 있는 상위 어플리케이션(121~123)에 의하여 상기 플랫폼과는 독립적으로 실행 및 관리되는 어플리케이션이다.Meanwhile, in FIG. 3, the application 1-1 to 3 (131 to 133) and the application 3-1 to 3 (134 to 136) are lower applications that are executed by the upper application 121 to 123. Unlike the upper applications 121 to 123, which are manufactured according to the platform 110 of 100 and undergo the delivery process of the mobile communication company, the manufacturer uses the upper application 121 to 123 by the manufacturer server itself. As an application to be provided, the application is executed and managed independently of the platform by the upper applications 121 to 123 running on the platform 110.

이에 따라, 제작사가 하위 어플리케이션(131~136)을 제작한 뒤 자체 서버를 통해 독자적으로 올려주게 되면, 사용자 단말기(100)에서는 우선적으로 제공된 상위 어플리케이션(121~123)을 이용해 제작사 서버로부터 하위 어플리케이 션(131~136)을 다운로드 받은 뒤 실행시켜 상기 하위 어플리케이션을 사용할 수 있게 된다.Accordingly, when the manufacturer produces the lower applications 131 to 136 and then independently uploads them through its own server, the user terminal 100 preferentially uses the upper applications 121 to 123 provided from the lower application server from the production server. After downloading options 131 to 136, the sub-application can be used.

도 3의 예시도에서는 플랫폼(110), 상위 어플리케이션(MAOS)(121~123), 그리고 상기 상위 어플리케이션에 의해 실행되는 하위 어플리케이션(131~136)만으로 이루어진 단말기 어플리케이션 시스템을 보여주고 있으나, 본 발명에서 하위 어플리케이션은 무한 확장이 가능하다.3 illustrates a terminal application system including only the platform 110, upper applications (MAOS) 121 to 123, and lower applications 131 to 136 that are executed by the upper application. Sub-applications can be infinitely extended.

다시 말해, 상위 어플리케이션(121~123)과 동일한 역할을 그 하위 어플리케이션인 어플리케이션1-1~3(131~133) 및/또는 어플리케이션3-1~3(134~136)이 수행하도록 하여, 이 어플리케이션1-1~3(131~133) 및/또는 어플리케이션3-1~3(134~136)에 의해 실행되고 관리될 수 있는 또 다른 하위 어플리케이션(미도시)을 각각 둘 수 있는 것이며, 이와 같이 모바일 어플리케이션의 상하 계층적 구조는 무한 확장이 가능한 것이다. In other words, the applications 1-1 to 3 (131 to 133) and / or applications 3-1 to 3 (134 to 136), which are the lower applications, perform the same role as the upper applications 121 to 123, and this application is performed. One or more sub-applications (not shown) that can be executed and managed by the 1-1 to 3 (131 to 133) and / or the applications 3-1 to 3 (134 to 136) may be respectively provided. The hierarchical structure of the application is infinitely expandable.

물론, 여러 단계로 확장된 경우에는 플랫폼상에서 직접적으로 실행되는 최상위 어플리케이션이 MAOS가 되는 것이며, 다단계로 이루어진 하위 어플리케이션 계층에서 하나의 하위 어플리케이션은 그것이 실행되는 동안에 바로 밑의 하위 어플리케이션을 실행시켜주고 관리해주는 MAOS 역할을 하게 된다. Of course, in the case of multiple stages, the top-level application that runs directly on the platform is the MAOS, and one sub-application in the multi-tier sub-application layer runs and manages the sub-application immediately below it while it is running. It will play the role of MAOS.

결국, 도 5를 참조하면, 이동통신사가 제공한 단말기 플랫폼(110)과, 상기 플랫폼상에서 구동되는 상위 어플리케이션(MAOS)(121)과, 상기 상위 어플리케이션에 의해 실행되는 하위 어플리케이션1-1(131)과, 상기 하위 어플리케이션1-1에 의해 실행되는 하위 어플리케이션1-1-1(141)로 구성된 모바일 어플리케이션의 계층적 구조에서 이벤트 처리 과정을 보여주고 있는 바, 플랫폼(110)에서 이벤트를 발생 및 처리하여 MAOS(121)에 전달하면, MAOS(121)가 하위 어플리케이션1-1(131)에 이벤트를 전달하거나 직접 처리하고, 이벤트를 전달받은 하위 어플리케이션1-1(131)은 그 하위 어플리케이션1-1-1(141)에 이벤트를 전달하거나 직접 처리하며, 결국 하위 어플리케이션1-1-1(141)에서 하위 어플리케이션1-1(131)로, 하위 어플리케이션1-1(131)에서 MAOS(121)로, 그리고 MAOS(121)에서 플랫폼(110)으로 응답이 이루어지면서 사용자가 원하는 어플리케이션의 기능 구현이 이루어지게 된다.5, the terminal platform 110 provided by the mobile communication company, the upper application (MAOS) 121 driven on the platform, and the lower application 1-1 131 executed by the upper application. And an event processing process in a hierarchical structure of a mobile application composed of sub-applications 1-1-141 executed by the sub-applications 1-1, generating and processing events in the platform 110. In order to transmit the data to the MAOS 121, the MAOS 121 delivers or directly processes an event to the lower application 1-1 131, and the lower application 1-131 receiving the event receives the lower application 1-1. -1 (141) forwards the event or processes it directly, eventually from sub-application 1-1-1 (141) to sub-application 1-1 (131), and sub-application 1-1 (131) to MAOS 121 , And platform (110) on MAOS (121) As a response is made, the function of the application desired by the user is realized.

이와 같이 하여, 본 발명에서는 단말기 플랫폼(110)상에서 직접적으로 실행되는 어플리케이션(121~123)에 의해 별도 어플리케이션(131~136)이 상기 단말기 플랫폼과는 독립적으로 실행 및 관리되도록 함으로써, 모바일 환경에서 모바일 컨텐츠 제작사에 의해 자체적으로 사용자 단말기의 어플리케이션 관리가 가능해지게 된다. 또한 하나의 어플리케이션에서 다른 어플리케이션을 실행시킬 수 있기 때문에 하나의 컨텐츠에서 다른 컨텐츠들을 기능 제약 없이 추가로 실행 및 제어가 가능해진다.In this way, in the present invention, the separate applications 131 to 136 are executed and managed independently of the terminal platform by the applications 121 to 123 that are directly executed on the terminal platform 110, thereby enabling mobile in a mobile environment. Application management of the user terminal is possible by the content producer itself. In addition, since one application can execute another application, it is possible to additionally execute and control other contents in one content without any functional restrictions.

이와 더불어, 본 발명에 따르면, 제한된 용량을 가지는 단말기 환경에서 더욱 효율적으로 메모리 관리가 가능해진다는 부가적인 장점이 있게 된다. 주지된 바와 같이, 프로그램 코드는 초기 실행시에 메모리에 적재되어야만 실행이 가능한데, 본 발명을 사용하게 되면 초기 실행시에 필요한 부분만 적재를 함으로써 메모리 절약과 더불어 실행속도의 극대화를 시킬 수 있게 된다. 그리고, 프로그램 코드를 별도의 리소스 또는 다운로드 받을 수 있기 때문에 압축 기술을 사용할 수 있게 되는 데, 종래의 경우에 플랫폼에 따라서는 프로그램 코드를 압축할 수 없었기 때문에 그만큼 용량을 더 사용할 수 없었으나, 본 발명에서는 플랫폼의 환경을 가리지 않기 때문에 어느 환경에서든 프로그램 코드 압축을 사용할 수 있게 된다.In addition, according to the present invention, there is an additional advantage that memory management is more efficient in a terminal environment having a limited capacity. As is well known, the program code can be executed only when it is loaded into memory at the time of initial execution. When the present invention is used, only the necessary parts can be loaded at the time of initial execution, thereby maximizing execution speed and memory saving. In addition, since the program code can be downloaded as a separate resource or download, the compression technology can be used. In the conventional case, since the program code could not be compressed depending on the platform, the capacity could not be used as much as the present invention. Does not cover any platform environment, so you can use program code compression in any environment.

본 발명에서 하위 어플리케이션의 실행을 위해서는 각 하위 어플리케이션의 프로그램 코드를 적재할 수 있는 메모리 영역을 메모리에서 선정하여 그 안에 새로 다운받았거나 기존에 미리 넣어놓았던 프로그램 코드를 적재시키고, MAOS로서 탑재한 상위 어플리케이션에서 하위 어플리케이션을 실행시키게 되는데, 이와 같이 하위 어플리케이션은 프로그램 자체를 메모리 영역에 적재하여 실행하고, 또한 상기 하위 어플리케이션이 플랫폼 위에서 직접적으로 구동되는 어플리케이션이 아니어서 기존과 같은 복잡한 과정으로 업그레이드해야 하는 번거로움이 없어진다.In the present invention, in order to execute a subordinate application, a memory area in which a program code of each subordinate application can be loaded is selected from a memory, and a newly downloaded or previously inserted program code is loaded therein, and the upper application mounted as a MAOS. In this way, the sub-application executes by loading the program itself into a memory area and executing the sub-application. Also, the sub-application is not an application directly running on the platform. This disappears.

본 발명을 적용하기 위해서 하위 어플리케이션은 프로그램 코드를 메모리에 적재하고 실행시킬 수 있는 형태로 작성해야한다. In order to apply the present invention, the subordinate application must write a program code that can be loaded into a memory and executed.

기본적으로 실행 가능한 프로그램 코드를 작성한다는 것은 일정한 규격을 가지고 있어야 하고, 단말기 플랫폼 환경에서도 정상 동작할 수 있어야 함을 의미한다. 이를 위해서 프로그램의 진입점이 되는 함수를 프로그램 코드 내에서 특정 위치에 위치하도록 재배치하는 과정을 거쳐야 한다. 또한 플랫폼의 API를 사용할 수 있도록 플랫폼 API를 랩핑(wraping)한 데이터를 주고 받을 수 있어야 한다. Basically, writing executable program code means that it must have a certain standard and can operate normally in the terminal platform environment. To do this, it is necessary to relocate the function that is the entry point of the program to a certain position in the program code. In addition, it must be able to send and receive data that wraps the platform API so that the API of the platform can be used.

그러나, 플랫폼 API를 랩핑한 데이터를 가지고 있다 하더라도 컴파일된 환경이 다르다면, 새로 실행된 프로그램과 플랫폼 API간의 호출이 일어날 때 충돌이 발생하여 단말기의 정지상황을 발생시킬 수 있다. However, even if you have data wrapping platform API, if the compiled environment is different, a collision may occur when a call between the newly executed program and the platform API occurs, which may cause the terminal to stop.

따라서, 프로그램 코드를 컴파일할 때 단말기 플랫폼이 컴파일된 환경에 맞추는 과정을 실행해 주어야 하며, 실행시에도 마찬가지로 호환시키는 과정을 거쳐야 한다.Therefore, when compiling the program code, the terminal platform should be executed in accordance with the compiled environment, and at the same time, the process must be compatible.

컴파일과 링크 과정을 통해 만들어진 실행파일은 OS가 있고 성능이 좋은 머신에서는 그대로 실행을 시켜도 무방하지만, OS가 없고 성능상으로 제한된 환경을 가진 모바일 단말기 환경에서는 프로그램을 메모리에 바로 적재하여 실행할 수 있도록 실행파일을 덤프하여 목적 코드로 추출하는 과정을 거친다.The executable file created through the compilation and linking process can be run as it is on a machine with a good operating system, but in a mobile terminal environment where there is no OS and a performance-limited environment, the executable file can be loaded and executed directly in memory. Dump and extract to object code.

이 과정을 거치면 비로소 단말기에서 실행할 수 있는 프로그램 파일이 생성되며, 이후 압축 등의 과정을 통해 추가적인 최적화를 진행한다.After this process, a program file that can be executed in the terminal is created, and further optimization is performed through a process such as compression.

본 발명에서 어플리케이션이 제작되는 과정들을 각 단계별로 설명하면 다음과 같다.Referring to each step of the process of producing the application in the present invention as follows.

1. 컴파일 - 목적 코드 생성1. Compile-Generate object code

플랫폼 환경에 따라 다양한 모드를 지원하여 컴파일한다.Compile by supporting various modes according to the platform environment.

예) Thumb, Thumb-interworking 모드 등E.g. Thumb, Thumb-interworking mode, etc.

위 환경을 적절히 맞춰 컴파일을 하고, 플랫폼에 따라 링크 라이브러리를 배포받지 못할 수 있으므로 각 컴파일 모드에 따른 ANSI-C 헤더 및 라이브러리를 직접 마련하여 상황에 따라 적절히 환경을 맞춰주어야 한다.Since the above environment is compiled properly and the link library may not be distributed depending on the platform, you should prepare ANSI-C header and library according to each compilation mode and customize the environment accordingly.

2. 링크 - 재배치2. Link-Relocation

앞서 컴파일된 목적 코드를 링크하여 실행파일을 만들어야 한다. 그런데, 이때 반드시 주의해야 할 것은, 프로그램의 시작이 되는 진입점을 원하는 영역에 위 치하도록 재배치하는 과정을 추가해야 한다. 이때, 재배치되는 내용은 진입 함수뿐만 아니라 코드영역에 위치하는 전역 변수 등도 모두 해당된다. 추후 프로그램 실행시에 해당 내용들을 모두 런타임 환경에 맞도록 변환해 줄 수 있어야 하므로, 반드시 지정된 규격에 맞도록 모든 내용들이 일정한 규격으로 재배치되어야 한다.You will need to link the compiled object code to create an executable. However, it should be noted that the process of relocating the entry point of the program to the desired area should be added. At this time, the content to be rearranged includes not only an entry function but also a global variable located in a code area. When the program is executed later, all the contents must be able to be converted to fit the runtime environment. Therefore, all the contents must be rearranged to a certain specification so as to meet the specified specification.

그리고, 링크시에 플랫폼 API 및 스탠더드(standard) 라이브러리들을 함께 포함하여 실행파일을 만들어야 하는데, 상황에 따라 플랫폼 링크 라이브러리 및 기타 라이브러리들을 배포받지 못할 수 있다. 이런 상황을 위해 플랫폼이 컴파일된 환경에 맞는 ANSI-C 스탠더드(standard) 라이브러리를 직접 빌드하여 링크하여야 추후 문제가 발생하지 않으며, 플랫폼 API의 경우에 링크를 하지 않으면 실행파일을 생성할 수 없으나, 링크 라이브러리를 배포 받지 못하는 상황에도 플랫폼 API의 실행할 수 있도록, 개발시에 플랫폼 API를 랩핑(Wraping)한 데이터를 이용하도록 해야 한다.In addition, when linking, an executable file must be included including platform API and standard libraries, and platform link libraries and other libraries may not be distributed depending on circumstances. For this situation, you must build and link the ANSI-C standard library for the compiled environment manually so that no problem occurs in the future.If you do not link in the platform API, you cannot create an executable file. In order to execute the platform API even when the library is not distributed, the data wrapped with the platform API should be used during development.

3. 덤프3. Dump

링크 과정의 결과로 만들어진 실행파일은 OS가 있는 환경이라면 그대로 사용할 수 있다. 그러나, 단말기에서는 일반적으로 실행파일을 그대로 구동할 수 있는 상황이 마련되지 않으므로 실행파일을 덤프하여 메모리에 바로 적재하고 실행할 수 있는 상태로 만들어줘야 한다.The executable created as a result of the linking process can be used as long as the OS is present. However, the terminal generally does not provide a situation in which the executable file can be driven as it is. Therefore, the executable file should be dumped and loaded into memory and made ready to run.

4. 압축4. Compression

최종적으로 덤프 파일이 만들어지면, 압축을 하여 다운로드 받거나 보관이 용이하도록 만든다. 일반적인 경우에 플랫폼에서 압축 기능을 지원하지 않지만, 본 발명의 경우에는 자체적으로 프로그램 파일을 만들어 사용하는 것이므로 부가적인 효과를 적용하여 사용하는 것이 가능하다. 따라서, 압축 기능을 이용하여 용량을 약 50%가량으로 대폭 축소할 수 있다.Finally, when the dump file is created, it is compressed so that it can be downloaded or archived. In the general case, the platform does not support the compression function, but in the case of the present invention, since the program file is created and used by itself, it is possible to apply the additional effect. Therefore, the compression function can be used to significantly reduce the capacity to about 50%.

위의 4가지 과정을 거쳐 만들어진 하위 어플리케이션은 MAOS로서 탑재되는 상위 어플리케이션에 의해 다운로드 되어 실행된다. 이때, 실행되는 하위 어플리케이션이 컴파일 및 링크된 환경에 따라, 상위 어플리케이션의 런타임 환경에서 동작할 수 있도록 하위 어플리케이션에서 내부적으로 사용하는 변수들의 주소값들을 변환해 주는 과정을 거쳐야 한다.Sub-applications created through the above four processes are downloaded and executed by the higher-level applications loaded as MAOS. At this time, according to the environment in which the executed sub-application is compiled and linked, the process of converting the address values of variables used internally in the sub-application to be operated in the runtime environment of the upper application must be performed.

위의 과정을 거쳐 상위 어플리케이션(도 5에서 MAOS)에서 하위 어플리케이션이 실행될 수 있게 되며, 이때 하위 어플리케이션(도 5에서 하위 어플리케이션1-1)은 같은 과정을 거쳐 또 다른 하위 어플리케이션(도 5에서 하위 어플리케이션1-1-1)을 실행시킬 수도 있다.Through the above process, the sub-application can be executed in the upper application (MAOS in FIG. 5), and the sub-application (sub-application 1 in FIG. 5) undergoes the same process as another sub-application (sub-application in FIG. 5). You can also run 1-1-1).

무엇보다 이 과정들은 단말기에 탑재된 플랫폼 API를 사용하지 않고 단말기가 개발된 환경에 맞추어 프로그램을 개발한 것이므로, 플랫폼에 독립적으로 기능을 사용할 수 있게 된다. Above all, these processes do not use the platform API installed in the terminal, so the program is developed according to the environment in which the terminal is developed, so that the functions can be used independently of the platform.

이하, 도 6을 참조하여 본 발명이 적용된 모바일 단말기에서 하위 어플리케이션이 실행되는 과정을 각 단계별로 좀더 구체화하여 설명하면 다음과 같다.Hereinafter, referring to FIG. 6, the process of executing the sub-application in the mobile terminal to which the present invention is applied will be described in detail for each step.

우선, WIPI, BREW, WITOP 등의 모바일 플랫폼상에서 MAOS로 탑재된 상위 어플리케이션이 실행되어야 한다(S1).First, an upper application mounted as a MAOS on a mobile platform such as WIPI, BREW, and WITOP must be executed (S1).

다음으로, 메모리 또는 파일 시스템에 존재하는 데이터의 압축을 해제하여 하위 어플리케이션의 프로그램 코드를 추출한다.Next, the program code of the lower application is extracted by decompressing data existing in the memory or file system.

이어, 하위 어플리케이션의 프로그램 코드를 상위 어플리케이션의 메모리에 적재하고(S2), 하위 어플리케이션의 프로그램 코드 영역에 기록되어 있는 변수 및 함수 등의 상대 주소를 단말기의 절대 주소로 변환하여 단말기 내부에서 접근할 수 있는 주소값으로 변경한다(S3).Subsequently, the program code of the lower application may be loaded into the memory of the upper application (S2), and the relative addresses such as variables and functions recorded in the program code area of the lower application may be converted into absolute addresses of the terminal and accessed within the terminal. Change to the address value (S3).

이후, 하위 어플리케이션의 링킹시에 지정한 시작 함수 위치를 검색하고(S4), 하위 어플리케이션이 컴파일된 코드의 상태에 따라 ARM 모드 또는 THUMB 모드로 전환된다(S5).Thereafter, the start function position designated at linking of the lower application is searched (S4), and the lower application is switched to ARM mode or THUMB mode according to the state of compiled code (S5).

그리고, 상위 어플리케이션에서 동작하고 있는 현재 실행 위치를 하위 어플리케이션의 시작 함수로 이동(프로그램 카운터의 이동)시키고, 하위 어플리케이션의 시작 함수가 호출되면(S6) 상위 어플리케이션에서 전달한 플랫폼 API의 랩핑 함수를 연결한다.Then, the current execution position running in the upper application is moved to the start function of the lower application (move the program counter), and when the start function of the lower application is called (S6), the lapping function of the platform API delivered from the upper application is connected. .

결국, 플랫폼에서 발생되는 모든 이벤트들(키 입력, 전화 수신, 시작, 종료 등)을 상위 어플리케이션이 하위 어플리케이션에 전달하고, 이에 하위 어플리케이션이 응답하면서 하위 어플리케이션의 실행 및 기능 구현이 이루어지게 된다.As a result, all events (key input, call reception, start, end, etc.) generated in the platform are transmitted to the lower application, and the lower application responds to the execution and function implementation of the lower application.

이상에서 설명한 바와 같이, 본 발명에 의하면, 일반적인 모바일 컨텐츠들도 하위 프로그램을 실행시킬 수 있고 제어할 수 있게 된다. 따라서, 별도의 프로그램을 무선 데이터 통신을 이용하여 다운로드 받아 실행시킬 수 있으며, 현재 실행되 고 있는 프로그램을 삭제하고 새로운 프로그램을 다운로드하여 재실행시키는 것도 가능하다. 이는 온라인 게임에서 프로그램의 패치(patch)가 출시된 경우에 사용자들의 번거로움 없이 자동으로 프로그램이 업데이트되는 것과 같은 효과를 나타내는 것이다. As described above, according to the present invention, general mobile contents can also execute and control sub-programs. Therefore, a separate program can be downloaded and executed using wireless data communication, and it is also possible to delete the currently running program and download and re-execute a new program. This has the same effect as when a patch of a program is released in an online game, the program is automatically updated without the user's hassle.

그리고, 종래에는 모바일 컨텐츠 개발사에서 컨텐츠를 서비스한 뒤에 해당 컨텐츠에 버그가 있는 경우에는 버그를 수정한 후 이동 통신사의 납품 프로세스에 따라 약 2주간에 걸쳐 납품을 하고 서비스 준비를 하여야만 사용자들이 새로 수정된 컨텐츠를 사용할 수 있었다. In addition, in the related art, if there is a bug in the corresponding content after serving the content in the mobile content developer, the user is newly modified only after the bug is corrected and delivered for about two weeks according to the delivery process of the mobile carrier and the service is prepared. The content was available.

그러나, 본 발명에서는 컨텐츠에 버그가 있거나 기획 수정으로 새로운 버전의 컨텐츠를 제공해야 하는 상황이라면, 자체적으로 제작한 서버에 수정한 컨텐츠를 올려놓기만 하면, 단말기에서는 바로 해당 컨텐츠를 다운로드 하여 수정 버전으로 대체할 수 있게 된다. 즉, 해당 모바일 컨텐츠 개발사에서 패치 버전이나 업데이트 버전만 자체 서버를 통해 사용자 단말기가 다운받을 수 있도록 한다면, 사용자 단말기에서 자체적으로 상위 어플리케이션에 의해 하위 어플리케이션의 패치나 업데이트의 실행이 가능해지게 되는 것이다. However, in the present invention, if there is a bug in the content or a situation in which a new version of the content is to be provided by planning modifications, the user simply downloads the modified content on the server, and the terminal immediately downloads the corresponding content to the modified version. It can be replaced. That is, if the mobile content developer can download only the patch version or the update version through the own server, the user terminal can execute the patch or update of the lower application by the upper application.

결국, 하위 어플리케이션의 경우에는 그 제작사에 의해서 사용자 단말기에서의 신속한 버그 대응 및 업데이트가 가능해지게 된다. 또한 하나의 어플리케이션에서 다른 어플리케이션을 실행시킬 수 있기 때문에 하나의 컨텐츠에서 다른 컨텐츠들을 기능 제약 없이 추가로 실행 및 제어가 가능해진다. As a result, in the case of the lower application, the manufacturer can quickly respond to and update bugs in the user terminal. In addition, since one application can execute another application, it is possible to additionally execute and control other contents in one content without any functional restrictions.

이는 사용자들에게 매우 손쉽게 빠른 피드백을 제공하여, 기존의 서비스 제 공 시간에 비해 수 백배의 효율을 제공할 수 있게 된다. 또한 상위 어플리케이션에 의해 실행되는 하위 어플리케이션의 개발 및 운용에 있어서 높은 효율성을 제공할 수 있게 된다. 종래에는 플랫폼 기능적으로 불가능했던 기능이었으나, 본 발명에서는 MAOS 개념의 상위 어플리케이션을 이용하게 되면서 가능해졌고, 부가적으로 서비스 프로세스 일정상으로 매우 빠르고 신속해질 수 있게 된다. This makes it very easy for users to provide fast feedback, providing hundreds of times the efficiency of traditional service delivery. In addition, it is possible to provide high efficiency in the development and operation of the lower application executed by the upper application. In the past, the functionality of the platform was impossible, but in the present invention, it was possible to use a higher level application of the MAOS concept, and additionally, the service process schedule can be very fast and quick.

그리고, 본 발명에 따른 컨텐츠들은 용량적으로 많은 장점을 가질 수 있다.In addition, the contents according to the present invention may have many advantages in terms of capacity.

모바일 컨텐츠들은 제한적인 메모리 및 파일시스템으로 인해 프로그램의 크기에 따라 사용할 수 있는 메모리의 크기가 제한적일 수밖에 없다. 그러나, 본 발명에 따른 상위 어플리케이션에서 구동시킨 하위 어플리케이션이 서로의 함수(function)들을 직접 호출할 수 있으며, 압축 후에 다운로드를 할 수 있으므로 필요한 기능들이 있다면 추가 구현하여 보다 적은 용량으로 기능들을 사용할 수 있다.Due to the limited memory and file system, mobile contents can only be limited in size depending on the size of the program. However, since the lower applications driven by the upper application according to the present invention can directly call each other's functions, and can be downloaded after compression, additional functions can be implemented and used in a smaller capacity if necessary. .

이는 결국 프로그램의 크기를 작게 줄여주는 효과를 가져오며, 사용자들에게 데이터 통화량에 대한 부담감을 줄여줄 수 있다. 그리고, 여러 프로그램들을 모두 합한다면 큰 용량의 컨텐츠가 되겠지만, 각각의 프로그램들의 크기는 매우 작을 수 있기 때문에 플랫폼에서 상위 어플리케이션(MAOS)을 실행시키기 위해 사용하는 메모리 용량은 적어지고, 그만큼 런타임시에 사용할 수 있는 메모리 영역이 늘어나게 된다.This, in turn, has the effect of reducing the size of the program and can reduce the burden on users of data calls. And, if you add all the programs together, it will be a large amount of content, but since each program can be very small, the amount of memory used by the platform to run the MAOS will be less, which will be used at runtime. The available memory area is increased.

또한 프로그램 코드를 여러 개로 분리하게 되면, 각각의 프로그램 파일들을 압축하여 다운로드 받을 수 있기 때문에, 플랫폼에서 압축 기능을 지원하지 않더라 도 자체 압축을 통해 더욱 작은 용량의 프로그램들을 다운로드 받을 수 있게 된다.In addition, if the program code is divided into several pieces, each program file can be compressed and downloaded, so even if the platform does not support the compression function, it is possible to download smaller programs through self-compression.

또한 다운로드 된 하위 어플리케이션은 굳이 단말기의 파일시스템에 저장되지 않아도 메모리 상에서 만으로도 구동이 가능하며, 이 때문에 상황에 따라 파일시스템을 이용하지 않고도 다운로드 된 데이터를 메모리상에서 구동시킬 수 있게 되면서 부족한 파일시스템의 제약에 영향을 받지 않도록 할 수 있다.In addition, the downloaded sub-applications can be run on the memory only without being stored in the file system of the terminal. Therefore, it is possible to run the downloaded data on the memory without using the file system. You can make it unaffected.

Claims (8)

삭제delete 삭제delete 삭제delete 플랫폼에 연동되도록 제작되어 플랫폼상에서 실행되는 동안에 하위 계층의 어플리케이션을 실행 및 관리하는 상위 어플리케이션과, 상기 상위 어플리케이션에 의해 상기 플랫폼과는 독립적으로 실행 및 관리되는 하위 어플리케이션을 모바일 단말기에 제공하는 단계와;Providing a mobile terminal with an upper application that is interlocked with a platform and executes and manages an application of a lower layer while executing on a platform, and a lower application that is executed and managed independently of the platform by the upper application; 상기 플랫폼상에서 상위 어플리케이션이 실행되는 단계와;Executing an upper application on the platform; 상기 하위 어플리케이션의 프로그램 코드를 상위 어플리케이션의 메모리에 적재한 상태에서, 상기 하위 어플리케이션의 프로그램 코드 영역에 기록되어 있는 상대 주소를 단말기의 절대 주소로 변환하여 단말기 내부에서 접근할 수 있는 주소값으로 변경하는 단계와;In the state where the program code of the lower application is loaded in the memory of the upper application, the relative address recorded in the program code area of the lower application is converted into an absolute address of the terminal and changed into an address value accessible within the terminal. Steps; 이후 하위 어플리케이션의 시작 함수 위치를 검색하고, 하위 어플리케이션이 컴파일된 코드의 상태에 따라 모드 전환되는 단계와;Thereafter searching for a starting function position of the subapplication, and switching the mode according to the state of the compiled code; 상위 어플리케이션에서 동작하고 있는 현재 실행 위치를 하위 어플리케이션의 시작 함수로 이동시키고, 하위 어플리케이션의 시작 함수가 호출되면 상위 어플리케이션에서 전달한 플랫폼 API의 랩핑 함수를 연결하는 단계와;Moving the current execution position operating in the upper application to the starting function of the lower application, and when the starting function of the lower application is called, connecting the wrapping function of the platform API delivered from the upper application; 플랫폼에서 발생되는 이벤트들을 상위 어플리케이션이 하위 어플리케이션에 전달하고, 이에 하위 어플리케이션이 응답하면서 어플리케이션 실행 및 기능 구현이 이루어지는 단계;Transmitting, by the upper application, the event generated in the platform to the lower application, and responding to the lower application to execute an application and implement a function; 를 포함하는 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션의 실행 방법.The execution method of the application mounted in a hierarchical structure in a mobile terminal comprising a. 청구항 4에 있어서, 상기 하위 어플리케이션은 프로그램 코드가 압축된 상태로 모바일 단말기에 제공되고, 상기 상위 어플리케이션이 실행된 상태에서 압축 해제 후 추출된 하위 어플리케이션의 프로그램 코드를 상위 어플리케이션의 메모리에 적재하는 것을 특징으로 하는 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션의 실행 방법.The method of claim 4, wherein the lower application is provided to the mobile terminal in a state in which the program code is compressed, and loads the program code of the lower application extracted after decompression while the upper application is executed to the memory of the upper application. An execution method of an application mounted in a hierarchical structure in a mobile terminal. 청구항 4 또는 청구항 5에 있어서, 상기 하위 어플리케이션은 우선적으로 제공되어 실행된 상위 어플리케이션에 의해 제작사의 자체 다운로드 서버로부터 모바일 단말기로 다운로드 되어 제공되는 것을 특징으로 하는 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션의 실행 방법.The method of claim 4 or 5, wherein the lower application is downloaded and provided from the manufacturer's own download server to the mobile terminal by a higher application executed first and executed. How to run. 청구항 6에 있어서, 상기 하위 어플리케이션은 모바일 단말기에 기 제공된 하위 어플리케이션의 수정 또는 버전업을 위한 패치 또는 업데이트 프로그램인 것을 특징으로 하는 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션의 실행 방법.The method of claim 6, wherein the sub-application is a patch or update program for correcting or upgrading the sub-application previously provided to the mobile terminal. 청구항 4에 있어서, 상기 하위 어플리케이션이 우선적으로 제공된 상태에서 상기 하위 어플리케이션에 의해 독립적으로 실행 및 관리되는 또 다른 하위 어플리케이션을 모바일 단말기에 추가로 제공하는 단계와; The method of claim 4, further comprising: providing to the mobile terminal another sub-application that is independently executed and managed by the sub-application while the sub-application is preferentially provided; 우선적으로 제공된 상기 하위 어플리케이션에 의하여 추가로 제공된 상기 또 다른 하위 어플리케이션의 실행 및 기능 구현이 이루어지는 단계;Executing the execution and function implementation of the another sub-application further provided by the sub-application provided preferentially; 를 더 포함하는 것을 특징으로 하는 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션의 실행 방법. Execution method of the application that is mounted in a hierarchical structure to the mobile terminal further comprising.
KR1020070032902A 2007-04-03 2007-04-03 Application of mobile device and method for executing the same KR100842084B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070032902A KR100842084B1 (en) 2007-04-03 2007-04-03 Application of mobile device and method for executing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070032902A KR100842084B1 (en) 2007-04-03 2007-04-03 Application of mobile device and method for executing the same

Publications (1)

Publication Number Publication Date
KR100842084B1 true KR100842084B1 (en) 2008-06-30

Family

ID=39772734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070032902A KR100842084B1 (en) 2007-04-03 2007-04-03 Application of mobile device and method for executing the same

Country Status (1)

Country Link
KR (1) KR100842084B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (en) * 2009-12-08 2010-10-26 (주)제이모바일 Terminal device for executing android application based non-android flatform

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010090304A (en) * 2000-03-24 2001-10-18 김주혁 Download service system for mobilephone
KR20050107690A (en) * 2004-05-10 2005-11-15 에스케이 텔레콤주식회사 Method to provide terminal platform with downloadable library

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010090304A (en) * 2000-03-24 2001-10-18 김주혁 Download service system for mobilephone
KR20050107690A (en) * 2004-05-10 2005-11-15 에스케이 텔레콤주식회사 Method to provide terminal platform with downloadable library

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989613B1 (en) * 2009-12-08 2010-10-26 (주)제이모바일 Terminal device for executing android application based non-android flatform
WO2011071202A1 (en) * 2009-12-08 2011-06-16 (주)제이모바일 Terminal device having virtual machine-based hierarchical structure for executing heterogeneous applications
RU2486579C2 (en) * 2009-12-08 2013-06-27 Инфравэар Текнолоджи, Инк. Terminal design comprising level structure based on virtual machine (vm) for performance of heterogeneous applications
US8555280B2 (en) 2009-12-08 2013-10-08 Infraware Technology, Inc. Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform

Similar Documents

Publication Publication Date Title
CN102622241B (en) A kind of method for upgrading software and device
KR101253792B1 (en) A method of automatically building a customised software application for a specific type of wireless computing device
CN101719075B (en) Method for switching theme of Java virtual machine and terminal device
US20080092057A1 (en) Framework for creation of user interfaces for electronic devices
CN103353845A (en) Method and device for uploading and pushing script
CN107305553B (en) Method and system for dynamically jumping Hybrid page based on Hybrid App
CN105511889A (en) General game version incremental updating system and method
CN106469071B (en) Application theme changing method and device
CN102945182B (en) Application program update method and apparatus
CN104360871A (en) Quick starting method for installation of cell phone games
US9158521B2 (en) Automatic provisioning of a software platform to a device ecosystem
CN102981880B (en) A kind of method and apparatus realizing the renewal of application program
Caire et al. Leap user guide
CN101426032B (en) Terminal and method for Java application installation
CN105373406B (en) Application layout dynamic switching method and system based on Android platform
CN103970563A (en) Dynamic Android class loading method
US20060059458A1 (en) Creating software applications
CN105740027A (en) Application program updating method and device
WO2015153366A1 (en) System and method for providing customized resources on a handheld electronic device
CN102486735A (en) Dynamic loading method and device of mobile phone software
CN100373336C (en) Method for realizing flash-storage dynamic update of single-chip machine
CN112306474B (en) VUE project smooth upgrading method based on modular template
KR100842084B1 (en) Application of mobile device and method for executing the same
KR100747901B1 (en) Method for compression of executable file in mobile telecommunication terminal
CN109996119A (en) Support method, smart television and the storage medium of multiple user interfaces style

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
FPAY Annual fee payment

Payment date: 20130620

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140710

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee