KR100587749B1 - 무선 장치에서 동적으로 다운로딩되고 실행되는 시스템서비스 - Google Patents

무선 장치에서 동적으로 다운로딩되고 실행되는 시스템서비스 Download PDF

Info

Publication number
KR100587749B1
KR100587749B1 KR1020037002181A KR20037002181A KR100587749B1 KR 100587749 B1 KR100587749 B1 KR 100587749B1 KR 1020037002181 A KR1020037002181 A KR 1020037002181A KR 20037002181 A KR20037002181 A KR 20037002181A KR 100587749 B1 KR100587749 B1 KR 100587749B1
Authority
KR
South Korea
Prior art keywords
wireless device
virtual machine
application
system service
receiving
Prior art date
Application number
KR1020037002181A
Other languages
English (en)
Other versions
KR20030084886A (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 퀄컴 인코포레이티드
Publication of KR20030084886A publication Critical patent/KR20030084886A/ko
Application granted granted Critical
Publication of KR100587749B1 publication Critical patent/KR100587749B1/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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

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)
  • Information Transfer Between Computers (AREA)

Abstract

가상 머신을 필요로 하는 애플릿이 무선 장치에 다운로딩된다. 장치상의 소프트웨어 플랫폼은, 실행 동안 애플릿에 의해 가상 머신이 이용되는 것을 판정한다. 추가적인 사용자 상호작용 없이, 가상 머신은 무선 장치로 다운로딩된다. 이는, 이미 인스톨된 가상 머신을 구비하지 않은 장치에, 가상 머신을 필요로 하는 이러한 애플릿이 이용될 수 있게 한다. 다른 실시형태는, 시스템 서비스가 이용되는 애플리케이션이 로딩 중일 때, 시스템 서비스를 동적으로 로딩하는 단계를 포함한다. 시스템 서비스가 로딩되었는지를 판정하기 위해, 시스템 서비스와 관련된 고유 식별자가 이용될 수 있다.
무선 장치, 시스템 서비스

Description

