[go: up one dir, main page]

KR101098812B1 - Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine - Google Patents

Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine Download PDF

Info

Publication number
KR101098812B1
KR101098812B1 KR1020040083650A KR20040083650A KR101098812B1 KR 101098812 B1 KR101098812 B1 KR 101098812B1 KR 1020040083650 A KR1020040083650 A KR 1020040083650A KR 20040083650 A KR20040083650 A KR 20040083650A KR 101098812 B1 KR101098812 B1 KR 101098812B1
Authority
KR
South Korea
Prior art keywords
state
middlelet
virtual machine
event
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1020040083650A
Other languages
Korean (ko)
Other versions
KR20060034504A (en
Inventor
김영석
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020040083650A priority Critical patent/KR101098812B1/en
Publication of KR20060034504A publication Critical patent/KR20060034504A/en
Application granted granted Critical
Publication of KR101098812B1 publication Critical patent/KR101098812B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 가상 머신이 외부 MMI(Man Machine Interface) 이벤트를 처리할 때 가상 머신 상에서 실행중인 작업을 잠시 멈춤 상태로 전환하지 않고 느리게 동작하는 상태(Slow going state)로 상태변경 함으로써 MMI 이벤트 처리중에 발생할 수 있는 다른 이벤트에 대한 대응이 신속하게 이루어지도록 한 가상 머신에서 MMI 이벤트 처리시 가상머신 상에서 실행중인 작업에 대한 상태 제어방법에 관한 것으로서, 본 발명은, 미들렛(MIDlet) 실행을 준비하고, 필요한 자원(Resource)에 대한 점유를 확보한 후 실행가능 상태로 천이하며, 상기 실행가능 상태에서 외부 MMI 이벤트의 발생 여부를 확인하여, 외부 MMI 이벤트가 발생한 경우에는 미들렛 수행속도를 줄여 가상머신의 프로세스 사이클의 속도를 줄이게 되며, 상기 가상머신의 사이클 속도를 줄인 상태에서 미들렛이 처리해야할 이벤트가 발생한 경우, 상기 미들렛 수행속도를 순간적으로 빠르게 하여 미들렛에서 이벤트를 처리하도록 제어하며, 상기 가상머신의 프로세스 사이클의 속도를 줄인 상태에서 외부 MMI 이벤트의 처리가 종료된 경우에는 프로세스 사이클의 속도를 원래의 상태로 복귀시키게 된다.When the virtual machine processes an external Man Machine Interface (MMI) event, the present invention may occur during MMI event processing by changing the state of the task running on the virtual machine to a slow going state without switching to a pause state. The present invention relates to a method of controlling a state of a task running on a virtual machine when processing an MMI event in a virtual machine so that a response to another event can be made quickly. The present invention provides a method for preparing a middlelet and executing a middlelet. After securing the occupancy of the resource (Transition) to the executable state, and checks whether the external MMI event occurs in the executable state, when the external MMI event occurs, by reducing the speed of the middlelet process of the virtual machine The speed of the cycle is reduced, and the middlelet is processed while the cycle speed of the virtual machine is reduced. When an event occurs, the middlelet executes an instantaneous speed to control an event in the middlelet, and when the processing of the external MMI event is terminated while the process cycle of the virtual machine is reduced, the process cycle Will return the speed to its original state.

MMI, 이벤트, 미들렛, 가상 머신, Virtual Machine, 상태 변경, 슬로우 고잉MMI, Events, Middlelets, Virtual Machines, Virtual Machines, State Changes, Slow Going

Description

가상 머신에서 외부 이벤트 처리시 미들렛 상태 제어방법{Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine}Method for Controlling MIDlet State In Treat MMI Event of Virtual Machine}

도 1은 일반적인 임베디드 환경에서 수행되는 가상 머신 프로그램 계층 구조도이다.1 is a diagram illustrating a virtual machine program hierarchy performed in a general embedded environment.

도 2는 종래 가상 머신의 상태 천이도이다.2 is a state transition diagram of a conventional virtual machine.

도 3은 본 발명에 따른 가상 머신의 상태 천이도이다.3 is a state transition diagram of a virtual machine according to the present invention.

