首页 / 专利库 / 广播 / Xlet / 엑슬렛 수행방법

엑슬렛 수행방법

阅读:624发布:2020-08-04

专利汇可以提供엑슬렛 수행방법专利检索,专利查询,专利分析的服务。并且PURPOSE: A method for executing a Java application is provided to store an initial state of a JVM(Java Virtual Machine) before executing an Xlet when the JVM is started in a set-top box and to stabilize a system by restoring the JVM as the initial state rapidly in the case that system resources are insufficient caused by an error generated during executing the Xlet. CONSTITUTION: If a user turns on a power of a set-top box, a processor reads an operating program in a ROM and constructs an operating system. In addition, a broadcasting signal processing unit receives a data broadcasting signal in accordance with a control of the processor and extracts an Xlet. If the Xlet is extracted, the processor starts a JVM and an initial state of the JVM is stored in a heap. The Xlet is executed through the JVM. In the case that system resources are insufficient caused by an error generated when executing the Xlet, it is checked whether a user wants to restore the JVM as an initial state. If the user selects to restore the JVM, the current JVM is restored as the stored initial state.,下面是엑슬렛 수행방법专利的具体信息内容。

  • JVM(Java Virtual Machine)이 기동되면, 상기 JVM의 초기 상태를 메모리에 저장하는 단계와;
    저장이 끝나면, 상기 JVM을 통해 엑슬렛을 실행하는 단계와;
    실행 도중 에러가 발생되어 시스템 자원이 부족하게 되면, 사용자에게 JVM을 초기 상태로 복원할 것인지를 묻는 단계; 및
    사용자가 복원을 선택하면, 상기 메모리에 저장된 초기 상태로 현재 JVM을 복원하는 단계; 를 포함하는 것을 특징으로 하는 엑슬렛 수행방법.
  • 제 1항에 있어서, JVM의 초기 상태를 메모리에 저장하는 단계는,
    가비지 컬렉션을 수행할 때 상기 초기 상태가 저장된 메모리 영역이 가비지로 인식되지 않도록, 해당 영역에 특별한 플랙(flag)을 할당하여 저장함을 특징으로 하는 엑슬렛 수행방법.
  • 제 1항에 있어서, 초기 상태로 현재 JVM을 복원하는 단계는,
    메모리에서 플랙(flag)이 할당되지 않는 영역만을 가비지 컬렉터로 회수하여 이루러짐을 특징으로 하는 엑슬렛 수행방법.
  • 说明书全文

    엑슬렛 수행방법{Method for performing Xlet}

    본 발명은 엑슬렛 수행방법에 관한 것으로, 보다 상세하게는 DASE(Digital Application Software Environment)용 셋탑박스(이하 '셋탑박스')에서 자바 에플리케이션(Java application; 이하 '엑슬렛(Xlet)')을 보다 안정적으로 수행시킬 수 있는 엑슬렛 수행방법에 관한 것이다.

    인터넷 표준언어인 자바로 작성된 응용 프로그램 즉, 엑슬렛을 셋탑박스에서 실행하기 위해서는 자바 가상기(Java Virtual Machine; 이하 'JVM')를 기동시키게 된다. 통상적으로, JVM은 한 엑슬렛 당 하나의 인스턴스(instance: 운영 체계가 할당하는 하나의 프로세서)가 필요하기 때문에, 보통의 경우 매번 엑슬렛을 실행시키기 위해서 매번 JVM를 기동시키게 된다.

    그런데, 셋탑박스에서는 전체 시스템의 반응 속도가 중요하기 때문에, 대부분의 경우 하나의 JVM을 계속 기동시켜놓고 여러 엑슬렛을 실행시키게 된다.

    상기와 같은 경우 중요한 것이 가비지 컬렉션(Garbage Collection)인데, 이는 이전에 실행된 엑슬렛이 사용했던 시스템 자원(예컨대, 메모리)을 엑슬렛이 종료되는 시점에서 반환시키는 작업이다. 그런데, 셉탑박스와 같이 임베디드(embedde

    d)한 환경에서는 가용할 수 있는 시스템 자원이 크게 제한되어 있으므로, 상기 가비지 컬렉션 과정에서 시스템의 자원을 제대로 회수하지 못하게 될 경우, 새로운 엑슬렛을 수행시키지 못하는 상황이 생기게 된다.

    일반적으로 엑슬렛이 수행되어 종료되면, 사용되었던 시스템 자원이 대부분 회수되지만, 그렇지 못할 경우가 생긴다. 예컨대, 엑슬렛이 잘못 짜여져 있는 경우 가 그렇다.

    도 1은 일반적으로 JVM에서 엑슬렛이 실행되는 과정을 나타낸 도면이다.

    도 1을 참조하면, 정상적인 엑슬렛은 엑슬렛 B와 같이 어떠한 조건이 만족되는 동안만 수행되다가 그 조건이 만족되지 않으면 종료가 되어야 한다. 그런데, 엑슬렛 A와 같이 무한 루프로 수행되는 엑슬렛이 JVM에서 실행되게 되면, JVM이 이러한 엑슬렛을 제대로 회수할 수 없게 된다. 이는 JVM의 가비지 컬렉터(Garbage Collector)가 엑슬렛 A를 정상적으로 수행되는 스레드(Thread)로 생각하기 때문인데, 이렇게 시스템 자원이 계속 낭비되면 다음 엑슬렛 B를 수행시킬 수가 없게 되고, 결국 셋탑박스를 재부팅 시켜야 하는 사태가 발생하게 된다.

    그러나, 셋탑박스를 재부팅하게 되면 시간이 상당히 소요되고, 다시 전원을 껐다 켜야 되므로 사용자가 불편함을 느끼게 된다.

    특히, 사용자들은 엑슬렛 자체의 결함에 의해 셋탑박스가 다운(down)되는 것임에도 불구하고, 상기 셋탑박스 자체에 결함이 있는 것으로 생각하게 된다. 즉, 제품에 대한 사용자의 신뢰도가 현저히 떨어지게 된다.

    본 발명은 상기와 같은 문제점을 해결하고자 안출된 것으로, 셋탑박스에서JVM이 기동되면, 엑슬렛이 실행되기 전에 상기 JVM의 초기 상태를 저장하고, 엑슬렛 실행 중에 에러가 발생하여 시스템 자원이 부족하게 되면, 저장된 초기 상태로 JVM을 신속히 복원시켜 시스템을 빠르게 안정화시키는 엑슬렛 실행방법을 제시하는데 그 목적이 있다.

    도 1은 일반적으로 JVM(Java Virtual Machine)에서 엑슬렛이 실행되는 과정을 나타낸 도면이고,

    도 2는 본 발명에 따른 DASE용 셋탑박스의 구성을 나타낸 도면이고,

    도 4는 본 발명에 따라 JVM의 초기 상태가 히프에 저장된 구조를 나타낸 도면이고,

    도 5는 본 발명에 따라 엑슬렛이 실행된 이후의 히프 구조를 나타낸 도면이고,

    도 6은 본 발명에 따라 엑슬렛을 더 이상 실행할 수 없을 경우 화면에 표시되는 메시지를 나타낸 도면이고,

    도 7은 본 발명에 따라 가비지 컬렉터가 수행되어 JVM이 초기 상태로 복원된 상태의 히프 구조를 나타낸 도면이고,

    도 8은 본 발명에 따라 비정상적으로 종료된 스레드의 우선 순위를 재설정하는 과정을 나타낸 도면이다.

    <도면의 주요 부분에 대한 부호의 설명 >

    210: 방송 신호 처리부220: 롬

    230: 프로세서240: 저장부

    241: 히프(heap)242: 일반 메모리

    250: 전원부410: 플랙(flag)

    상기의 목적을 달성하기 위한 본 발명에 따른 엑슬렛 수행방법은,

    JVM(Java Virtual Machine)이 기동되면, 상기 JVM의 초기 상태를 메모리에 저장하는 단계와;

    저장이 끝나면, 상기 JVM을 통해 엑슬렛을 실행하는 단계와;

    실행 도중 에러가 발생되어 시스템 자원이 부족하게 되면, 사용자에게 JVM을 초기 상태로 복원할 것인지를 묻는 단계; 및

    사용자가 복원을 선택하면, 상기 메모리에 저장된 초기 상태로 현재 JVM을 복원하는 단계; 를 포함하는 것을 특징으로 한다.

    여기서, JVM의 초기 상태를 메모리에 저장하는 단계는, 가비지 컬렉션을 수행할 때 상기 초기 상태가 저장된 메모리 영역이 가비지로 인식되지 않도록, 해당 영역에 특별한 플랙(flag)을 할당하여 저장함을 특징으로 한다.

    그리고, 초기 상태로 현재 JVM을 복원하는 단계는, 메모리에서 플랙이 할당되지 않는 영역만을 가비지 컬렉터로 회수하여 이루러짐을 특징으로 한다.

    이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명한다.

    도 2는 본 발명에 따른 DASE용 셋탑박스(이하 '셋탑박스')의 구성을 나타낸도면이다.

    도 2를 참조하면, 상기 셋탑박스는, 데이터 방송 신호를 수신하여 엑슬렛을 추출하는 방송 신호 처리부(210)와; 시스템의 전반적인 동작을 제어하는 운영 프로그램이 저장되는 롬(220)과; 상기 운영 프로그램과 JVM을 기동시키는 프로세서(230

    )와; 상기 JVM의 초기 상태를 저장하며, 상기 엑슬렛이 실행되는 동안 수시로 데이터가 할당되고 회수되는 히프(Heap)(241)와, 상기 엑슬렛이 실행되면서 만들어지는 스레드의 정보를 보관하는 일반 메모리(242)로 구분되는 저장부(240); 상기 제 구성요소(210)(220)(230)(240)에 전원을 공급하는 전원부(250); 등으로 구성되어 있다.

    여기서, 상기 JVM은 셋탑박스의 운영 프로그램이 기동되어 구축된 운영 체제하에서 엑슬렛이 실행될 수 있게 하는 프로그램이며, 특정 엑슬렛의 실행이 종료되면 사용되었던 시스템 자원을 회수하는 가비지 컬렉터를 포함하고 있다.

    그럼, 상기와 같은 구성을 갖는 셋탑박스의 동작 설명을 통해, 본 발명에 따른 엑슬렛 수행방법에 대해 알아보기로 한다.

    도 3은 본 발명에 따른 수행방법을 설명하기 위한 블럭도 이다.

    먼저, 사용자가 셋탑박스의 전원(250)을 켜게 되면, 프로세서(230)는 롬(220)에서 운영 프로그램을 읽어들여 운영 체계를 구축하고, 방송 신호 처리부(210)에서는 상기 프로세서(230)의 제어에 따라 데이터 방송 신호를 수신하여 엑슬렛을 추출한다.

    엑슬렛이 추출되면, 상기 프로세서(230)는 JVM을 기동시키게 되고, JVM의 초기 상태가 히프(241)에 저장된다. 이때, JVM의 초기 상태를 저장하기 위해서 다음과 같은 방법을 사용한다.

    도 4는 본 발명에 따라 JVM의 초기 상태가 히프에 저장된 구조를 나타낸 도면이다.

    일반적으로, JVM에서 엑슬렛을 실행시키기 위해서는 히프(241)라는 특정 메모리 영역이 필요한데, 상기 영역은 각각 핸들 영역(handle space)과 오브젝트 영역(Object space)로 나뉜다. JVM의 초기 상태는 이러한 핸들과 오브젝트 영역에 저장된다(도 4의 (1)). 그리고, 이후 복원시 가비지 컬렉터가 상기 영역을 가비지로 인식하지 않도록 상기 핸들과 오브젝트에 특별한 플랙(flag)(410)을 할당한다(도 4의 (2)).

    한편, JVM의 초기 상태가 저장되면 상기 프로세서(230)에서는 JVM을 통해 추출된 엑슬렛을 실행시킨다. 이에 따라, 엑슬렛이 실행되어 정상적으로 종료되면, 가비지 컬렉터는 상기 엑슬렛이 실행되면서 사용되었던 시스템 자원을 회수하고, 회수가 끝나면, 상기 프로세서(230)에서는 JVM을 통해 다음 엑슬렛을 실행시킨다.

    그런데, 엑슬렛의 실행 도중 에러가 발생하게 되면, 가비지 컬렉터가 정상적으로 시스템 자원을 회수하지 못하게 되어, 다음 엑슬렛을 실행할 수 없게 된다. 따라서, 엑슬렛의 실행 도중 에러가 발생되어 시스템 자원이 부족하게 되면, 에러 발생 전에 저장해 놓았던 데이터를 이용하여 JVM을 초기 상태로 복원시킨다. 즉, 에러가 발생된 엑슬렛이 사용하였던 시스템 자원을 가비지 컬렉터를 이용하여 강제로 회수한다. 이때, JVM을 초기 상태로 복원시키기 위해서 다음과 같은 방법을 사용한다.

    도 5는 본 발명에 따라 엑슬렛이 실행된 이후의 히프 구조를 나타낸 것이고, 도 6은 본 발명에 따라 엑슬렛을 더 이상 실행할 수 없을 경우 화면에 표시되는 메시지를 나타낸 것이고, 도 7은 본 발명에 따라 가비지 컬렉터가 수행되어 JVM이 초기 상태로 복원된 상태의 히프 구조를 나타낸 것이다.

    엑슬렛이 사용하였던 시스템 자원이 정상적 회수되지 않으면 히프는 도 5와 같은 구조가 되는데, 만일 상기 엑슬렛 때문에 다음 엑슬렛을 실행할 수 없는 상태가 되면 즉, 시스템 자원이 부족하게 되면, 사용자에게 6과 같은 경고 메시지를 화면에 표시한다. 이때, 바로 JVM을 초기 상태로 복원하지 않고, 사용자에게 '복원여부'를 선택하도록 하게 하는 것은 사용자가 더 이상 엑슬렛을 수행시키고 싶지 않을 수도 있기 때문이다.

    사용자가 'Yes'를 입력하면, 가비지 컬렉터가 강제로 시스템 자원을 회수하게 된다, 그런데, JVM의 초기 상태 정보가 기록된 핸들과 오브젝트에는 가비지로 인식되지 않도록 특별한 플랙(410)이 설정되어 있으므로, 상기 가비지 컬렉터는 JVM의 초기 상태 정보는 회수하지 못하고, 그 결과 상기 JVM은 초기 상태로 복원된다. 즉, 상기 히프는 도 7과 같은 구조가 된다.

    그런데, 이처럼 강제로 히프를 정리하고 나면, 에러가 발생된 엑슬렛이 제대로 종료되지 않고 다시 수행될 때 강제적으로 회수된 핸들과 오브젝트로 인해 문제가 발생할 수 있다.

    따라서, 도 8과 같이 에러가 발생된 엑슬렛이 비정상적으로 종료될 때는, 상기 엑슬렛이 수행되면서 만든 모든 스레드의 우선 순위를 가장 낮게 설정하여, 상기 엑슬렛이 다시 스케쥴링 되는 일이 없게 만든다. 그러면, 새로운 엑슬렛이 수행될 때 이전의 비정상적으로 종료된 엑슬렛이 있다 하더라도 새로운 엑슬렛의 우선 순위가 더 높기 때문에 항상 새로운 엑슬렛만 수행되게 된다. 도 8은 본 발명에 따라 비정상적으로 종료된 스레드의 우선 순위를 재설정하는 과정을 나타낸 도면이다.

    한편, 상기와 같이 오류가 발생되어 비정상적으로 종료된 엑슬렛의 우선 순위를 재설정 하기 위해서, 일반 메모리(242)에는 현재 실행중인 스레드들의 정보가 별도로 기록된다.

    이상, 전술한 실시예는 예시의 목적을 위해 개시된 것으로, 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경, 개량, 대체 및 부가 등의 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 이하 첨부되는 특허청구의 범위에 의하여 정하여야만 한다.

    상술한 바와 같이 본 발명에 따른 엑슬렛 실행방법은, 잘못 작성된 엑슬렛이 시스템을 불안정하게 만들었을 때 효율적으로 시스템을 복구하여, 다음 엑슬렛을 신속히 실행시킨다.

    특히, 셋탑박스의 전원을 껐다 켜는 재부팅 방식으로 시스템을 복구하는 것이 아니라, 가비지 컬렉션을 이용하여 잘못 작성된 엑슬렛의 수행에 사용된 시스템 자원만을 강제 회수하는 방식으로 시스템을 복구하므로, 시스템 복구 속도가 매우빠르고, 이로 인해 사용자의 제품에 대한 신뢰감을 크게 향상시킬 수 있는 이점이 있다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