KR100984599B1 - 어플리케이션 디스에이블/복원 관리를 위한 시스템 및 방법 - Google Patents

어플리케이션 디스에이블/복원 관리를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100984599B1
KR100984599B1 KR1020087022350A KR20087022350A KR100984599B1 KR 100984599 B1 KR100984599 B1 KR 100984599B1 KR 1020087022350 A KR1020087022350 A KR 1020087022350A KR 20087022350 A KR20087022350 A KR 20087022350A KR 100984599 B1 KR100984599 B1 KR 100984599B1
Authority
KR
South Korea
Prior art keywords
application
wireless device
related data
components
deleted
Prior art date
Application number
KR1020087022350A
Other languages
English (en)
Other versions
KR20080103997A (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 KR20080103997A publication Critical patent/KR20080103997A/ko
Application granted granted Critical
Publication of KR100984599B1 publication Critical patent/KR100984599B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • 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/44594Unloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명은 예컨대 셀룰러 텔레폰, PDA(개인용 휴대 정보 단말기), 페이저, 혹은 다른 컴퓨터 플랫폼과 같은, 무선 디바이스에 있는 소프트웨어 어플리케이션 컴포넌트들의 삭제 및 리로딩을 관리하는 시스템 및 방법에 관한 것이다. 상기 무선 디바이스는 하나 이상의 상주하는 실행가능한 소프트웨어 어플리케이션들을 포함하고, 각 어플리케이션은 예컨대 소프트웨어 라이센스들 및 사용자-특정 데이터와 같은 어플리케이션-관련 데이터 및 하나 이상의 어플리케이션 컴포넌트들을 구비한다. 상기 무선 디바이스는 상기 무선 디바이스에서 자원들을 삭제(clear)하기 위해 상기 어플리케이션-관련 데이터의 손실없이 상기 상주 소프트웨어 어플리케이션들의 하나 이상의 어플리케이션 컴포넌트들을 선택적으로 삭제하고, 그리고 상기 어플리케이션을 실행하기 위해 상기 무선 디바이스에 재설치될 필요가 있는 삭제된 어플리케이션 컴포넌트들을 전송하도록 무선 네트워크에 결합된 백업 디바이스를 선택적으로 프롬프트한다.

Description

어플리케이션 디스에이블/복원 관리를 위한 시스템 및 방법{SYSTEM AND METHOD FOR APPLICATION DISABLE/RESTORE MANAGEMENT}
본 발명은 일반적으로 데이터 네트워크들 및 상기 데이터 네트워크들을 통한 컴퓨터 통신들에 관한 것이다. 보다 구체적으로, 본 발명은 무선 데이터 네트워크를 통해 하나 이상의 다른 디바이스들과의 선택적인 통신을 하는 무선 디바이스들에 소프트웨어 어플리케이션들 및 이들의 컴포넌트들의 설치 및 삭제에 관한 것이다.
기술의 향상은 더 소형화되고 더 강력한 개인용 계산 디바이스들을 초래하였다. 예를 들어, 현재, 랩톱들, 휴대용 무선 전화들, 개인 휴대 정보 단말기들(PDA), 및 페이징 디바이스들과 같은 무선 계산 디바이스들을 포함한 다양한 휴대용 개인 계산 디바이스들이 존재하며, 이들은 각각 소형, 경량이면서 사용자들에 의해 쉽게 운반될 수 있다. 무선 디바이스는 다른 디바이스들에 물리적으로 부착되지 않으면서 상기 다른 디바이스들과 통신할 수 있는 임의의 디바이스이다. 대부분의 무선 디바이스들은 무선 주파수들을 통해 서로 통신한다.
셀룰러 텔레폰들과 같은 무선 디바이스들은 무선 네트워크를 통해 음성 및 데이터를 포함한 패킷들을 전송한다. 셀룰러 텔레폰들 자체는 증가한 계산 능력들을 구비하도록 제조되고 있으며, 개인용 컴퓨터들 및 핸드헬드 개인용 정보 단말기들("PDA"들)과 동등해지고 있다. 상기 개인용 계산 디바이스들 중 몇몇은 때때로 런타임 환경들 및 소프트웨어 플랫폼들이라 지칭되는 어플리케이션 프로그래밍 인터페이스(API)(들) 사용하는데, 이들은 로컬 컴퓨터 플랫폼에 설치되고 또한 예컨대 디바이스 특정 자원들에 대한 일반화된 호출들을 제공함으로써, 이와 같은 디바이스들의 동작들을 간소화하는데 사용된다. 일반적으로, API는 상기 컴퓨터의 운영 체제에 의해 프로시져들의 수행을 지시하기 위해 어플리케이션 프로그램에 의해 사용되는 일련이 루틴들로 간주될 수 있다.
이들 "스마트" 셀룰러 텔레폰들은 소프트웨어 개발자들로 하여금 무선 디바이스상에서 완전히 실행될 수 있는 소프트웨어 어플리케이션들(일반적으로 "프로그램들"이라 지칭됨)을 만들수 있도록 허용하는 상기 셀룰러 텔레폰들의 로컬 컴퓨터 플랫폼들에 어플리케이션 프로그래밍 인터페이스들("API"들)을 설치했다. 상기 API는 상기 무선 디바이스 시스템 소프트웨어 및 상기 소프트웨어 개발자가 특정 셀룰러 텔레폰 시스템 자원 코드를 가질 것을 요구함 없이 상기 셀룰러 텔레폰 계산 기능을 상기 어플리케이션에 대해 사용가능하게 하는 상기 소프트웨어 어플리케이션 사이에 있다(sit). 더욱이, 일부 API들은 보안 암호화 정보 및 통신 기술들을 사용하여 이와 같은 개인 디바이스(즉, 클라이언트들) 및 원격 디바이스들(즉, 서버들) 사이에 보안 통신들을 위한 메커니즘들을 제공하는 것으로 알려져 있다.
아래에서 더 상세하게 논의되는 이러한 API들의 예들 중 일부는 캘리포니아, 샌디에고의 퀄컴 사(QUALCOMM, Inc.,)에 의해 개발된 무선 소프트웨어를 위한 바이너리 런타임 환경(BREW®) 버전들을 포함한다. BREW®는 계산 디바이스(예를 들어, 무선 셀룰러 텔레폰)의 운영 체제와 공조할 수 있으며, 그리고 다른 특징들 중 특히, 개인용 계산 디바이스들에서 특히 검색된 하드웨어 특징들에 인터페이스들을 제공할 수 있다. BREW®는 또한 이들 인터페이스들을 디바이스 자원들에 대한 요청에 대해 그리고 BREW®를 포함하는 디바이스들에 대해 소비자들에 의해 지불된 가격에 관해 비교적 저 비용으로 제공할 수 있다. BREW®의 추가적인 특징들은 무선 서비스 오퍼레이터들, 소프트웨어 개발자들 및 계산 디바이스 소비자들에 대한 다양한 이점들을 제공하는 엔드-대-엔드(end-to-end) 소프트웨어 분산형 플랫폼을 포함한다. 적어도 하나의 이러한 현재 사용가능한 엔드-대-엔드 소프트웨어 분산형 플랫폼은 서버-클라이언트 아키텍쳐에 걸쳐 분산된 로직을 포함하며, 상기 서버는 예를 들어, 비용청구, 보안 및 어플리케이션 배포 기능을 수행하며, 또한 상기 클라이언트는 예를 들어, 어플리케이션 실행, 보안 및 사용자 인터페이스 기능을 수행한다.
관련 기술 분야의 전술된 설명은 단지 본 발명의 실시예들에서 사용될 수 있는 상기 BREW® 플랫폼에 대한 소개로서, 그리고 상기 알려진 API들의 사용 중 몇몇에 대한 개요로서 제공되는 것으로 의도된다. 그러나, 본 발명은 특정 구현예, 운영 플랫폼 혹은 환경으로 제한되는 것으로서 해석되지 않아야 한다.
상기 소프트웨어 어플리케이션들은 상기 무선 전화가 제조될 때 사전 로드될 수 있거나, 또는 상기 사용자는 추가 프로그램들이 셀룰러 원격통신 캐리어 네트워크를 통해 다운로드되도록 나중에 요청할 수 있는데, 여기서 상기 다운로드된 어플리케이션들은 상기 무선 전화 상에서 실행가능하다. 그 결과, 무선 전화들의 사용자들은 예컨대, 게임, 프린트 매체들, 스톡 업데이트들, 뉴스와 같은 어플리케이션들 혹은 상기 무선 네트워크를 통한 다운로드를 위해 사용가능한 임의의 다른 타입의 정보 또는 어플리케이션들의 선택적 다운로드를 통해 상기 사용자들의 무선 전화들을 커스터마이즈(customize)할 수 있다. 상기 셀룰러 텔레폰 자원들 및 어플리케이션들을 관리하기 위해, 상기 무선 전화의 상기 사용자는 저장 공간을 비우기(clear) 위해 의도적으로 상기 어플리케이션들 및 데이터를 상기 무선 전화 플랫폼으로부터 삭제하고 그 결과 새로운 어플리케이션들이 상기 비워진 저장 공간으로 로딩될 수 있다.
개인용 컴퓨터들 및 PDA 들의 더 큰 컴퓨터 플랫폼들에 비해, 무선 디바이스들은 저장 및 처리와 같은 제한된 자원들을 비-필수의 어플리케이션에 전용하기 위해 가진다. 통상적으로, 상기 원격통신 어플리케이션들은, 사용가능한 것으로서 자원이 할당된 다른 어플리케이션들과 함께, 상기 시스템 자원들의 사용에 대한 우선권을 갖는다. 따라서, 상기 무선 디바이스는 어플리케이션들을 위한 모든 파일들을 유지하기 위한 제한된 용량만을 가지며, 또한 상기 자원들의 관리는 상기 무선 디바이스로 다운로드되도록 요청된 새로운 어플리케이션들을 위한 공간을 마련하기 위해 어플리케이션들을 삭제하는 상기 폰의 사용자의 재량으로 남겨진다. 그렇지 않으면, 상기 디바이스는 어플리케이션을 유지 및 실행하기 위한 자원들을 가지지 않는 상기 어플리케이션을 다운로드하지 않을 것이다.
상기 무선 디바이스 상에서 자유(free) 자원들을 탐색함에 있어서, 상기 사 용자는 일반적으로는 전체 상주 어플리케이션을 디스에이블하지 않고 상기 상주 어플리케이션의 특정 컴포넌트들을 삭제할 수 없다. 만약 상기 사용자가 특정 컴포넌트들을 삭제하고자 검색한다면, 이러한 동작은, 상기 디스에이블된 상주 어플리케이션이 상기 어플리케이션의 전체 재설치없이 복원될 수 없으므로, 상기 의도된 자원들의 해제(freeing)를 거절(conrovert)한다. 쓸모없는 미삭제된 어플리케이션 컴포넌트들은 상기 메인 어플리케이션이 실행될수 없음에도 불구하고 여전히 불필요하게 저장 공간을 차지한다. 상기 무선 디바이스를 통한 상기 상주 소프트웨어 어플리케이션들에 대한 이러한 전체-또는-무 삭제 요청은, 상기 무선 디바이스에서 상주할 수 있으며 상기 사용자에게 사용가능한 어플리케이션들의 수를 크게 제한한다.
따라서, 무선 디바이스에서의 상기 컴퓨터 자원들의 사용을 최대화하기 위해, 상기 어플리케이션을 위한 중요 데이터, 예를 들어, 라이센스들 및 사용자-특정 데이터들을 유지하면서 동시에 어플리케이션들의 특정 컴포넌트들을 삭제할 수 있는 무선 디바이스를 제공하는 것이 바람직하다. 상기 무선 디바이스가 상기 어플리케이션을 다시 실행하기 위해 상기 삭제된 소프트웨어 컴포넌트들을 요청할 때, 상기 무선 디바이스는 상기 무선 네트워크를 통해 상기 소프트웨어 컴포넌트들을 획득할 수 있다. 따라서, 본 발명이 우선적으로 지향하는 무선 디바이스에서의 선택 소프트웨어 어플리케이션 컴포넌트들의 삭제 및 리로딩(reloading)을 제어할 수 있는 이러한 시스템 및 방법이 제공된다.
본 발명은 셀룰러 텔레폰, 개인용 휴대 정보 단말기(PDA), 페이저와 같은 무선 디바이스, 혹은 다른 컴퓨터 플랫폼에서의 소프트웨어 어플리케이션 컴포넌트들의 로딩 및 삭제를 관리하는 시스템 및 방법에 관한 것이다. 상기 무선 디바이스는 하나 이상의 상주하는 실행가능한 소프트웨어 어플리케이션들을 가지고, 각 어플리케이션은 하나 이상의 어플리케이션 컴포넌트들 및 어플리케이션-관련 데이터, 예컨대, 소프트웨어 라이센스들 및 사용자-특정 데이터를 포함하고, 또한 상기 무선 디바이스는 무선 네트워크와 선택적 통신 중에 있다. 무선 디바이스들과 선택적으로 통신하고 그리고 상기 무선 디바이스들로 소프트웨어 어플리케이션들 및 어플리케이션 컴포넌트들을 다운로드하는 상기 무선 네트워크에 있는 적어도 하나의 백업 디바이스가 존재한다.
시스템 자원들, 특히 저장 공간을 관리하기 위해, 상기 무선 디바이스는 상기 어플리케이션-관련 데이터의 손실 없이 상기 하나 이상의 상주 소프트웨어 어플리케이션들의 하나 이상의 어플리케이션 컴포넌트들을 선택적으로 삭제하고, 이후 상기 어플리케이션이 상기 무선 디바이스에서 다시 실행되도록 요청받는 경우, 하나 이상의 어플리케이션 컴포넌트들의 전송을 위해 상기 무선 네트워크에 걸쳐 상기 백업 디바이스를 선택적으로 프롬프트(prompt)한다. 일단 상기 하나 이상의 어플리케이션 컴포넌트들이 상기 백업 디바이스로부터 수신되면, 상기 무선 디바이스는 상기 상주 어플리케이션들이 상기 무선 디바이스에서 다시 실행가능하도록 이전에 삭제된 컴포넌트들과 함께 상주 어플리케이션들을 위한 상기 하나 이상의 어플리케이션 컴포넌트들을 설치한다.
상기 어플리케이션-관련 데이터는 통상적으로 삭제되면 복원될 수 없는 데이터이다. 상기 어플리케이션-관련 데이터들의 예들은 라이센스와 같이 상기 소프트웨어 어플리케이션을 실행하는데 요구되는 데이터일 수 있거나, 또는 상기 라이센스를 구비한 혹은 구비하지 않은 개인 신원 데이터, 게임에 대한 고득점들, 어드레스 북 등과 같은 사용자-특정 데이터일 수 있다. 상기 어플리케이션-관련 데이터는 또한 특정-드라이버 혹은 어플리케이션-크리티컬(critical) 모듈과 같은 무선 디바이스에서 상기 어플리케이션을 실행하는데 필요한 어플리케이션 컴포넌트들을 포함할 수 있다.
따라서, 무선 디바이스에서 상주하는 하나 이상의 소프트웨어 어플리케이션들의 컴포넌트들의 상기 로딩 및 삭제를 관리하기 위한 방법은 상기 어플리케이션-관련 데이터의 손실 없이 상기 하나 이상의 상주 소프트웨어 어플리케이션들의 하나 이상의 어플리케이션 컴포넌트들을 상기 무선 디바이스에서 선택적으로 삭제하는 단계, 상기 무선 디바이스로부터 백업 디바이스로 통신 링크를 선택적으로 설정하는 단계를 포함하며, 여기서 상기 무선 디바이스는 하나 이상의 삭제된 어플리케이션 컴포넌트들의 전송을 위해 상기 백업 디바이스를 프롬프트하고, 설치된 어플리케이션 컴포넌트들을 포함한 상기 하나 이상의 상주 어플리케이션들이 상기 무선 디바이스에서 실행가능하도록 상기 전송된 하나 이상의 어플리케이션 컴포넌트들을 설치한다.
통신 링크를 설정하는 방법은, 특히 상기 무선 디바이스가 셀룰러 텔레폰 혹은 페이저인 경우, 바람직하게는 셀룰러 원격통신 네트워크를 통해 통신 링크를 설정하는 것이다. 상기 통신 링크의 설정은 통상적으로는 하나 이상의 관련 컴포넌트들이 삭제된 상주 소프트웨어 어플리케이션을 실행하도록 의도하는 상기 무선 디바이스에서 발생하며, 그리고 무선 디바이스는, 필요하다면, 상기 삭제된 컴포넌트의 카피를 검색하는 상기 백업 디바이스에 대해 통신 링크를 만들도록 상기 사용자를 프롬프트할 수 있다.
상기 무선 디바이스에서 하나 이상의 상주 소프트웨어 어플리케이션들의 하나 이상의 어플리케이션 컴포넌트들을 선택적으로 삭제하는 방법은 상기 사용자가 상기 자원들을 요청할 새로운 소프트웨어 어플리케이션을 다운로드하기 위해 자원들을 삭제(clear)할 것을 원하는 경우, 상기 무선 디바이스의 상기 사용자의 지시로 발생할 수 있다. 그러나, 상기 삭제는 또한 시스템 자원들의 해제(freeing)를 요구하는 어플리케이션들을 다운로드하려는 상기 사용자의 상기 동작들에 따라 상기 자원들을 관리하는 상기 무선 디바이스에 의해 결정되어 발생할 수도 있다.
본 발명은 또한 발명적인 시스템에서 동작할(function) 수 있는 무선 디바이스 자체 및 본 발명의 발명적인 방법의 단계들을 수행하는 컴퓨터 플랫폼을 구비한 무선 디바이스에 지시하는 컴퓨터 판독가능한 매체 내의 프로그램을 포함한다.
시스템 및 방법은, 무선 디바이스가, 예를 들어 저장소와 같은 컴퓨터 자원들의 사용을 최대화하기 위해, 라이센스들 및 사용자-특정 데이터와 같은 상기 어플리케이션들에 대한 관련 데이터를 유지하면서 상주 소프트웨어 어플리케이션들의 특정 컴포넌트들을 삭제하도록 허용한다. 상기 무선 디바이스는 상기 백업 디바이스로부터 상기 무선 네트워크를 통해 상기 삭제된 소프트웨어 컴포넌트들의 복사본들을 검색함으로써 컴포넌트들이 삭제된 상기 소프트웨어 어플리케이션을 여전히 실행할 수 있다. 이는 상기 사용자가 상기 무선 디바이스에 완전히 저장될 수 있는 대용량의 실행가능한 소프트웨어 어플리케이션들로의 엑세스에 대한 준비를 할수 있도록 상기 무선 디바이스 시스템 자원들의 효율적인 사용을 허용한다. 상기 컴포넌트 및 리로딩 프로세스들은 상기 사용자의 지시일 수 있으며, 상기 프로세스들은 또한 상기 프로세스들이 상기 사용자에게 명백하도록(transparent) 상기 무선 디바이스에서 완전히 자동화될 수 있다.
본 발명의 다른 이점들 및 특징들은 아래 도면의 상세한 설명, 실시예, 및 청구항들의 검토 이후에 명백해질 것이다.
본 발명의 실시예들 및 이들의 수반하는 많은 이점들에 대한 더 완벽한 이해는 본 발명의 실시예들 및 이들의 수반하는 많은 이점들이 본 발명의 제한이 아닌 단지 예시를 위해 제공된 첨부 도면들과 함께 고려되는 후속하는 상세한 설명들을 참조하여 더 잘 이해됨에 따라 용이하게 획득될 것이다.
도 1은 무선 네트워크를 통해 하나 이상의 어플리케이션 다운로드 서버들과 선택적 통신 중인 무선 디바이스들에서의 소프트웨어 어플리케이션 컴포넌트들의 임시적인 삭제 및 리로딩을 관리하는 시스템을 도시한 도면.
도 2는 상이한 무선 디바이스들과 어플리케이션 다운로드 서버 및 데이터 베이스 사이에서 통신을 제공하는 예시적인 무선 네트워크의 하드웨어 컴포넌트들의 블록도.
도 3은 구체적으로 구성 컴포넌트들을 구비한 어플리케이션을 예시하는 무선 디바이스 플랫폼에 상주하는 파일 테이블을 도시하는 도면.
도 4는 무선 디바이스에서 어플리케이션 컴포넌트들의 선택적 삭제를 예시하는 흐름도.
도 5는 어플리케이션이 다시 실행가능하도록 상기 어플리케이션 다운로드 서버로부터 상기 무선 디바이스가 어플리케이션 컴포넌트들을 검색하는 것을 예시하는 흐름도.
도 6은 어플리케이션이 다시 실행가능하도록 상기 무선 디바이스에서 어플리케이션을 복원하기 위해 상기 무선 디바이스가 백업 디바이스로부터 어플리케이션 컴포넌트들을 검색하는 것을 예시하는 흐름도.
본 발명의 실시예들은 본 발명의 특정 실시예들에 관해 후속하는 설명 및 관련 도면들에서 개시된다. 대안적인 실시예들은 본 발명의 범위에서 벗어남이 없이 고안될 수 있다. 또한, 본 발명의 잘 알려진 엘리먼트들은 상세하게 설명되지 않거나, 본 발명의 관련 상세항목들을 모호하게 하지 않기 위해 생략될 것이다.
도 1은 무선 통신 포털 혹은 무선 네트워크(14) 또는 다른 데이터 액세스들에 걸쳐 무선 디바이스들로 소프트웨어 어플리케이션들 및 컴포넌트들을 선택적으로 전송하는 적어도 하나의 어플리케이션 다운로드 서버(16)와 상기 무선 네트워크(14)를 통해 통신하는 무선 디바이스, 예컨대 셀룰러 텔레폰(12) 상의 소프트웨어 어플리케이션 컴포넌트들의 삭제 및 리로딩을 위한 대표적인 시스템(10)을 도시한다. 여기서 도시된 바와 같이, 상기 무선 디바이스는 셀룰러 텔레폰(12), 개인 휴대 정보 단말기(PDA)(18), 도 1에서는 양방향 텍스트 페이저로서 도시된 페이저(20), 혹은 무선 통신 포털을 구비한, 그리고 그 외의 경우 네트워크 혹은 인터넷에 유선으로 접속될 수 있는 개별 컴퓨터 플랫폼(22)일 수 있다. 따라서 본 발명의 시스템은 무선 모뎀들, PCMCIA 카드들, 액세스 터미널들, 개인용 컴퓨터들, 디스플레이 혹은 키패드 없는 전화들, 혹은 이들의 임의의 조합 또는 하부 조합을 포함하지만 이에 제한되지 않는 무선 통신 포털을 포함하는 임의의 형태의 원격 모듈에서 구현될 수 있다.
여기서 상기 어플리케이션 다운로드 서버(16)는 상기 무선 네트워크(14)와 통신하는 다른 컴퓨터 엘리먼트들과 함께 네트워크(26)에서 보여진다. 제 2 서버(30) 및 독립형 서버(32)가 존재하며, 각 서버는 개별 서비스들을 제공하고 상기 무선 네트워크(14)를 통해 상기 무선 디바이스들(12,18,20,22)들을 처리할 수 있다. 바람직하게는 상기 무선 디바이스들(12,18,20,22)에 의해 다운로드 가능한 상기 어플리케이션들을 유지하는 상기 적어도 하나의 저장된 어플리케이션 데이터베이스(28) 역시 존재한다.
다른 디바이스들은 상기 어플리케이션 다운로드 서버(16)의 기능들과 동일한 기능들을 수행하는데 사용될 수 있다. 예를 들어, 백업 디바이스(미도시) 역시 이미 논의된 그리고 후속하여 논의될 바와 같이 상기 어플리케이션 다운로드 서버에 의해 수행되는 기능들과 동일한 기능들을 수행할 수 있다. 도 6은 추후 이들 실시예들 중 하나를 논의할 것이다.
도 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)는 통상적으로는 플래시 메모리 셀이지만, 당해 분야에 알려진 임의의 2차 저장 디바이스, 예를 들어 자기 매체, EPROM, 광학 매체, 테이프 혹은 소프트 또는 하드 디스크일 수 있다.
따라서, 셀룰러 텔레폰(12)과 같은 상기 무선 디바이스는 예를 들어, 게임, 뉴스, 주식 모니터링 등과 같은 하나 이상의 소프트웨어 어플리케이션들을 다운로드하고, 사용되지 않을시 상기 로컬 데이터베이스(58)에 상기 어플리케이션을 유지하며, 사용자에 의해 요구되는 경우 상기 API(54)에서의 실행을 위해 메모리(56)에 상기 로컬 데이터베이스(58)에 저장된 상주 어플리케이션들을 업로드한다. 그러나, 상기 로컬 데이터베이스(58) 및 메모리(56)에서 사용가능한 상기 설치된 저장 기능을 제한하는 상기 무선 디바이스에 대한 사이즈 제약 및 상당한 비용이 있으며, 따라서, 제한된 양의 상주 소프트웨어 어플리케이션들이 상기 무선 디바이스에서 유지될 수 있다. 본 발명의 시스템 및 방법은, 본 명세서에서 추가로 설명되는 바와 같이, 개별 소프트웨어 어플리케이션 컴포넌트들의 선택적 삭제 및 리로딩을 통해 이러한 저장 공간의 제약을 해소한다.
도 3을 참조하면, 상기 API(54)에서 유지되는 예시적인 파일 구조 혹은 데이터 관리 구조가 도시된다. 톱-레벨(top-level) 영역은 상기 컴퓨터 플랫폼(50)에 상기 이산적인(discrete) 소프트웨어 파일들 모두를 포함하는 "파일들(Files)"(60)이다. 상기 도 3의 파일 구조는 단지 예시적이며, 상기 컴퓨터 플랫폼(50)에서는 이러한 형태로 나타나지 않을 수도 있으며, 어떠한 식별가능한 파일 구조도 없이, 상기 무선 디바이스(12,18,20,22)들에서 순수하게 기계 코드로 나타날 수도 있다. 상기 파일 구조는 상기 파일들(60)에 있어서는 API이며, 본 명세서에서는 윈도우들을 위한 바이너리 런타임 환경("BREW")(62)으로서 도시되며, 상기 무선 디바이스 컴퓨터 플랫폼(50)에서 소프트웨어 어플리케이션들과 상호작용하기 위해 QUALCOMM®에 의해 사용되는 상기 API이다. 상기 BREW(62)는 어플리케이션 파일들(64)을 포함하며, 한 파일은 상기 어플리케이션 다운로드 서버(16)로부터 다운로드된 체스 게임(66)이며, 이 체스 게임은 이제 상기 무선 디바이스의 상기 컴퓨터 플랫폼(50)의 상기 로컬 데이터베이스(58)에 상주한다. 예시의 목적으로, 상기 체스(66) 어플리케이션은 상기 무선 디바이스의 상주 소프트웨어 어플리케이션이다.
상기 체스(66) 어플리케이션은 몇몇 소프트웨어 컴포넌트들(68), 예를 들어 파일들(chess.mod 및 chess.bar)를 포함한다. 상기 어플리케이션 컴포넌트들(68)은 상기 컴퓨터 플랫폼(50)에서 상기 어플리케이션을 실행하기 위해 필요한 모듈들이다. 체스(66)는 또한 본 명세서에서 scores.sig(70)으로서 도시되는, 특정 어플리케이션-관련 데이터를 포함하고, 상기 scores.sig(70)은 상기 컴퓨터 플랫폼(50)에서 상기 사용자가 체스 게임을 플레이할 때 저장된 스코어들이다. 또한 상기 체스(66) 어플리케이션에서 숨겨진 파일로서 포함된 라이센스도 존재한다. 따라서, 상기 체스 게임의 실행을 허용하는 상기 어플리케이션 컴포넌트들(68)은 상기 어플리케이션 다운로드 서버로부터 전송된 복사본으로 쉽게 복제되는 반면, 상기 관련-어플리케이션 데이터, 예컨대 상기 스코어들(70) 및 상기 라이센스는 상기 컴포넌트들의 파일들 또는 모듈들이 삭제되는 경우 유실될 것이다. 따라서, 본 발명은 상기 어플리케이션 다운로드 서버(16)으로부터 상기 비-필수적인 어플리케이션 컴포넌트들의 또다른 복사본을 획득하면서 동시에 예컨대 라이센스, 혹은 개인 정보 및 주소들과 같은 사용자 특정 정보, 혹은 체스 게임에 있어서, 이전 스코어들(70)과 같은 순수 오락-관련 데이터들과 같은 상기 비-검색가능한 어플리케이션-관련 데이터를 유지하는 능력을 사용한다.
상기 사용자가 상기 컴퓨터 플랫폼들에 대한 또다른 소프트웨어 어플리케이션을 다운로드하기를 원하고 그리고 특히 상기 로컬 데이터베이스(58)의 저장소의 측면에서 불충분한 자원들이 존재하는 경우, 상기 BREW API(62) 또는 다른 공간-관리 컴포넌트들은 체스를 위한 상기 어플리케이션 컴포넌트들이 삭제될 수 있어서 상기 요청된 다운로드된 어플리케이션이 상기 컴퓨터 플랫폼(50)에 위치될 수 있는지의 여부를 질의하도록 상기 사용자에게로 프롬프트를 트리거링할 수 있다. 그렇지 않은 경우, 상기 BREW API(62)은 어느 컴포넌트들이 삭제되어 상기 시스템 자원들을 자동으로 관리할 지를 결정할 수 있다. 상기 chess.mod 및 chess.bar 파일들이 상기 체스(66) 파일에서 삭제된 동안, 상기 체스 게임은 상기 컴퓨터 플랫폼(50)에서 실행될 수 없을 것이다. 상기 컴퓨터 플랫폼(50)에서 필수 및 비-필수적인 파일들의 분리를 통해, 상기 무선 디바이스는 예컨대 상기 스코어 파일(70)과 같은 상기 어플리케이션-관련 데이터의 손실 없이 상기 하나 이상의 상주 소프트웨어 어플리케이션들의 하나 이상의 상기 어플리케이션 컴포넌트들(68)을 선택적으로 삭제할 수 있다.
상기 chess.mod 및 상기 chess.bar 어플리케이션 컴포넌트들(68)이 삭제된 상기 체스 게임(66)과 같이, 하나 이상의 어플리케이션 컴포넌트들을 구비한 상기 어플리케이션이 삭제되었고 사용자가 그 어플리케이션을 다시 사용하기 원할 때, 상기 무선 디바이스는 하나 이상의 어플리케이션 컴포넌트들(68)의 전송을 위해, 상기 무선 네트워크(14)에 걸쳐 상기 어플리케이션 다운로드 서버(16)를 선택적으로 프롬프트할 것이다. 상기 무선 디바이스가 상기 어플리케이션 컴포넌트들(68)을 수신하면, 상기 무선 디바이스는, 상기 상주 어플리케이션, 혹은 여기서는 체스(66)가 다시 실행가능하도록, 상기 전송된 하나 이상의 어플리케이션 컴포넌트(68)를 상기 컴퓨터 플랫폼에 다시 설치한다. 상기 어플리케이션 컴포넌트들(68) 모두가 삭제되어야 하는 것은 아니며, 또한 상기 어플리케이션의 사이즈 혹은 다른 기준에 기반하여 삭제될 수 있다는 점이 주목되어야 한다. 더욱이, scores.sig(70)과 같은 어플리케이션-관련 데이터를 포함하는 상기 파일들은 또한 상기 어플리케이션을 실행하기 위해 요구되는 어플리케이션 컴포넌트들을 포함할 수 있으며 반드시 순수 데이터-저장소(container)일 필요는 없다.
도 4 및 5는 무선 디바이스(12,18,20,22)의 상기 컴퓨터 플랫폼(50)에 상주하는 하나 이상의 소프트웨어 어플리케이션의 어플리케이션 컴포넌트(68)들의 로딩 및 삭제를 관리하기 위한 본 발명의 방법을 도시하는 흐름도이다. 도 4에서 도시된 바와 같이, 상기 컴퓨터 플랫폼(50)은, 단계 80에서 도시된 바와 같이, 소프트웨어 어플리케이션을 다운로드하라는 명령을 수신하고, 이후 결정단계 82에서 도시된 바와 같이, 상기 어플리케이션을 다운로드하기 위해 사용가능한 충분한 자원들이 존재하는지의 여부에 대해 상기 무선 디바이스의 상기 ASIC(52) 혹은 다른 프로세서에 대한 결정이 이루어진다. 만약 사용가능한 충분한 자원이 존재한다면, 단계 84에 도시된 바와 같이, 상기 어플리케이션은 다운로드되고 저장되며, 상기 다운로드 프로세스가 종료된다. 만약 결정단계 82에서 불충분한 자원들이 존재한다면, 단계 86에서 도시된 바와 같이, 상기 사용자는 상기 어플리케이션을 다운로드하기 위해 시스템 자원들을 삭제하도록 프롬프트되는데, 이러한 단계 86은 특정 어플리케이션 컴포넌트의 삭제 단계까지 수반한다. 이후, 결정단계 88에서 도시된 바와 같이, 상기 사용자가 자원들의 삭제에 대해 승인하는지의 여부에 대한 결정이 이루어지고, 만약 승인하지 않는다면, 단계 90에서 도시된 바와 같이, 상기 사용자는 상기 다운로드를 위해 사용가능한 상기 불충분한 자원들에 대해 통지받고, 그리 고 상기 다운로드 프로세스가 종료된다. 결정단계 88에서, 상기 사용자가 자원들의 삭제를 승인하는 경우, 컴포넌트들(68)과 같은 하나 이상의 어플리케이션 컴포넌트들은 상기 필수 자원들을 삭제하기 위해 선택적으로 삭제되고, 이러한 삭제는 예컨대 상기 scores.sig 파일(70) 혹은 상기 어플리케이션을 사용하기 위한 임의의 라이센스들과 같은 상기 어플리케이션-관련 데이터의 큰 손실없이 이루어진다. 이후, 단계 94에서 도시된 바와 같이, 상기 어플리케이션이 상기 컴퓨터 플랫폼(50)에 다운로드되고 저장되며, 상기 다운로드 프로세스가 종료된다.
단계 100에서 도시된 바와 같이 하나 이상의 컴포넌트들(68)이 삭제된 상기 어플리케이션들을 실행하라는 요청이 수신되었을 때, 상기 삭제된 컴포넌트들을 재설치하기 위한 상기 프로세스가 도 5에 도시된다. 이것의 일 예는 상기 사용자가 상기 체스 게임을 다시 플레이하려 시도하는 것일 것이다. 이후 상기 사용자는, 단계 102에서 도시된 바와 같이, 상기 어플리케이션 다운로드 서버(16)으로의 통신 링크를 만들도록 바람직하게 프롬프트된다. 그러나, 상기 실행 요청의 수신시 상기 무선 디바이스는 대안적으로 상기 통신 링크를 자동으로 설정할 수 있다. 상기 어플리케이션을 실행하라는 요청이 상기 사용자에게 대해 요청되는 경우, 결정단계 104에서 도시된 바와 같이, 상기 사용자가 상기 링크를 승인했는지의 여부에 대한 결정이 이루어진다. 상기 사용자가 상기 링크를 설정하는 것을 거절한다면(decline), 단계 106에서 도시된 바와 같이, 상기 사용자는 상기 필요한 어플리케이션 컴포넌트들이 상기 요청된 어플리케이션을 수행하기 위해 다운로드되어야 한다는 점을 통지받고, 이후 상기 실행 요청이 종료된다. 상기 사용자가 결정단계 104에서 상기 통신 링크를 승인한다면, 단계 108에서 도시된 바와 같이 상기 어플리케이션 다운로드 서버(16)와의 통신 링크가 설정된다.
상기 어플리케이션 다운로드 서버(16)와의 상기 통신 링크가 설정되면, 상기 어플리케이션 다운로드 서버는 단계 110에서 도시된 바와 같이 상기 요청된 어플리케이션을 실행하기 위해 상기 무선 디바이스에 의해 요구되는 하나 이상의 어플리케이션 컴포넌트들을 전송하도록 상기 무선 디바이스에 의해 프롬프트된다. 이후, 결정단계 112에 도시된 바와 같이, 상기 서버가 요청 어플리케이션 컴포넌트들을 전송했는지의 여부가 결정되며, 전송하지 않은 경우, 결정단계 114에서 도시된 바와 같이, 상기 사용자는 상기 필수 컴포넌트들을 획득하는데 실패했음을 통지받고, 상기 실행 요청은 종료된다. 그렇지 않고, 상기 서버가 결정단계 112에서 상기 필수 컴포넌트들을 전송한 경우, 단계 116에서 도시된 바와 같이, 상기 무선 디바이스는 상기 어플리케이션 다운로드 서버로부터 상기 컴포넌트들을 수신하고, 단계 118에서 도시된 바와 같이, 상기 어플리케이션이 실행가능하도록 상기 수신된 컴포넌트들을 상기 어플리케이션에 설치한다. 단계 120에서 도시된 바와 같이, 이후 상기 어플리케이션은 종료될때까지 상기 무선 디바이스에서 실행된다.
어플리케이션 컴포넌트들(68)과 같이, 상기 삭제된 어플리케이션 컴포넌트들의 리로딩이 자동적이라면, 상기 도 5의 프로세스는 단계 100에서의 상기 어플리케이션을 실행하라는 상기 요청을 수신하는 것으로부터 단계 110에서의 상기 어플리케이션 다운로드 서버를 프롬프트하는 것으로 바로 갈 것이다. 상기 무선 디바이스는 단계 114에서 도시된 바와 같이, 상기 어플리케이션이 상기 컴포넌트들을 다 운로드하는 것을 실패한 경우에만 상기 사용자에게 통지한다.
통신 링크를 설정하는 상기 단계는 통상적으로는 도 2에 도시된 바와 같이 디지털 혹은 아날로그 셀룰러 통신 네트워크를 통해 통신 링크를 설정하지만, 무선 LAN, 마이크로파 혹은 적외선 네트워크와 같은 다른 무선 네트워크들이 대안적으로 사용될 수 있다. 또한, 통신 링크를 설정하는 단계는 하나 이상의 연관된 컴포넌트들이 삭제된 상주 어플리케이션을 실행하도록 의도된 상기 무선 디바이스(12,18,20,22)에서 자동으로 발생할 수 있는데, 즉 상기 무선 디바이스는 상기 무선 네트워크(14)를 통해 상기 어플리케이션 다운로드 서버(16)로 통신을 연결(bridge)한다. 그렇지 않은 경우, 상기 통신 링크를 설정하는 단계는 하나 이상의 연관된 컴포넌트들이 삭제된 상주 소프트웨어 어플리케이션을 위해 하나 이상의 컴포넌트를 상기 무선 네트워크(14)를 통해 전송하도록 상기 무선 디바이스(12,18,20,22)를 상기 어플리케이션 다운로드 서버(16)에 연결(bridge)하라는 사용자의 상기 특정 프롬프트에 대해 발생할 수 있다. 만약, 상기 무선 디바이스의 상기 사용자가 상기 무선 디바이스로 전송된 상기 새로운 어플리케이션 컴포넌트들을 가지기 위해, 상기 셀룰러 텔레폰 통화(call)와 같은 상기 통신 링크에 대한 비용을 청구받을 것이라면, 상기 사용자는 상기 컴포넌트들을 반드시 리로딩해야할 상기 통신 링크를 승인하도록 상기 컴포넌트(들)의 삭제 이전에 프롬프트되어야 한다. 상기 사용자는, 상기 통신 링크가 상기 어플리케이션을 실행가능하게 하도록 상기 어플리케이션의 상기 컴포넌트들을 검색하는데 필요할 때, 다시 프롬프트될 수 있다. 그러나, 만약 상기 무선 디바이스가 완전히 자동화되고, 상기 통신 링크가 상기 사용자에게로의 과금을 필요로 하지 않는다면, 상기 사용자에게 어떠한 프롬프트도 이루어질 필요가 없으며, 또한 단계 114에서와 같이, 문제점이 발생하고 에러 메시지가 생성되지 않는다면, 상기 컴포넌트(들)의 상기 리로딩이 용이하다(transparent).
도 6에 도시된 또다른 실시예에 있어서, 백업 디바이스(미도시)로부터 상기 삭제된 컴포넌트들을 재설치하는 프로세스가 예시된다. 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면 상기 백업 디바이스는 프로그램 혹은 데이터의 백업 혹은 복제본(duplicate) 혹은 복사본(copy) 혹은 상기 프로그램 혹은 데이터의 임의의 일부분 혹은 조합을 제공할 수 있다는 것을 알 것이다. 단계 200은 하나 이상의 컴포넌트들이 삭제된 상기 어플리케이션을 실행하라는 요청을 수신한 경우를 도시한다. 도 5에서 설명된 상기 실시예에 비해, 도 6에서 설명된 상기 실시예는 백업 디바이스로서 설치되고 지정된 디바이스(혹은 디바이스들)로 그리고 이러한 디바이스로부터 어플리케이션들을 디스에이블하거나 복원할 것이다. 이는 어플리케이션들이 또다른 디바이스(예, 무선 전화)에 연결된 백업 디바이스에 끊김없이 디스에이블되도록 허용하고, 또한 상기 어플리케이션들은 어플리케이션 다운로드 서버로부터 상기 어플리케이션을 다운로드하지 않고 복원될 수 있다.
API(예를 들어, BREW)는 백업 디바이스가 부착(attached)되었는지 여부를 결정한다. 백업 디바이스가 부착되었다는 긍정적인 결정이 이루어지는 경우, 단계 202에서 상기 백업 디바이스로의 연결이 이루어진다. 이러한 연결은 상기 사용자에 의해 이루어질 수 있고, 또는 대안적으로, 상기 연결은 자동으로 설정될 수도 있다. 단계 204에 도시된 바와 같이, 만약 상기 어플리케이션을 실행하라는 요청이 상기 사용자의 요청이라면, 상기 사용자가 상기 링크를 승인했는지의 여부에 대한 결정이 이루어진다. 만약 상기 사용자가 상기 링크 설정을 거절한다면, 단계 206에서 도시된 바와 같이, 상기 사용자는 상기 요청 어플리케이션을 실행하기 위해 상기 요구되는 어플리케이션 컴포넌트들이 다운로드되어야함을 통지받고, 이후 상기 실행 요청이 종료된다. 결정단계 204에서 상기 사용자가 상기 통신 링크를 승인한다면, 단계 208에서 도시된 바와 같이 백업 디바이스와의 통신 링크가 설정된다.
상기 백업 디바이스와의 통신 링크가 일단 설정되면, 단계 210에서 도시된 바와 같이, 상기 백업 디바이스는 상기 요청된 어플리케이션을 실행하기 위해 상기 무선 디바이스에 의해 요구되는 하나 이상의 어플리케이션 컴포넌트들을 전송하도록 상기 무선 디바이스에 의해 프롬프트된다. 이후, 결정단계 212에서 도시된 바와 같이, 상기 백업 디바이스가 필수 어플리케이션 컴포넌트들을 전송했는지의 여부가 결정되고, 만약 전송하지 않았다면, 단계 214에서 도시된 바와 같이, 상기 사용자는 상기 필수 컴포넌트들을 획득하는데 실패했음을 통지받고, 상기 실행 요청은 종료된다.
그렇지 않고, 만약 결정단계 212에서 상기 백업 디바이스가 상기 필수 컴포넌트들을 전송한 경우, 단계 216에서 도시된 바와 같이, 상기 무선 디바이스는 상기 백업 디바이스로부터 상기 컴포넌트들을 수신하고, 단계 218에서 도시된 바와 같이 상기 어플리케이션이 실행가능하도록 상기 수신된 컴포넌트들을 상기 어플리 케이션에 설치한다. 이후, 단계 220에서 도시된 바와 같이, 상기 어플리케이션은 종료될 때까지, 상기 무선 디바이스에서 실행된다.
상기 어플리케이션 컴포넌트들(68)과 같은, 상기 삭제된 어플리케이션 컴포넌트들의 상기 리로딩이 자동적이라면, 상기 도 6의 프로세스는 단계 200에서의 상기 어플리케이션을 실행하라는 상기 요청의 상기 수신 단계로부터 단계 210에서의 백업 디바이스를 프롬프트하는 단계로 바로 간다.
일 예시적인 시나리오에서, 만약 상기 백업 디바이스가 부착되고, 상기 응용 파일들이 상기 백업 디바이스에 존재한다면, 상기 백업 디바이스는 상기 무선 디바이스에 상기 응용 파일들을 다시 복사한다. 만약 상기 파일들이 상기 백업 디바이스에 위치하지 않고, 상기 백업 디바이스가 존재하지 않고, 혹은 상기 백업 디바이스가 존재하지만 위치될 수 없다면, 상기 파일들은 상기 무선 네트워크에 결합된 어플리케이션 서버로부터 검색되고 다운로드될 수 있다.
이는 전화에 연결된 백업 디바이스에 대해 어플리케이션이 끊김없이 디스에이블되고 어플리케이션 서버[예를 들어, BREW® 분산 서버(BDS)]를 경유하여 무선으로 어플리케이션들을 다운로드하지 않고 상기 어플리케이션이 복원되는 것을 허용한다. 예를 들어, 사용자는 디스에이블하기 원하는 무선 디바이스에서 어플리케이션을 선택한다. 이러한 선택은 수동적이거나 혹은 자동적일 수 있다. 이후 상기 시스템은 백업 디바이스가 부착되었는지의 여부를 결정한다. 상기 논의가 BREW 기반 구현예에 초점을 맞출 것이지만, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 발명의 범위 및 사상에서 벗어남이 없이 다른 API들이 사용될 수 있다는 점을 이해할 것이다.
BREW 기반 시스템에서, BREW는 상기 백업 디바이스의 존재를 결정할 것이다. 만약 상기 백업 디바이스가 존재한다고 결정되면, 상기 BREW는 상기 파일들을 상기 백업 디바이스에 복사한다. 이들 파일들은, 상기 무선 디바이스로부터 삭제되었으며 이들의 복원으로 상기 어플리케이션이 완전히 실행될 수 있는, 파일들의 서브세트이거나 혹은 동일한 파일들일 수 있다.
또다른 예에서, 어플리케이션이 실행을 위해 선택된다. BREW는 상기 어플리케이션의 파일들 중 많은 파일들이 삭제됨을 관찰한다. 이후 BREW는 백업 디바이스가 부착되었는지의 여부를 결정한다. 만약 상기 백업 디아비스가 부착되고 상기 파일들이 상기 백업 디바이스에 위치한다면, 상기 파일들은 상기 무선 디바이스로 다시 복사된다. 대안적으로, 만약 상기 파일들이 상기 백업 디바이스에 존재하지 않거나, 상기 디바이스가 존재하지 않는다면, 상기 파일들은 상기 어플리케이션 서버(예를 들어, BDS)로부터 검색된다.
본 발명의 방법의 견지에서, 본 발명은 컴퓨터 판독가능한 매체에 상주하는 프로그램을 포함하는데, 여기서 상기 프로그램은 컴퓨터 플랫폼을 구비한 무선 디바이스에게 상기 방법의 상기 발명 단계들을 수행하도록 지시한다. 상기 컴퓨터 판독가능한 매체는 상기 셀룰러 텔레폰(12) 혹은 다른 무선 디바이스의 상기 컴퓨터 플랫폼(50)의 상기 메모리(56)일 수 있거나, 혹은 상기 셀룰러 텔레폰(12)의 로컬 데이터베이스(58)와 같은 로컬 데이터베이스에 있을 수 있다. 또한, 상기 컴퓨터 판독가능한 매체는 무선 디바이스 컴퓨터 플랫폼으로 로드가능한(loadable) 2차 저장 매체, 예를 들어, 자기 디스크 혹은 테이프, 광학 디스크, 하드 디스크, 플래시 메모리, 혹은 당해분야에 알려진 바와 같은 다른 저장 매체 내에 있을 수 있다. 도 4 및 5의 문맥에서, 본 발명의 방법들은 예컨대 일련의 기계-판독가능한 명령들을 실행하도록 상기 무선 네트워크(14)의 일부분(들)을 동작시킴으로써 구현될 수 있다. 이들 명령들은 다양한 타입의 신호-포함(signal-bearing) 매체에 상주할 수 있다. 상기 신호-포함 매체는 예를 들어, 상기 무선 네트워크(14)의 상기 컴포넌트들 내에 상주하거나 상기 컴포넌트들에 의해 액세스가능한 RAM(미도시)을 포함할 수 있다. RAM, 디스켓, 혹은 다른 2차 저장 매체에 포함되었든 아니든 간에, 상기 명령들은 예를 들어, DASD 저장소(예를 들어, 종래의 "하드 드라이브" 혹은 RAID 어레이), 자기 테이프, 전자 판독-전용 메모리(예를 들어, ROM, EPROM, 혹은 EEPROM), 광학 저장 디바이스(예를 들어, CD-ROM, WORM, DVD, 디지털 광한 테이프), 페이퍼 "천공"카드들과 같은 다양한 기계-판독 가능한 데이터 저장 매체 혹은 디지털 및 아날로그와 같은 전송 매체를 포함한 다른 적합한 데이터 저장 매체에 저장될 수 있다.
전술한 개시물이 본 발명의 예시적인 실시예들을 보여주지만, 첨부된 청구항에서 한정되는 바와 같이 본 발명의 범위에서 벗어남이 없이 본 발명에서 다양한 변경들 및 수정들이 이루어질 수 있다는 점이 주목되어야 한다. 또한, 본 발명의 엘리먼트들이 단수로 설명되거나 청구될 수 있지만, 상기 단수에 대한 제한이 명시적으로 언급되지 않는 한 복수가 참작된다.