도 4는 본 발명에 의한 가상 머신에서 MMI 이벤트 처리시 미들렛 상태 제어방법을 보인 흐름도이다.4 is a flowchart illustrating a method of controlling a middlelet state when processing an MMI event in a virtual machine according to the present invention.

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

10 ..... 운영 시스템10 ..... Operating System

20 ..... OEM s/w20 ..... OEM s / w

30 ..... 자바 가상 머신(JVM)30 ..... Java Virtual Machine (JVM)

40 ..... 자바 응용 매니저(JAM)40 ..... Java Application Manager (JAM)

60 ..... 웹 서버60 ..... Web Server

본 발명은 가상 머신(VM : Virtual Machine)에서 외부 이벤트 처리시 미들렛 상태 제어방법에 관한 것으로서, 특히 가상 머신이 외부 MMI(Man Machine Interface) 이벤트를 처리할 때 가상 머신 상에서 실행중인 작업을 잠시 멈춤 상태로 전환하지 않고 느리게 동작하는 상태(Slow going state)로 상태변경 함으로써 MMI 이벤트 처리중에 발생할 수 있는 다른 이벤트에 대한 대응이 신속하게 이루어지도록 한 가상 머신에서 외부 이벤트 처리시 미들렛 상태 제어방법에 관한 것이다.The present invention relates to a method of controlling a middlelet state when processing an external event in a virtual machine (VM), and in particular, pauses a task running on a virtual machine when the virtual machine processes an external MMI (man machine interface) event. A method for controlling a middlelet state when processing an external event in a virtual machine so that a response to other events that may occur during MMI event processing is performed quickly by changing the state to a slow going state without switching to a state. will be.

자바 컴파일러는 자바 프로그램을 취하여 특정 프로세서에 대한 머신 코드를 생성하는 것 대신에 바이트 코드를 생성한다. 바이트 코드는 머신 코드와 유사하게 보이는 명령이지만, 특정 프로세서에 제한되는 것이 아니다. 자바 프로그램을 실행하기 위해서, 바이트 코드 해석기는 자바 바이트 코드를 취하여 이것을 동등한 고유 프로세서 명령으로 변환시켜 이 자바 프로그램을 실행한다. 자바 바이트 코드 해석기는 자바 가상 머신의 하나의 컴포넌트이다.The Java compiler takes a Java program and generates bytecode instead of generating machine code for a particular processor. Byte code is an instruction that looks similar to machine code, but is not limited to a specific processor. To execute a Java program, the bytecode interpreter takes Java bytecode and converts it into equivalent native processor instructions to execute this Java program. The Java byte code interpreter is a component of the Java virtual machine.

한편, 임베디드(Embedded) 환경하에서 수행되는 자바는 OS(Operating System) 또는 디바이스 드라이버 등과 같은 계층 위에 CLDC/MIDP가 올라가게 되고, 그 위에서 JAM(Java Application Manager)이 구동되어 웹서버에서 자바 어플리케이션 미들렛(MIDlet)을 JAR 파일로 다운로드하고, 그것을 수행하도록 되어 있다.On the other hand, in Java, which is executed under the embedded environment, CLDC / MIDP is raised on a layer such as an operating system (OS) or a device driver, and the Java application manager (JAM) is run on the web application. Download the (MIDlet) to a JAR file and run it.

도 1은 일반적인 임베디드 환경에서 수행되는 가상 머신의 프로그램 계층 구조도이다.1 is a program hierarchy diagram of a virtual machine performed in a general embedded environment.

