KR101169432B1 - 자바 어플리케이션의 실행 환경 관리 시스템 및 방법 - Google Patents

자바 어플리케이션의 실행 환경 관리 시스템 및 방법 Download PDF

Info

Publication number
KR101169432B1
KR101169432B1 KR1020050122152A KR20050122152A KR101169432B1 KR 101169432 B1 KR101169432 B1 KR 101169432B1 KR 1020050122152 A KR1020050122152 A KR 1020050122152A KR 20050122152 A KR20050122152 A KR 20050122152A KR 101169432 B1 KR101169432 B1 KR 101169432B1
Authority
KR
South Korea
Prior art keywords
java application
jsr
jvm
package
java
Prior art date
Application number
KR1020050122152A
Other languages
English (en)
Other versions
KR20070062335A (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 KR1020050122152A priority Critical patent/KR101169432B1/ko
Publication of KR20070062335A publication Critical patent/KR20070062335A/ko
Application granted granted Critical
Publication of KR101169432B1 publication Critical patent/KR101169432B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 자바 어플리케이션(application) 실행 환경 관리 시스템 및 방법에 관한 것으로, 사용하고자 하는 자바 어플리케이션을, 자신의 JVM이 지원할 수 있는지를 판단하고, 자신이 지원할 수 없는 자바 어플리케이션을 사용하고자 하는 경우, 해당 자바 어플리케이션을 지원할 수 있는 패키지를 다운로드받아 설정하여 해당 자바 어플리케이션을 사용할 수 있도록 한다. 또한, 본 발명은 패키지를 다운로드받기 전에 해당 패키지가 자신의 환경에서 정상적으로 동작할 수 있는지를 판단하고, 자신의 환경에서 정상적으로 동작할 수 있는 패키지만을 다운로드하도록 함으로써 불필요한 다운로드를 방지할 수 있도록 한다.

Description

자바 어플리케이션의 실행 환경 관리 시스템 및 방법{SYSTEM AND METHOD FOR MANAGING THE PERFORMANCE ENVIRONMENT JAVA APPLICATION}
도 1은 일반적인 자바 어플리케이션의 구동환경을 도시하는 도면.
도 2는 본 발명에 따른 자바 어플리케이션의 실행 환경 관리 장치의 블록 구성도.
도 3, 도 4, 도 5, 도 6, 도 7 및 도 8은 본 발명에 따른 자바 어플리케이션의 실행 환경 관리 동작의 과정들을 도시하는 도면들.
도 9는 본 발명에 따른 자바 어플리케이션의 실행 환경 관리 동작에 따른 신호 흐름도.
본 발명은 자바 어플리케이션의 실행 환경 관리 시스템 및 방법에 관한 것이다.
자바는 인터넷의 분산 환경에서 사용되도록 개발된 프로그래밍 언어이다. 자바는 높은 이식성(Universality), 높은 보안성(security) 등 여러 가지 편리한 면을 가진 프로그래밍 언어이다. 특히, 자바는 네트워크 프로그램용으로 높은 효용을 가진다. 이로 인해 자바는 일반 응용 프로그램, 애플릿, 웹 서버, 핸드폰에 삽입되는 프로그램 등 여러 가지 분양에서 다양하게 사용되고 있다.
자바로 작성된 프로그램(이하 "자바 어플리케이션"이라 칭한다)은 JVM(Java Virtual Machine, 이하 "JVM"이라 칭한다)에 의해 동작될 수 있다. JVM은 자바 어플리케이션을 실행시켜 주는 소프트웨어를 의미한다. 윈도우용 프로그램은 윈도우가 실행시키고 리눅스에서 돌아가는 프로그램은 리눅스가 실행시킨다. 그런데, 자바 어플리케이션은 그런 운영체제가 아닌, JVM에 의해 실행된다. JVM은 자바 바이트 코드와 시스템의 운용체제간의 번역기 역할을 하여, 자바로 작성된 어플리케이션들을 윈도우, 매킨토시, 리눅스, 유닉스 등에서 사용할 수 있도록 해준다. 즉, JVM은 자바 어플리케이션과 운영체제 사이에서 이 둘을 맺어주는 역할을 한다.
그러므로, 자바 프로그래머는 자바 어플리케이션을 구현할 때, 해당 어플리케이션이 어떤 JVM 환경에서 구동될 것인지를 예측하고, 이에 따라 적절한 API(Application Program Interface)들을 불러다가 써야 한다. 자바 어플리케이션은, 해당 어플리케이션을 위한 API를 지원하지 않는 JVM 환경에서는 구동될 수 없다. 예를 들어, 블루투스(bluetooth) API를 사용하는 자바 어플리케이션은, 자바 API를 지원하지 않는 JVM 환경에서는 정상적으로 구동될 수 없다.
그런데, 특정 JSR에 맞추어서 개발된 자바 어플리케이션은 그 JSR이 실제 플랫폼에서 지원되는지를 알 수 없다. 예를 들어 Bluetooth API를 사용하는 자바 어 플리케이션은, Bluetooth API(JSR-82)를 지원하지 않는 JVM에서는 정상적으로 구동될 수 없다. 만약 필요한 JSR을 가져다 깔더라도 JVM이 특정 API를 지원하기 위해서는 운영체제(Operating System; OS) 및 하드웨어(hardware)가 그 기능을 지원해야 한다는 사실이 전제되어야 하므로, 해당 시스템이 해당 JSR을 만족시킬 수 없는 경우가 있다. 즉, 단순히 JSR을 지원하는 자바 패키지(Java Package)가 JVM에 있더라도 하위의 운영체제나 하드웨어가 이를 지원하지 않는다면, 자바 어플리케이션은 정상적으로 동작되지 않을 것이다. 즉, 자바 어플리케이션이 정상적으로 동작하기 위해서는 JVM이 해당 JSR을 지원할 수 있어야 함은 물론, 하드웨어/운영체제 역시 해당 JSR을 지원할 수 있어야 한다.
따라서, 본 발명의 목적은 사용하고자 하는 자바 어플리케이션이 자신의 환경에서 수행 가능한 자바 어플리케이션인지를 판단할 수 있는 자바 어플리케이션의 실행 환경 관리 시스템 및 방법을 제공함에 있다.
본 발명의 다른 목적은, 사용하고자 하는 자바 어플리케이션을 지원할 수 있는 패키지를 다운로드받아 자신의 환경을 해당 자바 어플리케이션을 수행할 수 있는 환경으로 설정할 수 있는 자바 어플리케이션의 실행 환경 관리 시스템 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 사용하고자 하는 자바 어플리케이션을 지원할 수 있는 패키지를 다운로드받을 때, 해당 패키지가 자신의 환경에서 정상적으로 동작 할 수 있는지를 판단하여 선별적인 다운로드가 가능하도록 하는 자바 어플리케이션의 실행 환경 관리 시스템 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 자바 어플리케이션의 실행 환경 관리 장치는, 상기 장치가 지원하는 JVM(Java Virtual Machine)의 JSR(Java Specification Requests) 정보를 저장하는 저장부와, 자신이 사용하고자 하는 자바 어플리케이션의 정보와 상기 JVM의 JSR 정보를 비교하여 상기 JVM이 상기 자바 어플리케이션을 지원하는지를 판단하고, 상기 JVM이 상기 자바 어플리케이션을 지원한다고 판단되면 상기 자바 어플리케이션을 실행하는 제어부를 포함할 수 있다.
상기 제어부는 상기 자바 어플리케이션의 JSR 정보를, 상기 자바 어플리케이션의 정보를 포함하는 매니페스트(manifest) 파일로부터 획득할 수 있다.
상기 제어부는 상기 JVM이 상기 자바 어플리케이션을 지원하지 않는다고 판단되면, 해당 자바 어플리케이션을 지원할 수 있는 패키지를 서버로부터 다운로드받아 설정하고 해당 자바 어플리케이션을 실행할 수 있다.
상기 제어부는 상기 JVM이 상기 자바 어플리케이션을 지원하지 않는다고 판단되면, 해당 자바 어플리케이션을 지원할 수 있는 패키지가 상기 장치의 하드웨어 및 운영체제에서 정상적으로 동작할 수 있는지를 테스트하고, 상기 패키지가 상기 장치의 하드웨어 및 운용체제에서 정상적으로 동작할 수 있다고 판단되면, 상기 패 키지를 서버로부터 다운로드받아 설정하고 해당 자바 어플리케이션을 실행할 수 있다.
상기 제어부는, 상기 서버로부터 다운로드받은 테스트 유틸리티 또는 기저장된 테스트 유틸리티를 사용하여 상기 테스트를 수행할 수 있다.
상기 목적들을 달성하기 위한 본 발명의 다른 측면에 따른 자바 어플리케이션의 실행 환경 관리 시스템은, 자바 어플리케이션을 지원할 수 있는 패키지 및 해당 패키지의 동작 환경을 테스트하는 테스트 유틸리티를 포함하는 서버와 자신이 사용하고자 하는 자바 어플리케이션의 정보와 자신의 JVM의 JSR 정보를 비교하여 상기 JVM이 상기 자바 어플리케이션을 지원하는지를 판단하고, 상기 JVM이 상기 자바 어플리케이션을 지원하지 않는다고 판단되면, 해당 자바 어플리케이션을 지원할 수 있는 패키지를 서버로부터 다운로드받아 설정하고 해당 자바 어플리케이션을 실행하는 장치를 포함할 수 있다.
상기 장치는 상기 패키지를 다운로드 받기 전에 해당 패키지가 상기 장치의 하드웨어 및 운영체제에서 정상적으로 동작할 수 있는지를 테스트하고, 상기 패키지가 상기 장치의 하드웨어 및 운용체제에서 정상적으로 동작할 수 있다고 판단되면, 상기 패키지를 서버로부터 다운로드받아 설정하고 해당 자바 어플리케이션을 실행한다.
상기 장치는, 상기 서버로부터 상기 테스트 유틸리티를 다운로드받아 상기 테스트를 수행할 수 있다.
상기 자바 어플리케이션의 JSR 정보는, 상기 자바 어플리케이션의 매니페스 트(manifest) 파일에 포함될 수 있다.
상기 목적들을 달성하기 위한 본 발명의 또 다른 측면에 따른 자바 어플리케이션의 실행 환경 관리 방법은, 사용하고자 하는 자바 어플리케이션의 JSR이 자신의 JVM이 지원하는 JSR인지 판단하는 과정, 상기 자바 어플리케이션의 JSR이 자신의 JVM이 지원하지 않는 JSR이라고 판단되면, 상기 자바 어플리케이션을 지원하는 패키지가 자신의 하드웨어 및 운영체제에서 정상적으로 동작하는지를 테스트하는 과정, 상기 패키지가 자신의 하드웨어 및 운영체제에서 정상적으로 동작한다고 판단되면 상기 패키지를 서버로부터 다운로드받아 설정하는 과정 및 상기 자바 어플리케이션을 실행하는 과정을 포함할 수 있다.
상기 사용하고자 하는 자바 어플리케이션의 JSR이 자신이 지원하는 JSR인지 판단하는 과정은, 해당 자바 어플리케이션의 매니페스트 파일에 포함된 JSR 정보를, 기 저장된, 자신의 JVM이 지원하는 JSR 정보와 비교하여 상기 자바 어플리케이션의 JSR 정보가 기 저장된 JSR 정보에 포함되는지를 판단하는 과정이다.
상기 테스트는, 상기 서버로부터 다운로드받은 테스트 유틸리티 사용하여 수행될 수 있다.
이하 본 발명의 바람직한 실시예들을 첨부된 도면의 참조와 함께 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 기술하는 본 발명은, 사용하고자 하는 자바 어플리케이션을 자신이 지 원할 수 있는지를 판단하기 위해 JSR 정보를 사용한다. JSR(Java Specification Requests)은 자바 플랫폼에 대한 규격을 제안하거나 기술한 것을 말한다. JSR은 자바 플랫폼의 표준화를 진행하기 위한 표준적인 절차인 JCP를 통해 결정되어진 일종의 JAVA API 규격(specification)이라고 볼 수 있다. 즉, JSR은 자바 어플리케이션이 구동되는 동작하는 환경을 정의한 규격이다.
하기의 표 1은 각 분야별 주요 JSR을 정리한 표이다.
카테고리 설명 주요 JSR
차세대 자바 플랫폼 J2SE, J2EE의 차기 플랫폼들에 탑재될 기본적인 기능들에 대한 규격 6, 12, 53, 56, 59, 74, 76
XML과 웹 서비스 XML과 관련한 여러 API 규격과 웹 서비스와 관련한 규격들 5, 31, 67, 93, 101, 102, 109, 110
임베디드/리얼타임 J2ME 플랫폼을 중심으로 임베디드/리얼타임 시스템에 필요한 규격들 1, 30, 36, 37, 46, 50, 62, 66, 67, 68, 75, 118, 129, 134, 139
JAIN JAIN(Java Advanced Intelligent Network) API와 관련한 규격들 11, 18, 21, 22, 23, 24, 29, 32, 35, 79, 81, 98
JMX/WBEM JMX(Java Management Extension), WBEM과 같은 각종 관리와 관련한 규격들 3, 9, 48, 70, 71, 77, 138, 146
OSS 통신 영역의 OSS(Operation Support System)과 관련한 규격들 89, 90, 91, 130, 142, 144
기타 JOLAP, Java Agent Service 등을 포함한 여러 가지 요구 사항 40, 47, 56
도 1은 일반적인 자바 어플리케이션의 구동환경을 도시하는 도면이다.
도 1에 도시된 바와 같이, 자바 어플리케이션의 구동 환경은, 하드웨어(hardware)(100), 운영체제(Operating System; OS)(110), JVM(120) 및 자바 어플리케이션(application)(130)의 계층적 구조로 간주할 수 있다. 자바 어플리케이션(130)이 구동되기 위해서는, 하드웨어(100), 운영체제(110) 및 JVM(120) 모두가 해당 자바 어플리케이션(130)을 지원할 수 있어야 한다. 즉, 본 발명의 장치는, 자바 어플리케이션의 실행 환경 관리를 위해, JVM(120)이 해당 자바 어플리케이션이 사용하고자 하는 API를 지원하는지를 판단할 수 있어야 하고, 하드웨어(100) 및 운영체제(110)가 해당 API를 지원하는지를 판단할 수 있어야 한다. 본 발명은, 이들 판단을 위해서, JSR 번호(number)를 사용할 수 있다.
도 2는 본 발명에 따른 자바 어플리케이션의 실행 환경 관리 장치의 블록 구성도이다.
본 발명에 따른 자바 어플리케이션의 실행 환경 관리 장치(200)는 자바 어플리케이션을 사용하고자 하는 장치, 특히 해당 장치의 JVM에 위치할 수 있다. 도 2에 도시된 바와 같이, 본 발명에 따른 자바 어플리케이션의 실행 환경 관리 장치(200)는, 제어부(210), 저장부(220) 및 통신부(230)를 포함하도록 구성될 수 있다.
제어부(210)는, 사용하고자 하는 자바 어플리케이션을 자신이 지원할 수 있는지 판단하기 위해, 사용하고자 하는 자바 어플리케이션의 JSR 번호와 자신의 JVM이 지원하는 JSR 번호를 비교한다. 제어부(210)는 비교결과, 사용하고자 하는 자바 어플리케이션의 JSR 번호가 자신의 JVM이 지원하는 JSR 번호에 포함되면, 즉 해당 자바 어플리케이션의 JSR 번호가 자신의 JVM이 지원하는 JSR 번호들 중의 하나이면, 자신이 해당 자바 어플리케이션을 지원한다고 판단한다. 자바 어플리케이션의 JSR 번호는 자바 어플리케이션 프로그램의 매니페스트 파일에 포함될 수 있으며, JVM의 JSR 번호는 저장부(220)에 저장될 수 있다.
제어부(210)는, 자신의 JVM이 해당 자바 어플리케이션을 지원한다고 판단되면, 해당 자바 어플리케이션을 사용할 수 있다. 그러나, 제어부(210)는, 자신의 JVM이 해당 자바 어플리케이션을 지원하지 않는다고 판단되면, 해당 자바 어플리케이션을 사용할 수 없다. 이 경우, 제어부(210)는, 해당 자바 어플리케이션을 사용하기 위해서는, 자신의 JVM이 해당 자바 어플리케이션을 지원할 수 있도록 해야 한다. 이를 위해 제어부(210)는, 해당 자바 어플리케이션을 지원할 수 있는 패키지를 다운로드받아 새로운 JVM을 설정할 수 있다. 그런데, 새로운 JVM이 정상적으로 동작하기 위해서는, 시스템의 환경이 해당 JVM을 지원할 수 있어야 한다.
제어부(210)는 자바 패키지를 다운로드하기 전에 자신의 하드웨어 및 운영체제 등의 환경이, 자신이 사용하고자 하는 자바 어플리케이션을 지원할 수 있는지를 테스트한다. 제어부(210)는 이 테스트를 위해 테스트 유틸리티(test utility)를 사용한다. 제어부(210)는 기 저장된 테스트 유틸리티를 사용하거나, 서버로부터 수신한 테스트 유틸리티를 사용하여 자신의 환경에 대한 테스트를 할 수 있다. 일반적으로는, 테스트 유틸리티는 서버로부터 다운로드 됨이 바람직하다. 이는, 테스트 유틸리티가 포함해야 할 사항들은, 각각의 자바 어플리케이션들에 따라 달라지거나 수시로 업그레이드 될 수 있기 때문이다. 물론, 이는 권장사항일 뿐 한정사항이 되지는 않으며, 제어부(210)는 다양한 형태로 테스트 유틸리티를 획득할 수 있을 것이다.
또한, 제어부(210)는 자신의 환경이 새로운 JVM을 지원할 수 있는 환경이라고 판단되는 경우, 해당 자바 어플리케이션을 지원할 수 있는 자바 패키지를 서버로부터 다운로드받아, 자신의 JVM을 해당 자바 어플리케이션을 지원할 수 있도록 설정할 수 있다.
저장부(220)는 자신이 지원하는 JVM의 JSR 번호를 저장할 수 있다. 또, 저장부(220)는 테스트 유틸리티를 저장할 수 있다.
통신부(230)는 서버와의 통신을 통해 자바 어플리케이션, 테스트 유틸리티, 자바 패키지 등을 요청하고, 해당 요청에 대응하는 프로그램들을 다운로드받을 수 있다.
전술한 바와 같이 구성되는 본 발명의 장치는, 자바 어플리케이션, 해당 자바 어플리케이션의 JSR 번호, 테스트 유틸리티, 해당 자바 어플리케이션을 지원하기 위한 자바 패키지 등을 포함하는 JSR 서버(이하 "서버"라 칭함)에 접속될 수 있다. 본 발명의 장치는, 서버에 자신이 사용하고자 하는 자바 어플리케이션을 요청하고, 필요에 따라 테스트 유틸리티 또는 자바 어플리케이션을 다운로드받을 수 있다. 물론, 본 발명의 장치는, 서버로부터의 다운로드 외에도 다양한 형태로 자바 어플리케이션을 획득할 수 있을 것이다.
이하 본 발명의 장치가 서버에 접속하여 자바 어플리케이션을 요청하고, 테스트 유틸리티를 다운로드받아 테스트하고, 자바 패키지를 다운로드받아 자신의 환경을 설정하는, 본 발명에 따른 과정들을 도면들을 참조하여 상세히 설명하도록 한다.
도 3, 도 4, 도 5, 도 6, 도 7 및 도 8은 본 발명에 따른 자바 어플리케이션의 실행 환경 관리 동작의 과정들을 도시하는 도면들이다.
도 3 내지 도 8은 블루투스를 지원하지 않는 JVM을 포함하는 장치가 블루투스에 의해 구동되는 자바 어플리케이션을 다운로드받아 사용하고자 하는 경우에 본 발명이 적용되는 실시예에 따른 과정들을 도시하고 있다.
도 3은 본 발명의 장치가 자바 어플리케이션을 요청하는 단계를 도시한다.
도 3에 도시된 JVM은 블루투스를 지원하지 않는다. 그런데, 해당 JVM을 가지는 장치가 블루투스 환경에서 동작하는 자바 어플리케이션(130)을 서버(500)에 요청하고 있다. JVM 관리 유틸(management util, 도 2에 도시된 제어부에 해당할 수 있음)(300)은, 해당 자바 어플리케이션(130)을 자신의 JVM이 지원할 수 있는지를 판단할 수 있다.
도 4는 본 발명의 장치가 해당 자바 어플리케이션을 지원할 수 있는지를 판단하는 단계이다.
JVM 관리 유틸(300)은, 해당 자바 어플리케이션의 매니페스트 파일(310)로부터 획득한 JSR 번호를 기 저장된 JVM의 JSR 번호와 비교하여, JVM이 해당 자바 어플리케이션을 지원하는지를 판단하는 JSR 디펜던시(dependency) 확인(check)을 수행한다(400). 그런데, JVM은 해당 자바 어플리케이션을 지원하지 않으므로, JVM 관리 유틸(300)은 해당 자바 어플리케이션을 지원하는 패키지를 서버(500)로부터 다운로드하여 설치하여야 한다. JVM 관리 유틸(300)은, 패키지 다운로드 전에 해당 패키지가 자신의 환경에서 정상적으로 동작할 수 있는지를 테스트해야 한다.
도 5는 JVM 관리 유틸이 서버에 테스트 유틸리티를 요청하는 단계를 도시한다.
도 6은 JVM 관리 유틸이 해당 패키지가 자신의 환경에서 정상적으로 동작할 수 있는지를 테스트하는 단계를 도시한다.
JVM 관리 유틸(300)은 서버로부터 다운로드받은 테스트 유틸리티(600)를 사용하여 해당 테스트를 수행한다. JVM 관리 유틸(300)은 해당 패키지가 자신의 환경에서 동작할 수 있다고 판단되는 경우, 해당 패키지를 서버(500)로부터 다운로드받는다.
도 7은 JVM 관리 유틸이 서버에 자바 패키지를 요청하는 단계를 도시한다.
도 8은 자바 어플리케이션이 실행되는 단계를 도시한다.
JVM 관리 유틸(300)은 서버(500)로부터 다운로드받은, 블로투스를 지원할 수 있는 패키지(800)를 사용하여 자신의 JVM(120)을 설정한다. 이로써 JVM(120)은 블루투스를 지원할 수 있게 된다. 이후 JVM 관리 유틸(300)은 해당 자바 어플리케이션(130)을 서버(500)로부터 다운로드받아 실행할 수 있다.
전술한 과정들을, 본 발명의 장치(200)와 서버(500)간의 신호흐름을 도시한 도면을 참조하여 다시 한번 설명하도록 한다.
도 9는 본 발명에 따른 자바 어플리케이션의 실행 환경 관리 동작에 따른 신호 흐름도이다.
본 발명의 장치는, 자바 어플리케이션을 구동시킬 때, 해당 자바 어플리케이션의 매니페스트 파일을 읽어서 해당 자바 어플리케이션이 어떤 JSR을 필요로 하는지를 체크하고, 플랫폼에서 현재 지원하는 JSR 번호와 비교하여 실행될 수 있는 자바 어플리케이션인지를 판단한다(900).
만약 자신이 해당 JSR을 지원하고 있지 않는다면, 본 발명의 장치는, 등록된 JVM 서버에 접속한다. 이때 본 발명의 장치는 JSR을 바로 다운로드 하여 설치하지 않는다. 왜냐하면, 그 운영체제와 하드웨어가 그 JSR의 기능을 지원하는지 모르기 때문이다. 즉, 하드웨어에는 Bluetooth 장치가 설치되어 있어야 하며, OS에서 Bluetooth의 드라이버(driver) 등이 설치되어 있는 것을 확인해야만 한다. 그래서 본 발명의 장치는 이를 테스트할 수 있는 가벼운 유틸리티(utility)를 JSR 서버에 요청한다(902). 이때 본 발명의 장치는 플랫폼과 OS의 종류에 대한 정보를 함께 서버에 전송한다. 그러면 서버는 플랫폼과 OS의 종류를 참조하여, 가장 적절한 테스트 유틸리티를 본 발명의 장치에 제공한다(904, 906).
그러면 본 발명의 장치는 해당 테스트 유틸리티를 저장하고(908), 해당 테스트 유틸리티를 이용하여 OS와 하드웨어에서 그 JSR을 지원하는 기능을 가지고 있는지를 판단한다(910).
만약 JSR이 지원 가능한 플랫폼이라면, 본 발명의 장치는 서버에 해당 자바 패키지를 요청한다(912). 서버는 다시금 OS와 플랫폼 종류에 맞는 JSR 지원 패키지를 본 발명의 장치에 제공한다(914). 본 발명의 장치는, 다운로드받은 해당 패키지를 JVM과 함께 론칭(launching)하여 자바 어플리케이션을 구동할 수 있다(916). 이후, 본 발명의 장치는 자신이 지원하는 JSR 목록을 업데이트하고(918), 해당 자바 어플리케이션을 실행할 수 있다(920).
전술한 바와 같이 본 발명은, JSR이 지원되는 자바 어플리케이션에 대해서는 기존의 자바 어플리케이션 동작 순서와 동일하게 동작시키며, JSR이 지원되지 않는 자바 어플리케이션에 대해서는 해당 자바 어플리케이션을 지원할 수 있는 패키지를 다운로드받아 사용한다. 이때, 본 발명은, 해당 패키지를 다운로드 받기 전에 실제 그 기능이 그 플랫폼에서 지원되는가를 확인하여 불필요한 자원(resource)의 낭비를 줄이고, 사용자에게 적절한 정보를 줄 수 있다. 또한, 본 발명은 원격 다운로드(remote download)를 통해 사용자의 개입 없이 용이하게 자바 어플리케이션(application)이 구동될 수 있는 환경을 만들 수 있다.

Claims (12)

  1. 자바 어플리케이션의 실행 환경 관리 장치에 있어서,
    상기 장치가 지원하는 JVM(Java Virtual Machine)의 JSR(Java Specification Requests) 정보를 저장하는 저장부;와
    자신이 사용하고자 하는 자바 어플리케이션의 정보와 상기 JVM의 JSR 정보를 비교하여 상기 JVM이 상기 자바 어플리케이션을 지원하는지를 판단하고, 상기 JVM이 상기 자바 어플리케이션을 지원한다고 판단되면 상기 자바 어플리케이션을 실행하는 제어부를 포함하는 자바 어플리케이션의 실행 환경 관리 장치.
  2. 제 1항에 있어서,
    상기 제어부는, 상기 자바 어플리케이션의 JSR 정보를, 상기 자바 어플리케이션의 정보를 포함하는 매니페스트(manifest) 파일로부터 획득하는 자바 어플리케이션의 실행 환경 관리 장치.
  3. 제 1항에 있어서,
    상기 제어부는 상기 JVM이 상기 자바 어플리케이션을 지원하지 않는다고 판단되면, 해당 자바 어플리케이션을 지원할 수 있는 패키지를 서버로부터 다운로드 받아 설정하고 해당 자바 어플리케이션을 실행하는 자바 어플리케이션의 실행 환경 관리 장치.
  4. 제 1항에 있어서,
    상기 제어부는 상기 JVM이 상기 자바 어플리케이션을 지원하지 않는다고 판단되면, 해당 자바 어플리케이션을 지원할 수 있는 패키지가 상기 장치의 하드웨어 및 운영체제에서 정상적으로 동작할 수 있는지를 테스트하고, 상기 패키지가 상기 장치의 하드웨어 및 운용체제에서 정상적으로 동작할 수 있다고 판단되면, 상기 패키지를 서버로부터 다운로드받아 설정하고 해당 자바 어플리케이션을 실행하는 자바 어플리케이션 실행 환경 관리 장치.
  5. 제 4항에 있어서,
    상기 제어부는, 상기 서버로부터 다운로드받은 테스트 유틸리티 또는 기저장된 테스트 유틸리티를 사용하여 상기 테스트를 수행하는 자바 어플리케이션의 실행 환경 관리 장치.
  6. 자바 어플리케이션의 실행 환경 관리 시스템에 있어서,
    자바 어플리케이션을 지원할 수 있는 패키지 및 해당 패키지의 동작 환경을 테스트하는 테스트 유틸리티를 포함하는 서버;
    자신이 사용하고자 하는 자바 어플리케이션의 정보와 자신의 JVM의 JSR 정보를 비교하여 상기 JVM이 상기 자바 어플리케이션을 지원하는지를 판단하고, 상기 JVM이 상기 자바 어플리케이션을 지원하지 않는다고 판단되면, 해당 자바 어플리케이션을 지원할 수 있는 패키지를 서버로부터 다운로드받아 설정하고 해당 자바 어플리케이션을 실행하는 장치를 포함하는 자바 어플리케이션의 실행 환경 관리 시스템.
  7. 제 6항에 있어서,
    상기 장치는 상기 패키지를 다운로드 받기 전에 해당 패키지가 상기 장치의 하드웨어 및 운영체제에서 정상적으로 동작할 수 있는지를 테스트하고, 상기 패키지가 상기 장치의 하드웨어 및 운용체제에서 정상적으로 동작할 수 있다고 판단되면, 상기 패키지를 서버로부터 다운로드받아 설정하고 해당 자바 어플리케이션을 실행하는 자바 어플리케이션 실행 환경 관리 시스템.
  8. 제 4항에 있어서,
    상기 장치는, 상기 서버로부터 상기 테스트 유틸리티를 다운로드받아 상기 테스트를 수행하는 자바 어플리케이션의 실행 환경 관리 시스템.
  9. 제 6항에 있어서,
    상기 자바 어플리케이션의 JSR 정보는, 상기 자바 어플리케이션의 매니페스트(manifest) 파일에 포함되는 자바 어플리케이션의 실행 환경 관리 시스템.
  10. 자바 어플리케이션의 실행 환경 관리 방법에 있어서,
    사용하고자 하는 자바 어플리케이션의 JSR이 자신의 JVM이 지원하는 JSR인지 판단하는 과정;
    상기 자바 어플리케이션의 JSR이 자신의 JVM이 지원하지 않는 JSR이라고 판단되면, 상기 자바 어플리케이션을 지원하는 패키지가 자신의 하드웨어 및 운영체제에서 정상적으로 동작하는지를 테스트하는 과정;
    상기 패키지가 자신의 하드웨어 및 운영체제에서 정상적으로 동작한다고 판단되면 상기 패키지를 서버로부터 다운로드받아 설정하는 과정; 및
    상기 자바 어플리케이션을 실행하는 과정을 포함하는 자바 어플리케이션의 실행 환경 관리 방법.
  11. 제 10항에 있어서,
    사용하고자 하는 자바 어플리케이션의 JSR이 자신이 지원하는 JSR인지 판단하는 과정은, 해당 자바 어플리케이션의 매니페스트 파일에 포함된 JSR 정보를, 기 저장된, 자신의 JVM이 지원하는 JSR 정보와 비교하여 상기 자바 어플리케이션의 JSR 정보가 기 저장된 JSR 정보에 포함되는지를 판단하는 과정인 자바 어플리케이션의 실행 환경 관리 방법.
  12. 제 10항에 있어서,
    상기 테스트는, 상기 서버로부터 다운로드받은 테스트 유틸리티 사용하여 수행되는 자바 어플리케이션의 실행 환경 관리 방법.
KR1020050122152A 2005-12-12 2005-12-12 자바 어플리케이션의 실행 환경 관리 시스템 및 방법 KR101169432B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050122152A KR101169432B1 (ko) 2005-12-12 2005-12-12 자바 어플리케이션의 실행 환경 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050122152A KR101169432B1 (ko) 2005-12-12 2005-12-12 자바 어플리케이션의 실행 환경 관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20070062335A KR20070062335A (ko) 2007-06-15
KR101169432B1 true KR101169432B1 (ko) 2012-07-27

Family

ID=38357844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050122152A KR101169432B1 (ko) 2005-12-12 2005-12-12 자바 어플리케이션의 실행 환경 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101169432B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103038786A (zh) * 2010-06-21 2013-04-10 惠普发展公司,有限责任合伙企业 用于测试和证明客户计算机系统上的虚拟设备的系统
KR101782457B1 (ko) 2013-08-13 2017-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 어플리케이션 업그레이드 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412358B1 (ko) 2001-08-24 2003-12-31 엘지전자 주식회사 제어데이터 제공시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412358B1 (ko) 2001-08-24 2003-12-31 엘지전자 주식회사 제어데이터 제공시스템 및 그 방법

Also Published As

Publication number Publication date
KR20070062335A (ko) 2007-06-15

Similar Documents

Publication Publication Date Title
US12061896B2 (en) System and method for upgrading kernels in cloud computing environments
CN105955782B (zh) 应用程序运行控制的方法及装置
US9092286B2 (en) System to automatically process components on a device
RU2339076C2 (ru) Выполнение неверифицированных программ в операционной среде устройства радиосвязи
WO2010113598A1 (ja) ホームネットワークシステム、ゲートウェイ装置、及びファームウェア更新方法
US20090017812A1 (en) Method and system for restoring user settings after over-the-air update of mobile electronic device software
US20050193261A1 (en) Configuration proxy service for the extended firmware interface environment
JP5248657B2 (ja) デバイス上におけるレジストリベースの自動インストール及びコンポーネントハンドリングのためのシステム
CN106066803B (zh) 应用程序运行控制的方法及装置
US20100017503A1 (en) Download server and method for installing and updating application program using partitioning of shared library
CN110308999B (zh) 一种应用间动态共享依赖包的方法、存储介质及移动终端
CN100583038C (zh) 用于启动与电子设备的接口的方法、系统和装置
WO2017041499A1 (zh) 一种软件升级方法、系统和计算机可读存储介质
CN113051088B (zh) 程序加载方法、装置、设备及计算机可读介质
US20070067581A1 (en) Method for storing and running application program in flash-rom
CN107729042A (zh) 移动应用升级方法及装置、存储介质、电子设备
KR101169432B1 (ko) 자바 어플리케이션의 실행 환경 관리 시스템 및 방법
US20020083426A1 (en) Installation of network components or services
US20220413828A1 (en) Unified Local Patch Repository
JP4882291B2 (ja) モジュール更新プログラム
JP5158153B2 (ja) モジュール更新プログラム
CN107315602B (zh) 一种应用程序的升级方法及终端
JP4608964B2 (ja) モジュール更新プログラム
CN113176913B (zh) Java代理的处理方法、装置、终端设备以及存储介质
WO2009019146A1 (en) System and method for managing processing ressources

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: 20160112

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170721

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180723

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190716

Year of fee payment: 8