Claims (51)

  1. 제 1 무선 디바이스에서 소프트웨어 어플리케이션 컴포넌트들(software application components)을 관리하기 위한 시스템으로서,
    무선 네트워크를 통해 상기 제 1 무선 디바이스와 통신하도록 구성된 어플리케이션 서버; 및
    무선 통신 링크를 통해 상기 제 1 무선 디바이스와 통신하도록 구성되는 백업 디바이스(backup device)로서 구성된 제 2 무선 디바이스를 포함하고,
    상기 제 1 무선 디바이스는 하나 이상의 상주하는 실행가능한 소프트웨어 어플리케이션들을 포함하고 - 각각의 소프트웨어 어플리케이션은 하나 이상의 어플리케이션 컴포넌트들 및 어플리케이션-관련 데이터를 포함함 -,
    상기 제 1 무선 디바이스는,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 동작,
    삭제된 어플리케이션 컴포넌트가 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하기 위해 필요하다고 결정하는 동작,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스와의 통신 링크를 설정하는 동작,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하는지 여부를 결정하는 동작,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함할 때, 백업 디바이스로서 구성된 상기 제 2 무선 디바이스로부터 상기 삭제된 어플리케이션 컴포넌트를 개인 영역 네트워크(personal area network)를 통해 다운로드하는 동작,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하지 않을 때, 상기 어플리케이션 서버로부터 상기 삭제된 어플리케이션 컴포넌트를 상기 무선 네트워크를 통해 다운로드하는 동작, 및
    상기 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하는 동작을 수행하도록 구성되는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 동작은 자동적으로 수행되는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  5. 제1항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 동작은 비-자동적으로 수행되는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  6. 제1항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 상주하는 실행가능한 소프트웨어 어플리케이션의 사용을 위한 라이센스를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  7. 제1항에 있어서,
    상기 어플리케이션-관련 데이터는 사용자-특정 데이터를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  8. 제1항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 제 1 무선 디바이스에서 어플리케이션을 실행하는데 필요한 어플리케이션 컴포넌트들을 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  9. 제1항에 있어서,
    상기 제 1 무선 디바이스는 셀룰러 텔레폰인,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  10. 제1항에 있어서,
    상기 제 1 무선 디바이스는 PDA(personal digital assistant)인,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  11. 제1항에 있어서, 상기 제 1 무선 디바이스는 페이저(pager)인,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 제 1 무선 디바이스에서 소프트웨어 어플리케이션 컴포넌트들을 관리하기 위한 시스템으로서,
    무선 네트워크를 통해 상기 제 1 무선 디바이스와 통신하도록 구성된 어플리케이션 서버; 및
    무선 통신 링크를 통해 상기 제 1 무선 디바이스와 통신하도록 구성되는 백업 디바이스로서 구성된 제 2 무선 디바이스를 포함하고,
    상기 제 1 무선 디바이스는,
    하나 이상의 상주하는 실행가능한 소프트웨어 어플리케이션들 - 각각의 소프트웨어 어플리케이션은 하나 이상의 어플리케이션 컴포넌트들 및 어플리케이션-관련 데이터를 포함함 -,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하기 위한 수단,
    삭제된 어플리케이션 컴포넌트가 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하기 위해 필요하다고 결정하기 위한 수단,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 무선 통신 링크를 통해 상기 제 1 무선 디바이스에 접속되어 있다고 결정하기 위한 수단,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하는지 여부를 결정하기 위한 수단,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하는 경우, 백업 디바이스로서 구성된 상기 제 2 무선 디바이스로부터 상기 삭제된 어플리케이션 컴포넌트를 상기 무선 통신 링크를 통해 다운로드하기 위한 수단,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하지 않는 경우, 상기 어플리케이션 서버로부터 상기 삭제된 어플리케이션 컴포넌트를 상기 무선 네트워크를 통해 다운로드하기 위한 수단, 및
    상기 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하기 위한 수단을 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  26. 제25항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하기 위한 수단은 상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 자동적으로 삭제하기 위한 수단을 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  27. 제25항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하기 위한 수단은 상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 비-자동적으로 삭제하기 위한 수단을 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  28. 제25항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 상주하는 실행가능한 소프트웨어 어플리케이션의 사용을 위한 라이센스를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  29. 제25항에 있어서,
    상기 어플리케이션-관련 데이터는 사용자-특정 데이터를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  30. 제25항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 제 1 무선 디바이스에서 어플리케이션을 실행하는데 필요한 어플리케이션 컴포넌트들을 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  31. 제25항에 있어서,
    상기 제 1 무선 디바이스는 셀룰러 텔레폰인,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  32. 제25항에 있어서,
    상기 제 1 무선 디바이스는 PDA인,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  33. 제25항에 있어서, 상기 제 1 무선 디바이스는 페이저인,
    소프트웨어 어플리케이션 컴포넌트들 관리 시스템.
  34. 하나 이상의 상주하는 실행가능한 소프트웨어 어플리케이션들을 포함하는 제 1 무선 디바이스에서 소프트웨어 어플리케이션 컴포넌트들을 관리하기 위한 방법으로서,
    각각의 소프트웨어 어플리케이션은 하나 이상의 어플리케이션 컴포넌트들 및 어플리케이션-관련 데이터를 포함하고,
    상기 방법은,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 단계,
    삭제된 어플리케이션 컴포넌트가 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하기 위해 필요하다고 결정하는 단계,
    백업 디바이스로서 구성된 제 2 무선 디바이스와의 무선 통신 링크를 설정하는 단계,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하는지 여부를 결정하는 단계,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하는 경우, 백업 디바이스로서 구성된 상기 제 2 무선 디바이스로부터 상기 삭제된 어플리케이션 컴포넌트를 개인 영역 네트워크(personal area network)를 통해 다운로드하는 단계,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하지 않는 경우, 어플리케이션 서버로부터 상기 삭제된 어플리케이션 컴포넌트를 무선 네트워크를 통해 다운로드하는 단계, 및
    상기 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하는 단계를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  35. 제34항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 단계는 상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 자동적으로 삭제하는 단계를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  36. 제34항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 단계는 상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 비-자동적으로 삭제하는 단계를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  37. 제34항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 상주하는 실행가능한 소프트웨어 어플리케이션의 사용을 위한 라이센스를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  38. 제34항에 있어서,
    상기 어플리케이션-관련 데이터는 사용자-특정 데이터를 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  39. 제34항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 제 1 무선 디바이스에서 어플리케이션을 실행하는데 필요한 어플리케이션 컴포넌트들을 포함하는,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  40. 제34항에 있어서,
    상기 제 1 무선 디바이스는 셀룰러 텔레폰인,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  41. 제34항에 있어서,
    상기 제 1 무선 디바이스는 PDA인,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  42. 제34항에 있어서, 상기 제 1 무선 디바이스는 페이저인,
    소프트웨어 어플리케이션 컴포넌트들 관리 방법.
  43. 하나 이상의 상주하는 실행가능한 소프트웨어 어플리케이션들을 포함하는 제 1 무선 디바이스의 프로세서에서 실행하기 위한 컴퓨터 프로그램이 저장된 유형(tangible) 저장 매체로서,
    각각의 소프트웨어 어플리케이션은 하나 이상의 어플리케이션 컴포넌트들 및 어플리케이션-관련 데이터를 포함하고,
    저장된 컴퓨터 프로그램의 실행은 상기 제 1 무선 디바이스로 하여금,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 동작,
    삭제된 어플리케이션 컴포넌트가 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하기 위해 필요하다고 결정하는 동작,
    백업 디바이스로서 구성된 제 2 무선 디바이스가 개인 영역 네트워크를 통해 상기 제 1 무선 디바이스에 접속된다고 결정하는 동작,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하는지 여부를 결정하는 동작,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하는 경우, 백업 디바이스로서 구성된 상기 제 2 무선 디바이스로부터 상기 삭제된 어플리케이션 컴포넌트를 개인 영역 네트워크를 통해 다운로드하는 동작,
    백업 디바이스로서 구성된 상기 제 2 무선 디바이스가 상기 삭제된 어플리케이션 컴포넌트를 포함하지 않는 경우, 어플리케이션 서버로부터 상기 삭제된 어플리케이션 컴포넌트를 무선 네트워크를 통해 다운로드하는 동작, 및
    상기 상주하는 실행가능한 소프트웨어 어플리케이션을 실행하는 동작을 수행하게 하는,
    유형 저장 매체.
  44. 제43항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 동작은 상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 자동적으로 삭제하는 동작을 포함하는,
    유형 저장 매체.
  45. 제43항에 있어서,
    상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 삭제하는 동작은 상기 어플리케이션-관련 데이터의 손실없이 어플리케이션 컴포넌트를 비-자동적으로 삭제하는 동작을 포함하는,
    유형 저장 매체.
  46. 제43항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 상주하는 실행가능한 소프트웨어 어플리케이션의 사용을 위한 라이센스를 포함하는,
    유형 저장 매체.
  47. 제43항에 있어서,
    상기 어플리케이션-관련 데이터는 사용자-특정 데이터를 포함하는,
    유형 저장 매체.
  48. 제43항에 있어서,
    상기 어플리케이션-관련 데이터는 상기 제 1 무선 디바이스에서 어플리케이션을 실행하는데 필요한 어플리케이션 컴포넌트들을 포함하는,
    유형 저장 매체.
  49. 제43항에 있어서,
    상기 제 1 무선 디바이스는 셀룰러 텔레폰인,
    유형 저장 매체.
  50. 제43항에 있어서,
    상기 제 1 무선 디바이스는 PDA인,
    유형 저장 매체.
  51. 제43항에 있어서, 상기 제 1 무선 디바이스는 페이저인,
    유형 저장 매체.