여기서 참조부호 10은 운영 시스템(OS)을 나타내고, 참조부호 20은 다운로드 한 자바 어플리케이션으로부터 함수를 제공하기 위해서 그 함수를 검색하고 네이티브 어플리케이션(Native Application)의 이름, 기능, 기능의 이름 또는 기능을 수행하는 함수를 포함하는 정보를 저장하는 OEM(Orignal Equipment Manufacture) s/w를 나타낸다. 참조부호 30은 자바소스를 해석하여 실행하는 기능을 수행하는 자바 가상 머신(JVM)을 나타내며, 참조부호 40은 웹서버(60)에서 다운로드한 자바 어플리케이션을 실행하는 기능을 수행하는 자바 어플리케이션 매니저(JAM)를 나타내며, 참조부호 50은 브라우저, 폰북, 이메일 또는 스케쥴러 등을 나타내는 네이티브 어플리케이션을 나타낸다.Here, reference numeral 10 denotes an operating system (OS), and reference numeral 20 denotes a function for searching and providing a function from a downloaded Java application and performing the name, function, name of a native application, or function. Represents an original equipment manufacturer (OEM) s / w that stores information including a function of Reference numeral 30 denotes a Java virtual machine (JVM) that performs a function of interpreting and executing Java sources, and reference numeral 40 denotes a Java application manager (JAM) that executes a function of executing a Java application downloaded from the web server 60. The reference numeral 50 denotes a native application representing a browser, a phonebook, an e-mail or a scheduler, or the like.

이러한 자바의 프로그램 계층구조에서 자바 가상 머신(JVM)은 자바 프로그래밍 언어로 작성된 핸드셋용 어플리케이션인 미들렛(MIDlet)을 수행시켜주는 하나의 가상 머신이다.In this Java program hierarchy, the Java virtual machine (JVM) is a virtual machine that executes a MIDlet, a handset application written in the Java programming language.

상기 가상 머신의 미들렛 수행 단계는 다음과 같다. The middlelet execution step of the virtual machine is as follows.

1단계) 미들렛의 생성을 위해 포즈 상태로 천이한다.Step 1) Transition to the pause state to generate the middlelet.

2단계) 필요한 자원에 대한 점유 확보를 위해 실행가능 상태로 천이한다.Step 2) Transition to the runnable state to secure the necessary resources.

3단계) 임시적인 자원에 대한 점유 해지를 위해 포즈 상태로 천이한다.Step 3) Transition to the paused state to release the temporary resources.

4단계) 자원에 대한 해지를 위해 디스트로이드(Destroyed) 상태로 천이한다.Step 4) Transition to Destroyed state to release the resource.

도 2는 종래 가상 머신의 상태천이도로서, 상기 미들렛의 라이프 사이클을 도시한 것이다.Figure 2 is a state transition diagram of a conventional virtual machine, showing the life cycle of the middlelet.

이에 도시된 바와 같이, 가상 머신은 미들렛 실행을 준비하고, 포즈 상태가 된다. 상기 포즈 상태에서 가상 머신은 필요한 자원에 대한 점유를 확보한 후 실행 가능 상태로 천이한다.As shown here, the virtual machine is ready to run the middlelet and is in a paused state. In the paused state, the virtual machine transitions to an executable state after acquiring the necessary resources.

실행가능 상태에서는 자바의 바이트 코드로 컴파일된 미들렛을 일정 부분 수행하며, 실행가능 상태에서 외부 MMI 이벤트(Mobile Terminate call, Alarm, SMS 등)가 발생하면, 가상 머신은 미들렛의 PauseApp()를 호출해서 미들렛을 포즈 상태로 천이시킨다.In the executable state, a part of the middlelet compiled with Java byte code is executed. When an external MMI event (Mobile Terminate call, Alarm, SMS, etc.) occurs in the executable state, the virtual machine executes PauseApp () of the middlelet. Call to transition the middlelet to a paused state.

상기 포즈 상태에서 외부 MMI 이벤트가 종료되면 가상 머신은 미들렛의 StartApp()를 호출해서 미들렛을 실행가능 상태로 천이시킨다. When the external MMI event is terminated in the pause state, the virtual machine calls StartApp () of the middlelet to transition the middlelet to the executable state.

미들렛은 수행을 마지면 DestoryApp()를 호출하여 디스트로이드(Destroyed) 상태로 천이한다.When the middlelet finishes execution, it calls DestoryApp () and transitions to the Destroyed state.

상기 가상 머신의 수행 프로세스에 대해서 간략히 설명하면 다음과 같다.A brief description of the execution process of the virtual machine is as follows.

핸드셋의 가상 머신은 자바 프로그래밍 언어로 작성된 핸드셋용 어플리케이션인 미들렛을 수행시켜주는 하나의 가상 머신으로서, 미들렛을 수행시키는 개략적인 프로세스는 다음과 같다.The virtual machine of the handset is a virtual machine that executes a middlelet, which is an application for a handset written in the Java programming language, and a schematic process of executing the middlelet is as follows.

