KR20060092277A - 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치 - Google Patents

실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치 Download PDF

Info

Publication number
KR20060092277A
KR20060092277A KR1020067010532A KR20067010532A KR20060092277A KR 20060092277 A KR20060092277 A KR 20060092277A KR 1020067010532 A KR1020067010532 A KR 1020067010532A KR 20067010532 A KR20067010532 A KR 20067010532A KR 20060092277 A KR20060092277 A KR 20060092277A
Authority
KR
South Korea
Prior art keywords
application
different version
resident executable
request
executable application
Prior art date
Application number
KR1020067010532A
Other languages
English (en)
Other versions
KR100915564B1 (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 KR20060092277A publication Critical patent/KR20060092277A/ko
Application granted granted Critical
Publication of KR100915564B1 publication Critical patent/KR100915564B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

소프트웨어 애플리케이션의 실행 동안 무선 디바이스 상의 소프트웨어 애플리케이션의 선택적 업그레이드를 위한 시스템 및 방법이 제공된다. 시스템은 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계를 포함한다. 시스템은 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계를 더 포함한다. 시스템은 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 단계를 또한 포함한다. 또한, 시스템은 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하는 단계를 포함한다. 또한, 시스템은 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 단계를 포함한다. 시스템은 상주하는 실행가능 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 단계를 또한 포함한다. 또한, 시스템은 상이한 버전의 애플리케이션의 동적 실행을 개시하는 단계를 포함한다.
소프트웨어 애플리케이션, 선택적 업그레이드

Description

실행하는 동안 애플리케이션을 업그레이드하기 위한 방법, 소프트웨어 및 장치{METHOD, SOFTWARE AND APPARATUS FOR APPLICATION UPGRADE DURING EXECUTION}
관련 출원에 대한 상호 참조
본 출원은 여기에 참조로서 인용된 2003 년 10 월 29 일자로 제출된 계류 중인 미국 가출원 제 60/515,802 호에 대해 우선권을 주장한다.
발명의 배경
1. 기술 분야
본 발명은 일반적으로 데이터 네트워크 및 데이터 네트워크를 통한 컴퓨터 통신에 관한 것이다. 더욱 상세하게는, 본 발명은, 부분적으로, 무선 데이터 네트워크를 통해 하나 이상의 애플리케이션 다운로드 서버와의 선택적 통신 (selective communication) 에서 무선 디바이스 상의 소프트웨어 애플리케이션 및 그 컴포넌트 (component) 를 설치 및 제거하는 것에 관한 것이다. 또한, 더욱 상세하게는, 본 발명은, 부분적으로, 소프트웨어 애플리케이션의 실행 동안 무선 디바이스 상의 소프트웨어 애플리케이션을 선택적으로 업그레이드하는 것에 관한 것이다.
2. 관련기술의 설명
셀룰러 폰 등의 무선 디바이스는 무선 네트워크를 통해 보이스 및 데이터를 포함하는 패킷을 교환한다. 셀룰러 폰 그 자체는 증가된 연산 능력을 구비하도 록 제조되고 있으며, 퍼스널 컴퓨터 및 휴대용 PDA (personal digital assistants) 에 버금간다. 이들 "스마트 (smart)" 셀룰러 폰은 그 로컬 컴퓨터 플랫폼 상에 API (application programming interface) 를 설치하고, 이는 소프트웨어 개발자로 하여금 그 셀룰러 폰 상에서 충분히 실행 가능한 소프트웨어 애플리케이션 (통상 "프로그램" 이라 칭한다) 을 형성하는 것을 가능하게 한다. API 는 무선 디바이스 시스템 소프트웨어와 소프트웨어 애플리케이션 사이에 존재하여 소프트웨어 개발자가 특정 셀룰러 텔레폰 시스템 소스 코드를 가질 필요 없이 셀룰러 텔레폰 연산 기능을 그 애플리케이션에 대해 이용가능하도록 한다.
소프트웨어 애플리케이션은 무선 텔레폰이 제조될 때 프리-로딩 (pre-loading) 될 수 있고, 또는, 유저가 나중에 추가적인 프로그램을 셀룰러 텔레커뮤니케이션 캐리어 네트워크를 통해 다운로드 받기를 요청할 수도 있으며, 다운로드된 애플리케이션은 무선 텔레폰 상에서 실행가능하다. 그 결과, 무선 텔레폰의 유저는 무선 네트워크를 통해 다운로드받을 수 있는 게임, 인쇄 매체, 주식 시황, 뉴스, 또는 임의의 다른 타입의 정보 또는 애플리케이션과 같은 애플리케이션의 선택적 다운로드를 통해 그들의 무선 텔레폰을 적합화시킬 수 있다. 셀룰러 텔레폰 자원을 운용하기 위해서, 무선 텔레폰의 유저는 새로운 애플리케이션이 클리어된 저장 공간으로 로드될 수 있도록 저장 공간을 클리어하기 위해 무선 텔레폰 플랫폼으로부터 애플리케이션 및 데이터를 의도적으로 삭제한다.
퍼스널 컴퓨터 및 PDA 의 더 큰 컴퓨터 플랫폼에 비해, 무선 디바이스는 필수적이지 않은 애플리케이션에 저장 공간 및 프로세싱과 같은 자원을 쓰기에는 제 한적이다. 통상적으로, 텔레커뮤니케이션 애플리케이션은 다른 이용 가능한 애플리케이션 할당 자원에 비해 시스템 자원의 사용에서 우선권을 가진다. 따라서, 무선 디바이스는 애플리케이션에 대한 모든 파일을 저장하기에 부족한 용량만을 가지고, 무선 디바이스에 원하는 새로운 애플리케이션을 다운로드하기 위한 공간을 만들기 위해 애플리케이션을 삭제할지는 텔레폰의 사용자의 선택에 달려 있다. 그렇지 않다면, 무선 디바이스는 저장하고 실행할 자원이 없는 애플리케이션을 다운로드하지 않을 것이다.
무선 디바이스 상의 활용 가능한 자원을 찾는데 있어서, 유저는 통상 전체 상주하는 애플리케이션 (resident application) 을 디스에이블시키지 않고서는 상주하는 애플리케이션의 특정 컴포넌트를 제거할 수가 없다. 유저가 특정 컴포넌트를 삭제하기를 원하더라도, 디스에이블된 상주 애플리케이션은 그 애플리케이션의 전체를 다시 설치하지 않는 한 재저장될 수 없기 때문에, 자원의 의도된 활용을 하기는 힘들 것이다. 쓸모 없는 삭제되지 않은 애플리케이션 컴포넌트는 메인 애플리케이션이 실행될 수 없을 때에도 여전히 저장 공간을 불필요하게 차지한다. 무선 디바이스 상의 상주 소프트웨어 애플리케이션에 대한 이러한 전부 아니면 제로 (all-or-nothing) 형태의 삭제 요건은 무선 디바이스 상에 상주하여 유저가 이용가능한 애플리케이션의 수를 크게 제한한다.
따라서, 라이센스 및 유저-특정 데이터 등의 애플리케이션에 중요한 데이터는 유지하면서 애플리케이션의 특정 컴포넌트를 제거하여 무선 디바이스 상의 컴퓨터 자원의 활용을 극대화시킬 수 있는 무선 디바이스를 제공하는 것은 유용할 것이 다. 무선 디바이스가 애플리케이션을 다시 수행하기 위해 삭제된 소프트웨어 컴포넌트를 필요로 할 때, 무선 디바이스는 무선 네트워크를 통해 그 소프트웨어 컴포넌트를 획득할 수 있다. 본 발명의 주요 목적은 무선 디바이스의 소프트웨어 애플리케이션 컴포넌트의 선택적 삭제 및 리로딩 (reloading) 을 제어할 수 있는 시스템 및 방법의 제공에 있다.
발명의 요약
여기에 개시된 실시형태는 셀룰러 텔레폰, PDA, 페이저, 또는 다른 컴퓨터 플랫폼 등의 무선 디바이스 상에서 소프트웨어 애플리케이션의 실행 동안 임의로 소프트웨어 애플리케이션의 업그레이드를 하기 위한 시스템 및 방법을 포함한다. 하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계를 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 단계를 더 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 단계에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하는 단계를 더 포함한다. 또한, 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅 (overwriting) 하는 단계를 더 포함하고; 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하는 단계를 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하도록 구성된 로직을 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하도록 구성된 로직을 더 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 것에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하도록 구성된 로직을 더 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하도록 구성된 로직을 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 데 사용가능한 코드를 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 것에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종 결하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 데 사용가능한 코드를 더 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하는 데 사용가능한 코드를 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하기 위한 수단을 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하기 위한 수단을 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하기 위한 수단을 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하는 수단을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결시키기 위한 수단을 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하기 위한 수단을 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하기 위한 수단을 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계를 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리 케이션으로 교체하도록 하는 요청을 수신하는 단계에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 단계를 더 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하는 단계를 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하도록 구성된 로직을 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하도록 구성된 로직을 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하도록 구성된 로직을 더 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하도록 구성된 로직을 더 포 함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 데 사용가능한 코드를 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하는 데 사용가능한 코드를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 데 사용가능한 코드를 더 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하는 데 사용가능한 코드를 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하기 위한 수단을 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하기 위한 수단을 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하기 위한 수단을 더 포함한다. 이 실시 형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하기 위한 수단을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하기 위한 수단을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하기 위한 수단을 더 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션의 동적 실행을 개시하기 위한 수단을 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계를 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계에 응답하여 업그레이드 로케이션에 상이한 버전의 애플리케이션을 저장하는 단계를 더 포함한다. 이 실시형태는 동적 애플리케이션 로케이션의 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 단계를 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하는 단계를 더 포함한다. 또한, 이 실시형태는 업그레이드 로케이션 및 동적 애플리케이션 로케이션의 시퀀셜 서치 (sequential search) 에서 검출된 제 1 애플리케이션의 실행을 개시하는 단계를 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하도록 구성된 로직을 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 업그레이드 로케이션에 상이한 버전의 애플리케이션을 저장하도록 구성된 로직을 더 포함한다. 이 실시형태는 동적 애플리케이션 로케이션의 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하도록 구성된 로직을 더 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하도록 구성된 로직을 더 포함한다. 또한, 이 실시형태는 업그레이드 로케이션 및 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개시하도록 구성된 로직을 더 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 데 사용가능한 코드를 포함한다. 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 데 사용가능한 코드를 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 업그레이드 로케이션에 상이한 버전의 애플리케이션을 저장하는 데 사용가능한 코드를 포함한다. 이 실시형태는 동적 애플리케이션 로케이션의 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 데 사용가능한 코드를 포함한다. 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하는 데 사용가능한 코드를 포함한다. 또한, 이 실시형태는 업그레이드 로케이션 및 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개 시하는 데 사용가능한 코드를 포함한다.
하나 이상의 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하기 위한 수단을 포함한다. 또한, 이 실시형태는 상이한 버전의 애플리케이션을 네트워크를 통해 수신하기 위한 수단을 포함한다. 또한, 이 실시형태는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하기 위한 수단을 포함한다. 또한, 이 실시형태는 동적 애플리케이션 로케이션의 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하기 위한 수단을 포함한다. 또한, 이 실시형태는 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하기 위한 수단을 또한 포함한다. 또한, 이 실시형태는 업그레이드 로케이션 및 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개시하기 위한 수단을 포함한다.
본 발명의 다른 목적, 이점, 및 특징들은 이하의 도면의 간단한 설명, 발명의 상세한 설명, 및 청구의 범위의 검토를 통해 분명해질 것이다.
도면의 간단한 설명
도 1 은 무선 네트워크를 통한 하나 이상의 애플리케이션 다운로드 서버와의 선택적 통신에서 무선 디바이스 상의 소프트웨어 애플리케이션을 운용하는 본 발명 시스템의 대표도이다.
도 2 는 상이한 무선 디바이스와 애플리케이션 다운로드 서버 및 데이터 베 이스 사이의 통신을 제공하는 예시적인 무선 네트워크의 하드웨어 컴포넌트의 블록도이다.
도 3 은 그 구성하는 컴포넌트와 함께 애플리케이션을 구체적으로 나타내는 무선 디바이스 플랫폼 상에 상주하는 파일 테이블이다.
도 4 는 무선 디바이스 상의 애플리케이션 컴포넌트의 선택적 삭제를 나타내는 플로우차트이다.
도 5 는 애플리케이션이 다시 실행될 수 있도록 무선 디바이스 상에 애플리케이션을 재저장하기 위해, 애플리케이션 다운로드 서버로부터의 애플리케이션 컴포넌트에 대한 무선 디바이스의 복구를 나타내는 플로우차트이다.
도 6 은 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하는 것을 포함하는 시스템의 일 실시형태를 나타내는 플로우차트이다.
도 7 은 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하는 것을 포함하는 시스템의 일 실시형태를 나타내는 플로우차트이다.
도 8 은 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하기 위한 시스템에 사용되는 무선 디바이스의 일 실시형태의 블록도이다.
도 9 는 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하기 위한 시스템에 사용되는 무선 디바이스의 일 실시형태의 블록도이다.
도 10 은 상주하는 실행가능한 애플리케이션을 상이한 버전의 애플리케이션으로 교체하기 위한 시스템에 사용되는 무선 디바이스의 일 실시형태의 블록도이다.
발명의 상세한 설명
도 1 을 참조하면, 무선 네트워크 (14) 에의 무선 통신 포털 (portal) 또는 다른 데이터 액세스를 통해 소프트웨어 애플리케이션 및 컴포넌트를 무선 디바이스로 선택적으로 송신하는 하나 이상의 애플리케이션 다운로드 서버 (16) 와 무선 네트워크 (14) 를 통해 통신하는 셀룰러 텔레폰 (12) 등의 무선 디바이스 상의 소프트웨어 애플리케이션 컴포넌트의 삭제 및 리로딩을 위한 본 발명의 시스템 (10) 이 도시되어 있다. 여기에 도시된 바와 같이, 무선 디바이스는 셀룰러 텔레폰 (12), PDA (18), 여기서는 양방향 텍스트 페이저로 나타낸 페이저 (20), 또는 무선 통신 포털을 구비하고 이외에 네트워크 또는 인터넷으로의 유선 접속 (24) 을 구비할 수도 있는 별개의 컴퓨터 플랫폼 (22) 일 수 있다. 따라서, 본 발명의 시스템은 무선 모뎀, PCMCIA 카드, 액세스 터미널, 퍼스널 컴퓨터, 액세스 터미널, 디스플레이 또는 키패드 없는 텔레폰, 또는 그것들의 임의의 조합 또는 하위조합을 포함하여 제한 없이 무선 통신 포털을 포함하는 원격 모듈의 임의의 형태 상에서 수행될 수 있다.
애플리케이션 다운로드 서버 (16) 는, 여기서 무선 네트워크 (14) 와 통신하는 다른 컴퓨터 요소를 구비한 네트워크 (26) 상에 도시된다. 제 2 서버 (30) 및 독립형 서버 (32) 가 있고, 각각의 서버는 독립적인 서비스를 제공할 수 있고, 무선 네트워크 (14) 를 통해 무선 디바이스 (12, 18, 20, 22) 에 접근할 수 있다. 또한, 바람직하게는, 무선 디바이스 (12, 18, 20, 22) 에 의해 다운로드될 수 있는 애플리케이션을 보유하는 하나 이상의 저장된 애플리케이션 데이터베이스 (28) 가 존재한다.
도 2 에서는, 본 발명의 요소 간의 상호관계 및 무선 네트워크 (14) 의 컴포넌트를 더욱 자세히 도시한 블록 다이어그램이다. 무선 네트워크 (14) 는 단지 예시적인 것일 뿐이고, 무선 디바이스 (12, 18, 20, 22) 등의 원격 모듈이 서로 간에 및/또는, 제한 없이, 무선 네트워크 캐리어 및/또는 서버를 포함하는 무선 네트워크 (14) 의 컴포넌트 간에 공중을 통하여 (over-the-air) 통신할 수 있는 임의의 시스템을 포함할 수 있다. 애플리케이션 다운로드 서버 (16) 및 저장된 애플리케이션 데이터베이스 (28) 은, 셀룰러 텔레커뮤니케이션 서비스를 제공하는 데 필요한 서버 (30) 등의 임의의 다른 서버와 함께 인터넷, 보안 LAN, WAN 또는 다른 네트워크 등의 데이터 링크 등을 통해 캐리어 네트워크 (40) 와 통신한다. 캐리어 네트워크 (40) 는 메시징 서비스 컨트롤러 (MSC; 42) 로 데이터 패킷 형태로 전송된 메세지를 제어한다. 캐리어 네트워크 (40) 는 네트워크, 인터넷 및/또는 POTS (plain ordinary telephone system) 에 의해 MSC (42) 와 통신한다. 전형적으로, 캐리어 네트워크 (40) 와 MSC (42) 사이의 네트워크 또는 인터넷 접속은 데이터를 전송하고, POTS 는 보이스 정보를 전송한다. MSC (42) 는 다중 기지국 (BTS; 44) 에 접속된다. 캐리어 네트워크와 유사한 방식으로, MSC (42) 는 통상 데이터 전송을 위한 네트워크 및/또는 인터넷과 보이스 정보를 위한 POTS 에 의해 BTS (44) 에 접속된다. 결국, BTS (44) 는 단문 서비스 (SMS) 또는 다른 당업계에 공지된 공중을 통한 방법에 의해 셀룰러 텔레폰 (12) 과 같은 무선 디바이스에 무선으로 메세지를 브로드캐스트한다.
셀룰러 텔레폰 (12) 과 같은 무선 디바이스는 애플리케이션 다운로드 서버 (16) 로부터 송신된 소프트웨어 애플리케이션을 수신하고 실행할 수 있는 컴퓨터 플랫폼 (50) 을 가진다. 컴퓨터 플랫폼 (50) 은 주문형 집적 회로 (ASIC; 52) 또는 다른 프로세서, 마이크로프로세서, 논리 회로, 또는 다른 데이터 프로세싱 디바이스를 포함한다. ASIC (52) 은 무선 디바이스의 제조 시에 설치되고, 통상 업그레이드가 될 수 없다. ASIC (52) 또는 다른 프로세서는 무선 디바이스의 메모리 (56) 의 임의의 상주 프로그램과 연결시켜 주는 애플리케이션 프로그래밍 인터페이스 (API) 레이어를 실행시킨다. 메모리는 ROM 또는 RAM, EPROM, 플래시 카드, 또는 컴퓨터 플랫폼에 공통되는 임의의 메모리로 이루어질 수 있다. 또한, 컴퓨터 플랫폼 (50) 은 메모리 (56) 에서 동적으로 사용되지 않는 애플리케이션을 저장할 수 있는 로컬 데이터베이스 (58) 를 포함한다. 로컬 데이터베이스 (58) 는 통상 플래시 메모리 셀이지만, 자기 매체, EPROM, 광매체, 테이프, 또는 소프트 디스크 또는 하드 디스크 등의 당업계에 공지된 임의의 2 차 저장 디바이스일 수 있다.
따라서, 셀룰러 텔레폰 (12) 등의 무선 디바이스는 게임, 뉴스, 주식 시황 등의 하나 이상의 소프트웨어 애플리케이션을 다운로드하고, 사용하지 않을 때는 로컬 데이터베이스 (58) 상에 그 애플리케이션을 저장하고, 유저가 필요할 때 API (54) 상에서 실행하기 위해 로컬 데이터베이스 (58) 상에 저장된 상주 애플리케이션을 메모리 (56) 로 업로드한다. 그러나, 로컬 데이터베이스 (58) 와 메모리 (56) 에서 이용 가능한 설치된 저장 용량을 제한하는 무선 디바이스 상의 심각한 비용 및 크기 제약들이 존재하고, 따라서, 제한된 양의 상주 소프트웨어 애플리케이션만이 무선 디바이스 상에 저장될 수 있다. 본 발명의 시스템 및 방법은 하기 설명되듯이, 개별 소프트웨어 애플리케이션 컴포넌트의 선택적 삭제와 리로딩을 통해 이러한 저장 용량의 제한을 운용한다.
도 3 을 참조하면, API (54) 에 저장된 예시적인 파일 구조, 또는 데이터 운용 구조가 도시되어 있다. 최상위 레벨의 도메인은 컴퓨터 플랫폼 (50) 상에 모든 개별 소프트웨어 파일을 포함하는 "Files" (60) 이다. 도 3 의 파일 구조는 단지 예시적인 것일 뿐이고, 컴퓨터 플랫폼 (50) 상에 이러한 형태로 나타나지 않을 수도 있으며, 무선 디바이스 (12, 18, 20, 22) 상에서 식별할 수 없는 파일 구조로 순전히 머신 코드 (machine code) 만으로 나타날 수도 있다. Files (60) 에는 API 가 있고, 여기서는 윈도 (BREW; 62) 에 대한 바이너리 런타임 환경으로서 나타냈으며, 이는 무선 디바이스 컴퓨터 플랫폼 (50) 상에서 소프트웨어 애플리케이션과 상호작용하기 위해 QUALCOMM
Figure 112006038078714-PCT00001
에 의해 사용되는 API 이다. BREW (62) 파일은 애플리케이션 파일 (64) 을 포함하고, 하나의 파일은 애플리케이션 다운로드 서버 (16) 로부터 다운로드된 체스 (66) 게임이고, 이제 무선 디바이스의 컴퓨터 플랫폼 (50) 의 로컬 데이터베이스 (58) 상에 상주한다. 예시를 위해, 무선 디바이스의 상주 소프트웨어 애플리케이션으로 체스 (66) 애플리케이션을 보였다.
체스 (66) 애플리케이션은 chess.mod 와 chess.bar 파일 등의 몇몇 소프트웨어 컴포넌트 (68) 를 포함한다. 애플리케이션 컴포넌트 (68) 는 컴퓨터 플랫폼 (50) 상에서 체스 애플리케이션을 실행하기 위해 필요한 모듈이다. Chess (66) 는, 여기서는 scores.sig (70) 로 도시된 특정 애플리케이션 관련 데이터를 포함하고, 이는 컴퓨터 플랫폼 (50) 상에서 체스 게임을 하는 유저에 대해 저장된 스코어이다. 또한 체스 (66) 애플리케이션의 숨겨진 파일로서 라이센스가 포함될 수 있다. 따라서, 스코어 (70) 및 라이센스 등의 관련 애플리케이션 데이터가 그들 파일 또는 모듈이 삭제되면 손실되는 반면, 체스 게임의 실행을 가능하게 하는 애플리케이션 컴포넌트 (68) 는 애플리케이션 다운로드 서버 (16) 로부터 송신된 사본에 의해 쉽게 복제된다. 따라서, 본 발명은, 라이센스 등의 복구 불가능한 애플리케이션 관련 데이터, 또는 개인 정보 및 주소 등의 유저 특정 데이터, 또는 심지어 체스 게임을 위한 이전 스코어 (70) 등의 순전히 엔터테인먼트 관련 데이터 등은 유지하면서도, 애플리케이션 다운로드 서버 (16) 로부터 비필수적인 애플리케이션 컴포넌트의 또다른 사본을 획득할 수 있는 능력을 활용한다.
유저가 컴퓨터 플랫폼 (50) 에 또 다른 소프트웨어 애플리케이션을 다운로드 받기를 원하고, 특히 로컬 데이터 베이스 (58) 상의 저장 공간이라는 측면에서, 충분한 자원이 없을 때, BREW API (62) 또는 다른 공간 운용 컴포넌트는 요청된 다운로드 애플리케이션이 컴퓨터 플랫폼 (50) 상에 위치할 수 있도록 체스를 위한 애플리케이션 컴포넌트가 제거되어도 되는 지를 유저에게 묻는 프롬프트 (prompt) 를 트리거 (trigger) 할 수 있다. 이외에, BREW API (62) 는 어느 컴포넌트를 삭제할 것인가를 결정할 수 있고, 시스템 자원을 자동 운용할 수 있다. chess.mod 및 chess.bar 파일이 체스 (66) 파일로부터 삭제된 동안, 체스 게임은 컴퓨터 플랫폼 (50) 상에서 실행 가능하지 않다. 컴퓨터 플랫폼 (50) 상의 필수적 파일과 비필수적 파일의 분리를 통해, 무선 디바이스는 스코어 파일 (70) 과 같은 애플리케이션 관련 데이터의 손실 없이 하나 이상의 상주 소프트웨어 애플리케이션의 애플리케이션 컴포넌트 (68) 의 하나 이상을 선택적으로 삭제할 수 있다.
chess.mod 및 chess.bar 애플리케이션 컴포넌트 (68) 가 삭제된 체스게임 (66) 과 같이, 하나 이상의 애플리케이션 컴포넌트가 삭제된 애플리케이션을 유저가 다시 사용하기를 원할 때, 무선 디바이스는 무선 네트워크 (14) 를 통해 하나 이상의 애플리케이션 컴포넌트 (68) 의 송신을 위해 애플리케이션 다운로드 서버 (16) 를 선택적으로 프롬프트할 것이다. 무선 디바이스가 애플리케이션 컴포넌트 (68) 를 수신하면, 무선 디바이스는 그 송신된 하나 이상의 애플리케이션 컴포넌트 (68) 를 컴퓨터 플랫폼 (50) 상으로 다시 설치하고, 상주 애플리케이션, 여기서는 체스 (66) 은 다시 실행가능하게 된다. 모든 애플리케이션 컴포넌트 (68) 가 제거될 필요는 없고, 애플리케이션의 크기 또는 다른 기준에 기초하여 삭제될 수 있다. 더 나아가, scores.sig (70) 와 같은 애플리케이션 관련 데이터를 포함하는 파일은 애플리케이션을 실행하기 위해 필요한 애플리케이션도 또한 포함할 수 있고, 순전히 데이터만을 포함할 필요는 없다.
도 4 및 도 5 는 무선 디바이스 (12, 18, 20, 22) 의 컴퓨터 플랫폼 (50) 상에 상주하는 하나 이상의 소프트웨어 애플리케이션의 애플리케이션 컴포넌트 (68) 의 로딩과 제거를 운용하기 위한 본 발명의 방법을 나타내는 플로우차트이다. 도 4 에 도시된 바와 같이, 컴퓨터 플랫폼 (50) 은 단계 80 에서 나타낸 것과 같이 소프트웨어 애플리케이션을 다운로드하도록 하는 지시 (instruction) 를 수신하고, 그 다음, 결정 단계 82 에서 나타낸 바와 같이 애플리케이션을 다운로드하기 위해 이용가능한 충분한 자원이 있는 지에 관하여 ASIC (52) 또는 무선 디바이스의 다른 프로세서 상에서 결정이 이루어진다. 이용 가능한 자원이 충분하다면, 단계 84 에 나타낸 바와 같이 애플리케이션은 다운로드되어 저장되고, 다운로드 프로세스는 종결된다. 결정 단계 82 에서 자원이 충분하지 않다면, 단계 86 에 나타낸 바와 같이, 유저는 애플리케이션을 다운로드받기 위해 시스템 자원을 클리어하도록 프롬프트되고, 이는 특정 애플리케이션 컴포넌트의 삭제를 수반한다. 그 다음, 결정 단계 88 에 나타낸 바와 같이, 유저가 자원의 클리어를 승인할 것인 지에 관한 결정이 이루어지고, 만약 부정적인 결정이 이루어지면, 단계 90 에 나타낸 바와 같이, 유저에게 다운로드에 이용 가능한 자원이 충분하지 않음을 알리고, 다운로드 프로세스는 종결된다. 결정 단계 88 에서, 유저가 자원을 클리어하는 것을 승인한다면, 필요한 자원을 클리어하기 위해, 구성 요소 (68) 등의 하나 이상의 애플리케이션 컴포넌트가 선택적으로 삭제되고, scores.sig 파일 (70) 또는 애플리케이션을 사용하기 위한 임의의 라이센스 등의 애플리케이션 관련 데이터의 심각한 손실 없이 이러한 삭제가 일어난다. 그 다음, 단계 94 에 나타낸 바와 같이, 애플리케이션은 다운로드되어 컴퓨터 플랫폼 (50) 상에 저장되고, 다운로드 프로세스는 종결된다.
단계 100 에서 나타낸 바와 같이, 하나 이상의 삭제된 컴포넌트 (68) 를 구비한 애플리케이션을 실행하도록 하는 요청이 수신될 때, 그 삭제된 컴포넌트를 재 설치하는 프로세스가 도 5 에 도시되어 있다. 이런한 예로는, 유저가 체스 게임을 다시 한번 하기 위해 찾는 경우 등이다. 그러면, 단계 102 에 나타낸 바와 같이, 유저는 애플리케이션 다운로드 서버 (16) 에 통신 링크를 형성하도록 프롬프트되는 것이 바람직하다. 그러나 다르게는, 실행 요청의 수신시에 무선 디바이스는 자동으로 통신 링크를 확립할 수 있다. 애플리케이션을 실행하도록 하는 요청이 유저에게 요구되면, 결정 단계 104 에 나타낸 바와 같이, 유저가 링크를 허가하였는 지에 관한 결정이 이루어진다. 유저가 링크 확립을 거절한다면, 단계 106 에 나타낸 바와 같이, 요청된 애플리케이션을 실행하기 위해 필요한 애플리케이션이 다운로드되어야만 한다고 유저에게 알리고, 실행 요청은 종결된다. 결정 단계 104 에서 유저가 통신 링크를 허가하면, 단계 108 에 나타낸 바와 같이, 애플리케이션 다운로드 서버 (16) 와 통신 링크가 확립된다.
애플리케이션 다운로드 서버 (16) 와의 통신 링크가 확립되면, 단계 110 에 나타낸 바와 같이, 애플리케이션 다운로드 서버 (16) 는, 요청된 애플리케이션을 실행하기 위해 무선 디바이스에 의해 필요한 하나 이상의 애플리케이션 컴포넌트를 송신하도록 무선 디바이스에 의해 프롬프트된다. 그 다음, 결정 단계 112 에 나타낸 바와 같이 서버가 필요한 애플리케이션 컴포넌트를 송신하였는 지가 판정되고, 만약 부정적인 판정이 내려지면, 단계 114 에 나타낸 바와 같이, 유저에게 필요한 컴포넌트를 획득하는 데 실패하였다는 것을 알리고, 실행 요청은 종결된다. 다른 경우에, 결정 단계 112 에서 서버가 필요한 컴포넌트를 송신하였다면, 단계 116 에 나타낸 바와 같이, 무선 디바이스는 애플리케이션 다운로드 서버로부터 그 컴포넌트를 수신하고, 단계 118 에 나타낸 바와 같이, 애플리케이션이 실행될 수 있도록 그 수신된 컴포넌트를 애플리케이션으로 설치한다. 그 다음, 단계 120 에 나타낸 바와 같이, 애플리케이션은 무선 디바이스 상에서 종결될 때까지 실행된다.
애플리케이션 컴포넌트 (68) 와 같은 삭제된 애플리케이션 컴포넌트의 리로딩이 자동이라면, 도 5 의 프로세스는 단계 100 의 애플리케이션을 실행하도록 하는 요청을 수신하는 단계에서 바로 단계 110 의 애플리케이션 다운로드 서버 (16) 를 프롬프트하는 단계로 간다. 단계 114 에 나타낸 바와 같이, 무선 디바이스는 애플리케이션이 컴포넌트를 다운로드하는 데 실패한 경우에만 유저에게 알린다.
통신 링크를 확립하는 단계는 통상 도 2 에 도시된 바와 같이 디지털 또는 아날로그 셀룰러 텔레커뮤니케이션 네트워크를 통해 통신 링크를 확립하는 것이지만, 무선 LAN, 또는 마이크로웨이브 또는 적외선 네트워크 등의 다른 무선 네트워크가 대안으로 사용될 수 있다. 또한, 하나 이상의 관련된 컴포넌트가 삭제된 상주 소프트웨어 애플리케이션을 실행할 목적으로, 통신 링크의 확립이 무선 디바이스 (12, 18, 20, 22) 상에 자동으로 일어날 수 있다, 즉, 무선 디바이스가 무선 네트워크 (14) 를 통해 애플리케이션 다운로드 서버 (16) 로 통신을 브릿지 (bridge) 한다. 이외에, 하나 이상의 관련된 컴포넌트가 삭제된 상주 소프트웨어 애플리케이션을 위한 하나 이상의 애플리케이션 컴포넌트를 무선 네트워크 (14) 를 통해 송신하기 위해, 애플리케이션 다운로드 서버 (16) 로 통신 링크를 브릿지 (bridge) 하기 위해, 통신 링크를 확립하는 단계가 무선 디바이스 (12, 18, 20, 22) 의 유저의 특정 프롬프트 상에 일어날 수 있다. 새로운 애플리케이션 컴포넌트가 무선 디바이스로 송신되도록하기 위해, 셀룰러 폰 콜 등의 통신 링크에 대해 무선 디바이스의 유저에게 요금이 부과된다면, 컴포넌트의 삭제 전에 그 구성 요소를 리로딩하는 데 필요한 통신 링크를 허가하도록 유저에게 프롬프트하여야만 한다. 애플리케이션을 실행 가능하도록 애플리케이션의 컴포넌트를 복구하기 위해 통신 링크가 필요할 때, 유저에게 다시 프롬프트할 수 있다. 그러나, 무선 디바이스가 완전히 자동화되어 있고, 유저에게 통신 링크에 대한 요금이 부과되지 않는다면, 유저에게 프롬프트할 필요가 없고, 단계 114 에서처럼 문제가 생기고 에러 메세지가 생성되는 경우가 아니라면, 컴포넌트의 리로딩은 명백하다.
실행하는 동안의 자동 애플리케이션 업그레이드
도 6 에 도시된 바와 같이, 일 실시형태에서, 무선 디바이스 (12, 18, 20, 22) 로 다운로드된 애플리케이션 또는 익스텐션 (extension) 은 이전 또는 상이한 버전의 애플리케이션 또는 익스텐션이 현재 무선 디바이스 (12, 18, 20, 22) 상에서 실행되고 있는 동안 무선 디바이스 (12, 18, 20, 22) 로 다운로드될 수도 있다. 애플리케이션 또는 익스텐션을 업그레이드 또는 다운로드하도록 하는 요청은, 무선 디바이스 (12, 18, 20, 22) 상에서 실행되는 프로세스 또는 디바이스의 유저에 의해서, 또는 서버 (16, 30, 32) 에 의해서, 무선 디바이스 (12, 18, 20, 22) 에 의해 이루어질 수도 있다. "업그레이드" 는 최근 버전을 포함할 필요는 없고, 상이한 버전을 의미할 수도 있다. 예를 들어, "업그레이드" 가 현재 존재하는 최근의 버전을 교체하는 이전 버전의 애플리케이션을 다운로드하는 것을 포함하는 경 우 등에서, 애플리케이션의 구버전을 복구하는 것이 바람직할 수도 있다.
(이하, "애플리케이션" 만이 사용될 것이지만, 이 설명은 익스텐션에도 적용되는 것으로 이해될 것이다. 익스텐션에는 실행을 보조하기 위해 데이터 또는 지시에 의해 사용되는 그러한 프로그램, 컴포넌트 또는 서비스 등을 포함한다. 예를 들어, 익스텐션에는, 무선 디바이스 상의 BREW 환경에서 설치되어 자바 (java) 프로그램을 실행하는 데 사용되는 자바 가상 머신 (Java Virtual Machine), 또는 설치되어서 MPEG 파일과 접속하는 데 사용되는 MPEG 플레이어 등이 포함된다. 또한, 애플리케이션에는 임의의 실행가능한 타입의 소프트웨어뿐만 아니라, 스크립트 (script) 또는 콘텐츠 데이터 (content data) 등을 포함할 수도 있다.
실시형태의 프로세스에는, 애플리케이션 업그레이드를 무선 디바이스 (12, 18, 20, 22) 로 다운로드하기 위해 요청이 이루어지는 단계 600 이 포함된다. 무선 디바이스 (12, 18, 20, 22) 는 핸드셋 상에서 실행되는 상이한 또는 이전 버전의 애플리케이션을 가질 수도 있다. 단계 602 에서는, 요청된 상이한 또는 이전 버전의 애플리케이션이 무선 디바이스 (12, 18, 20, 22) 상에서 실행되고 있는 지를 판정하기 위한 체크가 이루어진다. 만약 없다면, 단계 604 에서, 기존의 (즉, 이전의 또는 상이한) 애플리케이션이 디바이스 상에 위치하는 파일 로케이션 (file location) 에서 기존의 애플리케이션을 새롭게 요청된 애플리케이션으로 오버라이팅함으로써, 애플리케이션은 새롭게 요청된 애플리케이션으로 업그레이드될 수도 있다.
그러나, 만약, 단계 602 에서, 애플리케이션이 실행되고 있다고 판정된다면, 업그레이드된 애플리케이션이 임시 로케이션에 저장되는 단계 606 으로 프로세스가 진행된다. 이 임시 로케이션은 디바이스 상에 있을 수도 있지만, 디바이스가 액세스할 수 있는 주변 디바이스 또는 네트워크를 통한 임의의 다른 장소 상에 있을 수도 있다.
단계 608 에서, 실행되고 있는 애플리케이션에 대해 종결될 필요가 있다고 통지된다. 그리고, 애플리케이션 또는 2 차 프로세스에 의해 실행되고 있는 애플리케이션의 종결이 개시된다. 애플리케이션이 종결된 다음에는, 단계 610 에서, 업그레이드된 애플리케이션이 기존의 애플리케이션의 파일 로케이션으로 전송된다. 업그레이드된 애플리케이션이 복사될 로케이션은 시스템에 의해 애플리케이션이 실행되는 것을 기대할 수 있는 임의의 로케이션이다. 예를 들어, 일 실시형태에서, 만약, 시스템이 업그레이드된 애플리케이션을 실행할 업그레이드된 로케이션을 찾기를 원하고, 그것이 존재하지 않아서, 시스템이 기존의 애플리케이션을 실행할 다른 로케이션을 찾는다면, 프로세스는 업그레이드된 애플리케이션을 업그레이드된 로케이션에 복사하고 기존의 애플리케이션을 오버라이팅하지 않을 것이다.
업그레이드 애플리케이션이 임시 로케이션으로부터 (전술한 바와 같이, 그것이 기존의 애플리케이션을 오버라이팅하는 것이든, 임의의 다른 기대되는 로케이션을 오버라이팅하는 것이든) 수정된 로케이션 (correct location) 으로 이동된 후에는, 단계 612 에서 애플리케이션이 재시작된다. 이 애플리케이션은 자동으로 재시작될 수도 있다. 또한, 기존의 그리고 실행되는 애플리케이션을 업그레이 드하기 위해 디바이스가 리셋되거나, 파워 사이클을 순환하거나, 재부팅될 필요도 없고, 임의의 다른 리셋 타입의 기능을 수행할 필요는 없다.
도 7 에 도시된 바와 같이, 애플리케이션 업그레이드의 또 다른 실시형태에서, 단계 606 및 단계 602 이전에서, 요청된 애플리케이션은 디바이스의 임시 로케이션에 다운로드된다. 다운로드된 후에, 단계 602 에서, 디바이스는 체크되어, 이전의 또는 상이한 버전이 디바이스 상에서 실행되고 있는 지를 판정한다. 그렇다면, 단계 608 에서, 기존의 애플리케이션의 실행은 종결되고, 단계 610 에서 업그레이드된 애플리케이션은 임시 저장 로케이션에서 수정된 저장 로케이션으로 복사되고 (예를 들어, 기존의 애플리케이션을 오버라이팅할 수도 있다), 그 다음, 단계 612 에서 업그레이드된 애플리케이션이 실행된다. 전술한 바와 같이, 이러한 실행은 자동으로 실행될 수도 있다.
단계 602 에서, 기존의 애플리케이션이 실행되고 있지 않다고 판정되면, 단계 700 에서, 업그레이드된 애플리케이션은, 수정된 로케이션으로 옮겨져, 예를 들면, 기존의 애플리케이션을 오버라이팅한다. 이러한 경우, 애플리케이션이 실행고 있지 않기 때문에, 업그레이드된 애플리케이션을 수정된 로케이션으로 이동하기 전에 그 실행을 종결시킬 필요가 없다.
도 8 은 도 6 에 설명된 방법을 구현하는 무선 디바이스의 일 실시형태를 도시한다. 도시된 바와 같이, 무선 디바이스 (800) 는 메모리 (802), 네트워크 인터페이스 (804), 프로세서 (806) 및 버스 (bus; 808) 를 포함한다. 메모리 (802) 가 RAM 메모리로서 도시되었지만, 다른 실시형태에서는 구성된 로직을 저장 하기 위해 제공되는 것으로 알려진 모든 공지 타입의 메모리로서의 그러한 메모리 (802) 를 모두 포함한다. 또한, 메모리 (802) 가 하나의 타입의 메모리의 하나의 인접하는 유닛으로 도시되었지만, 다른 실시형태는 메모리 (802) 로서 다수 로케이션 및 다수 타입의 메모리를 사용한다. 네트워크 I/O 인터페이스 (804) 는 버스 (808) 를 통해 네트워크에 연결된 디바이스에 입력 및 출력을 제공한다. 프로세서 (806) 는 버스 (808) 를 통해 제공된 데이터 및 지시에 대해 작동한다. 하나 이상의 실시형태에서, 마이크로프로세서 (906) 는 ASIC (52) 의 일부분이다.
메모리 (802) 에는, 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 로직 (810), 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 로직 (812), 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 로직 (814), 상주하는 실행가능한 애플리케이션의 동적 실행을 검출하는 단계에 응답하여 상이한 버전의 애플리케이션을 임시 로케이션에 저장하는 로직 (816), 상주하는 실행가능한 애플리케이션의 동적 실행을 종결하는 로직 (818), 상주하는 실행가능 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 로직 (820), 상이한 버전의 애플리케이션의 동적 실행을 개시하는 로직 (822) 이 위치한다. 하나 이상의 상이한 실시형태에서, 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 로직 (810) 은, 무선 디바이스에 의해 요청이 개시되고 (824), 유저 입력의 검출과 함께 요청이 개시되고 (826), 상이한 버전의 애플리케이션이 이전 버전이고 (828), 및/또는 애플리케이션은 익스텐션, 스크립트 및 콘텐 츠 데이터 중 하나 이상이도록 (830) 더 변형된다. 또한, 일 실시형태에서, 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계에 응답하여 상이한 버전의 애플리케이션을 임시 로케이션에 저장하는 로직 (816) 은 임시 로케이션이 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는 형태 (832) 로 더 변형된다.
도 9 는 도 7 에 설명된 것과 같은 방법을 구현하는 무선 디바이스의 일 실시형태를 도시한다. 도시된 바와 같이, 무선 디바이스 (900) 는 메모리 (902), 네트워크 인터페이스 (904), 프로세서 (906), 및 버스 (908) 를 포함한다. 메모리 (902) 는 RAM 메모리로 도시되었지만, 다른 실시형태에서는 구성된 로직을 저장하기 위해 제공되는 것으로 알려진 모든 공지 타입의 메모리로서의 그러한 메모리 (902) 를 모두 포함한다. 또한, 메모리 (802) 가 하나의 타입의 메모리의 하나의 인접하는 유닛으로 도시되었지만, 다른 실시형태는 메모리 (902) 로서 다수 로케이션 및 다수 타입의 메모리를 사용한다. 네트워크 I/O 인터페이스 (904) 는 버스 (908) 를 통해 네트워크에 연결된 디바이스에 입력 및 출력을 제공한다. 프로세서 (906) 는 버스 (908) 를 통해 제공된 데이터 및 지시에 대해 작동한다. 하나 이상의 실시형태에서, 프로세서 (906) 는 ASIC (52) 의 일부분이다.
메모리 (902) 에는, 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 로직 (910), 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 로직 (912), 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계에 응답하여 상이한 버전의 애플리케이션을 임시 로 케이션에 저장하는 로직 (914), 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 로직 (916), 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 로직 (918), 상주하는 실행가능 애플리케이션을 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 로직 (920), 상이한 버전의 애플리케이션의 동적 실행을 개시하는 로직 (922) 이 위치한다. 하나 이상의 상이한 실시형태에서, 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 로직 (910) 은, 무선 디바이스에 의해 요청이 개시되고 (924), 유저 입력의 검출과 함께 요청이 개시되고 (926), 상이한 버전의 애플리케이션이 이전 버전이고 (928), 및/또는 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상이도록 (930), 더 변형된다. 또한, 일 실시형태에서, 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계에 응답하여 상이한 버전의 애플리케이션을 임시 로케이션에 저장하는 로직 (914) 은 임시 로케이션이 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는 형태 (932) 로 더 변형된다.
도 10 은, 선호되는 애플리케이션의 실행을 개시하는 프로세스에서 실행 로케이션의 시퀀셜 서치를 포함하는 것으로 때로 설명되는 자동 애플리케이션 업그레이드 프로세스의 버전을 구현하는 무선 디바이스의 일 실시형태를 도시한다. 도시된 바와 같이, 무선 디바이스 (1000) 는 메모리 (1002), 네트워크 인터페이스 (1004), 프로세서 (1006), 및 버스 (1008) 를 포함한다. 메모리 (1002) 는 RAM 메모리로 도시되었지만, 다른 실시형태에서는 구성된 로직을 저장하기 위해 제공되 는 것으로 알려진 모든 공지 타입의 메모리로서의 그러한 메모리 (1002) 를 모두 포함한다. 또한, 메모리 (1002) 가 하나의 타입의 메모리의 하나의 인접하는 유닛으로 도시되었지만, 다른 실시형태는 메모리 (1002) 로서 다수 로케이션 및 다수 타입의 메모리를 사용한다. 네트워크 I/O 인터페이스 (1004) 는 버스 (1008) 를 통해 네트워크에 연결된 디바이스에 입력 및 출력을 제공한다. 프로세서 (1006) 는 버스 (1008) 를 통해 제공된 데이터 및 지시에 대해 작동한다. 하나 이상의 실시형태에서, 프로세서 (1006) 는 ASIC (52) 의 일부분이다.
메모리 (1002) 에는, 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 로직 (1010), 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 로직 (1012), 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계에 응답하여 임시 로케이션에 상이한 버전의 애플리케이션을 저장하는 로직 (1014), 동적 애플리케이션 로케이션의 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 로직 (1016), 상주하는 실행 가능 애플리케이션의 동적 실행을 종결하는 로직 (1018), 업그레이드 로케이션 및 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개시하도록 구성된 로직 (1020) 이 위치한다. 하나 이상의 상이한 실시형태에서, 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 로직 (1010) 은, 무선 디바이스에 의해 요청이 개시되고 (1022), 유저 입력 검출과 함께 요청이 개시되며 (1024), 상이한 버전의 애플리케이션이 이전 버전이고 (1026), 및/또는 애플리케이 션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상이도록 (1028), 더 변형된다. 또한, 일 실시형태에서, 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계에 응답하여 업그레이드 로케이션에 상이한 버전의 애플리케이션을 저장하는 로직 (1014) 은, 업그레이드 로케이션이 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는 형태 (1030) 로 더 변형된다.
본 방법 발명의 고찰에서, 본 발명은 컴퓨터 판독가능 매체에 상주하는 프로그램을 포함하고, 이 프로그램은 컴퓨터 플랫폼을 구비하는 무선 디바이스로 하여금 본 방법 발명의 단계를 수행하도록 지시한다. 컴퓨터 판독가능 매체는 셀룰러 텔레폰 (12) 또는 다른 무선 디바이스의 컴퓨터 플랫폼 (50) 의 메모리 (56) 일 수 있고, 또는 셀룰러 텔레폰 (12) 의 로컬 데이터베이스 (58) 와 같은 로컬 데이터베이스에 있을 수도 있다. 또한, 이 컴퓨터 판독가능 매체는 자기 디스크 또는 테이프, 광디스크, 하드 디스크, 플래시 메모리, 또는 당해 기술분야에 공지된 다른 저장 매체 등의, 무선 디바이스 컴퓨터 플랫폼 상으로 로드가 가능한 2 차 저장 매체에 있을 수도 있다. 도 4 및 도 5 를 참조하면, 본 방법 발명은, 예를 들어, 머신-판독가능 명령의 시퀀스를 실행하기 위해 무선 네트워크 (14) 의 부분(들) 을 작동시킴으로써 구현될 수도 있다. 이들 명령은 다양한 타입의 신호 저장 매체에 상주할 수도 있다. 이 신호 저장 매체는, 예를 들어, 무선 네트워크 (14) 의 컴포넌트의 내부에 상주하거나, 그 컴포넌트에 의해 액세스가 가능한 RAM (미도시) 을 포함할 수도 있다. RAM, 디스켓, 또는 다른 2 차 저장 매체에 포함될 수도 있지만, 명령들은, DASD 저장 매체 (예를 들어, 종래의 "하드 드라이브" 또는 RAID 어레이), 자기 테이프, 전기적 리드-온리 메모리 (electronic read-only memory; 예를 들어 ROM, EPROM, 또는 EEPROM), 광 저장 디바이스 (예를 들어, CD-ROM, WORM, DVD, 디지털 광 테이프), 페이퍼 "펀치" 카드, 또는 디지털 및 아날로그 등의 전송 미디어를 포함하는 다른 적합한 데이터 저장 매체 등의 다양한 머신-판독가능 데이터 저장 매체 상에 저장될 수도 있다.
전술한 개시는 본 발명의 예시적 실시형태를 나타낸 것이지만, 첨부된 청구항에 의해 정의된 본 발명의 범위에서 일탈됨이 없이 다양한 변경과 변형이 이루어질 수도 있다. 또한, 본 발명의 요소가 단수로 설명되고 청구되었을지라도, 단수에 대한 제한이 명확히 언급되어 있지 않는 한, 복수로도 고려될 수 있다.

Claims (48)

  1. 무선 디바이스 상의 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하기 위한 방법으로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계;
    상기 상주하는 실행가능 애플리케이션의 동적 실행 (active execution) 을 검출하는 단계;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 단계;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계에 응답하여 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하는 단계;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 단계;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 단계; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하는 단계를 포함하는, 애플리케이션 교체 방법.
  2. 제 1 항에 있어서,
    상기 요청은 상기 무선 디바이스에 의해 개시되는, 애플리케이션 교체 방법.
  3. 제 1 항에 있어서,
    상기 요청은 유저 입력의 검출과 함께 개시되는, 애플리케이션 교체 방법.
  4. 제 1 항에 있어서,
    상기 상이한 버전의 애플리케이션은 이전 버전인, 애플리케이션 교체 방법.
  5. 제 1 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 애플리케이션 교체 방법.
  6. 제 1 항에 있어서,
    상기 임시 로케이션은 주변 디바이스와 원격 네트워크 로케이션 중 하나 이상 상에 있는, 애플리케이션 교체 방법.
  7. 상주하는 실행가능 애플리케이션을 포함하는 무선 디바이스로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하도록 구성된 로직;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하도록 구성된 로 직;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 것에 응답하여 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하도록 구성된 로직; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하도록 구성된 로직을 포함하는, 무선 디바이스.
  8. 제 7 항에 있어서,
    상기 요청은 상기 무선 디바이스에 의해 개시되는, 무선 디바이스.
  9. 제 7 항에 있어서,
    상기 요청은 유저 입력의 검출과 함께 개시되는, 무선 디바이스.
  10. 제 7 항에 있어서,
    상기 상이한 버전의 애플리케이션은 이전 버전인, 무선 디바이스.
  11. 제 7 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 무선 디바이스.
  12. 제 7 항에 있어서,
    상기 임시 로케이션은 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는, 무선 디바이스.
  13. 무선 디바이스 상의 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체할 수 있는 컴퓨터 판독가능 매체 상에 수록된 컴퓨터 프로그램으로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 데 사용가능한 코드;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 것에 응답하여 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 데 사용가능 한 코드;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 데 사용가능한 코드; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하는 데 사용가능한 코드를 포함하는, 컴퓨터 프로그램.
  14. 제 13 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 컴퓨터 프로그램.
  15. 상주하는 애플리케이션을 포함하는 무선 디바이스로서,
    상기 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하기 위한 수단;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 것에 응답하여 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하기 위한 수단; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하기 위한 수단을 포함하는, 무선 디바이스.
  16. 제 15 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 무선 디바이스.
  17. 무선 디바이스 상의 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하기 위한 방법으로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 단계;
    상기 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계에 응답하여 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하는 단계;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 단계;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하는 단계; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하는 단계를 포함하는, 애플리케이션 교체 방법.
  18. 제 17 항에 있어서,
    상기 요청은 상기 무선 디바이스에 의해서 개시되는, 애플리케이션 교체 방법.
  19. 제 17 항에 있어서,
    상기 요청은 유저 입력의 검출과 함께 개시되는, 애플리케이션 교체 방법.
  20. 제 17 항에 있어서,
    상기 상이한 버전의 애플리케이션은 이전 버전인, 애플리케이션 교체 방법.
  21. 제 17 항에 있어서,
    상기 상주하는 실행가능 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 애플리케이션 교체 방법.
  22. 제 17 항에 있어서,
    상기 임시 로케이션은 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는, 애플리케이션 교체 방법.
  23. 상주하는 실행가능 애플리케이션을 포함하는 무선 디바이스로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하도록 구성된 로직;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션을 상기 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 상기 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하도록 구성된 로직; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하도록 구성된 로직을 포함하는, 무선 디바이스.
  24. 제 23 항에 있어서,
    상기 요청은 상기 무선 디바이스에 의해 개시되는, 무선 디바이스.
  25. 제 23 항에 있어서,
    상기 요청은 유저 입력의 검출과 함께 개시되는, 무선 디바이스.
  26. 제 23 항에 있어서,
    상기 상이한 버전의 애플리케이션은 이전 버전인, 무선 디바이스.
  27. 제 23 항에 있어서,
    상기 상주하는 실행가능 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 무선 디바이스.
  28. 제 23 항에 있어서,
    상기 임시 로케이션은 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는, 무선 디바이스.
  29. 무선 디바이스 상의 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체할 수 있는 컴퓨터 판독가능 매체 상에 수록된 컴퓨터 프로그램으로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 데 사용가능한 코드;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 데 사용가능 한 코드;
    상기 상주하는 실행가능 애플리케이션을 상기 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의애플리케이션으로 오버라이팅하는 데 사용가능한 코드; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하는 데 사용가능한 코드를 포함하는, 컴퓨터 프로그램.
  30. 제 29 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 컴퓨터 프로그램.
  31. 네트워크를 통하여 클라이언트 컴퓨팅 디바이스와 보안 통신 (secure communication) 을 프로세싱하기 위한 무선 디바이스로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하 도록 하는 요청을 수신하기 위한 수단;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션을 상기 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 임시 로케이션에 상기 상이한 버전의 애플리케이션을 저장하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션을 상기 임시 로케이션에 저장된 상이한 버전의 애플리케이션으로 오버라이팅하기 위한 수단; 및
    상기 상이한 버전의 애플리케이션의 동적 실행을 개시하기 위한 수단을 포함하는, 무선 디바이스.
  32. 제 31 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 무선 디바이스.
  33. 무선 디바이스 상의 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하기 위한 방법으로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 단계;
    상기 상주하는 실행가능 애플리케이션을 상기 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 단계에 응답하여 업그레이드 로케이션에 상기 상이한 버전의 애플리케이션을 저장하는 단계;
    동적 애플리케이션 로케이션의 상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 단계;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 단계;
    상기 업그레이드 로케이션 및 상기 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개시하는 단계를 포함하는, 애플리케이션 교체 방법.
  34. 제 33 항에 있어서,
    상기 요청은 상기 무선 디바이스에 의해 개시되는, 애플리케이션 교체 방법.
  35. 제 33 항에 있어서,
    상기 요청은 유저 입력의 검출과 함께 개시되는, 애플리케이션 교체 방법.
  36. 제 33 항에 있어서,
    상기 상이한 버전의 애플리케이션은 이전 버전인, 애플리케이션 교체 방법.
  37. 제 33 항에 있어서,
    상기 상주하는 실행가능 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 애플리케이션 교체 방법.
  38. 제 33 항에 있어서,
    상기 임시 로케이션은 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는, 애플리케이션 교체 방법.
  39. 상주하는 실행가능 애플리케이션을 포함하는 무선 디바이스로서,
    상기 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하도록 구성된 로직;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션을 상기 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 업그레이드 로케이션에 상기 상이한 버전의 애플리케이션을 저장하도록 구성된 로직;
    동적 애플리케이션 로케이션에 상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하도록 구성된 로직;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하도록 구성된 로직; 및
    상기 업그레이드 로케이션 및 상기 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개시하도록 구성된 로직을 포함하는, 무선 디바이스.
  40. 제 39 항에 있어서,
    상기 요청은 상기 무선 디바이스에 의해 개시되는, 무선 디바이스.
  41. 제 39 항에 있어서,
    상기 요청은 유저 입력의 검출과 함께 개시되는, 무선 디바이스.
  42. 제 39 항에 있어서,
    상기 상이한 버전의 애플리케이션은 이전 버전인, 무선 디바이스.
  43. 제 39 항에 있어서,
    상기 상주하는 실행가능 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 무선 디바이스.
  44. 제 39 항에 있어서,
    상기 업그레이드 로케이션은 주변 디바이스 및 원격 네트워크 로케이션 중 하나 이상 상에 있는, 무선 디바이스.
  45. 무선 디바이스 상의 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체할 수 있는 컴퓨터 판독가능 매체 상에 수록된 컴퓨터 프로그램으로서,
    상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 데 사용가능한 코드;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션을 상기 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 업그레이드 로케이션에 상기 상이한 버전의 애플리케이션을 저장하는 데 사용가능한 코드;
    동적 애플리케이션 로케이션의 상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하는 데 사용가능한 코드;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하는 데 사용가능한 코드; 및
    상기 업그레이드 로케이션 및 상기 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개시하는 데 사용가능한 코드를 포함하는, 컴퓨터 프로그램.
  46. 제 45 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 컴퓨터 프로그램.
  47. 상주하는 실행가능 애플리케이션을 포함하는 무선 디바이스로서,
    상기 상주하는 실행가능 애플리케이션을 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하기 위한 수단;
    상기 상이한 버전의 애플리케이션을 네트워크를 통해 수신하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션을 상기 상이한 버전의 애플리케이션으로 교체하도록 하는 요청을 수신하는 것에 응답하여 업그레이드 로케이션에 상기 상이한 버전의 애플리케이션을 저장하기 위한 수단;
    동적 애플리케이션 로케이션의 상기 상주하는 실행가능 애플리케이션의 동적 실행을 검출하기 위한 수단;
    상기 상주하는 실행가능 애플리케이션의 동적 실행을 종결하기 위한 수단; 및
    상기 업그레이드 로케이션 및 상기 동적 애플리케이션 로케이션의 시퀀셜 서치에서 검출된 제 1 애플리케이션의 실행을 개시하기 위한 수단을 포함하는, 무선 디바이스.
  48. 제 47 항에 있어서,
    상기 애플리케이션은 익스텐션, 스크립트 및 콘텐츠 데이터 중 하나 이상인, 무선 디바이스.
KR1020067010532A 2003-10-29 2004-10-28 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치 KR100915564B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51580203P 2003-10-29 2003-10-29
US60/515,802 2003-10-29
US10/969,507 2004-10-20
US10/969,507 US8555271B2 (en) 2003-10-29 2004-10-20 Method, software and apparatus for application upgrade during execution

Publications (2)

Publication Number Publication Date
KR20060092277A true KR20060092277A (ko) 2006-08-22
KR100915564B1 KR100915564B1 (ko) 2009-09-03

Family

ID=34556041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067010532A KR100915564B1 (ko) 2003-10-29 2004-10-28 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치

Country Status (10)

Country Link
US (1) US8555271B2 (ko)
EP (1) EP1682982A4 (ko)
JP (1) JP2007511822A (ko)
KR (1) KR100915564B1 (ko)
AU (1) AU2004285258A1 (ko)
BR (1) BRPI0416056A (ko)
CA (1) CA2543623A1 (ko)
IL (1) IL175174A0 (ko)
RU (1) RU2006118315A (ko)
WO (1) WO2005043337A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100975508B1 (ko) * 2007-12-28 2010-08-11 엔에이치엔(주) 프로그램의 모듈의 동적 변경 방법 및 시스템
KR101129092B1 (ko) * 2008-07-31 2012-03-26 에스케이플래닛 주식회사 웹 서비스 제공 시스템 및 웹 서비스 제공 방법
CN106201613A (zh) * 2010-12-01 2016-12-07 苹果公司 预热软件安装

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572597B2 (en) * 2003-06-20 2013-10-29 Samsung Electronics Co., Ltd. Apparatus and method for performing an over-the-air software update in a dual processor mobile station
US20060135190A1 (en) * 2004-12-20 2006-06-22 Drouet Francois X Dynamic remote storage system for storing software objects from pervasive devices
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
CN1928818A (zh) * 2005-09-09 2007-03-14 鸿富锦精密工业(深圳)有限公司 网络装置及其软件更新方法
KR101392907B1 (ko) 2005-11-07 2014-05-09 엘지전자 주식회사 휴대폰의 소프트웨어 관리 방법
EP1818822A1 (fr) 2006-02-10 2007-08-15 France Telecom Procédé et serveur de distribution de composants logiciels, et procédé de mise à jour et terminal et produits programme d'ordinateur correspondants
US20070192489A1 (en) * 2006-02-14 2007-08-16 Motorola, Inc. Method and apparatus to facilitate automatic selection of sotware programs to be distributed to network elements
SE531389C2 (sv) * 2006-03-01 2009-03-17 Abb Ab Metod för hantering av olika versioner av en applikation och ett automationssystem
US7688793B2 (en) * 2006-04-05 2010-03-30 Motorola, Inc. Wireless sensor node group affiliation method and apparatus
US7676805B2 (en) * 2006-04-05 2010-03-09 Motorola, Inc. Wireless sensor node executable code request facilitation method and apparatus
EP1940184A4 (en) * 2006-10-10 2009-09-02 Obshchestvo S Ogranichennoj Ot METHOD FOR MANAGING ADDITIONAL SERVICES IN MOBILITY COMMUNICATION NETWORKS
US20080201076A1 (en) * 2006-11-03 2008-08-21 Jyh-How Huang Witness Based Tracking Systems And Methods
US8914786B2 (en) 2007-03-23 2014-12-16 Zumobi, Inc. Systems and methods for controlling application updates across a wireless interface
US8131839B2 (en) * 2007-08-01 2012-03-06 Motorola Solutions, Inc. Method and apparatus for resource assignment in a sensor network
US9229707B2 (en) * 2008-12-18 2016-01-05 Sap Se Zero downtime mechanism for software upgrade of a distributed computer system
US9003389B2 (en) * 2010-05-25 2015-04-07 Red Hat, Inc. Generating an encoded package profile based on executing host processes
US20110302567A1 (en) * 2010-06-07 2011-12-08 International Business Machines Corporation Updating software in an information handling system
DE102010032136A1 (de) * 2010-07-24 2012-01-26 Man Truck & Bus Ag Austauschverfahren für ein Steuergerät in einem Bordnetz eines Fahrzeuges
CN102033765B (zh) * 2010-12-03 2014-07-09 深圳市元征软件开发有限公司 一种bcm程序升级方法和车载电控系统升级方法
US8959503B2 (en) 2012-10-05 2015-02-17 Microsoft Technology Licensing Llc Application version gatekeeping during upgrade
US9348608B2 (en) 2013-04-24 2016-05-24 QRC, Inc. System and method for registering application and application transforms on a radiofrequency digitization and collection device
US9680965B2 (en) * 2015-04-01 2017-06-13 Alcatel-Lucent Usa Inc. Software upgrades for offline charging systems within a network
US9983866B1 (en) * 2015-09-29 2018-05-29 EMC IP Holding Company LLC Upgrade compatibility checks in a client-server environment
US10649753B2 (en) * 2016-12-14 2020-05-12 Verizon Patent And Licensing Inc. Enabling user device application modularity
US11397555B2 (en) 2017-10-26 2022-07-26 Tensera Networks Ltd. Background pre-loading and refreshing of applications with audio inhibition
US10983857B2 (en) * 2018-10-26 2021-04-20 International Business Machines Corporation Continuing a running script after modification
US11605166B2 (en) 2019-10-16 2023-03-14 Parsons Corporation GPU accelerated image segmentation
EP3836043A1 (en) 2019-12-11 2021-06-16 Carrier Corporation A method and an equipment for configuring a service
US11303306B2 (en) 2020-01-20 2022-04-12 Parsons Corporation Narrowband IQ extraction and storage
US11619700B2 (en) 2020-04-07 2023-04-04 Parsons Corporation Retrospective interferometry direction finding
US11569848B2 (en) 2020-04-17 2023-01-31 Parsons Corporation Software-defined radio linking systems
US11575407B2 (en) 2020-04-27 2023-02-07 Parsons Corporation Narrowband IQ signal obfuscation
US11226807B1 (en) * 2020-07-31 2022-01-18 Rapid7, Inc. Self-dependent upgrade of Java runtime environments
US11849347B2 (en) 2021-01-05 2023-12-19 Parsons Corporation Time axis correlation of pulsed electromagnetic transmissions

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6263497B1 (en) * 1997-07-31 2001-07-17 Matsushita Electric Industrial Co., Ltd. Remote maintenance method and remote maintenance apparatus
US6141683A (en) * 1998-01-30 2000-10-31 Lucent Technologies, Inc. Method for remotely and reliably updating of the software on a computer with provision for roll back
US6330716B1 (en) * 1998-11-13 2001-12-11 Hewlett-Packard Company Apparatus and method for on-line replacement of a running script
US6609186B1 (en) * 1999-04-06 2003-08-19 Microsoft Corporation Method and system for managing data in computer memory
US6457122B1 (en) * 1999-06-18 2002-09-24 Phoenix Technologies Ltd. Fault tolerant process for the delivery of programs to writeable storage device utilizing pre-operating system software/firmware
US6195650B1 (en) * 2000-02-02 2001-02-27 Hewlett-Packard Company Method and apparatus for virtualizing file access operations and other I/O operations
JP2001296995A (ja) 2000-04-13 2001-10-26 Nec Corp 情報更新方法、情報更新プログラムを記憶した記憶媒体及び情報更新システム
JP2002169739A (ja) 2000-08-01 2002-06-14 Matsushita Electric Ind Co Ltd ダウンロードシステム
US20020069263A1 (en) * 2000-10-13 2002-06-06 Mark Sears Wireless java technology
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
TW518513B (en) 2001-03-28 2003-01-21 Synq Technology Inc System and method to update an executing application software by modular way
TW556094B (en) 2001-03-28 2003-10-01 E Ten Information Sys Co Ltd Method for updating software using wireless transmission by remote control
US6971002B2 (en) * 2001-08-09 2005-11-29 International Business Machines Corporation Method, system, and product for booting a partition using one of multiple, different firmware images without rebooting other partitions
US6941135B2 (en) * 2001-08-13 2005-09-06 Qualcomm Inc. System and method for temporary application component deletion and reload on a wireless device
US7107588B2 (en) * 2001-08-31 2006-09-12 Hewlett-Packard Development Company, L.P. System and method for installing window installer service without rebooting
US7269668B2 (en) * 2001-09-05 2007-09-11 Redford Darrell J Mobile, seamless, temporary, wireless network access apparatus and method
CA2357382A1 (en) * 2001-09-17 2003-03-17 Soma Networks, Inc. Software update method, apparatus and system
US20040243854A1 (en) 2001-09-18 2004-12-02 Mazetech Co., Ltd. Password input apparatus
US7003767B2 (en) * 2001-10-02 2006-02-21 International Business Machines Corp. System and method for remotely updating software applications
JP2003122587A (ja) 2001-10-11 2003-04-25 Sharp Corp ソフトウェアアップデート機能を有するネットワーク機器及びソフトウェアアップデート処理プログラム並びにソフトウェアアップデート処理プログラムを記録した記録媒体
US6993760B2 (en) * 2001-12-05 2006-01-31 Microsoft Corporation Installing software on a mobile computing device using the rollback and security features of a configuration manager
US7062764B2 (en) * 2002-06-17 2006-06-13 Microsoft Corporation System and method for manipulating offline software
US7665118B2 (en) * 2002-09-23 2010-02-16 Credant Technologies, Inc. Server, computer memory, and method to support security policy maintenance and distribution
US7784044B2 (en) * 2002-12-02 2010-08-24 Microsoft Corporation Patching of in-use functions on a running computer system
US20050028001A1 (en) * 2003-07-29 2005-02-03 Jian Huang Secured software patching and upgrade method for densely deployed networks having spanning-tree topology

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100975508B1 (ko) * 2007-12-28 2010-08-11 엔에이치엔(주) 프로그램의 모듈의 동적 변경 방법 및 시스템
KR101129092B1 (ko) * 2008-07-31 2012-03-26 에스케이플래닛 주식회사 웹 서비스 제공 시스템 및 웹 서비스 제공 방법
CN106201613A (zh) * 2010-12-01 2016-12-07 苹果公司 预热软件安装
US10489146B2 (en) 2010-12-01 2019-11-26 Apple Inc. Pre-heated software installation
CN106201613B (zh) * 2010-12-01 2020-04-14 苹果公司 预热软件安装

Also Published As

Publication number Publication date
EP1682982A2 (en) 2006-07-26
KR100915564B1 (ko) 2009-09-03
US20050120346A1 (en) 2005-06-02
US8555271B2 (en) 2013-10-08
WO2005043337A2 (en) 2005-05-12
WO2005043337B1 (en) 2007-03-22
WO2005043337A3 (en) 2007-01-25
RU2006118315A (ru) 2007-12-10
JP2007511822A (ja) 2007-05-10
AU2004285258A1 (en) 2005-05-12
CA2543623A1 (en) 2005-05-12
IL175174A0 (en) 2006-09-05
EP1682982A4 (en) 2008-03-12
BRPI0416056A (pt) 2007-01-02

Similar Documents

Publication Publication Date Title
KR100915564B1 (ko) 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치
KR100815099B1 (ko) 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
KR100984599B1 (ko) 어플리케이션 디스에이블/복원 관리를 위한 시스템 및 방법
RU2333612C2 (ru) Система и способ для обновления версий наборов данных, содержащихся в беспроводном устройстве
US20050124332A1 (en) Mobile device programming system and method
RU2339076C2 (ru) Выполнение неверифицированных программ в операционной среде устройства радиосвязи
JP2006505029A (ja) 無線装置に存在するデータセットのバージョンを更新するためのサーバー処理
CN107220074A (zh) 对支撑层软件功能的访问、升级方法及装置
US20040188510A1 (en) System for registry-based automatic installation and component handling on a device
KR100865640B1 (ko) 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
KR100864387B1 (ko) 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
MXPA06004669A (es) Metodo, programa y aparato para actualizar aplicaciones durante la ejecucion
AU2002356071A1 (en) System for updating software in a wireless device

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 11