무선 장치에서 동적으로 다운로딩되고 실행되는 시스템 서비스{DYNAMICALLY DOWNLOADING AND EXECUTING SYSTEM SERVICES ON A WIRELESS DEVICE}
본 발명은, 무선 장치에서 동적으로 다운로딩되고 실행되는 시스템 서비스에 관한 것이다.
통상, 가상 머신 (virtual machines), 뷰어 (viewers), 및 플러그 인 (plug-ins) 을 포함하는 시스템 서비스는, 이들을 요청하는 다른 객체 (object) 또는 애플리케이션 (application) 에 의해 이용되기 위해, 장치상에 인스톨 (install) 될 필요가 있다. 예를 들면, 자바 애플릿 (java applet) 은 자바 가상 머신이 로딩된 장치상에서 실행된다. 따라서, 자바 애플릿을 실행하려는 장치는 장치상에 자바 가상 머신을 인스톨할 것이다. 통상, 가상 머신, 또는 다른 시스템 서비스는 이를 실행하는 장치에 통합될 필요가 있기 때문에, 이러한 시스템 서비스를 이용하고자 하는 애플릿 또는 다른 애플리케이션의 다운로딩 (download) 또는 실행을 시도하기 전에, 인스톨레이션이 수행된다.
그러나, 몇몇 장치, 특히, 무선 장치는 제한된 환경을 갖는다. 능동 프로그램 및 데이터를 위한 보조 저장 매체 (secondary storage) 및 1차 (primary) 저장 매체를 포함하고 프로세스하는 메모리가 다른 더 큰 컴퓨터 시스템에서보다 부족하다. 그 결과, 가상 머신과 같은 몇몇 시스템 서비스를 필요에 따라 다운로딩 하거나 인스톨하는 것만이 바람직하다. 그러나, 바람직스럽지 않게도, 이러한 제한된 장치에서, 시스템 서비스는, 사용되지 않는 경우에도, 메모리로 인스톨되거나 로딩될 필요가 있어, 유용한 리소스를 차지한다. 또한, 시스템 서비스가 장치상에 아직 인스톨되지 않았기 때문에, 애플리케이션이 지원하는 시스템 서비스 (application's supporting system services) 를 아직 갖고 있지 않은 장치에서, 애플리케이션을 이용하고자 하는 사용자는 그와 같이 하는 것이 곤란하거나 금지된다.
본 발명은, 장치상에서 실행되는 애플리케이션의 필요성에 기초하여, 가상 머신, 뷰어, 플러그-인, 플래시-플레이어 (flash-players), 실행가능한 다른 컨텐츠 또는 데이터와 같은 시스템 서비스를 동적으로 장치에 다운로딩하고 인스톨하는 시스템 및 방법을 제공함으로써, 종래 기술의 단점을 해소시킨다.
일 실시형태에서, 본 발명은, 다운로딩되고 있는 애플리케이션과 함께 이용될 시스템 서비스를 무선 장치로 다운로딩하는 것과 관련이 있다. 이러한 시스템 서비스는, 애플리케이션이 다운로딩될 때, 사용자의 개입 없이, 자동적으로 다운로딩될 수 있다.
다른 실시형태에서, 본 발명은, 실행을 위한 장치의 메모리로 애플리케이션이 로딩될 경우, 가상 머신의 존재 여부를 검출하고, 필요하다면, 가상 머신을 로딩하고 실행하여, 애플리케이션이 가상 머신의 환경에서 실행될 수 있게 한다.
복수개 도면 전체에서 유사한 참조 부호가 유사하거나 대응되는 부분을 지시하는 첨부 도면을 참조하여, 본 발명의 예시적이고 바람직한 실시형태를 상세히 설명한다. 첨부된 도면과 관련되는 이하의 상세한 설명을 참조하면, 당업자는 본 발명의 특성, 목적 및 이점을 보다 분명히 알 수 있다.
본 명세서의 일부분으로 포함되고 구성되는 첨부된 도면은, 본 발명의 바람직한 실시형태를 나타내며, 전술한 일반적인 설명 및 이하의 바람직한 실시형태의 상세한 설명은 본 발명의 원리를 설명하기 위해 제공된 것이다.
도 1 은 본 발명이 실시될 수 있는 환경의 일 실시형태를 나타낸다.
도 2 는 본 발명의 실시형태에 부합되는 시스템 서비스를 이용하는 애플리케이션을 다운로딩하는 것과 관련되는 프로세스를 나타낸다.
도 3 은 가상 머신을 이용하는 애플리케이션의 로딩에 응답하여, 무선 장치상에 가상 머신을 로딩하고 인스톨된 가상 머신을 실행하는 프로세스를 나타낸다.
도 1 은 본 발명이 실시될 수 있는 환경의 일 실시형태를 나타내는 도면이다. 이 실시형태에서, 장치 (100) 는 무선 네트워크 (125) 를 이용하여 서버 (105) 와 통신한다. 장치 (100) 는 데이터 및/또는 음성을 전송 및/또는 수신할 수 있는 무선 장치일 수 있다. 무선 장치 (100) 는, 무선 장치에 의해 이용되는, 가상 머신 (120) 과 같은, 애플리케이션 (110) 및 시스템 서비스 (115) 를 포함하여, 서버로부터 다양한 종류의 정보를 요청할 수 있다.
무선 장치 (100) 는, 서버로부터 다운로딩된 애플리케이션 (110) 및 시스템 서비스 (115) 를 저장, 로딩, 및 실행하는데 이용되는 (미도시된) 프로세서 및 메모리, 1차 및 보조 저장 매체를 포함할 수 있다. 또한, 이러한 애플리케이션 (110) 및 시스템 서비스 (115) 는, 장치 특정 리소스에 대해 일반화된 콜 (call) 을 제공하는 것 등에 의해, 무선 장치와의 인터페이스를 단순화하는데 이용되는, 무선 장치상에 위치하는 소프트웨어 플랫폼 (software platform) 과 상호작용할 수 있다. 이러한 소프트웨어 플랫폼은 California, San Diego 에 소재하는 QUALCOMM, Inc 에 의해 개발된 Binary Runtime Environment for WirelessTM (BREWTM) 소프트웨어이다.
또한, 당업자는, 무선 장치 (100) 의 아키텍쳐 (architecture) 또한, (나타내지 않거나 구체적으로 지시되지 않은) 다른 부품의 집합 (assortment) 을 포함할 수 있다는 것을 알 수 있다. 이러한 부품으로는 디스플레이, 스피커, 마이크로폰 (microphone), 및 영숫자 (alphanumeric) 와 심볼 입력을 허용하는 버튼을 들 수 있지만, 이에 한정되는 것은 아니다. 또한, 무선 장치는 애플리케이션, 시스템 서비스, 다른 실행 가능 코드, 및 데이터 조작의 실행을 돕는, ROM, RAM, 및 플래시 메모리와 같은 다수의 저장 장치, 배터리, 운영 시스템, 및 컴파일 부품을 장치상에 포함할 수 있다.
시스템 서비스 및 애플리케이션이 서버 (105) 상에 위치하는 것으로 표시되었으나, 당업자는 애플리케이션 및 소프트웨어가 물리적으로 서버에 위치하지 않아도 된다는 것을 알 수 있다. 이 경우, 서버는 다른 시스템으로부터 무선 장치용 애플리케이션과 시스템 서비스를 요청한 다음, 요청된 파일을 다운로딩하거나, 요청된 파일을 무선 장치로 직접 전송하기 위해 이러한 요청을 다른 시스템으로 전달할 수 있다.
당업자에 의해 인지된 바와 같이, 도 1 은 본 발명을 위한 일 실시예의 환경이다. 장치는 유무선 장치를 구비하는 다른 타입의 시스템을 포함할 수 있다. 또한, 장치는, 유무선, 개인 (private) 및 공중 (public), 스위칭 (switching) 및 논-스위칭 (non-switching), 다이렉트 링크 (direct link), 및 이들의 조합을 포함하는 다수의 네트워크 타입 및 통신 아키텍쳐에 의해, 서버 및 다른 시스템과 통신할 수 있다.
도 2 는 본 발명의 실시형태에 따른 시스템 서비스를 이용하는 애플리케이션의 다운로딩과 관련된 프로세스를 나타낸다. 무선 장치 (100) 와 같은 장치는 서버 (105) 로부터 애플리케이션을 요청한다 (단계 200). 사용자가 무선 장치로부터 게임과 같은 소정의 애플리케이션을 요청하기 때문에, 이러한 요청이 개시되었을 것이다. 이 장치는, 사용자에게 이용 가능한 애플리케이션이 장치 자체에 모두 상주하지 않고, 사용자가 액세스할 수 있는 애플리케이션의 표시가 존재하도록 구성될 수 있다.
그러나, 이 요청은 비-사용자 (non-user) 개시형일 수 있고, 시스템 유지용 작업 (task) 및 직접적인 사용자 상호 작용과 관련없는 작업을 포함할 수 있다. 또한, 이 요청은, 데이터, 시스템 서비스, 또는 다른 타입의 정보를 포함하는, 애플리케이션 이외의 파일 타입을 위한 것일 수 있다.
다음으로, 장치는 서버로부터 애플리케이션을 수신하고, 이를 저장한다 (단계 205). 일 실시형태에서, 서버는 요청된 애플리케이션을 장치로 송신한다. 그러나, 전술한 바와 같이, 애플리케이션은 물리적으로 서버에 저장되지 않을 수도 있지만, 서버는 요청을 수신하고 장치로의 애플리케이션 다운로딩을 시작할 수 있다.
다음으로, 장치는 애플리케이션이 시스템 서비스를 이용하는지의 여부를 판정하기 위해 애플리케이션을 체크한다 (단계 210). 애플리케이션은, 시스템 서비스가 애플리케이션에 이용되는 것을 표시하는, 참조 (reference) 또는 어떤 식별자를 포함할 수 있다. 이러한 참조는 애플리케이션에 포함되거나, 어떠한 다른 방식으로 애플리케이션과 관련될 수 있다.
일 실시형태에서, 애플리케이션은 자바 애플릿이고, 실행을 위해 자바 가상 머신 (시스템 서비스) 이용을 요청한다. 장치는 전술한 BrewTM과 같은 소프트웨어 플랫폼을 포함할 수 있다. 이 장치는, 소프트웨어 플랫폼을 이용하여, 자바 가상 머신을 표시하는 객체 클래스로의 애플릿에 의한 어떠한 참조가 존재하는지의 여부를 체크함으로써, 자바 가상 머신이 애플릿에 의해 이용되는지를 판정한다. 일 실시형태에서, 각각의 객체 클래스는 고유한 32-비트 식별자에 의해 표시되고, 이 식별자는 어떤 객체 클래스가 참조되는지를 결정하는데 이용될 수 있다.
다음으로, 장치는 시스템 서비스가 장치상에 이미 인스톨되었는지를 판정한다 (단계 215). 일 실시형태에서는, 장치상에 인스톨된 객체 클래스를 열거하는 내부 테이블을 체크함으로써 이러한 판정이 수행된다. 다운로딩된 애플리케이션에 의해 참조되는 32-비트 식별자를 이용하여, 내부 테이블을 체크함으로써, 참조되는 객체 클래스가 인스톨되는지의 여부를 판정하거나, 전술한 실시예를 이용하여, 자바 가상 머신이 이미 장치상에 인스톨되었는지를 판정한다.
시스템 서비스가 인스톨되지 않았으면, "아니오" 분기 (branch) 로 진행하여, 시스템은 시스템 서비스의 다운로딩을 진행한다 (단계 220). 상기 실시예에 수반하여, 다운로딩된 애플리케이션에 의해 이용되는 자바 가상 머신이 장치에 인스톨되지 않았으면, 장치는 자바 가상 머신의 다운로딩을 서버에 요청한다. 또한, 다른 시스템 서비스가 필요하면, 이들도 장치로 다운로딩될 수 있다.
당업자는, 다운로딩된 애플리케이션에 의해 이용되는 시스템 서비스의 다운로딩이 사용자에 의한 어떠한 행동없이 수행될 수도 있다는 것을 알 수 있다. 몇가지 가능한 전송 지연 또는 표시 이외에도, 사용자는 이러한 다운로딩이 발생하고 있다는 것을 완전하게 깨닫지 못할 수도 있다. 그러나, 추가적인 다운로딩이 발생하고 있다는 것을 사용자에게 통지하는 것이 바람직할 수도 있다. 이는 본 발명을 실시하는 사람들이 선택할 수 있는 구현의 형태이다.
당업자는, 시스템 서비스의 다운로딩이 애플리케이션의 다운로딩 여부에 독립적이라는 것 (즉, 팩토리에서 인스톨되거나 장치로 전송된 애플리케이션때문에 시스템 서비스의 다운로딩이 시작될 수도 있다는 것) 도 알 수 있다.
단계 210 에서 시스템 서비스가 이미 인스톨되었거나, 단계 220 에서 다운로딩된 후라면, 애플리케이션이 실행될 때, 시스템 서비스가 이용될 수 있다. 당업자는, 시스템 서비스가 장치상에 다운로딩되지만 실행을 위한 장치에 로딩되지 않을 수도 있다는 것을 알 수 있다.
전술한 설명은, 장치로부터의 요청에 응답하여, 시스템 서비스의 필요 여부를 판정하고 시스템 서비스를 다운로딩하는 장치의 이용을 구체화하는 한편, 본 발명은 또한, 서버 또는 다른 시스템이 시스템 서비스가 필요한지의 여부를 판정하는 것을 수행하고, 시스템 서비스가 장치에 이미 인스톨되었는지의 여부에 기초하여 시스템 서비스를 다운로딩하는 프로세스를 구체화한다.
도 3 은 가상 머신을 이용하는 애플리케이션의 로딩에 응답하여, 무선 장치상에 인스톨된 가상 머신을 로딩하고 실행하는 프로세스를 나타낸다. 이 프로세스는 무선 장치에 이용가능한 애플리케이션들로부터 선택된 애플리케이션을 구비하는 것에 의해 시작된다 (단계 300). 이러한 선택은 애플리케이션의 실행을 소망하는 사용자에 의해 수행될 수 있다. 그러나, 이 선택은 사용자의 개입없이 장치 또는 몇몇 다른 자동화된 방식으로 수행될 수 있다.
애플리케이션을 선택한 후, 장치는 실행을 위해 애플리케이션을 메모리로 로딩한다 (단계 305). (애플리케이션이 실행 중인 환경에 따라, 애플리케이션의 로딩은 애플리케이션 실행의 일부로 간주될 수 있다). 이러한 로딩 단계 동안, 로더 (실행을 위한 애플리케이션을 로딩하는 부품) 는 가상 머신 서비스를 요청한다 (단계 310). 일 실시형태에서, 로더는, 고유한 클래스 식별자를 이용하여 가상 머신을 식별하는, 전술한 소프트웨어 플랫폼 내에 내장된 API (Applications Programming Interface) 메커니즘을 이용하여 이를 수행할 수 있다.
예를 들면, 애플리케이션은 무선 장치에서의 실행을 위해 자바 가상 머신의 이용을 요청하는 자바 애플릿일 수 있다. 실행을 위해 장치에 자바 애플릿을 로딩하는 로더는 고유한 식별자에 의해 자바 가상 머신을 식별하는 BrewTM API 장치를 이용하여 자바 가상 머신 서비스를 요청할 수 있다. 일 실시예에서, 이러한 식별자는 32-비트 클래스 식별자이다.
다음으로, 장치는 가상 머신 시스템 서비스가 메모리로 로딩되는지의 여부를 판정한다 (단계 315). 장치는, 메모리로 로딩된 객체 클래스를 체크함으로써 이를 수행할 수 있다. 로딩된 시스템 서비스, 애플리케이션, 실행 가능 파일, 데이터, 다른 데이터 타입 또는 객체 클래스를 추적하기 위해, 각각의 객체 클래스와 관련된 식별자를 이용하는 것이 바람직하다.
장치, 또는 특히 일 실시예의 Brew 소프트웨어 플랫폼은, 로더에 의해 요청되는 가상 머신이 이미 메모리 내에 있는지의 여부를 판정한다.
단계 315 에서 판정된 바에 따라, 가상 머신이 메모리에 이미 로딩되지 않은 경우라면, "아니오" 분기를 따르고, 장치는 가상 머신을 로딩한다 (단계 320). 가상 머신이 아직 무선 장치상에 인스톨되지 않은 경우라면, 가상 머신 소프트웨어로의 액세스를 갖는 서버 또는 다른 컴퓨터 시스템과 같은, 외부 소오스로부터 무선 장치로 가상 머신이 다운로딩될 수 있다.
시스템 서비스 뿐만 아니라 본 발명이 구현되는 장치와 동작 플랫폼에 따라, 시스템 서비스는 로딩에 수반하여 추가적인 실행 또는 시작 단계를 요청할 수 있다. 이 실시형태의 시스템 서비스 또는 가상 머신은, 실행 또는 다른 가능한 프로세스시, 다운로딩된 애플리케이션에 액세스할 수 있는 장치 상태에 있어야 한다.
단계 320 에 수반하거나, 가상 머신이 이미 로딩된 단계 315 이후에 판정이 이루어지는 경우라면, 애플리케이션은 가상 머신 환경에서 실행된다 (단계 325). 시스템 서비스가 가상 머신이 아니라면, 애플리케이션은 애플리케이션을 위해 다운로딩된 시스템 서비스를 이용할 수 있다. 자바 가상 머신 실시예에서, 자바 애플릿은 자바 가상 머신 환경에서 실행한다.
장치가 애플리케이션으로부터 무선 장치로의 인터페이스를 간략화하는 BrewTM 소프트웨어와 같은 소프트웨어 플랫폼을 포함한다면, 가상 머신은 애플리케이션 또는 가상 머신에 의해 이루어진 시스템 서비스의 요청을 소프트웨어 플랫폼으로 통과시킨다 (단계 330).
도 3 에서는 실행 동안 가상 머신을 이용하는 애플리케이션을 논하지만, 이는 예시적인 목적을 위한 것이며, 가상 머신 이외의 다른 시스템 서비스, 다른 실행가능 컨텐츠, 및 애플리케이션에 이용되는 데이터의 동적 로딩도 본 발명의 범위 내에 있는 것으로 고려된다.
본 발명은 장치상의 시스템 서비스의 동적 다운로딩 및 실행을 허용한다. 일 실시형태에서, 가상 머신을 요청하는 애플릿이 무선 장치로 다운로딩된다. 장치상의 소프트웨어 플랫폼은 실행 동안 가상 머신이 애플릿에 의해 이용되는 것을 판정한다. 추가적인 사용자 상호 작용 없이, 가상 머신은 무선 장치로 다운로딩된다. 이로 인해, 가상 머신을 요청하는 이들 애플릿이 이미 인스톨된 가상 머신을 갖지 않는 장치에 이용될 수 있다.
본 발명의 다른 실시형태는, 시스템 서비스를 이용하는 애플리케이션이 로딩 중일 때, 가상 머신과 같은 시스템 서비스의 동적 로딩을 허용한다. 이러한 실시형태에서는, 시스템 서비스가 로딩되는지를 장치가 판정할 수 있게 하는, 시스템 서비스와 관련된 고유한 식별자를 이용하여, 이를 수행한다.
본 발명의 실시형태에 대한 상기 설명은 예시와 설명의 목적을 위해 제시되었다. 이것이 전부가 아니며, 본 발명을 정확히 개시된 형태로 한정하려는 것도 아니다. 전술된 실시형태로부터의 변형 및 변화가 가능하며, 이는 본 발명의 실시로부터 획득될 수 있다, 예를 들면, 설명한 실시예는 소프트웨어를 포함하지만, 본 발명의 일 실시형태는 하드웨어와 소프트웨어의 조합으로 또는 하드웨어만으로 구현될 수 있다. 본 발명은 객체-지향형 (object-oriented) 및 비객체-지향형 (non-object-oriented) 프로그래밍 시스템으로 구현될 수 있다. 또한, 본 발명의 태양들이 메모리에 저장되는 것으로 설명되고 있기는 하지만, 당업자는 이러한 태양이, 하드 디스크, 플로피 디스크, 또는 CD0ROM 등의 보조 저장 장치; 인터넷 또는 다른 전달 매체로부터의 캐리어 웨이브; 또는 다른 형식의 RAM 또는 ROM 과 같은 다른 타입의 컴퓨터 판독 가능 매체에 저장될 수도 있다는 것을 알 수 있다. 본 발명의 범위는 청구범위와 그들의 등가물에 의해 정의된다.

Claims (19)

  1. 무선 장치에서 가상 머신을 수신하는 방법으로서,
    상기 무선 장치상에서 상기 가상 머신을 이용하는 애플리케이션을 다운로딩하기 위한 요청을 전송하는 단계;
    상기 애플리케이션, 및 상기 애플리케이션이 상기 가상 머신을 이용하는 것을 표시하는 관련되는 참조를 서버로부터 수신하는 단계;
    상기 참조를 이용하여, 상기 가상 머신이 상기 무선 장치상에 로딩되었는지의 여부를 판정하는 단계; 및
    상기 가상 머신이 상기 무선 장치로 로딩되지 않은 경우, 상기 서버로 요청을 전송하여 상기 무선 장치로 상기 가상 머신을 다운로딩하는 단계를 포함하는 것을 특징으로 하는 가상 머신의 수신 방법.
  2. 제 1 항에 있어서,
    상기 애플리케이션에 대한 요청을 수신하는 단계를 더 포함하는 것을 특징으로 하는 가상 머신의 수신 방법.
  3. 제 1 항에 있어서,
    상기 애플리케이션은 자바 코드이고, 상기 가상 머신은 자바 가상 머신인 것을 특징으로 하는 가상 머신의 수신 방법.
  4. 제 1 항에 있어서,
    상기 애플리케이션은 실행시에 상기 가상 머신을 이용하는 것을 특징으로 하는 가상 머신의 수신 방법.
  5. 관련된 시스템 서비스를 갖는 데이터를 처리하는 방법으로서,
    어떤 시스템 서비스가 상기 데이터와 관련되는가를 판정하는 단계;
    상기 시스템 서비스가 무선 장치에 의해 액세스 가능한지의 여부를 판정하는 단계; 및
    상기 무선 장치가 상기 서비스로의 액세스를 갖지 않을 경우, 무선 네트워크를 통해 상기 시스템 서비스로의 액세스를 획득하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법.
  6. 제 5 항에 있어서,
    상기 데이터는 실행 가능한 코드인 것을 특징으로 하는 데이터 처리 방법.
  7. 제 6 항에 있어서,
    상기 시스템 서비스는 자바 가상 머신이고,
    상기 실행 가능한 코드는 실행시에 상기 자바 가상 머신을 이용하는 것을 특징으로 하는 데이터 처리 방법.
  8. 제 5 항에 있어서,
    상기 데이터는 하나의 참조와 관련되고,
    상기 참조를 체크함으로써, 어떤 시스템 서비스가 상기 데이터와 관련되는지를 판정하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 방법.
  9. 제 5 항에 있어서,
    상기 시스템 서비스를 상기 무선 네트워크를 통해 상기 무선 장치로 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 방법.
  10. 제 5 항에 있어서,
    상기 데이터를 상기 무선 네트워크를 통해 상기 무선 장치로 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 방법.
  11. 무선 장치상에서 시스템 서비스를 수신하는 방법으로서,
    상기 무선 장치상으로 데이터 객체를 저장하는 단계;
    상기 데이터 객체가 상기 데이터 객체와 관련되는 시스템 서비스를 갖는지의 여부를 판정하는 단계;
    상기 시스템 서비스가 상기 무선 장치내에 위치하는지의 여부를 판정하는 단계;
    상기 시스템 서비스가 상기 무선 장치내에 위치하지 않는 경우, 상기 시스템 서비스에 대한 요청을 서버로 전송하는 단계; 및
    상기 서버로부터 무선 네트워크를 통해 상기 시스템 서비스를 수신하는 단계를 포함하는 것을 특징으로 하는 시스템 서비스의 수신 방법.
  12. 제 11 항에 있어서,
    상기 무선 장치에서 상기 데이터 객체에 대한 요청을 수신하는 단계를 더 포함하는 것을 특징으로 하는 시스템 서비스의 수신 방법.
  13. 제 11 항에 있어서,
    상기 데이터 객체가 시스템 서비스를 갖는지의 여부를 판정하는 단계는,
    상기 데이터 객체와 관련되는 참조를 분석하는 단계, 및
    상기 시스템 서비스의 표시를 포함하는 단계를 포함하는 것을 특징으로 하는 시스템 서비스의 수신 방법.
  14. 무선 장치에서 애플리케이션을 프로세싱하는 방법으로서,
    애플리케이션에 대한 요청을 수신하는 단계;
    상기 무선 장치를 체크하여, 상기 애플리케이션이 상기 무선 장치에 의해 액세스 가능한지의 여부를 판정하는 단계;,
    상기 애플리케이션이 액세스 가능하지 않은 경우, 무선 네트워크를 이용하여 서버로부터 상기 애플리케이션으로의 액세스를 요청하는 단계,
    애플리케이션, 및 상기 애플리케이션에 이용하기 위한 시스템 서비스를 표시하는, 상기 애플리케이션과 관련되는 참조를 수신하는 단계;
    상기 참조를 체크하여, 상기 시스템 서비스가 상기 무선 장치에 의해 액세스 가능한지의 여부를 판정하는 단계; 및
    상기 시스템 서비스가 상기 무선 장치에 의해 액세스 가능하지 않은 경우, 무선 네트워크를 이용하여 서버로부터 상기 시스템 서비스로의 액세스를 요청하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 프로세싱 방법.
  15. 제 14 항에 있어서,
    상기 서버로부터 상기 무선 네트워크를 통해 상기 애플리케이션을 수신하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 프로세싱 방법.
  16. 제 14 항에 있어서,
    상기 서버로부터 상기 무선 네트워크를 통해 상기 시스템 서비스를 수신하는 단계를 더 포함하는 것을 특징으로 하는 애플리케이션 프로세싱 방법.
  17. 저장 매체 및 프로세서를 갖는 무선 장치를 구비하고,
    상기 프로세서는, 데이터와 관련되는 시스템 서비스를 판정하고, 상기 시스템 서비스가 상기 무선 장치에 의해 액세스 가능한지의 여부를 판정하며, 상기 무선 장치가 상기 서비스로의 액세스를 갖지 않을 경우, 무선 네트워크를 통해 상기 시스템 서비스로의 액세스를 획득하도록 구성되는 것을 특징으로 하는 애플리케이션 프로세싱 장치.
  18. 실행시에, 무선 장치에서 가상 머신을 수신하는 방법을 수행하는, 컴퓨터 실행 가능 명령어를 포함하는 컴퓨터 판독 가능 매체에 있어서,
    상기 방법은,
    상기 가상 머신을 이용하는 애플리케이션을 상기 무선 장치상에 다운로딩하기 위한 요청을 전송하는 단계;
    서버로부터 상기 애플리케이션, 및 상기 애플리케이션이 상기 가상 머신을 이용하는 것을 표시하는 관련되는 참조를 수신하는 단계;
    상기 참조를 이용하여, 상기 가상 머신이 상기 무선 장치로 로딩되었는지의 여부를 판정하는 단계; 및
    상기 가상 머신이 상기 무선 장치로 로딩되지 않은 경우, 상기 서버로 요청을 전송하여 상기 무선 장치상에 상기 가상 머신을 다운로딩하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  19. 무선 장치에서 가상 머신을 수신하는 시스템에 있어서,
    가상 머신을 이용하는 애플리케이션을 상기 무선 장치상에 다운로딩하기 위한 요청을 전송하는 수단;
    서버로부터 상기 애플리케이션, 및 상기 애플리케이션이 상기 가상 머신을 이용하는 것을 표시하는 관련되는 참조를 수신하는 수단;
    상기 참조를 이용하여, 상기 가상 머신이 상기 무선 장치상에 로딩되었는지의 여부를 판정하는 수단; 및
    상기 가상 머신이 상기 무선 장치로 로딩되지 않은 경우, 상기 서버로 요청을 전송하여 상기 무선 장치상에 상기 가상 머신을 다운로딩하는 수단을 구비하는 것을 특징으로 하는 가상 머신의 수신 시스템.
KR1020037002181A 2001-03-19 2002-03-18 무선 장치에서 동적으로 다운로딩되고 실행되는 시스템서비스 KR100587749B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US27760701P 2001-03-19 2001-03-19
US60/277,607 2001-03-19
PCT/US2002/008394 WO2002075527A2 (en) 2001-03-19 2002-03-18 Dynamically downloading and executing system services on a wireless device

Publications (2)

Publication Number Publication Date
KR20030084886A KR20030084886A (ko) 2003-11-01
KR100587749B1 true KR100587749B1 (ko) 2006-06-09

Family

ID=23061612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037002181A KR100587749B1 (ko) 2001-03-19 2002-03-18 무선 장치에서 동적으로 다운로딩되고 실행되는 시스템서비스

Country Status (15)

Country Link
EP (1) EP1421484A2 (ko)
JP (1) JP2004537086A (ko)
KR (1) KR100587749B1 (ko)
CN (1) CN1256666C (ko)
AR (1) AR035784A1 (ko)
AU (1) AU2002254289B2 (ko)
BR (1) BR0208206A (ko)
CA (1) CA2441870C (ko)
HK (1) HK1068981A1 (ko)
IL (2) IL157959A0 (ko)
MX (1) MXPA03008532A (ko)
NZ (1) NZ528277A (ko)
PE (1) PE20030003A1 (ko)
TW (1) TWI246833B (ko)
WO (1) WO2002075527A2 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8737981B2 (en) * 2002-12-19 2014-05-27 Qualcomm Incorporated Downloadable configuring application for a wireless device
FR2849704A1 (fr) * 2003-01-02 2004-07-09 Thomson Licensing Sa Dispositifs et procedes de decision conditionnelle d'execution de services recus et de constitution de messages d'informations associes a des services, et produits associes
US20050060704A1 (en) * 2003-09-17 2005-03-17 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
US7552433B2 (en) 2003-11-12 2009-06-23 Hewlett-Packard Development Company, L.P. Non-platform-specific unique indentifier generation
US7509658B2 (en) 2004-01-30 2009-03-24 Research In Motion Limited System and method for adaptable provisioning of generic application content
US8387039B2 (en) 2004-01-30 2013-02-26 Research In Motion Limited System and method for customized provisioning of application content
EP2088505A1 (en) 2004-02-02 2009-08-12 Research In Motion Limited Computer system and method for adaptable provisioning of generic application content
EP1560114A1 (en) * 2004-02-02 2005-08-03 Research In Motion Limited Computer system and method for customized provisioning of application content
US8549166B2 (en) * 2004-03-01 2013-10-01 Qualcomm Incorporated Execution of unverified programs in a wireless, device operating environment
WO2006009287A1 (ja) * 2004-07-20 2006-01-26 Star Game's Corporation 自動変換用プログラムおよびプログラム変換サーバ
JP4579287B2 (ja) * 2005-02-25 2010-11-10 シャープ株式会社 データ管理システム、データ管理方法、サーバ装置、受信装置、制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
CN101283572A (zh) 2005-03-01 2008-10-08 方瑞公司 对移动设备的应用程序更新部署
JP2006260440A (ja) * 2005-03-18 2006-09-28 Nomura Research Institute Ltd 携帯端末のためのアプリケーションシステム
US8000680B2 (en) * 2006-01-11 2011-08-16 Samsung Electronics Co., Ltd Security management method and apparatus in multimedia middleware, and storage medium therefor
EP2053504A1 (en) * 2007-08-09 2009-04-29 France Telecom System and method for managing processing resources
US8811968B2 (en) 2007-11-21 2014-08-19 Mfoundry, Inc. Systems and methods for executing an application on a mobile device
KR20090132374A (ko) * 2008-06-20 2009-12-30 삼성전자주식회사 디스플레이장치 및 서버와, 디스플레이장치의 시스템 제어프로그램 업데이트 방법
KR200453971Y1 (ko) * 2009-07-10 2011-06-09 (주)아모레퍼시픽 화장품 용기용 볼 투입 장치
CN102487380B (zh) * 2010-12-01 2016-09-07 中兴通讯股份有限公司 桌面虚拟化终端托管方法及系统
US9275162B2 (en) 2011-03-22 2016-03-01 Blackberry Limited Pre-caching web content for a mobile device
US9401917B2 (en) 2011-06-03 2016-07-26 Blackberry Limited Pre-caching resources based on a cache manifest
US9317689B2 (en) * 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
JP5814889B2 (ja) * 2012-08-27 2015-11-17 株式会社コナミデジタルエンタテインメント ゲームの選択制御方法、ゲームソフトウエアの配信制御方法及びゲームソフトウエアの配信サーバ
CN104714890A (zh) * 2015-04-13 2015-06-17 东信和平科技股份有限公司 一种跨平台检测智能卡的方法及系统
US10255092B2 (en) * 2016-02-09 2019-04-09 Airwatch Llc Managed virtual machine deployment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630066A (en) * 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment

Also Published As

Publication number Publication date
CN1526096A (zh) 2004-09-01
AR035784A1 (es) 2004-07-14
IL157959A0 (en) 2004-03-28
WO2002075527A2 (en) 2002-09-26
HK1068981A1 (en) 2005-05-06
WO2002075527A3 (en) 2004-04-01
TWI246833B (en) 2006-01-01
PE20030003A1 (es) 2003-01-21
KR20030084886A (ko) 2003-11-01
CN1256666C (zh) 2006-05-17
CA2441870C (en) 2010-02-23
IL157959A (en) 2008-07-08
JP2004537086A (ja) 2004-12-09
WO2002075527A9 (en) 2004-06-17
EP1421484A2 (en) 2004-05-26
CA2441870A1 (en) 2002-09-26
MXPA03008532A (es) 2004-06-30
AU2002254289B2 (en) 2006-12-07
BR0208206A (pt) 2006-02-21
NZ528277A (en) 2007-06-29

Similar Documents

Publication Publication Date Title
KR100587749B1 (ko) 무선 장치에서 동적으로 다운로딩되고 실행되는 시스템서비스
US7165099B2 (en) Dynamically downloading and executing system services on a wireless device
CN109547570B (zh) 服务注册方法、装置、注册中心管理设备及存储介质
AU2002254289A1 (en) Dynamically downloading and executing system services on a wireless device
RU2339076C2 (ru) Выполнение неверифицированных программ в операционной среде устройства радиосвязи
US6430570B1 (en) Java application manager for embedded device
US20090133014A1 (en) Methods, apparatuses and computer program product for automatic download of software dependencies on installation
US7640542B2 (en) Managing midlet suites in OSGI environment
US7617273B2 (en) Method and apparatus for providing a unified component architecture for client-side and server-side components
KR20050089072A (ko) 모바일 장치들 상의 라이브러리들을 공유하기 위한 방법 및장치
JP2008524686A (ja) コンピュータ装置においてアプリケーションを保守する方法
GB2466220A (en) Installing or uninstalling computer programs using installer plug-in modules
US7444624B2 (en) Method for the secure interpretation of programs in electronic devices
US7310520B2 (en) File construction for mobile communication device including machine-language-code execution segment and file execution method using the same
JP4724660B2 (ja) 組み込みシステムの中に統合されるソフトウェアコンポーネントを管理する方法
CN110045998A (zh) 加载动态库的方法及装置
CN112256351B (zh) Feign组件的实现方法、微服务调用方法及装置
CN111367684A (zh) 一种过滤远程过程调用的方法和装置
CN114981792A (zh) 在内容递送网络的边缘处管理共享应用程序
CN113065131A (zh) 插件的安全控制方法、装置和存储介质
CN117931237A (zh) 软件升级方法、装置、智能电视设备及介质
CN111026563A (zh) 调用接口的方法、装置、存储介质及电子设备
CN117170723A (zh) Java代码热处理方法及装置、介质、设备
CN116382796A (zh) 一种h5小程序运行器的插件管理方法、装置及电子设备
RU2339995C2 (ru) Система автоматической установки и обработки компонента в устройстве на основе реестра

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 14