필요한 자원의 확보와 여타의 상태를 초기화하고, 자바의 바이트 코드로 컴파일된 미들렛을 일정 부분 수행한다. 미들렛 수행 도중에 외부로부터 이벤트가 발생하면 외부의 이벤트를 확인하고 처리하며, 미들렛 종료 전까지 상기 미들렛 수행과 외부 이벤트 확인 및 처리 과정을 반복적으로 수행한다. 미들렛 종료시에는 사용자 자원들을 해지하고 여타의 상태를 종료 상태로 만든다.Initialize the necessary resources and other states, and perform some of the middlelets compiled with Java's bytecode. When an event occurs from the outside during the middlelet, the external event is checked and processed, and the middlelet and the external event are checked and processed repeatedly until the middlelet ends. Terminating a middlelet frees up user resources and puts other states into the closed state.

여기서 미들렛 수행시에 외부 MMI 이벤트가 발생하면 미들렛을 포즈상태로 진입시켜 미들렛을 포즈시키고, 외부 MMI 이벤트를 처리하도록 한다. 그리고 외부 MMI 이벤트가 처리 완료되면 다시 실행가능 상태로 천이하게 된다.If an external MMI event occurs when the middlelet is executed, the middlelet is put into a pause state to pose the middlelet and process the external MMI event. When the external MMI event is processed, the state transitions back to the executable state.

주지한 바와 같은 모든 미들렛은 선 마이크로시스템즈사의 J2ME 스펙(Spec)에서 제안하고 있는 도 2와 같은 미들렛 라이프 사이클(Life cycle)을 따라서 PauseApp()함수 내에 미들렛이 포즈가 될 때 처리해야 할 내용을 구현해 두어야 한다. 그래야만 가상 머신이 PauseApp()함수를 호출해서 해당 미들렛을 포즈 상태로 전환한 후에 외부 MMI 이벤트에 대한 처리가 이루어질 수 있다.As noted above, all middlelets should be handled when the middlelet poses in the PauseApp () function following the middlelet life cycle as shown in FIG. 2 proposed by Sun Microsystems' J2ME Spec. The content should be implemented. This allows the virtual machine to call the PauseApp () function to put the middlelet into a paused state before processing external MMI events.

여기서 미들렛이 외부 MMI 이벤트에 의해서 포즈 상태에 있을 때 발생하는 다른 이벤트들은 이벤트 큐(Queue)에 쌓이게 되고, 나중에 미들렛이 실행가능 상태가 되었을 때에서야 처리된다.Here, other events that occur when the middlelet is in a paused state by an external MMI event are accumulated in the event queue and are processed only when the middlelet is made executable later.

이처럼 종래의 미들렛 프로세스는, 미들렛이 포즈 되었을 때 외부 이벤트에 대한 처리가 정상적으로 이루어지지 않기 때문에, 결국 미들렛이 사용중인 네트워크 연결이 끊어지는 등의 문제가 발생하였다.As described above, the conventional middlelet process does not normally handle external events when the middlelet is paused, and thus, a problem such as disconnection of the network in which the middlelet is being used has occurred.

본 발명은 상기와 같은 종래 가상 머신에서 미들렛 프로세스 수행시 발생하는 제반 문제점을 해결하기 위해서 제안된 것으로서, 본 발명의 목적은, 가상 머신이 외부 MMI 이벤트를 처리할 때 가상 머신 상에서 실행중인 작업을 잠시 멈춤 상태로 전환하지 않고 느리게 동작하는 상태(Slow going state)로 상태변경 함으로써 MMI 이벤트 처리중에 발생할 수 있는 다른 이벤트에 대한 대응이 신속하게 이루어지도록 한 가상 머신에서 외부 이벤트 처리시 미들렛 상태 제어방법을 제공하는 데 있다.The present invention has been proposed to solve various problems that occur when performing the middlelet process in the conventional virtual machine as described above, and an object of the present invention is to execute a task running on a virtual machine when the virtual machine processes an external MMI event. How to control the middlelet state when processing an external event in a virtual machine so that it can quickly respond to other events that may occur during MMI event processing by changing the state to a slow going state without going to a pause state. To provide.