KR1020087022350A 2006-02-17 2007-02-16 어플리케이션 디스에이블/복원 관리를 위한 시스템 및 방법 KR100984599B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/357,283 2006-02-17
US11/357,283 US20070197202A1 (en) 2006-02-17 2006-02-17 System and method for application auto-disable/restore enhancement

Publications (2)

Publication Number Publication Date
KR20080103997A KR20080103997A (ko) 2008-11-28
KR100984599B1 true KR100984599B1 (ko) 2010-09-30

Family

ID=38198426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087022350A KR100984599B1 (ko) 2006-02-17 2007-02-16 어플리케이션 디스에이블/복원 관리를 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US20070197202A1 (ko)
EP (1) EP1989617A1 (ko)
JP (1) JP2009527825A (ko)
KR (1) KR100984599B1 (ko)
CN (1) CN101384996A (ko)
WO (1) WO2007098401A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512987B1 (ko) * 2014-06-19 2015-04-20 주식회사 씽크풀 이용제어 시스템 및 그 제공방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090260004A1 (en) * 2008-04-10 2009-10-15 Palm, Inc. Computer program updates for mobile computing device
US8583602B2 (en) * 2008-06-05 2013-11-12 Palm, Inc. Restoring of data to mobile computing device
US8812614B2 (en) * 2008-06-05 2014-08-19 Qualcomm Incorporated Data backup for a mobile computing device
AU2016203394B2 (en) * 2009-05-13 2017-08-31 First Data Corporation Systems and methods for providing trusted service management services
US8725122B2 (en) * 2009-05-13 2014-05-13 First Data Corporation Systems and methods for providing trusted service management services
US20110072421A1 (en) * 2009-09-18 2011-03-24 Research In Motion Limited Method, apparatus and system for updating a software bundle installed on a mobile electronic device
EP2620003B1 (en) * 2010-09-24 2020-06-17 BlackBerry Limited Storage of applications and associated digital goods for use in wireless communication devices and systems
EP2482530B1 (de) * 2011-01-26 2013-10-02 Gigaset Communications GmbH Dynamische Bereitstellung von Client Funktionalität
KR101321426B1 (ko) * 2011-03-24 2013-10-23 도시바삼성스토리지테크놀러지코리아 주식회사 무선 광 디스크 장치와 그 구동 방법
CN102186160A (zh) * 2011-04-19 2011-09-14 中兴通讯股份有限公司 一种下载应用程序的方法及终端
KR101345959B1 (ko) * 2012-06-22 2014-01-03 성균관대학교산학협력단 단일 사용자용 모바일 단말기 플랫폼을 위한 다중 사용자 권한 관리 방법 및 이를 이용한 모바일 단말기
US20150039659A1 (en) * 2013-07-30 2015-02-05 William F. Sauber Data location management agent using remote storage
KR102399964B1 (ko) * 2014-05-28 2022-05-20 주식회사 알티캐스트 어플리케이션 관리 시스템 및 그 방법
CN104156236A (zh) * 2014-07-23 2014-11-19 小米科技有限责任公司 节省存储空间的方法和装置
US9880824B2 (en) 2015-06-05 2018-01-30 Apple Inc. On demand resources
US10447812B2 (en) 2015-06-05 2019-10-15 Apple Inc. On demand resources

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687800B1 (en) * 1998-04-15 2004-02-03 Bull Cp8 Chip card comprising means and method for managing a virtual memory and associated communication method
US20040192282A1 (en) * 2003-02-04 2004-09-30 Vinod Vasudevan Mobile telephony application platform

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4568963B2 (ja) * 2000-06-08 2010-10-27 ソニー株式会社 情報処理装置、情報通信システム
WO2002003199A1 (fr) * 2000-07-03 2002-01-10 Access Co., Ltd. Dispositif terminal d'informations mobile, serveur de stockage et procede permettant la mise a disposition d'une region de stockage
US6941135B2 (en) * 2001-08-13 2005-09-06 Qualcomm Inc. System and method for temporary application component deletion and reload on a wireless device
JP4141145B2 (ja) * 2002-01-29 2008-08-27 株式会社エヌ・ティ・ティ・ドコモ データダウンロード方法
JP3892367B2 (ja) * 2002-08-29 2007-03-14 株式会社エヌ・ティ・ティ・データ アプリケーションのバックアップ情報を有するicカード、icカードアプリケーションのバックアップシステム、及びバックアップ方法
US7307945B2 (en) * 2002-11-27 2007-12-11 Lucent Technologies Inc. Methods for providing a reliable server architecture using a multicast topology in a communications network
US20050064859A1 (en) * 2003-09-23 2005-03-24 Motorola, Inc. Server-based system for backing up memory of a wireless subscriber device
JP2005157657A (ja) * 2003-11-25 2005-06-16 Nec Corp 携帯端末におけるアプリケーションデータ管理方法及び携帯端末
US20060212542A1 (en) * 2005-03-15 2006-09-21 1000 Oaks Hu Lian Technology Development Co., Ltd. Method and computer-readable medium for file downloading in a peer-to-peer network
US7710349B2 (en) * 2005-07-18 2010-05-04 Sony Ericsson Mobile Communications Ab Methods and systems for sharing multimedia application data by a plurality of communication devices
EP1768021A1 (en) * 2005-09-09 2007-03-28 Matsushita Electric Industrial Co., Ltd. Software module installation and automatic memory release using external repositories

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687800B1 (en) * 1998-04-15 2004-02-03 Bull Cp8 Chip card comprising means and method for managing a virtual memory and associated communication method
US20040192282A1 (en) * 2003-02-04 2004-09-30 Vinod Vasudevan Mobile telephony application platform

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101512987B1 (ko) * 2014-06-19 2015-04-20 주식회사 씽크풀 이용제어 시스템 및 그 제공방법

