KR100691120B1 - 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법 - Google Patents

메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법 Download PDF

Info

Publication number
KR100691120B1
KR100691120B1 KR1020060004605A KR20060004605A KR100691120B1 KR 100691120 B1 KR100691120 B1 KR 100691120B1 KR 1020060004605 A KR1020060004605 A KR 1020060004605A KR 20060004605 A KR20060004605 A KR 20060004605A KR 100691120 B1 KR100691120 B1 KR 100691120B1
Authority
KR
South Korea
Prior art keywords
memory
error
memory space
memory error
application
Prior art date
Application number
KR1020060004605A
Other languages
English (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 KR1020060004605A priority Critical patent/KR100691120B1/ko
Application granted granted Critical
Publication of KR100691120B1 publication Critical patent/KR100691120B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03DWATER-CLOSETS OR URINALS WITH FLUSHING DEVICES; FLUSHING VALVES THEREFOR
    • E03D13/00Urinals ; Means for connecting the urinal to the flushing pipe and the wastepipe; Splashing shields for urinals
    • E03D13/005Accessories specially adapted for urinals
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03DWATER-CLOSETS OR URINALS WITH FLUSHING DEVICES; FLUSHING VALVES THEREFOR
    • E03D5/00Special constructions of flushing devices, e.g. closed flushing system
    • E03D5/02Special constructions of flushing devices, e.g. closed flushing system operated mechanically or hydraulically (or pneumatically) also details such as push buttons, levers and pull-card therefor
    • E03D5/08Special constructions of flushing devices, e.g. closed flushing system operated mechanically or hydraulically (or pneumatically) also details such as push buttons, levers and pull-card therefor directly by the foot combined with devices for opening or closing shutters in the bowl outlet and/or with devices for raising or lowering seat and cover and/or for swiveling the bowl

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Hydrology & Water Resources (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법에 관한 것으로, 어플리케이션의 실행 중에 발생하는 메모리 에러를 처리한다.
본 발명에 따르면, 메모리 에러 관리를 위한 미들웨어는 특정 서비스의 제공을 위하여 실행되는 어플리케이션(Application)의 라이프 사이클(Lifecycle)을 제어하는 어플리케이션 관리부와, 상기 어플리케이션 관리부의 제어에 의해 실행되는 어플리케이션에서 파생된, 적어도 하나 이상의 스레드(Thread)에서 발생한 메모리 에러를 처리하는 메모리 에러 처리부를 포함한다. 이로 인하여, 어플리케이션의 실행으로 특정 서비스를 제공하는 시스템이 보다 안정적으로 동작한다.
미들웨어, 메모리, 에러

Description

메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법{Middleware and method for managing memory error}
도 1은 메모리 에러 발생시 에러 전달의 흐름을 보인 도면.
도 2는 스레드에서 메모리 에러가 발생된 경우에 에러 전달의 흐름을 보인 도면.
도 3은 본 발명의 메모리 에러 관리를 위한 미들웨어를 포함한 시스템의 구성을 보인 블록도.
도 4는 본 발명의 메모리 에러 관리방법을 보인 흐름도.
*도면의 주요 부분에 대한 부호의 설명*
310 : 어플리케이션 관리부 320 : 메모리 에러 처리부
331 : 자바 힙 메모리 333 : 시스템 네이티브 메모리
본 발명은 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법에 관한 것으로, 특히 데이터 방송용 어플리케이션(Application)의 실행시 발생한 메 모리 에러를 처리하는 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법에 관한 것이다.
최근 디지털 방송이 가속화되면서 지상파 방송, 위성 방송 및 케이블 방송 등의 다양한 방송 매체를 통한 고화질/고음질의 디지털 방송이 시작되고 있다. 또한, 각 방송사와 케이블 방송 업체에서는 방송 프로그램과 함께 다양한 부가 정보를 제공할 수 있는 데이터 방송 서비스를 도입하고 있다.
데이터 방송이란 방송망을 통해 기존의 방송 프로그램 이외에 방송 프로그램과 관련된 정보 및 날씨, 뉴스, 교통정보 등과 같은 생활정보는 물론 인터넷, 전자상거래 서비스까지 제공하는 대화형 방송(End-to-End Interactive Personalized Solution)을 의미한다. 방송국에서는 방송 프로그램과 함께 부가적인 데이터 콘텐츠를 제공하고, 데이터 방송 수신장치에 네트워크 접속카드를 구비하여 인터넷 통신이 가능하도록 함으로써, 사용자가 원하는 정보를 보다 폭넓게 얻을 수 있다. 예를 들면, 역사 프로그램을 시청하면서 등장 인물이나 시대 배경을 인터넷에 접속하여 확인할 수 있고, 오락 프로그램이나 스포츠 프로그램을 시청하면서 가수나 선수들의 신상자료를 확인할 수도 있다.
상기와 같이 양방향 통신이 가능한 데이터 방송의 특성상 그 응용 분야는 엔터테인먼트, 쇼핑, 스포츠, 교육 등 매우 다양하므로, 데이터 방송 서비스의 발전 가능성은 매우 높다. 이에 따라, 데이터 방송 처리 기능을 갖는 데이터 방송 수신기들에 대한 개발이 활발하게 진행되고 있다.
데이터 방송 수신기에서 특정 서비스를 제공하기 위한 복수의 어플리케이션 은 자바(Java)로 구현된다. 그리고 각 어플리케이션은 데이터 방송 수신기에 구비되어 있는 한정된 용량의 메모리를 공유하여 사용한다. 어플리케이션이 실행되는 데 있어서 메모리에 관한 에러가 발생할 수 있다. 메모리에 관한 에러는 메모리 부족 에러(Out Of Memory Error) 또는 스택 오버 플로우 에러(Stack Overflow Error) 등이 포함된다. 그런데 상기 에러가 발생한 경우에 종래의 데이터 방송용 어플리케이션은 자체적으로 처리할 능력이 없으므로, 별도의 처리를 수행하지 않았다.
도 1은 메모리 에러 발생시 에러 전달의 흐름을 보인 도면이다. 도시된 바와 같이, 메모리 에러가 발생한 경우에, 발생된 에러는 호출순서(Call Stack)를 따라서 상위 호출자(Caller)에게 전달되며, 최종적으로 java.lang.Thread 객체까지 전달되었다. java.lang.Thread 객체도 메모리 에러를 전달받은 경우에 별도의 처리를 하지 않기 때문에, 메모리 에러가 발생됨으로 인하여 해당 스레드(Thread)는 멈춰버리는 상태가 된다.
한편, 도 2는 스레드에서 메모리 에러가 발생된 경우에 에러 전달의 흐름을 보인 도면이다. 도시된 바와 같이, 미들웨어가 직접 생성한 어플리케이션에서 파생된, 메인 스레드(Main Thread)에서 발생한 메모리 에러는 미들웨어에서 감지할 수 있다. 왜냐하면, 메인 스레드의 경우에는 미들웨어에서 직접 생성하여 관리/제어되기 때문이다. 그러나 어플리케이션이 자체적으로 생성한 서브 스레드(Sub Thread)에서 발생하는 메모리 에러는 미들웨어에서 감지될 수 없다. 그러므로 서브 스레드에서 메모리 에러가 발생한 경우에 미들웨어는 비정상적인 동작을 하며, 이를 복구하기 위하여 사용자가 데이터 방송 수신기를 직접 리부팅시켜야 하는 불편함이 있 었다.
그러므로 본 발명의 목적은 어플리케이션의 실행시 발생한 메모리 부족 에러를 미들웨어에서 처리하여 미들웨어의 안정성을 향상시키는 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법을 제공하는 데 있다.
본 발명의 다른 목적은 메인 스레드뿐만 아니라 서브 스레드에서 발생하는 메모리 에러가 미들웨어로 통보될 수 있도록 하는 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 어플리케이션의 실행시 발생한 메모리 부족 에러로 인하여 시스템의 복구가 불가능한 경우에, 자동으로 미들웨어가 시스템을 리부팅시키기 위한 명령을 출력하는 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법을 제공하는 데 있다.
이러한 목적을 이루기 위한 본 발명의 메모리 에러 관리를 위한 미들웨어는 특정 서비스의 제공을 위하여 실행되는 어플리케이션의 라이프 사이클을 제어하는 어플리케이션 관리부와, 상기 어플리케이션 관리부의 제어에 의해 실행되는 어플리케이션에서 파생된, 적어도 하나 이상의 스레드에서 발생한 메모리 에러를 처리하는 메모리 에러 처리부를 포함하는 것을 특징으로 한다.
상기 메모리 에러 처리부는 메모리 공간 정리요구 명령을 출력하고, 상기 메모리 공간 정리요구 명령에 의하여 정리된 메모리 공간을 검사하여 프리 메모리 공간이 기준값 미만인 경우에, 메모리 에러가 발생된 스레드를 파생한 어플리케이션의 상태변경요구 명령을 출력하는 것을 특징으로 한다.
상기 메모리 에러 처리부는 상기 어플리케이션의 상태변경 요구명령을 출력한 이후에, 메모리 공간을 검사하여 프리 메모리 공간이 기준값 미만인 경우에는 시스템 리부팅 명령을 출력하는 것을 특징으로 한다.
본 발명의 메모리 에러 관리방법은 특정 서비스를 제공하기 위하여 실행되는 어플리케이션에서 파생된, 적어도 하나 이상의 스레드에서 발생한 메모리 에러를 통보받는 단계와, 메모리 공간 정리요구 명령을 출력하는 단계와, 상기 명령에 따라 정리된 메모리 공간을 검사하여 프리 메모리 공간이 기준값 이상인지의 여부를 판단하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 메모리 에러 관리방법은 상기 판단결과 프리 메모리 공간이 기준값 미만인 경우에, 상기 메모리 에러가 발생된 스레드를 파생한 어플리케이션에 대한 상태변경요구 명령을 출력하는 단계와, 메모리 공간을 검사하여, 프리 메모리 공간이 기준값 이상인지의 여부를 판단하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 메모리 에러 관리방법은 상기 어플리케이션에 대한 상태변경요구 명령을 출력한 이후에 검사한 메모리 공간에서, 상기 판단결과 프리 메모리 공간이 기준값 미만인 경우에, 시스템 리부팅 명령을 출력하는 단계를 더 포함하는 것을 특징으로 한다.
상기 메모리 에러는 메모리 부족 에러 또는 스택 오버 플로우 에러인 것을 특징으로 한다.
상기 메모리 공간 정리요구 명령은 가비지 콜렉션 호출인 것을 특징으로 한다.
상기 메모리 공간의 검사는 자바 힙 메모리 및 시스템 네이티브 메모리 각각에 대한 메모리 공간의 검사인 것을 특징으로 한다.
상기 스레드는 메모리 에러가 감지된 경우에 에러발생을 통보하는 것을 특징으로 한다.
상기 상태변경요구 명령은 어플리케이션의 상태를 종료상태로의 변경 요구 명령인 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리 방법을 상세히 설명한다.
도 3은 본 발명의 메모리 에러 관리를 위한 미들웨어가 포함된 시스템의 구조를 보인 블록도이다. 메모리 에러 관리를 위한 미들웨어는 어플리케이션 관리부(310)와 메모리 에러 처리부(320)를 포함한다.
어플리케이션 관리부(310)는 특정 서비스를 제공하기 위하여 실행되는 어플리케이션(300)의 라이프 사이클(Lifecycle)을 제어한다. 어플리케이션(300)은 자바 환경에서 Xlet라는 인터페이스로 조절되는데, Xlet은 콜백(Callback) 메커니즘(Mechanism)을 통해 어플리케이션 관리부(310)와 통신한다. 상기 통신으로 인하여, 라이프 사이클에서의 각 상태변화가 어플리케이션 관리부(310)로 보고된다. 어플리케이션 관리부(310)는 어플리케이션(300)의 상태변화를 모니터링(Monitoring)하기 위한 상태변화 테이블(Table)이 포함된다. 상태변화 테이블의 데이터 구조는 해시 테이블(Hash Table)로 구성될 수 있는 등의 다양한 방법이 존재한다.
어플리케이션(300)의 라이프 사이클(Lifecycle)은 로드상태(Loaded State)와, 중지상태(Paused State)와, 활성상태(Active State)와, 종료상태(Destroyed State)의 순서로 이루어진다. 데이터 방송용 어플리케이션(300)은 이러한 라이프 사이클의 순서로 초기화된 후, 실행되고 종료된다. 즉, 어플리케이션(300)의 라이프 사이클은 초기에 어플리케이션(300)의 자바 클래스가 로드되는 로드상태가 된다. 어플리케이션 관리부(310)가 Xlet을 초기화하라는 신호를 출력하면, 어플리케이션(300)은 중지상태가 되며, 상기 중지상태는 활성을 준비하는 상태이다. 활성상태는 어플리케이션(300)이 실행되는 것을 의미하며, 서비스를 제공하고 있는 상태이다. 종료상태는 어플리케이션(300)이 모든 자원을 반환하고 종결하는 상태이다.
메모리 에러 처리부(320)는 어플리케이션 관리부(310)의 제어에 의하여 실행되는 어플리케이션(300)에서 파생된, 적어도 하나 이상의 스레드에서 발생한 메모리 에러를 처리한다. 데이터 방송 수신기에 구비된 메모리(330)는 자바 힙(Java Heap) 메모리(331)와 시스템 네이티브(System Native) 메모리(333) 등으로 구분된다. 자바 힙 메모리(331)는 자바 오브젝트(Object) 예를 들면, 변수, 클래스 등의 저장을 위하여 예약된다. 즉, 자바 오브젝트가 생성되면, 생성된 오브젝트는 자바 힙 메모리(331)에서 저장 가능한 공간인 프리 메모리 공간에 저장된다. 자바 힙 메 모리(331)에 저장되는 오브젝트의 크기는 생성된 오브젝트에 포함된 자바 필드(Java Fields)의 유형 예를 들면, int, long, array 등에 따라 상이할 수 있다. 시스템 네이티브 메모리(333)는 시스템상에서 서비스를 제공하기 위하여 예약된다. 예를 들면, 데이터 방송 수신기에서 화면에 이미지를 표시하고자 하는 경우에, 이미지 표시를 위한 서비스의 제공을 위하여 시스템 네이티브 메모리(333)를 할당받는다. 자바 힙 메모리(331)와 시스템 네이티브 메모리(333) 각각의 저장 용량은 기 설정되어 있다.
한편, 자바 힙 메모리(331)와 시스템 네이티브 메모리(333)는 상호간에 메모리 공간을 공유하지 않는다. 즉, 자바 오브젝트를 위하여 할당되는 자바 힙 메모리(331)의 프리 메모리 공간이 부족하나 특정 서비스의 제공을 위하여 할당되는 네이티브 메모리의 프리 메모리 공간은 충분한 경우에, 자바 오브젝트를 위하여 네이티브 메모리의 프리 메모리 공간을 할당하는 것은 불가능하다. 그러므로 자바 힙 메모리(331)와 네이티브 메모리의 프리 메모리 공간(333)은 시스템이 안정적으로 동작하기 위하여 항상 기준값 이상이어야 한다. 한편, 다른 작업을 위하여, 할당된 메모리는 사용되는 용도가 완료된 경우에 반환된다.
메모리 에러 처리부(320)는 어플리케이션(300)에서 파생된, 적어도 하나 이상의 스레드에서 발생한 메모리 에러를 통보받는다. 하나의 어플리케이션(300)에는 하나의 메인 스레드와 적어도 하나 이상의 서브 스레드가 포함되어 있다. 어플리케이션(300)에 포함된 메인 스레드 및 서브 스레드는 메모리 에러가 감지된 경우에 에러의 발생을 메모리 에러 처리부(320)로 통보한다. 메인 스레드 및 서브 스레드 가 메모리 에러의 발생을 메모리 에러 처리부(320)로 통보하는데 있어서, 자바 인터페이스 하에서 스레드의 실행을 위한 메소드(Method)인 run()의 수행부분에 try-catch 구문(Clause)을 이용한 메모리 에러감지 기능을 추가함으로써, 메모리 에러의 발생이 메모리 에러 처리부(320)로 통보될 수 있다.
메모리 에러 처리부(320)는 메모리 에러를 통보받은 경우에, 메모리 공간 정리요구 명령을 출력한다. 상기한 바와 같이 메모리 에러는 메모리 부족이나 스택이 오버플로우 된 경우에 발생하므로, 메모리 공간 정리요구 명령으로 메모리 공간이 정리될 수 있도록 한다. 메모리 공간 정리요구 명령은 가비지 콜렉션(Garbage Collection)의 호출이다. 메모리 에러 처리부(320)는 자바 가상 머신(JVM : Java Virtual Machine)에 가비지 콜렉션을 호출한다. 가비지 콜렉션이 호출됨으로써, 오브젝트 또는 특정 서비스를 위하여 할당된 메모리 중에서 현재 사용되지 않는 메모리가 정리된다. 현재 사용되지 않은 메모리가 정리되면, 프리 메모리 공간이 증가한다. 그러나 가비지 콜렉션의 호출로 메모리 공간이 정리된 경우에도, 프리 메모리 공간이 반드시 증가하는 것은 아니다.
메모리 에러 처리부(320)는 메모리 공간 정리요구 명령을 출력한 이후에, 메모리 공간을 검사하여 프리 메모리 공간이 기준값 미만인지의 여부를 판단한다. 상기 프리 메모리 공간의 기준값은 시스템이 안정적으로 동작하기 위하여 사용 가능한 메모리 공간의 용량이다. 즉, 자바 힙 메모리(331) 및 시스템 네이티브 메모리 (333) 각각의 프리 메모리 공간이 기준값 이상이어야 시스템이 안정적으로 동작할 수 있으므로, 각각의 메모리에 대하여 프리 메모리 공간이 기준값 미만인지의 여부 를 판단한다.
메모리 에러 처리부(320)는 프리 메모리 공간이 기준값 미만인 경우에, 메모리 에러가 발생된 스레드를 파생한 어플리케이션(300)의 상태변경요구 명령을 출력한다. 즉, 메모리 에러 처리부(320)는 어플리케이션(300)이 종료상태가 되도록 어플리케이션 관리부(310)로 상태변경요구 명령을 출력한다. 메모리 에러가 발생된 스레드를 파생한 어플리케이션(300)의 상태가 종료상태가 되면, 어플리케이션(300)이 파생한 스레드를 위한 자바 오브젝트의 생성 등이 불필요하다. 자바 오브젝트의 생성 등이 불필요하므로, 자바 힙 메모리(331) 또는 시스템 네이티브 메모리(333)의 할당을 요하는 동작이 불필요하게 된다. 또한, 어플리케이션(300)의 상태가 종료상태인 경우에는 어플리케이션(300)의 실행에 사용되었던 리소스(Resource)가 반환되고, 가비지 콜렉션이 호출되어 메모리가 정리된다.
메모리 에러 처리부(320)는 어플리케이션(300)의 상태변경요구 명령을 출력한 이후에, 프리 메모리 공간이 기준값 미만인지의 여부를 판단한다. 상기한 바와 같이 어플리케이션(300)의 상태가 종료상태가 되면, 가비지 콜렉션의 호출로 인하여 메모리가 정리되므로 메모리 에러 처리부(320)는 프리 메모리 공간이 기준값 미만인지의 여부를 판단한다.
메모리 에러 처리부(320)는 프리 메모리 공간이 기준값 미만인 경우에, 시스템 리부팅 명령을 출력한다. 즉, 메모리 에러가 발생된 스레드를 파생한 어플리케이션(300)의 상태를 종료상태로 변경한 이후에도, 시스템을 안정적으로 동작시키기 위한 프리 메모리 공간이 부족한 경우에, 메모리 에러 처리부(320)는 자동적으로 시스템이 리부팅될 수 있도록 시스템 리부팅 명령을 출력한다. 메모리 에러 처리부(320)가 시스템 리부팅 명령을 출력하는 데 있어서, 시스템을 리부팅 시키는 메소드를 호출하는 등의 다양한 방법으로 구현이 가능하다.
메모리 공간을 검사하여 프리 메모리 공간이 기준값 이상인 경우는 시스템이 안정적으로 동작할 수 있는 메모리 공간이 확보된 경우이다. 그러므로 메모리 에러는 더 이상 발생하지 않게 되고, 메모리 에러 처리부(320)가 메모리 공간을 검사하는 등의 작업이 종료된다.
한편, 도 4는 본 발명의 메모리 에러 관리 방법을 보인 흐름도이다. 도시된 바와 같이, 단계(S400)에서 메모리 에러 발생을 통보받는다. 메인 스레드 또는 서브 스레드에서 메모리 에러가 발생한 경우에, 미들웨어에 포함된 메모리 에러 처리부(320)는 메모리 에러의 발생을 통보받는다. 각 스레드는 메모리 에러가 감지된 경우에 이를 통보할 수 있도록, 스레드의 실행을 위한 메소드에 메모리 에러 감지 기능이 추가되어 구현되는 등의 다양한 방법이 존재한다.
단계(S402)에서 메모리 공간 정리 요구 명령이 출력된다. 메모리 에러 처리부는 메모리 에러 발생을 통보받은 경우에, 메모리 공간 정리 요구 명령을 출력한다. 즉, 메모리 에러 처리부(320)는 메모리 에러 발생을 통보받은 경우, 자바 가상 머신에 가비지 콜렉션을 호출한다. 호출된 가비지 콜렉션에 의하여, 자바 힙 메모리(331) 및 시스템 네이티브 메모리(333) 중에서, 현재 자바 오브젝트 또는 서비스 제공을 위하여 사용되지 않는 메모리가 정리된다.
단계(S404)에서 메모리 공간을 검사한다. 메모리 에러 처리부(320)는 메모리 공간 정리요구 명령을 출력하고 일정 시간 동안 동작을 슬립(Sleep)한 이후에, 메모리 공간을 검사한다. 메모리 공간 정리요구 명령에 따라서 메모리 공간이 정리된 경우에도, 프리 메모리 공간이 증가하지 않을 수 있다. 그러므로 메모리 에러 처리부(320)는 메모리 공간을 검사한다.
단계(S406)에서 프리 메모리 공간이 기준값 이상인지의 여부를 판단한다. 메모리 에러 처리부(320)는 자바 힙 메모리(331) 및 시스템 네이티브 메모리(333) 각각을 검사하여 프리 메모리 공간이 기준값 이상인지의 여부를 판단한다. 프리 메모리 공간이 기준값 이상이라는 의미는, 메모리의 현재 저장 가능한 용량을 이용하여 시스템이 안정적으로 동작할 수 있다는 것을 의미한다.
상기 단계(S406)의 판단결과 프리 메모리 공간이 기준값 미만인 경우에, 단계(S408)에서 메모리 에러가 발생된 스레드를 파생한 어플리케이션의 상태변경 요구명령을 출력한다. 메모리 공간을 검사한 결과 프리 메모리 공간이 기준값 미만인 경우에 시스템을 안정적으로 동작시키기 위한 메모리 용량이 불충분하므로, 메모리 에러 처리부(320)는 메모리 에러가 발생된 스레드를 파생한 어플리케이션(300)의 상태가 종료상태가 되도록 상태변경 요구명령을 출력한다. 상태변경 요구명령에 따라서 해당 어플리케이션(300)은 종료상태가 되므로, 어플리케이션(300)의 실행을 위하여 사용되는 리소스는 반납되고 가비지 콜렉션이 호출되어 메모리 공간이 정리된다.
단계(S410)에서 메모리 공간을 검사한다. 어플리케이션(300)의 상태가 종료상태가 되면 호출된 가비지 콜렉션에 의하여 메모리 공간이 정리되므로, 메모리 에 러 처리부(320)는 메모리 공간을 검사한다.
단계(S412)에서 프리 메모리 공간이 기준값 이상인지의 여부를 판단한다. 어플리케이션의 상태가 종료상태가 된 경우에도 가비지 콜렉션이 호출되어 메모리 공간이 정리되므로, 메모리 에러 처리부(320)는 메모리 공간을 검사하여 프리 메모리 공간이 기준값 이상인지의 여부를 판단한다. 즉, 메모리 에러 처리부(320)는 시스템을 안정적으로 동작시킬 수 있는 프리 메모리 공간이 존재하는지의 여부를 판단한다.
상기 단계(S412)의 판단결과 프리 메모리 공간이 기준값 미만인 경우에, 단계(S414)에서 시스템 리부팅 명령을 출력한다. 프리 메모리 공간이 기준값 미만인 경우에 시스템을 안정적으로 동작시키기 위한 프리 메모리 공간이 존재하지 않으므로, 메모리 에러 처리부(320)는 시스템 리부팅 명령을 출력한다. 시스템 리부팅 명령은 시스템을 리부팅 시킬 수 있는 메소드를 호출함으로써 구현 가능하다.
한편, 상기에서는 본 발명을 특정의 바람직한 실시 예에 관련하여 도시하고 설명하였지만, 이하의 특허청구범위에 의해 마련되는 본 발명의 정신이나 분야를 이탈하지 않는 한도 내에서 본 발명이 다양하게 개조 및 변화될 수 있다는 것을 당 업계에서 통상의 지식을 가진 자는 용이하게 알 수 있다. 즉, 본 발명은 특정 서비스를 제공하기 위한 어플리케이션이 자바로 구현되는 제반의 장치 등에 적용 가능하다.
이와 같이 본 발명은 어플리케이션이 실행되는 데 있어서 메모리 에러가 발생한 경우에, 미들웨어에 포함된 메모리 에러 처리부가 메모리 에러의 발생을 처리한다. 즉, 메모리 에러가 발생한 경우에 메모리 에러 처리부를 포함한 미들웨어가 포착/대응할 수 있도록 하여 미들웨어의 안정성을 향상시킨다.
또한, 스레드는 메모리 에러가 발생한 경우에 이를 미들웨어로 통보할 수 있도록 구성됨으로써, 메인 스레드뿐만 아니라 서브 스레드에서 발생하는 메모리 에러도 미들웨어로 통보된다.
메모리 에러 처리부가 메모리 공간을 검사하여 프리 메모리 공간이 기준값 미만인 경우에, 사용자가 직접 시스템을 리부팅시켜야 하는 번거로움 없이 메모리 에러 처리부가 시스템 리부팅 명령을 출력함으로써, 보다 편리하게 시스템을 동작시킬 수 있다.

Claims (13)

  1. 특정 서비스의 제공을 위하여 실행되는 어플리케이션(Application)의 라이프 사이클(Lifecycle)을 제어하는 어플리케이션 관리부; 및
    상기 어플리케이션 관리부의 제어에 의해 실행되는 어플리케이션에서 파생된, 적어도 하나 이상의 스레드(Thread)에서 발생한 메모리 에러를 처리하는 메모리 에러 처리부를; 포함하는 메모리 에러 관리를 위한 미들웨어.
  2. 제 1항에 있어서, 상기 메모리 에러 처리부는;
    메모리 공간 정리요구 명령을 출력하고,
    상기 메모리 공간 정리요구 명령에 의하여 정리된 메모리 공간을 검사하여 프리(Free) 메모리 공간이 기준값 미만인 경우에, 메모리 에러가 발생된 스레드를 파생한 어플리케이션의 상태변경요구 명령을 출력하는 것을 특징으로 하는 메모리 에러 관리를 위한 미들웨어.
  3. 제 2항에 있어서, 상기 메모리 에러 처리부는;
    상기 어플리케이션의 상태변경 요구명령을 출력한 이후에, 메모리 공간을 다시 검사하여 프리 메모리 공간이 기준값 미만인 경우에, 시스템 리부팅 명령을 출력하는 것을 특징으로 하는 메모리 에러 관리를 위한 미들웨어.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 상기 메모리 에러는;
    메모리 부족 에러(Out of Memory Error) 또는 스택 오버플로우 에러(Stack Overflow Error)인 것을 특징으로 하는 메모리 에러 관리를 위한 미들웨어.
  5. 제 2항 또는 제 3항에 있어서, 상기 메모리 공간 정리요구 명령은;
    가비지 콜렉션(Garbage Collection) 호출인 것을 특징으로 하는 메모리 에러 관리를 위한 미들웨어.
  6. 특정 서비스를 제공하기 위하여 실행되는 어플리케이션에서 파생된, 적어도 하나 이상의 스레드에서 발생한 메모리 에러를 통보받아 메모리 공간 정리요구 명령을 출력하는 단계; 및
    상기 명령에 따라 정리된 메모리 공간을 검사하여, 프리 메모리 공간이 기준값 이상인지의 여부를 판단하는 단계;를 포함하는 메모리 에러 관리방법.
  7. 제 6항에 있어서,
    상기 판단결과 프리 메모리 공간이 기준값 미만인 경우에, 상기 메모리 에러가 발생된 스레드를 파생한 어플리케이션에 대한 상태변경요구 명령을 출력하고, 메모리 공간을 검사하는 단계; 및
    상기 메모리 공간을 검사하여, 프리 메모리 공간이 기준값 이상인지의 여부를 판단하는 단계를; 더 포함하는 것을 특징으로 하는 메모리 에러 관리방법.
  8. 제 7항에 있어서,
    상기 어플리케이션에 대한 상태변경요구 명령을 출력한 이후에 검사한 메모리 공간에서, 프리 메모리 공간이 기준값 미만이라고 판단될 경우에,
    시스템 리부팅 명령을 출력하는 단계;를 더 포함하는 것을 특징으로 하는 메모리 에러 관리방법.
  9. 제 6항 내지 제 8항 중 어느 한 항에 있어서, 상기 메모리 에러는;
    메모리 부족 에러 또는 스택 오버 플로우 에러인 것을 특징으로 하는 메모리 에러 관리방법.
  10. 제 6항 내지 제 8항 중 어느 한 항에 있어서, 상기 메모리 공간 정리요구 명령은;
    가비지 콜렉션 호출인 것을 특징으로 하는 메모리 에러 관리방법.
  11. 제 6항 내지 제 8항 중 어느 한 항에 있어서, 상기 메모리 공간의 검사는;
    자바 힙(Java Heap) 메모리 및 시스템 네이티브(System Native) 메모리 각각에 대한 메모리 공간의 검사인 것을 특징으로 하는 메모리 에러 관리방법.
  12. 제 6항 내지 제 8항 중 어느 한 항에 있어서, 상기 스레드는;
    메모리 에러가 감지된 경우에 에러발생을 통보하는 것을 특징으로 하는 메모리 에러 관리방법.
  13. 제 7항 또는 제 8항에 있어서, 상기 상태변경요구 명령은;
    어플리케이션의 상태를 종료상태(Destroyed State)로의 변경 요구 명령인 것을 특징으로 하는 메모리 에러 관리방법.
KR1020060004605A 2006-01-16 2006-01-16 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법 KR100691120B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060004605A KR100691120B1 (ko) 2006-01-16 2006-01-16 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060004605A KR100691120B1 (ko) 2006-01-16 2006-01-16 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법

Publications (1)

Publication Number Publication Date
KR100691120B1 true KR100691120B1 (ko) 2007-03-12

Family

ID=38102709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060004605A KR100691120B1 (ko) 2006-01-16 2006-01-16 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법

Country Status (1)

Country Link
KR (1) KR100691120B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009128607A2 (ko) * 2008-04-16 2009-10-22 티비스톰 통합 미들웨어형 디지털방송 수신장치
WO2019143115A1 (en) * 2018-01-18 2019-07-25 Samsung Electronics Co., Ltd. Image display apparatus and driving method thereof
KR20200058479A (ko) * 2017-09-30 2020-05-27 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234546A (ja) 2003-01-31 2004-08-19 Sanyo Electric Co Ltd プログラム実行方法および装置
US6874145B1 (en) 1999-07-13 2005-03-29 Sun Microsystems, Inc. Methods and apparatus for implementing an application lifecycle design for applications
US20050204341A1 (en) 2004-03-11 2005-09-15 International Business Machines Corp. Method, system and article for detecting critical memory leaks causing out-of-memory errors in Java software

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6874145B1 (en) 1999-07-13 2005-03-29 Sun Microsystems, Inc. Methods and apparatus for implementing an application lifecycle design for applications
JP2004234546A (ja) 2003-01-31 2004-08-19 Sanyo Electric Co Ltd プログラム実行方法および装置
US20050204341A1 (en) 2004-03-11 2005-09-15 International Business Machines Corp. Method, system and article for detecting critical memory leaks causing out-of-memory errors in Java software

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009128607A2 (ko) * 2008-04-16 2009-10-22 티비스톰 통합 미들웨어형 디지털방송 수신장치
WO2009128607A3 (ko) * 2008-04-16 2009-12-10 티비스톰 통합 미들웨어형 디지털방송 수신장치
KR20200058479A (ko) * 2017-09-30 2020-05-27 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
KR102313664B1 (ko) 2017-09-30 2021-10-15 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
KR20210126159A (ko) * 2017-09-30 2021-10-19 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
KR102460380B1 (ko) 2017-09-30 2022-10-27 후아웨이 테크놀러지 컴퍼니 리미티드 시스템 서비스의 타임아웃을 처리하는 방법 및 디바이스
US11693701B2 (en) 2017-09-30 2023-07-04 Huawei Technologies Co., Ltd. System service timeout processing method, and apparatus
WO2019143115A1 (en) * 2018-01-18 2019-07-25 Samsung Electronics Co., Ltd. Image display apparatus and driving method thereof
CN111434117A (zh) * 2018-01-18 2020-07-17 三星电子株式会社 图像显示装置及其驱动方法
US10908985B2 (en) 2018-01-18 2021-02-02 Samsung Electronics Co., Ltd. Image display apparatus and driving method thereof

Similar Documents

Publication Publication Date Title
EP1194838B1 (en) Methods and apparatus for implementing individual class loaders
AU781357B2 (en) Methods and apparatus for managing an application according to an application lifecycle
US6874145B1 (en) Methods and apparatus for implementing an application lifecycle design for applications
US7487534B1 (en) Application programming interface (API) for accessing and managing resources in digital television receiver
CN113064645B (zh) 一种开机界面控制方法及显示设备
JP6080229B2 (ja) アプリケーション管理装置
KR100691120B1 (ko) 메모리 에러 관리를 위한 미들웨어 및 메모리 에러 관리방법
CN114116092A (zh) 云桌面系统处理方法、云桌面系统控制方法以及相关设备
CN112214376A (zh) 存储空间提示方法及装置
CN114217759B (zh) 投屏方法、装置、存储介质及电子设备
WO2024207889A1 (zh) 用户识别卡信息加载方法、装置、存储介质及电子设备
KR100870200B1 (ko) 통합 미들웨어형 디지털방송 수신장치
US7257812B1 (en) Methods and apparatus for managing an application
CN111026406A (zh) 应用运行方法、设备和计算机可读存储介质
CN109948082B (zh) 直播信息处理方法及装置、电子设备、存储介质
CN1820251A (zh) 用于执行软件应用的方法
CN114968551B (zh) 一种进程管理的方法、装置、电子设备及存储介质
CN106897102B (zh) 一种智能终端工作模式配置方法、装置及智能终端
KR100810854B1 (ko) 오류상황을 처리하기 위한 미들웨어를 갖는 데이터 방송 수신기 및 그의 동작방법
CN111314414B (zh) 数据传输方法、装置及系统
CN116483296B (zh) 投屏控制方法、装置、存储介质及电子设备
CN113190306B (zh) 显示层级的切换方法、装置、设备及存储介质
CN112218141B (zh) 电视时间确定方法、装置、电子设备及存储介质
CN114116627A (zh) 多媒体资源扫描方法、装置、存储介质及电子设备
CN110971938A (zh) 数据传输方法、装置及系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150213

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160122

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170113

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180112

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190114

Year of fee payment: 13