상술한 목적을 달성하기 위한 본 발명에 따른 가상 머신에서 외부 이벤트 처리시 미들렛 상태 제어방법은, 미들렛 실행을 준비하고, 필요한 자원(Resource)에 대한 점유를 확보한 후 실행가능 상태로 천이하는 1단계; 상기 실행가능 상태에서 외부 MMI 이벤트의 발생 여부를 확인하여, 외부 MMI 이벤트가 발생한 경우에는 미들렛 수행속도를 줄여 가상머신의 프로세스 사이클의 속도를 줄이는 2단계; 상기 가상머신의 사이클 속도를 줄인 상태에서 미들렛이 처리해야할 이벤트가 발생한 경우, 상기 미들렛 수행속도를 순간적으로 빠르게 하여 미들렛에서 이벤트를 처리하도록 제어하는 3단계; 상기 가상머신의 프로세스 사이클의 속도를 줄인 상태에서 외부 MMI 이벤트의 처리가 종료된 경우에는 프로세스 사이클의 속도를 원래의 상태로 복귀시키는 4단계를 포함하는 것을 특징으로 한다.A method for controlling a middlelet state when processing an external event in a virtual machine according to the present invention for achieving the above object is to prepare for executing a middlelet, secure the occupancy for necessary resources, and then transition to an executable state. Stage 1; Checking whether an external MMI event has occurred in the executable state, and if the external MMI event occurs, reducing the speed of the middlelet to reduce the speed of the process cycle of the virtual machine; A third step of controlling an event to be processed in the middlelet by momentarily increasing the speed of performing the middlelet when an event to be processed by the middlelet occurs while the cycle speed of the virtual machine is reduced; If the process of the external MMI event is terminated in the state of reducing the speed of the process cycle of the virtual machine characterized in that it comprises a step of returning the speed of the process cycle to the original state.

이하 상기와 같은 기술적 사상에 따른 본 발명의 바람직한 실시예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, described in detail with reference to the accompanying drawings, preferred embodiments of the present invention according to the technical spirit as described above.

본 발명은, 미들렛의 라이프 사이클 자체는 종래의 기술 구성과 동일하나, 외부 MMI 이벤트 발생시에 가상 머신의 프로세스 사이클 속도를 평상시(노말)의 수천분의 1로 떨어트려서 가상 머신의 프로세스 사이클을 느리게 하여 포즈의 효과를 거두도록 하고, 미들렛이 처리해주어야 하는 다른 이벤트가 발생한 경우에는 미들렛이 이벤트를 처리할 수 있도록 순간적으로 프로세스 사이클 타임을 빠르게 하여 미들렛이 이벤트에 대한 처리를 수행할 수 있도록 해주는 데 있다.According to the present invention, the life cycle of the middlelet itself is the same as that of the related art, but when the external MMI event occurs, the process cycle speed of the virtual machine is dropped to one thousandth of the normal (normal) when the external MMI event occurs. It slows down the effect of the pose, and in the event of other events that need to be handled by the middlelet, the middlelet can process the event momentarily, allowing the middlelet to process the event in an instant. To make it work.

이를 좀 더 구체적으로 설명하면 다음과 같다. If this is explained in more detail as follows.                     

도3은 본 발명에서 가상 머신의 상태 천이도로서, 기존 미들렛의 라이프 사이클과 다른 점은, 실행가능 상태에서 외부 MMI 이벤트 발생시에는 실행가능 상태가 슬로우 고잉(Slow Going) 상태로 전환되어 동작하는 것이다.FIG. 3 is a state transition diagram of a virtual machine in the present invention, which is different from the life cycle of a conventional middlelet, when an external MMI event occurs in an executable state, the executable state is switched to a slow going state. will be.

도 4는 본 발명에 의한 가상 머신에서 MMI 이벤트 처리시 미들렛 상태 제어방법을 보인 흐름도이다.4 is a flowchart illustrating a method of controlling a middlelet state when processing an MMI event in a virtual machine according to the present invention.