Also Published As

Publication number Publication date
US20070197202A1 (en) 2007-08-23
EP1989617A1 (en) 2008-11-12
JP2009527825A (ja) 2009-07-30
KR20080103997A (ko) 2008-11-28
CN101384996A (zh) 2009-03-11
WO2007098401A1 (en) 2007-08-30

Similar Documents

Publication Publication Date Title
KR100984599B1 (ko) 어플리케이션 디스에이블/복원 관리를 위한 시스템 및 방법
US6941135B2 (en) System and method for temporary application component deletion and reload on a wireless device
KR100915564B1 (ko) 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치
US9134989B2 (en) System and method for updating dataset versions resident on a wireless device
JP4865835B2 (ja) アクションリストとバージョニングとを用いて、無線デバイス上でアクションを実行する方法、ソフトウェア、及び装置
US20050124332A1 (en) Mobile device programming system and method
JP2006505029A (ja) 無線装置に存在するデータセットのバージョンを更新するためのサーバー処理
US20040188510A1 (en) System for registry-based automatic installation and component handling on a device
KR100864387B1 (ko) 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
KR100865640B1 (ko) 무선 디바이스상에서의 일시적인 애플리케이션 컴포넌트삭제 및 리로딩을 위한 시스템 및 장치
AU2002356071A1 (en) System for updating software in a wireless device
MXPA06004669A (es) Metodo, programa y aparato para actualizar aplicaciones durante la ejecucion

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9