도시된 바와 같이, 미들렛 실행을 준비하고, 필요한 자원에 대한 점유를 확보한 후, 실행가능 상태로 천이하는 1단계(S101 ~ S102)와; 상기 1단계의 실행가능 상태에서 외부 MMI 이벤트의 발생 여부를 확인하여, 외부 MMI 이벤트가 발생한 경우에는 미들렛 수행속도를 줄여 가상머신의 프로세스 사이클의 속도를 줄이는 2단계(S103 ~ S104)와; 상기 2단계의 가상머신의 사이클 속도를 줄인 상태에서 미들렛이 처리해야할 이벤트가 발생한 경우, 상기 미들렛 수행속도를 순간적으로 빠르게 하여 미들렛에서 이벤트를 처리하도록 제어하는 3단계(S105 ~ S107)와; 상기 2단계에서 가상머신의 프로세스 사이클의 속도를 줄인 상태에서 외부 MMI 이벤트의 처리가 종료된 경우에는 프로세스 사이클의 속도를 원래의 상태로 복귀시키는 4단계(S108 ~ S109)로 이루어진다.As shown, the first step (S101 ~ S102) to prepare for the middlelet, to secure the occupancy for the necessary resources, and then transition to the executable state; Checking whether an external MMI event occurs in the executable state of the first step, and when the external MMI event occurs, reducing the speed of the middlelet to reduce the speed of the process cycle of the virtual machine (S103 to S104); When an event to be processed by the middlelet occurs in a state in which the cycle speed of the virtual machine of the second step is reduced, the third step (S105 to S107) of controlling the processing of the event in the middlelet by momentarily increasing the speed of performing the middlelet and ; When the process of the external MMI event is terminated in the state of reducing the speed of the process cycle of the virtual machine in step 2, the process consists of four steps (S108 to S109) of returning the speed of the process cycle to the original state.

이와 같이 이루어지는 본 발명에 의한 가상 머신에서 MMI 이벤트 처리시 미들렛 상태 제어방법을 상세히 설명하면 다음과 같다.A method of controlling a middlelet state when processing an MMI event in a virtual machine according to the present invention will be described in detail as follows.

먼저 단계 S101에서 가상 머신은 미들렛 실행을 준비하기 위하여 Constructor()함수를 호출하여 미들렛을 생성하고, 포즈 상태가 된다. First, in step S101, the virtual machine calls the Constructor () function to prepare the middlelet for execution, to generate the middlelet, and to enter a pause state.

상기 포즈 상태에서 단계 S102에서와 같이 가상 머신은 필요한 자원에 대한 점유를 확보하고, 미들렛의 StartApp()함수를 호출하여 상태를 실행가능 상태로 천이시킨다.In the pause state, as in step S102, the virtual machine secures the occupancy of necessary resources, and calls the middleApp StartApp () function to transition the state to the executable state.

상기 실행가능 상태에서는 자바의 바이트 코드로 컴파일된 미들렛을 일정 부분 수행하며, 단계 S103에서와 같이 실행가능 상태에서 외부 MMI 이벤트(Mobile Terminate call, Alarm, SMS 등)가 발생하는지를 확인한다.In the executable state, a part of the middlelet compiled with Java byte code is executed, and as in step S103, it is checked whether an external MMI event (Mobile Terminate call, Alarm, SMS, etc.) occurs in the executable state.

상기 확인 결과 실행가능 상태에서 외부 MMI 이벤트가 발생한 경우에는, 단계 S104에서 미들렛 수행속도를 줄여 가상머신의 프로세스 사이클의 속도를 줄이게 된다. 즉, 가상 머신의 프로세스 사이클 시간을 평상시의 수천분의 1로 떨어트려서 가상 머신의 프로세스 사이클을 느리게 함으로써 포즈를 시키지 않은 상태에서도 포즈 효과를 거두게 되는 것이다.When the external MMI event occurs in the executable state as a result of the checking, the speed of the middle machine is reduced in step S104 to reduce the speed of the process cycle of the virtual machine. In other words, the process cycle time of the virtual machine is reduced to one-thousandth of the usual times, and the process cycle of the virtual machine is slowed down, so that the pose effect is achieved even without posing.

다음으로 단계 S105에서는 상기와 같이 가상 머신의 사이클 속도를 줄인 상태에서 미들렛이 처리해야할 이벤트가 발생하는지를 체크하여, 미들렛이 처리해야할 이벤트가 발생한 경우에는 단계 S106으로 이동하여 상기 미들렛 수행속도를 순간적으로 빠르게 하여 미들렛에서 이벤트를 처리하도록 제어하게 된다. 즉, 가상 머신의 프로세스 사이클 시간을 평상시의 수천분의 1로 높여서 가상 머신의 프로세스 사이클을 빠르게 함으로써 미들렛에서 이벤트를 처리하도록 한다. Next, in step S105, it is checked whether an event to be processed by the middlelet occurs while the cycle speed of the virtual machine is reduced as described above, and when an event to be processed by the middlelet occurs, the process moves to step S106 to determine the speed of performing the middlelet. You can control it to process events in the middlelet quickly by momentarily. In other words, by increasing the process cycle time of the virtual machine to one-thousandths of a day, the process cycle of the virtual machine is accelerated to allow the middlelet to process the event.

그리고 단계 S107에서 이벤트 처리의 종료 여부를 확인하고, 그 확인 결과 이벤트 처리가 종료된 경우에는 상기 단계 S104로 이동하게 된다.In step S107, it is checked whether or not the event processing has ended. If the event processing is terminated as a result of the checking, the process moves to step S104.

아울러 상기 2단계에서 가상머신의 프로세스 사이클의 속도를 줄인 상태에서 단계 S108에서와 같이 외부 MMI 이벤트의 처리가 종료되었는지를 확인하게 되고, 이 확인 결과 외부 MMI 이벤트의 처리가 종료되지 않은 경우에는 현재의 상태를 유지하고, 이와는 달리 외부 MMI 이벤트의 처리가 종료된 경우에는 단계 S109로 이동하여 프로세스 사이클의 속도를 원래의 상태(평상시의 상태)로 복귀시키게 되는 것이다.In addition, in step 2, it is checked whether the processing of the external MMI event is terminated as in step S108 while reducing the speed of the process cycle of the virtual machine. If the state is maintained and otherwise the processing of the external MMI event is completed, the process moves to step S109 to return the speed of the process cycle to the original state (normal state).

이상에서 상술한 바와 같이 본 발명의 가상 머신에서 외부 이벤트 처리시 미들렛 상태 제어방법에 따르면, 실행가능 상태에서 외부 MMI 이벤트가 발생하면 포즈 상태로 천이하지 않고 프로세스의 수행 속도만을 줄임으로써 종래와 같이 외부 MMI 이벤트 발생시 포즈 상태로 천이함으로써 발생하는 네트워크의 연결이 끊어지는 현상을 해소할 수 있는 효과가 있다.As described above, according to the method of controlling a middlelet state when processing an external event in the virtual machine of the present invention, when an external MMI event occurs in an executable state, the execution speed of the process is reduced as described above by not changing to a pause state. When the external MMI event occurs, the network connection caused by the transition to the pause state is eliminated.

또한, 외부 MMI 이벤트 발생으로 프로세스 수행 속도를 줄인 상태에서 미들렛에서 처리해야할 이벤트가 발생한 경우에도 순간적으로 프로세스 수행 속도를 늘려줌으로써 외부 MMI 이벤트 발생시에도 미들렛에서 처리해야할 이벤트의 처리가 가능한 효과가 있다.In addition, even when an event to be processed in the middlelet occurs while the process execution speed is reduced due to the occurrence of an external MMI event, the process execution speed is increased instantaneously, so that an event to be processed in the middlelet can be processed even when an external MMI event occurs. .

Claims (3)

가상머신(virtual machine)의 상태를 미들렛(MIDlet) 실행가능 상태로 천이하는 1단계; Transitioning the state of the virtual machine to the MIDlet executable state; 상기 실행가능 상태에서 외부 MMI 이벤트의 발생 여부를 확인하여, 상기 외부 MMI 이벤트가 발생한 경우에는 미들렛 수행속도를 줄여 상기 가상머신의 프로세스 사이클의 속도를 줄이는 2단계; Checking whether an external MMI event has occurred in the executable state, and reducing the speed of a process cycle of the virtual machine by reducing a middlelet execution speed when the external MMI event occurs; 상기 가상머신의 사이클 속도를 줄인 상태에서 미들렛이 처리해야할 이벤트가 발생한 경우, 상기 미들렛 수행속도를 순간적으로 빠르게 하여 상기 미들렛에서 상기 미들렛이 처리해야할 이벤트를 처리하도록 제어하는 3단계; When an event to be processed by the middlelet occurs while the cycle speed of the virtual machine is reduced, controlling the middlelet to process an event to be processed by the middlelet by momentarily increasing the speed of the middlelet; 상기 가상머신의 프로세스 사이클의 속도를 줄인 상태에서 상기 외부 MMI 이벤트의 처리가 종료된 경우에는 상기 가상머신의 프로세스 사이클의 속도를 원래의 상태로 복귀시키는 4단계를 포함하는 것을 특징으로 하는 가상머신에서 외부 이벤트 처리시 미들렛 상태 제어방법.In the virtual machine characterized in that it comprises the step of returning the speed of the process cycle of the virtual machine to the original state when the process of the external MMI event is terminated in the state of reducing the speed of the process cycle of the virtual machine How to control the middlelet state when processing external event. 삭제delete 삭제delete
KR1020040083650A 2004-10-19 2004-10-19 Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine Expired - Fee Related KR101098812B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040083650A KR101098812B1 (en) 2004-10-19 2004-10-19 Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040083650A KR101098812B1 (en) 2004-10-19 2004-10-19 Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine

Publications (2)

Publication Number Publication Date
KR20060034504A KR20060034504A (en) 2006-04-24
KR101098812B1 true KR101098812B1 (en) 2011-12-26

Family

ID=37143294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040083650A Expired - Fee Related KR101098812B1 (en) 2004-10-19 2004-10-19 Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine

Country Status (1)

Country Link
KR (1) KR101098812B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030237050A1 (en) 2002-03-22 2003-12-25 Eran Davidov Markup compiler that outputs MIDlets
US20040040010A1 (en) 2002-04-22 2004-02-26 Kirill Kounik Slowing network connection for application optimization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030237050A1 (en) 2002-03-22 2003-12-25 Eran Davidov Markup compiler that outputs MIDlets
US20040040010A1 (en) 2002-04-22 2004-02-26 Kirill Kounik Slowing network connection for application optimization

Also Published As

Publication number Publication date
KR20060034504A (en) 2006-04-24

Similar Documents

Publication Publication Date Title
US7080159B2 (en) Method and system for effecting migration of application among heterogeneous devices
KR100714710B1 (en) Apparatus and method for forcibly terminating a thread blocked by an I / O operation
US8490070B2 (en) Unified mobile platform
Mulchandani Java for embedded systems
Welch et al. Kava-a reflective java based on bytecode rewriting
JPWO2003107186A1 (en) Program execution processing terminal device, program execution processing method, and program
US8214815B2 (en) Reducing the run-time cost of invoking a server page
CN106445696B (en) A kind of multi-process interactive processing method and system
KR100952680B1 (en) Platform development verification system of mobile communication terminal
CN112256421A (en) Communication processing method, communication processing device, storage medium and electronic equipment
EP4204960B1 (en) Thread-local return structure for asynchronous state machine
KR101098812B1 (en) Method For Controlling MIDlet State In Treat MMI Event of Virtual Machine
US8336031B2 (en) Method and system of performing thread scheduling
CN1118021C (en) The Dynamic Expansion Method of Computer Software Function
US8010955B2 (en) Reducing the run-time cost of incorporating custom tags in a server page
CN114528048A (en) Application execution method, application execution architecture, electronic device and storage medium
JP2011002976A (en) Program execution controller
CN113126969A (en) Interface conversion method and system
CN112667324A (en) Method and device for calling command class in command mode
CN112711472A (en) Method and system for enabling java thread pool to use maximum thread number in preference to queue
JP2006276939A (en) Virtual machine program start method and client server system
CN106919436B (en) Method and device for realizing multitask of Dalvik virtual machine and virtual machine
CN106951266A (en) A kind of application system dissemination method based on driver
KR20050034162A (en) Java emulation method for mobile communication device
Aiello Introduction to Symbian OS

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

A201 Request for examination
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

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

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20141221

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20141221

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301