KR20070085728A - 상주 애플리케이션들을 활성화하기 위한 방법, 소프트웨어및 장치 - Google Patents

상주 애플리케이션들을 활성화하기 위한 방법, 소프트웨어및 장치 Download PDF

Info

Publication number
KR20070085728A
KR20070085728A KR1020077012589A KR20077012589A KR20070085728A KR 20070085728 A KR20070085728 A KR 20070085728A KR 1020077012589 A KR1020077012589 A KR 1020077012589A KR 20077012589 A KR20077012589 A KR 20077012589A KR 20070085728 A KR20070085728 A KR 20070085728A
Authority
KR
South Korea
Prior art keywords
preloaded
computing device
core application
activation
inactive core
Prior art date
Application number
KR1020077012589A
Other languages
English (en)
Other versions
KR100943553B1 (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 KR20070085728A publication Critical patent/KR20070085728A/ko
Application granted granted Critical
Publication of KR100943553B1 publication Critical patent/KR100943553B1/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/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

사전 로드된 불활성 코어 애플리케이션(preloaded inactivated core application)을 검출하고 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을 전송하기 위한 시스템이 제시된다. 본 시스템은 또한 네트워크를 통해 상기 활성화 질의 요청을 전송하는 것을 포함한다. 본 시스템은 또한 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를 수신하는 것을 포함한다. 또한, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해 수신하기 위한 시스템이 포함되며, 여기서 상기 활성화 질의 요청은 원격 컴퓨팅 장치(computing device)상에서 수신된다. 본 시스템은 또한 상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하는 것을 포함하며, 여기서 그러한 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장된다. 본 시스템은 또한 상기 활성화 상태를, 네트워크를 통해, 전송하는 것을 포함한다.

Description

상주 애플리케이션들을 활성화하기 위한 방법, 소프트웨어 및 장치{METHOD, SOFTWARE AND APPARATUS FOR ACTIVATING RESIDENT APPLICATIONS}
본 발명은 일반적으로 컴퓨팅 디바이스(device)에 상주하는 로직(logic)의 활성화(activation), 더 상세하게는 컴퓨팅 디바이스에 상주하는 코어 애플리케이션(core application)들의 활성화에 관련된다.
시스템 설계
기술 진보는 더 작고 더 강력한 개인용 컴퓨팅 장치들을 가져왔다. 예를 들어, 각기 작고, 가벼우며 사용자들이 쉽게 휴대할 수 있는 휴대용 무선 전화, 개인 휴대 정보 단말기(personal digital assistant, PDA), 그리고 무선 호출(paging) 장치와 같이 다양한 종류의 휴대용 무선 장치들이 현재 존재한다. 일반적으로, 이러한 장치들은 매우 리소스(resource)가 제한적이다. 예를 들어, 화면 크기, 가용(available) 메모리 및 파일 시스템 공간(file system space)의 크기, 입력 및 출력 용량과 프로세싱 능력(processing capability)이 각기 상기 장치의 작은 크기로 인해 제한될 수 있다. 그러한 엄격한 리소스 제한들 때문에 흔히 일반적으로, 예를 들어, 그러한 장치들에 상주하는 애플리케이션들의 제한된 크기와 양을 유지하는 것이 바람직하다. 메모리 및/또는 파일 시스템 공간과 같이, 어떤 제한된 리소 스들은 종종 그러한 설계상 선택을 촉구하는 주도적인 리소스 제한들이다. 그러나, 그러한 리소스 제한들이 존재하고 그러한 컴퓨팅 장치들 상의 애플리케이션들의 크기와 양을 제한하고자 상응하는 요구가 존재하는 경우에조차, 코어 애플리케이션(core application)들을 포함하는, 어떠한 "사전 로드된(preloaded)" 애플리케이션들에 대한 요구가 공존하는 것을 드물지 않게 볼 수 있다.
"사전 로드된(preloaded)" 애플리케이션들은 그러한 컴퓨팅 장치들이 최종 사용자(end user)들에게 전해지기 전에 컴퓨팅 장치에 로드(load)되는 애플리케이션들이다. 대체로 "코어(core)" 애플리케이션들은 일반적으로, 예컨대 다른 애플리케이션들 및/또는 중요한 기능성을 수행하는 그러한 애플리케이션들 및/또는 엔진들에 의해 자주 호출되는 것으로 알려지거나 호출될 것으로 예상되는 애플리케이션들 및/또는 엔진(engine)들을 포함하여, 일정한 특징들을 갖는 것으로 알려진 그러한 애플리케이션들 및/또는 엔진들이다. 예를 들어, 일정한 환경에서 특정한 컴퓨팅 장치들에 있어서, 멀티미디어 애플리케이션 엔진은 다수의 애플리케이션들에 의해 자주 호출되는 애플리케이션 엔진으로 알려져 있고, 그와 같이, 그러한 멀티미디어 엔진은 종종 코어 애플리케이션으로서 특정한 컴퓨팅 장치들에 사전 로드된다. 이 애플리케이션이 교부(delivery) 되기에 앞서 상기 컴퓨팅 장치에 사전 로드되지 않는다면, 일정한 환경에서, 상기 애플리케이션 및/또는 엔진의 자주 이용되는 특징은 거의 틀림없이 네트워크를 통해, 추후 상기 애플리케이션 및/또는 엔진 인도-이후(post-delviery)의 양방향(interactive) 다운로딩(downloading)을 요구할 것이다 - 초기 사전 로드를 통해 피할 수 있었던 양방향/인도-이후 프로시저 (procedure).
일반적으로, 상기 애플리케이션들의 사전 로딩(preloading)은 주문자 상표 부착 생산자(Original Equipment Manufacturer, OEM) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC) 생산자와 같은 존재들에 의해 수행된다. 일례로, OEM은 OEM의 생산 시설에서 그러한 장치들에 하나 이상의 코어 애플리케이션들을 직접 사전 로드한다. 다른 예로, OEM들은 ASIC 생산자의 시설에서 이미 하나 이상의 코어 애플리케이션들로써 사전 로드되는, ASIC 칩들을 최종 컴퓨팅 장치에 포함시켜 간접적으로 코어 애플리케이션들을 제공한다. 기술한 바와 같이, 상기 최소 두 가지 종류의 존재들인, OEM들 및 ASIC 칩 생산자들의 행위는, 개별적으로, 분리하여 또는 함께, 컴퓨팅 장치들에 상기 애플리케이션들의 사전 로딩 결과를 가져올 수 있다.
코어 애플리케이션들은 활성화된(activated) 그리고 불활성화된(inactivated) 상태 모두로써 선택적으로 사전 로드되는 것으로 현재 알려져 있다. 상기 "활성화된 상태"는 호출되고, 호출시 실행하도록 구성되는 애플리케이션을 뜻한다. 반대로, 상기 "불활성화된 상태"는 현재로서는 호출되거나, 또는 호출시 실행하도록 구성되지 않은 애플리케이션을 말한다. 예를 들어, 현재, 일부 생산자들(ASIC 또는 컴퓨팅 장치 OEM들)은 때때로 그들의 제품(즉 IC 칩들 및 컴퓨팅 장치들)에 최종 사용자가 선택적으로 이용가능한 애플리케이션을 포함시킨다. 일반적으로, 그러한 선택적인 애플리케이션들에는 코어 애플리케이션들이 포함되지 않는다. 또한, 그러한 선택적 애플리케이션들은 상기 생산자들에 의해 불활성 상태 또 는 활성화된 상태 중 하나로 제공된다. 또한, 상기 애플리케이션이 제공되는 상태에 상관없이, 상기 애플리케이션은 일반적으로 그러한 상태로 영구히 남아 있게 되므로, 예를 들어, 일단 상기 컴퓨팅 장치가 상기 최종 사용자에게 인도되면 상기 생산자는 일반적으로 상기 활성화/불활성화된 상태를 바꾼 것을 알지 못한다. 현재, 동작시에, 사전 로드된 불활성 애플리케이션들이 초기에 상기 사용자에게 활성 애플리케이션들로 종종 나타나는데, 즉 사용자 인터페이스 상에서 활성화 선택으로 표시하며, 그러한 애플리케이션들이 사용자에 의해 선택될 수 있고, (직접적으로 또는 간접적으로), 그에 응답하여, 상기 컴퓨팅 장치는 그러한 애플리케이션을 실행하는데 있어서 오류(error)가 나타났음을 지시하는 메시지를 표시한다.
이와 같이 생산자들에 의한 사전 로드된 불활성 애플리케이션들의 공급에 수반되는 특징은 그러한 생산자들은 인도(delivery) 시에 상기 제품 내부에서 이용가능한 활성 기능성(active functionality)에 기초하여 가변적인 가격을 매기는 것을 실현할 수 있다는 점이다. 생산자들은 인도에 앞서 그러한 애플리케이션들이 전혀 없거나 또는 그러한 사전 로드된 불활성 애플리케이션들을 갖는 제품들에 비해서 사전 로드된 활성 애플리케이션들을 포함하는 제품들에 대해 더 높은 가격을 청구할 수 있다. 그리하여, 생산자는, 예컨대 상기 생산자가 상기 장치로부터 상기 애플리케이션을 제외시키거나 또는 그러한 애플리케이션이 불활성 상태에서 상기 장치로 하여금 로-엔드(low-end) 시장에 더 낮은 가격으로 판매될 수 있는 티어링 전략(tiering strategy)을 구사할 수 있다. 그러나, 인도 시에 이용가능한 상기 기능성이 상기 제품의 수명에 걸쳐 동일하게 남아 있기 때문에, 특정한 사전 로드된 불활성 애플리케이션이 불활성화 상태로 인도되면 그러한 애플리케이션에 관련된 상기 기능성은 영구히 잠재되고, 그러한 기능성에 관련된 임의의 잠재적인 관련 수입(revenue)은 일반적으로 영원히 사라진다.
무선 컴퓨팅장치들을 포함하여, 많은 컴퓨팅 장치들은 무선망을 포함한, 네트워크를 통해 애플리케이션들을 양방향으로 다운로드 할 수 있다. 일반적으로 통제된 환경에서 사전 로드(preload)되는 상기 사전 로드(preload)된 애플리케이션들과 달리, (예를 들어, 상기 생산자의 통제 아래에서), 그와 같이 양방향으로 로드(load)된 애플리케이션들은 상대적으로 통제되지 않은 환경에서 로드되므로 시스템 무결성(integrity)을 확보하고 권한부여된 사용을 단속하기 위해 어떠한 인증(authentication) 및 권한부여(authorization) 방법들을 이용할 필요성이 제기된다. 그러한 인증 및 권한부여를 제공하는 한가지 흔한 방법은 디지털로 서명된 라이센스들의 이용을 채택하는 것이다. 애플리케이션들과 구성요소(component)들의 디지털 서명은 그러한 구성요소들이 수정되는 것을 방지한다. 이 디지털 서명은 또한 본래의 개발자에게로 연계를 제공하고, 라이센스 데이터를 보호하는 등의 다른 이점들을 제공할 수 있다.
상기 애플리케이션들의 양방향 다운로드를 제공하는 시스템의 구체적인 예는 캘리포니아 샌 디에고의 콸콤, 인크(Qualcomm, Inc.)에 의해 개발되어 현재 공개적으로 이용가능한 버전의 Binary Runtime Environment for Wireless®(BREW®) 소프트웨어 플랫폼이다. BREW®는 일반적으로 다른 기능들 중에서, 특히 개인용 무선 장치들에서 발견되는 하드웨어 기능들과의 인터페이스를 종종 제공하는, 전화 운용 시스템에 대한 얇은 베니어(veneer)로 알려져 있다. BREW®는 또한 장치 리소스들에 대한 수요에 관련하여 그리고 상기 소프트웨어 플랫폼을 포함하는 컴퓨팅 장치들에 대해 소비자들이 지불하는 가격에 대하여 상대적으로 저가에 제공된다.
BREW®의 다른 특징들에는 무선 서비스 운용자들, 소프트웨어 개발자들과 컴퓨팅 장치 소비자들에게 다양한 이익을 제공하는 엔드-투-엔드(end-to-end) 소프트웨어 분배 플랫폼이 포함된다. 상기 BREW® 엔드-투-엔드 소프트웨어 분배 플랫폼은 서버-클라이언트 구조를 통해 분배되는 로직(logic)을 포함하며, 상기 서버는 예를 들어, 과금(billing)과 애플리케이션 분배 기능성을 수행하고, 상기 클라이언트는 예를 들어, 애플리케이션 실행과 사용자 인터페이스 기능성을 수행한다. BREW®의 한가지 특징은 선택된 애플리케이션이 사용자의 행동에 응답하여 컴퓨팅 장치로 무선으로 다운로드 되는 상기 사용자 컴퓨팅 장치에서 실행하기 위한 애플리케이션을 사용자가 선택적으로 식별하고 선택적으로 구입할 수 있는 환경을 사용자에게 제공하는 기능성이다. 그러한 기능성은 상기 사용자의 추후의 전화요금 고지서에 나타나는 금액의 발생을 포함한다. 그와 같이, BREW®는 요구되는 엔티티(entity)들에 대한 모든 과금, 보안 및 지불을 처리하는 기능성을 포함하는데, 예를 들어 BREW®는 지불들을 상기 무선 서비스 사업자들과 상응하는 소프트웨어 개발자들에 대한 지불과 같은 상기 소비자의 거래(transaction)와 관련된 상기 적절한 엔티티(entity)들로 보낸다.
특정 애플리케이션들이 일반적으로 다른 많은 컴퓨팅 장치들에 의해 요구되는 "코어" 애플리케이션들로 간주될 수 있을지라도, 일부 애플리케이션들은, 다수 의 컴퓨팅 장치들에 의해 요구되는 코어로 간주되지 않는다면, 다른 특정 컴퓨팅 장치들에 의해 요구되는 코어 애플리케이션으로 간주되지 않을 수 있다. 무엇이 요구되는 코어 애플리케이션으로 간주될 수 있는지 여부는 다양한 요인들에 달려 있을 수 있으며, 장치 구조, 운용자가 제공하는 애플리케이션들의 종류, 사용자가 요구하는 애플리케이션들과 기호 등을 포함한다(이에 한정되는 것은 아님). 결과적으로, 특정 코어 애플리케이션은 특정 컴퓨팅 장치 상에 존재할 수 있지만 사실상 그러한 컴퓨팅 장치에 의해 실제로 실행되지 않을 수 있다. 그러한 비-사용/불-요구(non-used/non-required) 코어 애플리케이션들은 불필요하게 추가적인 리소스들을 소모함으로써 이미 심각하게 리소스가 제약된 환경을 더욱 강제함으로써 귀중한 리소스들을 낭비한다. 이러한 상황은 특히 당면한 상기 코어 애플리케이션의 크기가 큰 경우에 심각하다.
OEM/ASIC 수입(revenue) 모델
일반적으로, ASIC 생산자들이 ASIC 칩을 OEM들에게 제공할 때, 상기 ASIC 생산자들은 단지 1회의 최초 수입액(수취할 수입과 수반되는 지급액에 상당하는)만을 상기 관련된 칩들(그리고 그 안의 기능성)에 대해 상기 OEM들로부터 받는다. 이는 사전 로드된 코어 애플리케이션들을 포함하는 ASIC 칩들을 포함한다. 현재 ASIC 생산자들은 상기 최초의 1회 수입 지불 금액 이상으로 수입액을 발생시킬 능력이 없는데, 이는 상기 ASIC 칩들이 일반적으로 인도(delivery) 시에 포함하게 될 상기 활성 기능성을 모두 포함하기 때문이다. ASIC 생산자가 그 인도 전에 즉시 상기 ASIC 칩에서 이용가능한 기능성의 종류를 수정할 수 있을지라도, 이는 일반적으로 그러한 생산자들의 수입이 인도시에 이용가능한 상기 한 세트의 활성 기능성에 직접적으로 묶이게 된다는 사실을 바꾸지는 못한다. 상기 칩에서 이용가능한 상기 사전 로드된 활성 기능성은 일반적으로 일단 인도되면 정적(static)으로 남아 있기 때문에, 상기 ASIC 생산자는 현재로서 그러한 ASIC 칩에 관련된 단지 1회의 수입액만을 수취할 수 있다. 그러므로, ASIC 생산자들에 의해 제공되는 상기 기능성의 정적인 성질 때문에, 그러한 ASIC 생산자들은 각각의 배송된 ASIC 칩들에 대한 단 1회의 수입액 이후에 어떠한 추가적인 수입으로부터 배제된다.
유사하게, OEM들이 소비자에게 컴퓨팅 장치들을 제공할 때, OEM들은 일반적으로 상기 관련된 컴퓨팅 장치들(그리고 그 내부의 기능성)에 대한 1회의 초기 수입액(수취할 수입과 수반되는 지급액에 관련된) 만을 받게 된다. 이는 사전 로드(preload)된 코어 애플리케이션들을 포함하는 컴퓨팅 장치들을 포함한다. 현재로서 OEM들은 최초의 1회 수입 지불 금액 이상으로 수입액을 발생시킬 능력이 없는데, 이는 상기 컴퓨팅 장치들이 일반적으로 인도(delivery) 시에 포함하게 될 상기 활성 기능성을 모두 포함하기 때문이다. OEM이 그 인도 전에 즉시 상기 장치에 추가적인 애플리케이션들을 로드할 수 있을지라도, 이는 그러한 생산자들의 수입이 인도시에 이용가능한 상기 한 세트의 활성 기능성에 직접적으로 묶이게 된다는 사실을 바꾸지는 못한다. 상기 컴퓨팅 장치에서 이용가능한 상기 사전 로드된 활성 기능성은 일반적으로 일단 인도되면 정적(static)으로 남아 있기 때문에, 상기 OEM은 현재로서 상기 컴퓨팅 장치에 관련된 단지 1회의 수입액만을 수취할 수 있다. 그러므로, 상기 OEM들에 의해 제공되는 상기 기능성의 정적인 성질 때문에, 그러한 OEM들은 각각의 배송된 컴퓨팅 장치들에 대한 단 1회의 수입액 이후에 어떠한 추가적인 수입으로부터 배제된다.
그러므로 코어 애플리케이션들을 불활성 모드(inactive mode)로 사전 로드(preload)하는 수완에 대한 당해 기술분야에서의 필요성이 존재한다. 상기 불활성화된 코어 애플리케이션을 사전 로드(preload)하는 수완의 도입과 더불어 그러한 사전 로드(preload)된 불활성 코어 애플리케이션들을 활성화하는 수완에 대한 당해 기술분야에서의 필요성도 제기된다. 또한, 불활성화된 코어 애플리케이션을 사전 로드(preload)하는 수완의 도입과 더불어 그러한 사전 로드(preload)된 불활성 코어 애플리케이션들을 원격으로 활성화하는 수완에 대한 필요성도 제기된다. 또한, 불활성화된 코어 애플리케이션을 사전 로드(preload)하는 수완의 도입과 더불어 그러한 애플리케이션들의 존재를 그들의 활성화 전에 감출 필요성도 제기된다. 그러므로 그러한 제품들의 인도 후에 그러한 제품들 내의 잠재적인 기능성을 활성화하는 수완을 제공함으로써 OEM들 및 ASIC 생산자들이 최초의 제품 판매 이후의 수취가능한 수입액을 실현할 수 있는 방안에 대해 당해 기술분야에서의 필요성이 존재한다. 또한 OEM들 및 ASIC 생산자들과 같은, 서드 파티(3rd party)들이 최종 사용자에게 컴퓨팅 장치들이 인도된 후 코어 애플리케이션들의 사용을 추적하는 수완에 대한 당해 기술 분야에서의 필요성이 존재한다. 그러므로 서로 다른 사용자들에게 다른 세트(set)의 코어 애플리케이션들을 사전 로드(preload)해야할 필요없이 선택적으로 코어 애플리케이션들을 제공할 필요성이 당해 기술분야에 존재한다. 또한 서버 장치들보다 오히려, 컴퓨팅 장치들에게 그러한 컴퓨팅 장치들 상에서 추가적인 코어 애플리케이션 기능성을 활성화하기 위한 요청을 개시하게 함으로써 전체적인 시스템 활동(system activity)을 제한할 필요성이 당해 기술분야에 존재한다.
여기에 개시된 실시예들은 예를 들어 방법들, 소프트웨어들과 장치를 이용하여 원격으로 유휴 상태로 탑재된 코어 애플리케이션들을 원격으로 활성화하는 하나 이상의 실시예들을 포함하는 상기 기술한 필요성들을 제시한다. 적어도 하나의 실시예로, 방법, 소프트웨어 및 장치는 컴퓨팅 장치 상에서 사전 로드(preload)된 불활성 코어 애플리케이션을 검출하도록 동작가능하다. 대응하여, 그러한 실시예(들)는 상기 사전 로드(preload)된 불활성 코어 애플리케이션을 검출하고 상기 사전 로드(preload)된 불활성 코어 애플리케이션과 관련된 활성화 상태(activatino status)를 요청하는 활성화 질의 요청(activation inquiry request)을 전송하도록 동작할 수 있다. 상기 활성화 질의 요청은 네트워크를 통해 전달된다. 적어도 하나의 상기 실시예(들)는 상기 사전 로드(preload)된 불활성 코어 애플리케이션에 관련된 상기 활성화 상태를 추가로 수신하도록 동작할 수 있다.
적어도 하나의 실시예로, 방법, 소프트웨어 및 장치를 이용하여 네트워크를 통해, 사전 로드된 불활성 코어 애플리케이션에 관련된 활성화 상태를 요청하는 활성화 질의 요청을 수신하며, 상기 활성화 질의 요청은 원격 컴퓨팅 장치 상에서 수신된다. 적어도 하나의 실시예로 상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하도록 동작할 수 있고, 여기서 그러한 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장된다. 적어도 하나의 실시예로 네트워크를 통해, 상기 활성화 상태를 전송하도록 동작할 수 있다.
적어도 하나의 실시예로, 방법, 소프트웨어 및 장치를 이용하여 컴퓨팅 장치 상에서, 사전 로드(preload)된 불활성 코어 애플리케이션을 검출한다. 그러한 실시예(들)는, 상기 사전 로드된 불활성 코어 애플리케이션의 검출에 응답하여, 네트워크를 통해 활성화 질의 요청을 전송하여 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하도록 동작할 수 있다. 상기 실시예(들)는 상기 활성화 질의 요청을 수신하여 상기 컴퓨팅 장치상의 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하도록 동작할 수 있으며, 상기 활성화 질의 요청은 네트워크를 통해 서버에서 수신된다. 상기 실시예(들)는 또한 상기 컴퓨팅 장치와 관련된 정보에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션에 관련된 상기 활성화 상태를 결정하도록 동작할 수 있으며, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장된다. 상기 실시예(들)는 또한 상기 활성화 상태를 네트워크를 통해 상기 컴퓨팅 장치로 전송하도록 동작할 수 있다. 상기 실시예(들)는 네트워크를 통해, 상기 컴퓨팅 장치에서 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를 수신하도록 추가로 동작할 수 있다.
적어도 하나의 실시예로, 사전 로드된 불활성 코어 애플리케이션을 포함하는 방법, 소프트웨어 및 장치가 제시된다. 그러한 실시예들 중 적어도 하나는 상기 사전 로드된 불활성 코어 애플리케이션을 검출하도록 구성된 로직(logic)을 포함한다. 또한, 그러한 실시예들 중 적어도 하나는 네트워크를 통해, 활성화 질의 요청을 전송하여 상기 사전 로드된 불활성 코어 애플리케이션에 관련된 활성화 상태를 요청하도록 구성되는 로직(logic)을 더 포함한다. 그러한 실시예들 중 적어도 하나는 네트워크를 통해, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를 수신하고 처리하도록 구성되는 로직을 포함한다.
적어도 하나의 실시예로, 사전 로드된 불활성 코어 애플리케이션을 갖는 집적회로 칩(chip)을 포함하는, 방법, 소프트웨어 및 장치가 제시된다. 그러한 실시예들 중 적어도 하나는 컴퓨팅 장치에 상기 집적회로 칩이 설치된 후에 상기 사전 로드된 불활성 코어 애플리케이션의 활성화를 허용하도록 구성된 로직(logic)을 포함한다.
적어도 하나의 실시예로, 원격 컴퓨팅 장치 상의 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해 수신하도록 구성되는 로직을 포함하는 방법, 소프트웨어 및 장치가 제시된다. 그러한 실시예들 중 적어도 하나로 상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하도록 구성되는 로직을 포함하며, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장된다. 또한, 그러한 실시예들 중 적어도 하나는 네트워크를 통해, 상기 활성화 상태를 전송하도록 구성되는 로직을 포함한다.
적어도 하나의 실시예로, 사전 로드된 불활성 코어 애플리케이션을 포함하는 컴퓨팅 장치를 포함하는 방법, 소프트웨어 및 장치가 제시된다. 그러한 실시예들 중 적어도 하나로 상기 사전 로드된 불활성 코어 애플리케이션을 검출하도록 구성되는 로직을 더 포함한다. 또한, 그러한 실시예들 중 적어도 하나로 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을 발생시키고 전송하도록 구성되는 로직을 더 포함한다. 그러한 실시예들 중 적어도 하나로서 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 수신하고 처리하도록 구성되는 로직을 포함한다. 그 외에, 적어도 하나의 실시예로 상기 컴퓨팅 장치 상에 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 상기 활성화 질의 요청을 수신하도록 구성되는 로직을 포함하는 서버를 포함한다. 그러한 실시예들 중 적어도 하나로 상기 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하도록 구성되는 로직을 포함하며, 상기 정보는 상기 컴퓨팅 장치로부터 원격으로 저장된다. 또한, 그러한 실시예들 중 적어도 하나로 상기 활성화 상태를 상기 컴퓨팅 장치로 전송하도록 구성되는 로직을 포함한다.
적어도 하나의 실시예로, 컴퓨팅 장치 상에서, 사전 로드된 불활성 코어 애플리케이션을 검출하도록 동작하는 코드(code)를 포함하는 방법, 소프트웨어 및 장치가 제시된다. 그러한 실시예들 중 적어도 하나는 상기 사전 로드된 불활성 코어 애플리케이션의 검출에 응답하여, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해 전송하도록 동작하는 코드(code)를 포함한다. 또한, 그러한 실시예들 중 적어도 하나로 네트워크를 통해, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 수신하도록 동작하는 코드(code)를 포함한다.
적어도 하나의 실시예로, 원격 컴퓨팅 장치 상에서 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는, 활성화 질의 요청을 네트워크를 통해 수신하도록 동작하는 코드를 포함하는 방법, 소프트웨어 및 장치가 제시된다. 또한 그러한 실시예들 중 적어도 하나로 상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하도록 동작하는 코드(code)를 포함하며, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장된다. 또한, 그러한 실시예들 중 적어도 하나로 네트워크를 통해 상기 활성화 상태를 전송하도록 동작하는 코드를 더 포함한다.
적어도 하나의 실시예의 최소 한가지 이점으로 사용자들이 특정한 애플리케이션들을 다운로드할 필요성을 없애준다는 점을 포함한다. 다른 이점은 상기 특정 애플리케이션들의 다운로드와 관련된 긴 인도-이후(post-delivery) 다운로드 지연의 제거이다. 또 다른 이점은 복잡한 하드웨어 인터페이스들 아니면 애플리케이션들의 상기 인도-이후 다운로드와 관련된 기술적 특징들의 배제이다.
적어도 하나의 실시예의 최소 한가지 이점으로 OEM들 또는 ASIC 생산자들이 불활성 상태로 특정한 애플리케이션을 선택적으로 다운로드하는 수완을 포함한다. 또한, OEM들과 ASIC 생산자들이 불활성 애플리케이션들을 로드(load)하는 이 수완은 본 명세서를 통해 기술한 다른 이점들을 지원한다.
적어도 하나의 실시예의 최소 한가지 이점으로 본래 불활성 상태로 장치 내에 제공되었던 애플리케이션들을 원격으로 활성화하는 수완을 포함한다. 다른 이점은 사전 로드된 불활성 애플리케이션의 존재를 사용자로부터 상기 사용자에게 활성화 관련 정보를 상기시키는 것이 바람직하다고 생각될 수 있는 시점까지 선택적으로 숨길 수 있는 수완이다. 예를 들어, 최소 하나의 실시예에서 그러한 장치/애플리케이션에 대한 관련된 라이센스(license)가 그러한 애플리케이션에 대한 임의의 이용에 상기 특정 애플리케이션을 활성화하도록 지시하는 상기 사용자의 입력이 요구됨을 지시하지 않는다면 상기 사용자는 활성화 관련 정보를 상기받지 않는다.
적어도 하나의 실시예의 최소 한가지 이점으로 OEM들과 ASIC 생산자들이 한정된 기능성을 갖는 제품들(즉, 인도 시에 불활성 애플리케이션들을 가진 제품들)에 관련하여 큰 시장 점유율을 실현하기 위한 수완을 포함하며, 그와 동시에 향상된 기능성을 갖는 제품들(즉, 인도 후에 활성화될 수 있는 불활성 애플리케이션들을 갖는 제품들)과 관련된(즉, 인도 시에 불활성 애플리케이션들을 가진 제품들), 이전에는 없었던 인도-이후 수입액에 대한 가능성을 창출한다.
적어도 하나의 실시예의 최소 한가지 이점으로 다양한 장치들에 특정 코어 애플리케이션들을 인도해야할 필요성이 배제되는 점을 포함하는데, 여기서 그러한 코어 애플리케이션들이 요구되지 않는 그러한 다양한 장치들의 특정 서브셋(subset)이 존재한다. 예를 들어, 그러한 코어 애플리케이션들은 상기 다양한 장치들에 대해 불활성 상태로 인도될 수 있으며, 그러한 코어 애플리케이션들을 요구하는 그러한 장치들만 상기 장치들의 인도(delivery) 후에 그러한 애플리케이션들을 활성화시킬 필요가 있다.
적어도 하나의 실시예의 최소 한가지 이점으로 사전 로드된 특정 애플리케이션에 관한 상기 활성화의 개시를 상기 사전-인도된 컴퓨팅 장치보다는 사후-인도된 컴퓨팅 장치로 변화시키는 능력을 포함한다. 그러므로, 상기 장치들의 전체 모집단(母集團) 상에서 상기 사전 로드된 코어 애플리케이션들을 활성화하는 것과 관련한 동작의 총계는 활성화가 요구되는 장치들로만 제한되며 나머지 장치들은, 그러한 장치들에 관련하여 시도할 수 있는 임의의 원격 접촉 또는 폴링(polling)을 포함하여, 사전 로드된 코어 애플리케이션들과 관련된 임의의 활성화 프로세스에 있어서 고려할 필요가 없다.
본 발명의 다른 관점, 이점들과 특징들은 이하의 항목들을 포함하여, 전체적인 이용을 살펴보면 명확해질 것이다: 도면의 간단한 설명, 실시예, 그리고 청구의 범위.
여기 기술된 실시예들에 관한 이상의 특징들과 수반되는 이점들은 첨부된 도면들과 함께 이하의 실시예를 참조하면 더욱 명백해질 것이다:
도 1은 컴퓨팅 장치 상의 애플리케이션들을 활성화하도록 동작하는 컴퓨팅 장치의 일 실시예를 나타낸다;
도 2는 컴퓨팅 장치 상의 애플리케이션들을 활성화하도록 동작하는 서버의 일 실시예를 나타낸다;
도 3은 컴퓨팅 장치 상의 애플리케이션들을 활성화하도록 동작하는 시스템의 일 실시예를 나타낸다;
도 4는 컴퓨팅 장치 상의 애플리케이션들을 활성화하는 방법의 일 실시예를 나타낸다;
도 5는 컴퓨팅 장치 상의 애플리케이션들을 활성화하는 방법의 일 실시예를 나타낸다;
도 6은 컴퓨팅 장치 상의 애플리케이션들을 활성화하는 방법의 일 실시예를 나타낸다;
도 7은 컴퓨팅 장치 상의 애플리케이션들을 활성화하는 방법의 일 실시예를 나타낸다;
도 8은 컴퓨팅 장치의 판매와 관련된 수입을 발생시키는 방법의 일 실시예를 나타낸다;
도 9는 집적회로 칩 생산자와 관련된 수입을 발생시키는 방법의 일 실시예를 나타낸다;
도 10은 컴퓨팅 장치 주문자 상표 부착 생산자(original equipment manufacturer)와 관련된 수입을 발생시키는 방법의 일 실시예를 나타낸다; 그리고
도 11은 컴퓨팅 장치 상의 코어 애플리케이션의 사용을 추적하는 방법의 일 실시예를 나타낸다.
"예시적"이라는 표현은 여기서 "예, 실례 또는 예시로서"를 의미하는 것으로 사용된다. 여기서 "예시적"으로 기술된 어떠한 실시예도 반드시 다른 실시예들에 비하여 바람직하거나 유리한 것으로 해석하지 않는다. 또한, 많은 실시예들이 예컨대 컴퓨팅 장치의 구성요소들에 의해 수행되는 동작의 시퀀스(sequence)의 관점에서 기술된다. 여기 기술된 다양한 동작들은 특정한 회로들(예컨대, 주문형 반도 체(application specific integrated circuit(ASIC)), 하나 이상의 처리기(processor)들에 의해 실행되는 프로그램 명령(instruction)들, 또는 양자의 조합에 의해 수행될 수 있다는 점을 알 수 있을 것이다. 게다가, 여기 기술된 실시예들은 실행시 관련된 처리기로 하여금 여기 기술된 기능성을 수행하게 하는 컴퓨터 명령들의 상응하는 세트(set)가 저장되는 임의의 형태의 컴퓨터로 읽을 수 있는 저장 매체 내부에서 완전히 실시된다고 추가적으로 생각할 수 있다. 따라서, 본 발명의 다양한 특징들은 다수의 다른 형태로 구체화될 수 있으며, 이들 모두는 청구의 범위 내에 포함되는 것으로 고려되는 것이다. 또한, 여기 기술된 각각의 상기 실시예들에 관하여, 상응하는 형태의 임의의 그러한 실시예들은 여기서, 예를 들어 특정한 동작을 수행하도록 "구성되는 로직" 또는 상기 기술된 동작을 수행하도록 "동작가능한 코드"로서 기술될 수 있다.
본 실시예는 컴퓨팅 장치에서 사전 로드된 불활성 코어 애플리케이션들을 활성화하는 프로세스에서 이용되는 방법, 소프트웨어 및 장치를 기술하며, 컴퓨팅 장치에 사전 로드된 불활성 코어 애플리케이션을 검출하고, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을 전송하고, 그리고 상기 활성화 상태를 수신하기 위한 방법, 소프트웨어 및 장치를 포함한다. 최소 하나의 실시예에서, 상기 컴퓨팅 장치는 내장형 제어기(embedded controller) 및 한정된 리소스(resource)(즉, 제한된 디스플레이 면적, 메모리 용량, 파일 시스템 공간, 입력 및 출력 용량과 처리 용량)를 갖는다. 또한, 하나 이상의 실시예들은 관련하는 컴퓨팅 장치로서 다음의 컴퓨팅 장치들을 포함한다: 각 각 상대적으로 작고 가벼워서 사용자가 쉽게 운반할 수 있는 컴퓨팅 장치로서 휴대용 무선 전화, 개인 휴대 정보 단말(personal digital assistant, PDA), 그리고 무선 호출 장치들이다.
하나 이상의 실시예들에서, 컴퓨팅 장치 상에서 애플리케이션들을 활성화하는데 이용되는 시스템은 런타임 환경을 이용하여, 장치에 특정한 리소스들을 위해 일반화된 호출(call)을 제공하는 것과 같이, 상기 장치의 동작을 단순화하는 상기 컴퓨팅 장치에서 실행하는 런타임 환경(runtime environment)과 상호작용을 하며, 여기 기술된 바와 같이 상기 장치 상의 활성화 기능성을 제공한다. 그러한 런타임 환경의 일례는 캘리포니아 샌 디에고의 콸콤, 인크(QUALCOMM, Inc.)에 의해 개발된 Runtime Environment for Wireless® (BREW®) 소프트웨어 플랫폼이다. 본 실시예에서, 상기 컴퓨팅 장치 상에서 애플리케이션들을 실행하고 활성화하는데 이용되는 시스템은 상기 BREW® 소프트웨어 플랫폼과 같이, 런타임 환경을 실행하는 휴대용 장치에서 구현된다고 가정한다. 그러나, 상기 컴퓨팅 장치에서 애플리케이션들을 실행하고 활성화하는데 이용되는 상기 시스템의 한 이상의 실시예들은 그러한 컴퓨팅 장치들에서 애플리케이션들의 실행을 제어하는 다른 종류의 런타임 환경들과의 이용에도 적합하다. 더 상세하게는, 여기 기술된 상기 특징들을 구현하는데 이용될 수 있는 다른 런타임 환경들의 일례는 관련된 엔진들이 필요에 따라 수정되어 여기 기술된 상기 동작들을 모방할 수 있는 공통 개인용 컴퓨터 설계로서, 예컨대 그러한 엔진들이 수정되어 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 라이센스-타입 정보에 대해 그러한 애플리케이션을 실행하기 전에 항상 조사할 수 있다.
도 1은 컴퓨팅 장치(100)에서 애플리케이션들을 활성화하도록 동작가능한 컴퓨팅 장치의 예시적인 실시예를 나타낸다. 여기서 사용된 "컴퓨팅 장치"는 예컨대, 상주하도록 설정된 로직(lobic)을 실행하는 하나 이상의 회로들을 포함하며, 그러한 컴퓨팅 장치들은 예를 들어, 마이크로프로세서, 디지털 신호 처리기(DSP), 마이크로컨트롤러(microcontroller), 휴대용 무선 전화, 개인 휴대 정보 단말(PDA), 무선 호출 장치들, 또는 사전 로드된 불활성 코어 애플리케이션들의 활성화를 하도록 적어도 여기서 기술된 상기 동작들을 수행하도록 구성된 처리기(processor)들과 로직(lobic)을 포함하는 임의의 적절한 하드웨어, 소프트웨어 및/또는 펌웨어(firmware)의 조합을 포함한다.
상기 예시적인 실시예에서 도시한 바와 같이, 상기 컴퓨팅 장치(100)는 펌웨어(102), 메모리(104), 네트워크 I/O 인터페이스(106), 처리기(108) 및 버스(bus)(110)를 포함한다. 특정한 애플리케이션들이 펌웨어(102)로써 나타낸 것 내부에 포함되는 것으로 도시되었을지라도, (반영구(semi-permanent) 메모리 (예컨대, 프로그램 가능 읽기 전용 메모리들(programmable read only memories, PROMS), 전기적 PROMS(EPROMS), 등), 다른 실시예들에는 랜덤 액세스 메모리(RAM)과 설정된 로직을 저장하기 위한 다른 메모리 종류와 같은 다른 종류의 메모리 내부의 그러한 애플리케이션들을 포함된다. 유사하게, 상기 메모리(104)가 RAM 메모리로서 도시되었을지라도, 다른 실시예들은 설정된 로직을 저장하기 위한 모든 종류의 메모리인 그러한 메모리(104)를 포함한다. 게다가, 메모리(104)가 한 종류의 메모리의 하나의 인접한 유니트(unit)로 도시되었지만, 다른 실시예들은 복수의 위치와 복수의 종류의 메모리를 메모리(104)로서 이용할 수 있다.
상기 네트워크 I/O 인터페이스(106)는 상기 버스(110)를 통해 네트워크로 연결되는 입력과 출력을 장치들에 제공한다. 상기 처리기(108)는 상기 버스(110)를 통해 제공되는 명령(instruction)들과 데이터에 따라 동작한다. 펌웨어(102) 내부에 위치한 것이 사전 로드(preload)된 불활성 코어 애플리케이션(112)이다. 상기 상기 사전 로드된 불활성 코어 애플리케이션(112)의 "사전 로드" 특징은 그러한 애플리케이션이 상기 컴퓨팅 장치에 로드되는 것이 상기 장치가 구매가능하게 되기 전에 또는 그러한 장치가 최종 사용자에게 도달하기 전임을 의미한다. 상기 "사전 로드" 특징은 간접적으로, 상기 컴퓨팅 장치에 설치되는 ASIC 상에서 그 이전의 설치를 통해, 또는 직접적으로, 상기 컴퓨팅 장치 자체 상에 직접적인 설치로써 이뤄질 수 있다. 그러므로, ASIC 생산자들과 컴퓨팅 장치 주문자 상표 부착 생산자들이 일반적으로 별개의 존재라는 점에서, 상기 사전 로드된 불활성 코어 애플리케이션(112)을 상기 컴퓨팅 장치(100)로의 사전 로드를 수행하는 것은 ASIC 생산자들 또는 컴퓨팅 장치 OEM들이 될 수 있다.
상기 사전 로드된 불활성 코어 애플리케이션(112)의 "불활성" 특징은 그러한 애플리케이션이 상기 컴퓨팅 장치(100) 상에서 상기 컴퓨팅 장치(100)의 사용자에게 상기 사전 로드된 불활성 코어 애플리케이션(112)의 실행을 개시하도록 허용하는 어떠한 추가적인 설정 또는 일부 추가적인 셋-업(set-up) 없이는 상기 장치 상에서 그러한 애플리케이션의 실행을 허용하도록 설정되지 않은 형태로 존재한다는 점을 뜻한다. 게다가, 일 실시예로, 상기 컴퓨팅 장치(100)는 상기 컴퓨팅 장치(100) 상의 상주 애플리케이션의 존재를 가리키는, 지시(즉 사용자 프롬프트(prompt))를 제공하지 않는다. 다른 실시예로 상기 사전 로드된 불활성 코어 애플리케이션(112)의 존재는 상기 컴퓨팅 장치(100)에 의해, 디스플레이 또는 다른 사용자/인터페이스(user/interface, U/I) 관련 구성요소를 통해 선택적으로 지시될 수 있으며, 예를 들어 부트-업 시퀀스(boot-up sequence) 동안에 상기 컴퓨팅 장치(100)가 프롬프트(prompt)를 사용자에게 현재 불활성화된 애플리케이션을 활성화하기 위한 요청으로써 표시하는 로직을 실행한다.
상기 사전 로드된 코어 애플리케이션(112)의 상기 "코어" 특징은 다른 애플리케이션들에 의해 빈번하게 호출되는 것으로 알려지고/알려지거나 중요한 기능성을 수행하는 것과 같은 특성을 갖는 종류의 애플리케이션임을 의미한다. 그러한 애플리케이션들이 인도(delivery)에 앞서 상기 컴퓨팅 장치에 사전 로드되지 않는다면, 상기 애플리케이션의 자주 사용되는 특징은 거의 틀림없이 네트워크를 통해 그러한 애플리케이션의 양방향 다운로드를 요구할 것이다. 상기 기술한 바와 같이, 또한 코어 애플리케이션들은, 빈번하게 호출되고/되거나 중요한 기능성을 제공하는 것 외에, 다른 공통의 특징들을 가지며, 여기에는 큰 메모리 요구 및/또는 복잡한 하드웨어 인터페이스 모두를 가질 것을 포함한다. 그러므로, 사용자들에 의해 그렇지 않을 경우 요구되는 애플리케이션들에 대한 부하를 줄이기 위해 요구되는 작업을 감소시키는 것 외에, 큰 애플리케이션들과 관련된 긴 인도-이후(post-delivery) 다운로드 횟수를 방지하기 위한 이유 및 복잡한 하드웨어 인터페이스를 갖는 애플리케이션들의 양방향 사후-인도(post-delivery)와 관련된 기술적인 문제들을 방지하기 위한 이유와 같이 양방향 다운로드를 피하기 위한 다른 이유들 또한 존재한다.
메모리(104) 내부에 위치한 것은 상기 사전 로드된 불활성 코어 애플리케이션(114)을 검출하도록 구성되는 로직, 활성화 질의(activation inquiry)를 발생시키고 전송하도록 구성되는 로직, 상기 활성화 상태를 수신하도록 구성되는 로직(118), 상기 사전 로드된 불활성 애플리케이션을 활성화할 것인지 여부를 결정하도록 구성되는 선택적 로직(120)과 상기 사전 로드된 불활성 코어 애플리케이션을 활성화하도록 구성되는 로직(122)이다. 일 실시예로, 메모리(104)에 위치하는 상기 로직은 RAM 메모리에 로딩(load)된 소프트웨어 프로그램 형태의 로직이다. 대조적으로, 다른 실시예들은 하드웨어 및/또는 펌웨어 또는 하드웨어, 펌웨어 및/또는 소프트웨어의 어떠한 조합 형태의 로직을 포함한다.
일 실시예로, 상기 사전 로드된 불활성 코어 애플리케이션(114)을 검출하도록 구성된 로직은 상기 컴퓨팅 장치(100) 상에서 상기 사전 로드된 불활성 코어 애플리케이션의 존재를 검출(114)하도록 동작한다. 일 실시예로 전원이 켜지는 것을 검출하는 것에 응답하여 선택적으로 실행하는 상기 선택적 로직(124)에 나타난 바와 같이, 그러한 로직은 상기 컴퓨팅 장치의 전원을 켜거나 부트 업(boot up)될 때마다 매번 수행된다. 예를 들어, 상기 컴퓨팅 장치(100)는 그러한 장치들이 활성화되었는지를 결정하기 위해 분석하는 불활성 애플리케이션들의 목록을 가질 수 있다. 일 실시예로, 그러한 컴퓨팅 장치(100)가 활성화되었는지 여부는 그러한 사전 로드된 불활성 코어 애플리케이션(112)에 대한 현재의 라이센스(license) 상태에 기초한다. 여기서, 그러한 라이센스 상태가 활성화 상태를 지시하면, 더 이상의 사용자 대화(interaction)나 활성화 단계들 어느 것도 요구되지 않는다. 그러한 라이센스 상태 정보는 상기 장치 자체에 위치할 수 있고, 또는 그로부터 원격으로 저장될 수 있다. 그러나, 그러한 라이센스 상태가 불활성 상태를 나타내면, 상기 프로세스가 계속되어 그러한 사전 로드된 불활성 코어 애플리케이션(114)이 활성화되어야 하는지 여부가 결정될 수 있다.
일 실시예로, 예를 들어, 그러한 애플리케이션이 활성화되어야 할 것인지에 관한 상기 프로세스는 상기 컴퓨팅 장치가 상기 사용자에게 상기 사전 로드된 불활성 코어 애플리케이션(112)을 활성화할 것인지의 지시를 요청하도록 촉구하는 프로세스이다. 예를 들어, 상기 컴퓨팅 장치(100)가 상기 사용자에게 서로 다른 기간의 활성화와 관련된 3개의 다른 가격 구조 중에서 선택하도록 요청하는 프롬프트(prompt)를 표시할 수 있다: "1개월 활성화에 $1, 1개월 활성화에 $1.75 또는 월별 $10.50의 가입비" 및 상기 수신된 응답에 따라서, 상기 컴퓨팅 장치(100)는 프로세스를 개시하여 그러한 사전 로드된 불활성 코어 애플리케이션(114)을 상기 희망하는 기간 동안 활성화하게 된다. 다른 실시예들은 다른 정보로써 상기 사용자에게 상기시키는 반면, 다른 실시예들은 상기 컴퓨팅 장치(100)의 사용자와의 어떠한 상호작용도 배제한다.
일 실시예로, 활성화 질의 요청(130)을 발생시키고 전송하도록 구성되는 로직(116)은 원격지로부터 상기 라이센스 상태를 요청하도록 동작한다. 일 실시예 로, 상기 컴퓨팅 장치(100)는 원격 서버와 같은 원격지로부터 희망하는 정보에 액세스하는데 이용되는, 저장된 라이센스 키(license key)를 포함한다. 일 실시예로 상기 활성화 질의 요청(activation inquiry request)(130) 안에 식별 정보를 포함하는 선택적 로직(126)을 포함한다. 또한, 일 실시예로, 상기 컴퓨팅 장치의 특정한 식별자는 현재의 라이센싱 상태(licensing status)에 관한 오프-디바이스(off-device) 정보를 검색하는데 이용되는 식별 정보로서 애플리케이션 식별자(application identifier)와 함께 이용된다. 일 실시예로 상기 컴퓨팅 장치의 상기 특정 식별자(identifier)는 상기 장치 모델(model)과 상기 장치 일련 번호(serial number)의 조합이다. 예를 들어, 셀룰러 무선 장치의 전자 일련 번호(electronic serial number, ESN)가 상기 특정 식별자의 일부로서 이용될 수 있다. 다른 실시예로 상기 특정 식별자는 인터넷 프로토콜(IP) 주소를 포함한다. 다른 실시예로 상기 특정 식별자는 상기 컴퓨팅 장치(예컨대, 무선 전화 장치)와 관련된 전화 번호를 포함한다. 다른 실시예로 상기 특정 식별자의 일부분이, 가입자-관련 정보를 보관하는 가입자 식별 모듈(subscriber identify module, SIM) 카드, 또는 다른 유사한 구성요소로부터 검색된다. 또한, 일 실시예로, 상기 애플리케이션 식별자는 버전(version) 번호를 포함하여 특정한 애플리케이션을 식별하기 위해 미리 할당된 식별 번호이다.
일 실시예로, 특정한 컴퓨팅 장치/과금(billing) 엔티티(entity)에 관하여 상기 사전 로드된 불활성 코어 애플리케이과 관련된 활성화 상태가 결정되는, 오프-디바이스(off-device) 또는 원격지(remote location)에서의 프로세싱(processing) 후에, 상기 활성화 상태(132)를 수신하도록 구성된 상기 로직(118)은 그러한 활성화 상태(132)를 수신하도록 동작한다. 일 실시예로, 그러한 활성화 상태(132)는 그러한 사전 로드된 불활성 코어 애플리케이션-장치(112-100) 조합이 활성 또는 불활성 중 어느 하나의 상응하는 현재 상태를 식별하는 라이센스 정보를 포함한다. 일 실시예로, 활성화된 상태를 지시하는 라이센스 정보는 특별히 활성화된 기능들, 동작들 또는 특징들의 서브셋(subset)을 나타내는 특정한 파라미터들을 더 포함한다. 그러한 실시예에서 그러한 파라미터들은 예를 들어, 그러한 애플리케이션이 언제 실행될 수 있는지 여부, 상기 애플리케이션이 얼마나 여러번 수행될 수 있는지 여부, 일반적으로 디지털 저작권 관리(digital rights management)와 관련된 제한사항들과 일반적으로 애플리케이션들과 관련된 것으로 알려진 다른 유사한 제한사항들 및 기능들을 포함한다.
일 실시예로 상기 활성화 상태(132)는 원격지로부터 수신된다. 일 실시예로 이러한 원격지는 상기 컴퓨팅 장치(100)에 연결된 네트워크 상에 위치한다. 일 실시예로 상기 네트워크는 무선망이며 상기 컴퓨팅 장치(100)는 무선 장치이다. 일 실시예로 상기 무선 장치는 음성 및 데이터 동작들을 지원하는 무선 셀룰러 장치이다. 게다가, 다른 실시예들에서는 상기 컴퓨팅 장치(100)로서, 예컨대 작고, 가벼우며, 사용자가 쉽게 운반할 수 있는 컴퓨팅 장치(100)로서 다음을 포함한다: 무선 전화들, 개인 휴대 정보 단말들(PDA), 및 무선 호출 장치들.
일 실시예로, 상기 활성화 상태(132)를 수신하도록 구성되는 상기 로직(118)을 수행한 후, 상기 사전 로드된 불활성 코어 애플리케이션(112)을 활성화할 것인 지 여부를 결정하는 로직(120)이 실행된다. 일 실시예로, 상기 활성화 상태(132)의 내용들을 조사하여 상기 사전 로드된 불활성 코어 애플리케이션-장치(112-100) 조합이 현재 활성화가 허용되는지 또는 인가되었는지를 결정한다. 일례로 상기 활성화 상태(132)를 수신하도록 구성되는 상기 로직(118)은 상기 사전 로드된 불활성 코어 애플리케이션-장치(112-100) 조합이 활성화되어야 한다고 결정하기 전에 상기 활성화 상태 내부에 포함된 라이센스 정보와 관련된 디지털 서명이 유효한지를 확인하는 로직을 더 포함한다.
일 실시예로, 상기 사전 로드된 불활성 코어 애플리케이션을 활성화 시킬 것인지를 결정하는 상기 로직(120)을 수행한 후, 그리고 상기 사전 로드된 불활성 코어 애플리케이션(112)이 신호(128)를 통해 활성화되어야 한다고 결정한 것에 응답하여, 상기 사전 로드된 불활성 코어 애플리케이션을 활성화하는 로직(122)이 실행된다.
일 실시예로, 상기 컴퓨팅 장치(100)로부터 발생된 사전 로드된 불활성 코어 애플리케이션들(112)의 임의의 활성화, 또는 활성화 요청이 모니터링(monitor)되고 기록되어 그러한 사전 로드된 불활성 코어 애플리케이션들(112)의 사용 추적이 이어서 또는 동시에 모니터링될 수 있다. 이 기능성은 지금까지 그러한 코어 애플리케이션들의 사용을 추적하기 위한 수단을 가지지 못했던, ASIC 생산자들 및 OEM들과 같은, 제 3 자들에 의한 상기 코어 애플리케이션들의 이용 모니터링을 허용한다.
일 실시예로, 그러한 사전 로드된 불활성 코어 애플리케이션들(112)의 활성 화는 수입(revenue) 발생 및 관련 지불에 관련된다. 일 실시예로, 상기 수입 중 적어도 일부는 그러한 애플리케이션에 관련된 적어도 하나의 엔티티(entity)에게 궁극적으로 제공된다. 예를 들어, 상기 사전 로드된 불활성 코어 애플리케이션(112)이 OEM에 의해 상기 장치에 로드(load)된다면, 상기 OEM은 상기 수입의 일부를 받는다. 상기 사전 로드된 불활성 코어 애플리케이션(112)이 상기 ASIC 생산자에 의해 ASIC에 로드된다면, 그러한 생산자는 상기 수입의 일부를 받게 된다. 나아가, 일부 실시예들에서 채택한 바와 같이, 그러한 수입의 전부 또는 일부는 셀룰러 망 운용자들, 네트워크 서비스 제공자들, 그리고 원격 컴퓨팅 장치(100)로의 상기 애플리케이션의 인도 또는 이용을 지원하는 과정에서 일정한 종류의 역할을 하는 다른 당사자들과 같은, 다른 제 3자들에게 제공된다. 다른 특징들 중에서, 상기 기술한 기능성은 이미 판매되고 운송된 제품에 관련된 수입을 이제까지 얻지 못하거나 얻을 수단이 없었던, ASIC 생산자들 및 OEM들과 같은, 제 3자들에 의한 수입 발생을 가능하게 한다.
또한, 그러한 사전 로드된 불활성 코어 애플리케이션들(112)을 포함하는 실시예들 중 일부는 그러한 애플리케이션들의 제거 및/또는 교체를 허용하는 기능성을 제공할 수 있다. 예를 들어, 그러한 사전 로드된 불활성 코어 애플리케이션(112)이, 새로운 버전(version)으로 업그레이드 될 필요가 있다고 결정되면, 원격 네트워크 장치와 상기 컴퓨팅 장치(100)의 결합이 협력하여 상기 현재의 사전 로드된 불활성 코어 애플리케이션(112)을 새로운 사전 로드된 불활성 코어 애플리케이션(112)으로 교체할 수 있다. 즉, 파일 크기 및/또는 입력/출력 복합 기능성과 같 은, 코어 애플리케이션들의 어떠한 공통 특징들 때문에, 네트워크를 통해 원격 네트워크 장치와 그러한 업그레이드를 수행하는데 요구되는 시간은, 비-코어(non-core) 애플리케이션들의 로드(load) 또는 업그레이드에 비하여 상당할 수 있다. 그러나, 그러한 코어 애플리케이션들의 상기 로딩(loading), 예컨대 그 업그레이드,에 의해 야기되는 상기 복잡함은 상기 장치가 현장에서 서비스받을 수 있기 위해서 그러한 장치들을 물리적으로 판매업자 또는 생산자에게 반환해야만 하는 것과 같은 대안들에 비교할 때 매우 바람직할 수 있다.
게다가, 일부 실시예들에서, 상기 사전 로드된 불활성 코어 애플리케이션(112)의 신규 버전 업그레이드 또는 로딩 동작은 여기 기술된 상기 동작과 대부분 유사하게 수행될 수 있다. 특히, 그러한 동작은 상기 컴퓨팅 장치(100)에서 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화에 대한 요청 생성을 포함하는데, 그러한 요청을 발생시키는 것은 상기 컴퓨팅 장치(100)이다. 대조적으로, 일부 실시예들은 원격지로부터 코어 애플리케이션들의 업그레이드(또는 그 활성화)의 구동을 포함한다. 예를 들어, 상기 네트워크 상의 컴퓨팅 장치(100)들의 목록을 가진 원격 서버(200)는 그러한 컴퓨팅 장치들(100)이 처음에 상기 원격 서버(200)와 초기 접속을 발생시키는 엔티티(entity)가 되지 않고도 그러한 컴퓨팅 장치들(100) 전부 또는 일부가 상기 사전 로드된 불활성 코어 애플리케이션(112)의 새로운 버전 인도를 수신할 수 있도록 동작할 수 있다. 일부 실시예들에서, 승인 메시지(approval message)는 그러한 업그레이드된 애플리케이션의 임의의 다운로드 및/또는 활성화가 일어나기 전에 상기 컴퓨팅 장치(100)에 의해 먼저 수신되어야만 한다.
도 2는 컴퓨팅 장치(100) 상의 애플리케이션들을 활성화하도록 동작가능한 서버의 예시적인 일 실시예를 나타낸다. 여기 사용된 "서버"는 예를 들어, 동일한 또는 별개의 컴퓨팅 장치(100)에서 실행되는 다른 로직(logic)에 서비스를 제공하는, 컴퓨팅 장치 상에서 실행되는 로직(logic)을 포함한다. 일 실시예로, 상기 서버(200)는 클라이언트(client) 컴퓨팅 장치(100)의 별도의 컴퓨팅 장치 상에서 동작하고 네트워크를 통해 상기 클라이언트 컴퓨팅 장치(100)에 연결되는 로직을 포함한다. 일 실시예로, 그러한 네트워크는, 적어도 일부분, 무선망이다. 그러한 실시예에서, 상기 서버(200)는 상기 컴퓨팅 장치(100)로부터 활성화 질의 요청(activation inquiry request)(130)을 수신한 것에 응답하여 상기 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 상기 활성화 상태(132)를 제공하는 서비스를 제공한다.
상기 예시적인 실시예에 제시한 바와 같이, 상기 서버(200)는 메모리(202), 네트워크 I/O 인터페이스(204), 처리기(206) 및 버스(208)를 포함한다. 상기 메모리(202)가 RAM에 인접한 하나의 유닛으로 도시되었을지만, 다른 실시예들은 여러 위치들과 여러 종류의 메모리를 메모리(202)로서 이용할 수 있다. 상기 네트워크 I/O 인터페이스(204)는 상기 버스(208)를 통해 상기 네트워크에 연결되는 장치들에 입력 및 출력을 제공한다. 상기 처리기(206)는 상기 버스(208)를 통해 제공되는 명령(instruction)들과 데이터를 처리한다. 메모리(204) 내부에 위치한 것은 상기 원격 컴퓨팅 장치와 관련된 상기 활성화 상태(132)를 수신하는 로직(210), 상기 원 격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태(132)를 결정하도록 구성된 로직(212), 그리고 상기 활성화 상태(132)를 전송하도록 구성된 로직(214), 등이다.
일 실시예로, 상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태(132)를 결정하도록 구성된 상기 로직(212)은 상기 원격 컴퓨팅 장치와 관련된 상기 정보를 이용하여, 데이터베이스(database), 테이블(table) 또는 다른 데이터 구조 안에서, 상기 사전 로드된 불활성 코어 애플리케이션(112)이 그러한 애플리케이션이 상기 원격 컴퓨팅 장치 상에서 활성화되어야 할 것인지를 나타내는 활성화 상태(132) 또는 라이센스(license)를 가지는 것으로 표시되는지 여부를 룩-업(look-up) 함으로써 동작한다. 일 실시예로, 사전 로드된 코어 애플리케이션 식별자(identifier)와 관련된 고유 장치 식별자(unique device identifier)가 이러한 애플리케이션이 이러한 원격 컴퓨팅 장치에 대해 활성화되어야 함을 지시하는 상응하는 활성화 상태(132)를 발생시킬 것인지를 고유하게 식별하는데 이용된다.
일 실시예로 그러한 데이터베이스는 상기 서버(200)에 국부적으로 위치한다. 다른 실시예들에서 상기 데이터베이스는 상기 서버(200)로부터 원격으로 위치한다. 일 실시예로 상기 원격 컴퓨팅 장치(212)와 관련된 정보에 기초하여 상기 활성화 상태(132)를 결정하도록 구성된 상기 로직은, 상기 식별 정보(identification information)를 포함하는 활성화 질의 요청(130)을 처리하는 선택적인 로직(216)을 더 포함한다. 그러한 실시예에서, 상기 원격 컴퓨팅 장치(210)와 관련된 상기 정보는 원격 컴퓨팅 장치가 전송하는 상기 활성화 질의 요청(130) 내부에 포함된다.
일 실시예로, 상기 활성화 상태(132)를 전송하도록 구성된 상기 로직(214)은 상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태(132)를 결정하도록 구성된 상기 로직(212)으로부터 그러한 활성화 상태를 수신한 것에 응답하여 상기 활성화 상태(132)를 상기 원격 컴퓨팅 장치로 전송하도록 동작한다. 일 실시예로 상기 활성화 상태(132)는 상기 수신하는 원격 컴퓨팅 장치가 상기 컴텐츠가 상기 전송자(sender)로부터의 것임과 상기 컨텐츠가 본래의 것에서 수정되지 않았음을 확인하는데 이용하기 위한 디지털 서명을 포함한다. 일 실시예로 상기 활성화 상태(132)는 무선망을 통해 상기 원격 컴퓨팅 장치로 전송된다.
도 3은 컴퓨팅 장치(100) 상에서 애플리케이션들을 활성화하도록 동작가능한 시스템(300)의 예시적인 일 실시예를 나타낸다. 여기서, 예시된 상기 실시예는 상기 컴퓨팅 장치(100)와 서버(200)가 동작가능하게 연결된 네트워크(302)를 포함한다. 일 실시예로 상기 네트워크(302)는 무선망이다. 일 실시예로 상기 네트워크(302)는 셀룰러 무선망이다. 다른 실시예로 상기 네트워크(302)는 음성 및 데이터 전송 모두를 처리하는 무선 셀룰러 망이다. 일 실시예로 상기 네트워크(302)는 상기 컴퓨팅 장치(100)와 상기 서버(200) 간에, 예를 들어 상기 활성화 질의 요청(130)과 상기 활성화 상태(132)를 포함하는 데이터의 전송을 위한 관로를 제공한다.
도시한 바처럼, 상기 컴퓨팅 장치(100)는 도 1의 상기 컴퓨팅 장치와 실질적으로 유사하며, 상기 사전 로드된 불활성 코어 애프리케이션(112)을 활성화하도록 구성된 상기 특정한 선택적 로직(122)과 상기 컴퓨팅 장치(100)의 파워 업(power up)을 검출하는 것에 응답하여 선택적으로 실행하는 상기 특정한 선택적 로직(124)이 제외되어 있다. 상기 현재 도면의 상기 시스템(300)의 실시예에서 그러한 로직이 제외되었을지라도, 다른 실시예들은 그러한 로직을 포함하며 또 다른 실시예들은 도 1에 있거나 또는 없는 다른 로직을 포함하거나 제외한다. 또한, 도시한 바와 같이, 상기 서버(200)는 도 2에 도시한 상기 서버와 실질적으로 유사하나, 서버(200)의 다른 실시예들은 그러한 도면에 도시하지 않은 변화를 포함한다.
도 4는 컴퓨팅 장치(100) 상에서 애플리케이션들을 활성화하는 방법(400)의 예시적인 일 실시예이다. 방법(400)은 시작 단계(402)에서 시작한다. 일 실시예로 상기 프로세스는 단계(404)로 계속되어 컴퓨팅 장치(100)가 그러한 장치의 파워 업(power up)을 검출하기 위해 그러한 장치를 모니터링(monitor) 한다. 단계(404)에서 그러한 파워 업의 검출에 응답하여, 사전 로드된 불활성 코어 애플리케이션(112)의 존재를 검출하려고 시도하는 단계(406)가 실행된다. 대조적으로, 다른 실시예들은 ,예를 들어 일 실시예로 그러한 시도를 하는 검출들이 특정한 시간 간격들에서 수행되는, 다른 시기에 그리고 다른 동작에 응답하여 상기 사전 로드된 불활성 코어 애플리케이션(112)의 존재를 검출한다.
단계(406)에서, 만일 상기 사전 로드된 불활성 코어 애플리케이션(112)의 검출이 일어나지 않으면, 상기 프로세스는 다음의 상기 컴퓨팅 장치(100) 파워 업 검출을 위해 다시 초기화(reinitialize)된다. 그러나 단계(406)에서 상기 사전 로드된 불활성 코어 애플리케이션(112)의 존재를 검출하게 되면, 상기 프로세스는 계속하여 단계(408)에서 상기 상응하는 컴퓨팅 장치-애플리케이션(100-112) 조합에 대 해 최신의 그리고 유효한 라이센스의 존재 검출이 수행된다. 일 실시예로 계속하여 원격지로부터 특정한 최신 조건(term)들을 찾아보기에 앞서 유효한 라이센스 정보가 상기 컴퓨팅 장치(100)로부터 먼저 탐색된다. 다른 실시예들은 다른 방법들을 이용하여 애플리케이션의 이용에 대한 특정한 요청을 고유하게 식별(특정 식별자(specific identifier))하여, 상기 사전 로드된 불활성 코어 애플리케이션(112)에 대한 상기 요청된 특정한 사용에 대하여 유효한 라이센스가 존재하는지 여부가 원격으로 결정(즉, 서버에서)될 수 있도록 한다. 그러한 것으로서, 그러한 식별자의 적어도 일부는 IP 주소, 전화번호, SIM 카드, 또는 유사한 것일 수 있다.
단계(408) 다음은 상기 현재 검색된 라이센스 조건들이 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화를 허용하는지 여부에 대한 검출을 포함하는 단계(412)이다. 상기 현재 라이센스 조건들이 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화를 허용하지 않는다면, 하위-프로세스(단계(414, 416 및 418) 참조)가 수행되어 상기 사용자의 응답에 따라서 잠재적으로 현재의 라이센스 조건들을 확장한다.
단계(414, 416 및 418)에 구체화된 상기 하위-프로세스는 상기 컴퓨팅 장치(100)가 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화를 허용하도록 라이센스가 요구되는지에 대한 응답을 요청하는 프롬프트(prompt)를 디스플레이(display)하는 초기 단계(414)를 포함한다. 일 실시예로, 복수의 선택들이 제공되어 응답들 중 임의의 하나가 각각의 그러한 응답이 다른 라이센스 조건들과 상응하는 것으로 검출될 수 있다. 단계(416)에서 상기 컴퓨팅 장치(100)는 사용자의 특 정한 선택을 검출한다(예를 들어, 특정한 라이센스 조건에 대응하는 숫자 "1"에 대응하는 키패드 버튼의 입력 검출). 만일 제시된 모든 라이센스 조건들을 거부하는 옵션을 선택한 것이 검출되면, 상기 방법(400)은 단계(402)로 다시 초기화된다. 그러나, 새로 제시된 라이센스 조건 선택이 검출되면, 상기 프로세스는 계속하여 단계(418)을 진행하여 상기 원격 서버 상에서 상기 저장된 라이센스 조건(또는 그 결여(lack))이 업데이트 되어 새로이 요청된 라이센스 조건들을 나타낸다. 다른 실시예들에서 상기 업데이트된 라이센스 조건들은 상기 컴퓨팅 장치(100)에 저장된다. 상기 제시한 실시예에서, 상기 프로세스는 단계(412)로 복귀한다. 그러나, 다른 실시예들은 직접 단계(420)로 진행한다.
단계(412)에서 상기 현재 라이센스 조건들이 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화를 허용한다면, 상기 프로세스는 단계(420)로 이동하여 상기 라이센스 조건, 또는 활성화 상태(130)와 관련된 디지털 서명을 조사하여 상기 서명이 유효한지를 결정한다. 상기 서명이 유효하지 않다면, 상기 프로세스는 포기되어 상기 제 1 단계(402)로 복귀한다. 다른 실시예들에서, 상기 서명이 유효하지 않다고 결정되면, 상기 프로세스는 단계(402) 외의 상기 프로세스 중의 다른 단계로 복귀한다. 다른 실시예들에서, 서명이 유효하지 않다고 결정한 것에 대응하여, 그러한 결과에 응답하여 사용자 입력을 요청하거나, 또는 유효한 관련 디지털 서명으로 종료하려는 시도로써 상기 라이센스 정보를 다시 검색하려고 시도하는 것과 같은 추가적인 단계들(도시하지 않음)이 이어진다. 상기 디지털 서명이 단계(420)에서 유효한 것으로 결정되면, 상기 사전 로드된 불활성 코어 애플리케이션 (112)을 활성화하는 단계가 수행된다. 일단 활성화되면 상기 사전 로드된 불활성 코어 애플리케이션(112)은 상기 컴퓨팅 장치(100)에 존재하는 임의의 다른 활성 또는 불활성 애플리케이션과 유사하게 실행될 수 있다. 상기 사전 로드된 불활성 코어 애플리케이션(112)이 단계(422)에서 활성화되면 상기 프로세스는 새로운 시작 단계(402)를 시작한다.
도 5는 컴퓨팅 장치(100) 상의 애플리케이션들을 활성화 하는 방법(500)의 예시적인 일 실시예를 나타낸다. 특히, 도 5는 상기 시작 단계(502) 후에, 상기 프로세스가 단계(504)를 수행하여, 컴퓨팅 장치(100) 상에서, 사전 로드된 불활성 코어 애플리케이션(112)을 검출하는 방법(500)을 기술한다. 단계(504)에 이어서 단계(506)은 네트워크(302)를 통해, 그리고 상기 사전 로드된 불활성 코어 애플리케이션(112)의 검출에 응답하여, 상기 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 활성화 상태(예를 들어 라이센스 조건들)를 요청하는 활성화 질의 요청(130)을 전송한다. 단계(506)에 이은, 단계(508)에서 상기 방법(500)은 상기 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 상기 활성화 상태(132)를 수신하도록 동작한다.
단계(508)에 이은 선택적인 단계들로 도시한 것은 선택적인 단계(510)과 단계(512)이다. 단계(510)에서 상기 방법(500)은 상기 활성화 상태(132)에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션(112)을 활성화할 것인지를 결정하도록 동작한다. 다음에, 단계(512)에서, 상기 방법(500)은 상기 사전 로드된 불활성 코어 애플리케이션(112)를 활성화시킬 것인지를 결정한 것에 응답하여 상기 사전 로 드된 불활성 코어 애플리케이션(112)를 활성화하도록 동작한다. 어느 실시예가 사용되는지에 따라, 상기 종료 단계(514)는 임의의 하나 이상의 상기 단계들(508, 510 및/또는 512)에 이어질 수 있다.
단계(504)에 대한 추가적인 제한들이 참조 번호(516)와 (518)로써 지시된다. 참조 번호(516)는 단계(504)가 상기 컴퓨팅 장치(112)의 파워 업(power up)을 검출하는 것에 응답하여 수행되는 것으로 한정되는 제한을 나타낸다. 참조 번호(518)은 상기 컴퓨팅 장치(100)가 휴대용 무선 장치인 한정을 나타낸다. 추가로, 선택적 한정(520)은 상기 프로세스가 상기 특정 컴퓨팅 장치(100)를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션(112)을 식별하는 식별 정보를 전송하도록 하는 단계(506)를 한정하는 것을 나타낸다.
도 6은 컴퓨팅 장치(100) 상의 애플리케이션들을 활성화하는 방법(600)의 예시적인 일 실시예이다. 특히, 도 6은 시작 단계(602) 이후에, 상기 프로세스가 단계(604)를 수행하여, 네트워크(302)를 통해, 원격 컴퓨팅 장치(100)에 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 활성화 상태(132)를 요청하는 활성화 질의 요청(130)을 수신하는 방법(600)을 기술한다. 단계(604)에 이어 단계(606)에서 상기 프로세스는 상기 원격 컴퓨팅 장치(100)와 관련된 정보에 기초하여 상기 활성화 상태(132)를 결정하도록 동작하며, 상기 정보는 상기 원격 컴퓨팅 장치(100)로부터 원격으로 저장된다. 이어서, 단계(606)에 이어 단계(608)에서 상기 프로세스는 네트워크(302)를 통해, 예컨대 라이센스 정보를 포함하는 상기 활성화 상태(132)를 전송하도록 동작한다. 단계(608)이 수행되면, 상기 종료 단계(610)이 수 행되어 방법(600)의 동작을 종료시킨다.
또한, 단계(604)에 대한 제한들이 상기 도면에 예시된다. 참조 번호(612)는 단계(604)에 대한 한정으로서 상기 활성화 질의 요청(130)이 상기 특정 원격 컴퓨팅 장치를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션(112)를 식별하는 식별 정보를 포함하는 것을 나타낸다. 추가로, 참조 번호(614)는 단계(604)에 대한 한정으로서 상기 원격 컴퓨팅 장치(100)가 휴대용 무선 장치인 것을 나타낸다.
도 7은 컴퓨팅 장치(100) 상의 애플리케이션들을 활성화하는 방법(700)의 예시적인 일 실시예를 나타낸다. 특히, 도 7은 상기 시작 단계(702) 후에, 상기 프로세스가 단계(704)를 수행하여, 컴퓨팅 장치(100) 상에서, 사전 로드된 불활성 코어 애플리케이션(112)을 검출하는 방법(700)을 기술한다. 이어서, 단계(706)는 상기 프로세스가 네트워크(302)를 통해, 그리고 상기 사전 로드된 불활성 코어 애플리케이션(112)을 검출하는 것에 응답하여, 상기 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 활성화 상태(132)를 요청하는 활성화 질의 요청(130)을 전송하도록 동작하는 것을 나타낸다. 단계(706)에 이어서 단계(708)에서 상기 프로세스는 네트워크(302)를 통해, 원격 컴퓨팅 장치(100) 상의 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 활성화 상태(132)를 요청하는 활성화 질의 요청(130)을 수신하도록 동작한다. 단계(710)에서는 단계(708)에 이어서 상기 프로세스가 상기 원격 컴퓨팅 장치(100)와 관련된 정보에 기초하여 상기 활성화 상태(132)르 결정하도록 동작하며, 상기 정보는 상기 원격 컴퓨팅 장치(100)로부터 원격으로 저장된다. 이어서, 단계(712)는 네트워크(302)를 통해, 상기 활성화 상태(132)를 전 송하도록 동작한다. 단계(712)에 이어 단계(714)에서 상기 프로세스는 상기 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 상기 활성화 상태(132)를 수신하도록 동작한다.
각각 선택적인 두 단계(716)와 (718)이 단계(714)에 이어진다. 단계(716)는 상기 프로세스가 상기 활성화 상태(132)에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션(112)을 활성화할 것인지를 결정하도록 동작한다. 최종적으로, 단계(718)는 상기 프로세스가 상기 사전 로드된 불활성 코어 애플리케이션(112)을 활성화할 것인지를 결정한 것에 응답하여 상기 사전 로드된 불활성 코어 애플리케이션(112)을 활성화하도록 동작한다. 상기 프로세스(700)의 어느 실시예가 구현되느냐에 따라서, 상기 종료 단계(720)는 임의의 하나 이상의 단계(714, 716 및 718)들에 이어진다.
도 8은 컴퓨팅 장치(100)상의 애플리케이션의 상기 활성화와 관련된 수입(revenue)을 발생시키는 방법(800)의 예시적인 일 실시예를 나타낸다. 방법(800)은 3종류로 분류된 기능성(프로세스 단계들(810), 수입 흐름(revenue stream)(812) 및 사용 정보(usage information)(814))과 함께 네가지 레벨(level)들(레벨 1(802), 2(804), 3(806) 및 4(808))로 분리되어 제시된다. 다른 레벨들은 각각의 레벨(802, 804, 806 및 808)에 대해 각각 다른 기능성들(810, 812 및 804)과 관련된 상응하는 활동(activity)을 포함하는 다른 단계들을 나타낸다. 상기 프로세스 단계들(810)은, 대응하는 열(column)에 나타난 바와 같이, 상기 방법(800)과 관련된 물리적인 단계들의 기능성을 나타낸다. 예를 들어, 단계(816)는 방법(800)의 상기 프로세스를 시작하는 단계를 나타낸다. 단계(818)는 상기 사전 로드된 불활성 코어 애플리케이션(112)을 ASIC 칩 및/또는 상기 컴퓨팅 장치(100)로 삽입하는 것을 나타낸다. 단계(820)는 상기 사전 로드된 불활성 코어 애플리케이션(112)과 함께 상기 컴퓨팅 장치(100)(또는 단지 상기 ASIC 칩)을 포함하는 상기 컴퓨팅 장치의 판매 및/또는 출하를 나타낸다. 단계(822)는 활성화에 대한 요청 검출에 응답하여 사전 로드된 불활성 코어 애플리케이션(112)을 원격으로 활성화하는 상기 하위-프로세스를 나타낸다. 도시된 바와 같이, 일 실시예로, 단계(822)의 상기 기능성은 상기 사전 로드된 불활성 코어 애플리케이션이 활성화될 수 있는 횟수만큼 반복될 수 있다. 일 실시예로 상기 사전 로드된 불활성 코어 애플리케이션(112)은 상기 컴퓨팅 장치가 부트 업(boot up)될 때마다 매번 활성화되고 여기서 현재 파라미터들은 상기 컴퓨팅 장치-애플리케이션 조합에 대한 상기 현재의 활성화를 반영한다. 다른 실시예로 초기 활성화는 첫번째 부트-업(boot-up) 시에 일어나며 단지 현재 활성화가 만료된 것이 검출된 때에만 주기적으로 다시 활성화된다.
상기 수입 흐름(revenue stream)들(812) 열(column)은, 예를 들어 레벨 3(806)에서, 상기 프로세스 단계(820)과 관련하여, 상기 컴퓨팅 장치(및/또는 ASIC 칩)의 최초 판매와 관련하여 수취가능한 수입의 발생을 포함하며 이는 단계(824)에 대응한다. 여기서, 상기 수취가능한 수입은 사전 로드된 불활성 코어 애플리케이션(112)을 갖는 상기 컴퓨팅 장치(100)의 판매와 관련하여 지불받을 의무가 있는 수입액을 나타낸다. 예를 들어, 75 U.S. 달러 금액은 사전로드된 불활성 코어 애플리케이션(112)을 갖는 상기 컴퓨팅 장치(100)의 판매와 함께 부과된 것일 수 있 다. 예를 들어, 75 U.S. 달러는 지불받을 엔티티(entity)에게 수취가능한 수입과, 상기 액을 지불할 엔티티로부터 지불해야할 수입 모두인 것으로 간주된다. 예를 들어, 컴퓨팅 장치 OEM은 상기 수취가능한 수입을 지불받을 당사자일 수 있고, 개인 무선 전화 소비자는 상기 상응하는 지불할 수입을 지불해야할 당사자일 수 있다.
상기 수입 흐름(812) 열(column)은 또한, 예컨대 레벨 4(808)에서, 상기 프로세스 단계(822)와 관련하여, 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화와 관련하여 수취할 수입(revenue)의 발생을 포함하며 이는 단계(826)에 대응한다. 여기서, 상기 수취가능한 수입은 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화와 관련하여 지불할 의무가 있는 수입을 나타낸다. 예를 들어, 5 U.S. 달러 대금은 상기 컴퓨팅 장치(100)상의 상기 사전 로드된 불활성 코어 애플리케이션(112)의 활성화와 관련하여 초래된 것일 수 있다. 여기서, 상기 5 U.S. 달러 금액은 지불받을 엔티티(entity)에게 수취가능한 수입과, 상기 액을 지불할 엔티티로부터 지불해야할 수입 모두인 것으로 간주된다. 예를 들어, 컴퓨팅 장치 OEM은 상기 수취가능한 수입을 지불받을 당사자일 수 있고, 개인 무선 전화 소비자는 상기 상응하는 지불할 수입을 지불해야할 당사자일 수 있다.
상기 사용 정보(814) 열(column)은, 레벨 4(808)에서, 상기 프로세스 단계(822)와 관련하여, 상기 활성화와 관련된 사용 정보의 발생을 포함한다. 여기서, 상기 사용 정보는, 예를 들어, 어느 엔티티(entity)가 상기 애플리케이션을 활성화하였는지, 언제 활성화되었는지와 상기 활성화의 지속기간(duration)(또는 라이센 스 받은 조건) 등을 포함한다. 그러한 정보, 그리고 다른 유사한 정보는, OEM들, ASIC 생산자들, 그리고 특정한 사전 로드된 불활성 코어 애플리케이션(112)과 관련된 상기 기록된 활동(recorded activity) (또는 그 결여(lack))에 잠재적으로 관심을 가진 다른 엔티티(entity)들에게 이용가능해질 수 있다.
도 9는 컴퓨팅 장치(100) 상의 상기 애플리케이션의 활성화와 관련하여 수입(revenue)을 발생시키는 방법(900)의 예시적인 일 실시예를 나타낸다. 방법(900)은 시작 단계(902)에서 시작된다. 일 실시예로 상기 프로세스는 단계(904)에서 시작하며 여기서 집적 회로 칩(integrated circuit chip)에 삽입된 사전 로드된 불활성 코어 애플리케이션(112)의 원격 활성화에 근거하여 수취할 수 있는 판매-이후(post-sale) 수입(revenue)이 발생되며, 상기 집적회로 칩은 컴퓨팅 장치(100)에 삽입된다. 그러한 실시예에 있어 단계(904)에 이어 단계(906)에서 상기 방법은 수취가능한 판매-이후 수입의 적어도 일부분을 집적회로 칩 생산자와 관련시킨다. 일 실시예로, 상기 수취가능한 판매-이후 수입의 전부가 상기 IC 칩 생산자와 관련된다. 결국, 방법(900)은 종료 단계(908)에서 종료된다.
일 실시예로, 상기 단계(904)는 상기 판매-이후 수입(즉, 상기 활성화와 관련하여 수취가능한 수입)의 발생이 상기 집적회로 칩 생산자로부터 출하된 후에 일어나도록 더 한정된다(910). 다른 실시예로, 상기 단계(904)는 상기 판매-이후 수입의 발생이 컴퓨팅 장치 주문자 상표 부착 생산자로부터 출하된 후에 일어나도록 한정된다(912). 또 다른 실시예로, 상기 단계(904)는 상기 판매-이후 수입의 발생이 상기 집적회로 칩이 컴퓨팅 장치 소비자 사용자에게 도달된 후에 일어나도록 한 정된다(914). 다른 실시예로 상기 방법(900)은 상기 수취가능한 판매-이후 수입에 상응하는, 상기 지불해야 할 판매-이후 수입이 상기 컴퓨팅 장치의 소비자 사용자로부터 지불받도록 한정된다(916). 다른 실시예로 상기 컴퓨팅 장치(100)는 휴대용 무선 장치이다(918). 다른 실시예로 상기 원격 활성화는 무선망을 통해서 일어난다(920).
도 10은 컴퓨팅 장치(100)의 애플리케이션의 활성화와 관련된 수입을 발생시키는 방법(1000)의 예시적인 일 실시예를 나타낸다. 방법(1000)은 시작 단계(1002)에서 시작된다. 일 실시예로 상기 프로세스는 단계(1004)로 계속되어 여기서 상기 방법은 컴퓨팅 장치(100)에 삽입된 사전 로드된 불활성 코어 애플리케이션(112)의 원격 활성화에 근거하여 수취가능한 판매-이후 수입의 발생을 포함한다. 또한 그러한 실시예에는 상기 방법이 수취가능한 상기 판매-이후 수입의 적어도 일부분을 컴퓨팅 장치 주문자 상표 부착 생산자(original equipment manufacturer)와 관련시키는 것을 포함하는 단계(1006)이 포함된다. 또한, 단계(1006)에 종료 단계(1008)가 이어진다.
단계(1004)는 또한, 일 실시예로, 단계(1010)에서 도시한 바와 같이, 판매-이후 수입의 발생은 상기 집적된 컴퓨팅 장치(100)가 컴퓨팅 장치 주문자 상표 부착 생산자로부터 출하된 후에 일어나도록 한정된다. 다른 실시예로 단계(1012)가 제시되는데 여기서 상기 방법(1000)은 상기 판매-이후 수입의 발생이 상기 컴퓨팅 장치(100)가 컴퓨팅 장치 소비자 사용자에게 도달한 후에 일어나도록 한정된다. 또 다른 실시예로, 단계(1014)에 도시한 바와 같이, 상기 방법(1000)은 상기 수취 할 판매-이후 수입에 상응하는, 지불하여야 할 판매-이후 수입이 특히 상기 컴퓨팅 장치(100)의 소비자 사용자로부터 지불받아야 하는 것으로 한정된다. 일 실시예로, 단계(1018)에 도시한 바와 같이, 상기 컴퓨팅 장치(100)는 휴대용 무선 장치이다. 다른 실시예로, 단계(1020)에 도시한 바와 같이, 상기 원격 활성화는 무선망을 통해 일어난다.
도 11은 컴퓨팅 장치(100)의 애플리케이션의 상기 활성화와 관련된 수입을 발생시키는 방법(1100)의 예시적인 일 실시예를 나타낸다. 방법(1100)은 시작 단계(1102)에서 시작된다. 일 실시예로 상기 프로세스는 단계(1104)로 계속되어 상기 방법이 컴퓨팅 장치(100)상에 삽입된 사전 로드된 불활성 코어 애플리케이션(112)의 하나 이상의 원격 활성화들을 모니터링(monitor) 한다. 그러한 실시예에서, 단계(1106)이 단계(1104)에 이어져서 상기 방법(1100)은 상기 사전 로드된 불활성 코어 애플리케이션(112)의 상기 원격 활성화들의 모니터링에 근거하여 상기 사전 로드된 불활성 코어 애플리케이션(112)의 사용(usage)을 보고한다. 종료 단계(1108)가 단계(1106)에 이어진다.
일 실시예로, 단계(1110)에 도시한 바처럼, 상기 방법은 상기 집적된 컴퓨팅 장치(100)가 컴퓨팅 장치 주문자 상표 부착 생산자로부터 출하된 후에 원격 활성화들이 일어나도록 한정된다. 다른 실시예로, 상기 방법(1100)은 상기 컴퓨팅 장치(100)와 소비자 사용자 간의 상호작용에 응답하여 원격 활성화들이 일어나도록 한정된다(1112). 예를 들어, 상기 사용자로부터의 입력은 상기 사용자가, 예를 들어, 그러한 활성화에 대해서 어떤 가격(예를 들어, 지불해야할 수입)을 지불하는데 동의하여야 상기 방법이 계속하여 상기 불활성 애플리케이션을 활성화시키도록 해야 한다는 점을 나타낼 수 있다. 또 다른 실시예로 상기 방법은, 단계(1114)에 도시한 바와 같이, 상기 보고된 사용은 상기 원격 활성화들과 관련된 활성화 조건들에 추가로 근거한다. 예를 들어, 상기 활성화 조건들이, 예를 들어, 활성화는 상기 애플리케이션의 15회 실행을 포함할 수 있다는 라이센스-유형의 조건들을 포함할 수 있으며, 여기서 상기 보고된 사용은 라이센스된 활성화들의 상기 횟수(15)를 활성화들의 현재 총계에 더할 수 있다. 다른 실시예로, 단계(1118)에 도시된 바와 같이, 상기 컴퓨팅 장치(100)는 휴대용 무선 장치이다. 다른 실시예로, 단계(1120)에 도시된 바처럼, 상기 원격 활성화는 무선망을 통해 발생한다.
당업자는 여기 개시된 상기 실시예들과 관련하여 기술된 상기 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 그리고 알고리듬 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수 있다. 하드웨어 및 소프트웨어의 이러한 교환가능성을 명확히 기술하기 위해, 다양한 예시적인 구성요소들, 블록들, 구성들, 모듈들, 회로들, 그리고 단계들이 이상에서 일반적으로 그 기능성의 표현으로 기술되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로 구현될 것인지 여부는 특정한 애플리케이션 및 전체적인 시스템에 부과되는 설계 제약들에 따른다. 당업자는 상기 기술된 기능성을 각각의 특정한 애플리케이션에 대해 변화하는 방법들로 구현할 수 있지만, 그러한 구현 결정이 본 발명의 사상으로부터 벗어나는 것으로 해석되어서는 안 된다.
여기 기술된 상기 실시예들과 관련하여 기술된 방법 또는 알고리듬의 상기 단계들은 직접 하드웨어로, 처리기(processor)에 의해 실행되는 소프트웨어 모듈로, 또는 상기 양자의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, PROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터(register)들, 하드 디스크, 착탈식 디스크(removable disk), CD-ROM, 또는 임의의 다른 형태의 공지된 저장 매체에 탑재될 수 있다. 예시적인 저장 매체가 상기 처리기에 연결되어 상기 처리기는 상기 저장 매체로부터 정보를 읽고, 상기 저장 매체에 정보를 기록할 수 있다. 대안으로써, 상기 저장 매체는 상기 처리기의 구성요소일 수 있다. 상기 처리기와 상기 저장 매체는 ASIC 안에 탑재될 수 있다. 상기 ASIC은 컴퓨팅 장치 또는 사용자 단말에 탑재될 수 있다. 대안으로써, 상기 처리기와 상기 저장 매체는 컴퓨팅 장치 또는 사용자 단말의 이산 소자들로서 탑재될 수 있다.
상기 개시된 실시예들의 설명은 임의의 당업자로 하여금 본 발명을 생산 또는 사용할 수 있게 하기 위하여 제공된다. 이러한 실시예들에 대해 다양한 수정이 당해 기술 분야에서 통상의 지식을 가진 자에게 명백히 용이할 것이며, 여기 정의된 상기 일반 원리들은 본 발명의 사상과 범위를 벗어나지 않고 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 여기 예시한 상기 실시예들에 제한되는 것이 아니라 여기 개시된 상기 원리들과 신규한 특징들에 따른 가장 광범위한 범위로 해석되어야 한다.

Claims (39)

  1. 컴퓨팅 장치(computing device) 상의 애플리케이션(application)들을 활성화하는 방법으로서:
    컴퓨팅 장치 상에서, 사전 로드된 불활성 코어 애플리케이션(preloaded inactivated core application)을 검출하는 단계;
    상기 사전 로드된 불활성 코어 애플리케이션을 검출한 것에 응답하여, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태(activation status)를 요청하는 활성화 질의 요청(activation inquiry request)을, 네트워크를 통해 전송하는 단계; 및
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를 수신하는 단계를 포함하는 애플리케이션 활성화 방법.
  2. 제 1 항에 있어서,
    상기 활성화 상태에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하는 단계를 더 포함하는 애플리케이션 활성화 방법.
  3. 제 2 항에 있어서,
    상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정한 것에 응답하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화하는 단계를 더 포함하는 애플리케이션 활성화 방법.
  4. 제 1 항에 있어서,
    상기 사전 로드된 불활성 코어 애플리케이션을 검출하는 단계는 상기 컴퓨팅 장치의 파워 업(power up)을 검출한 것에 응답하여 수행되는, 애플리케이션 활성화 방법.
  5. 제 1 항에 있어서,
    상기 활성화 질의 요청을 전송하는 단계는 상기 특정 컴퓨팅 장치를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 식별 정보(identification information)를 전송하는 단계를 포함하는, 애플리케이션 활성화 방법.
  6. 제 1 항에 있어서,
    상기 컴퓨팅 장치는 휴대용 무선 장치인, 애플리케이션 활성화 방법.
  7. 컴퓨팅 장치 상의 애플리케이션들을 활성화하는 방법으로서:
    원격 컴퓨팅 장치 상의 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청(activation inquiry request)을, 네트워크를 통해 수신하는 단계;
    상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하는 단계로서, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장되는, 활성화 상태를 결정하는 단계; 및
    네트워크를 통해, 상기 활성화 상태를 전송하는 단계를 포함하는 애플리케이션 활성화 방법.
  8. 제 7 항에 있어서,
    상기 활성화 질의 요청은 상기 특정 원격 컴퓨팅 장치를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 식별 정보를 포함하는, 애플리케이션 활성화 방법.
  9. 제 7 항에 있어서,
    상기 원격 컴퓨팅 장치는 휴대용 무선 장치인 애플리케이션 활성화 방법.
  10. 컴퓨팅 장치 상의 애플리케이션들을 활성화하는 방법으로서:
    컴퓨팅 장치 상에서, 사전 로드된 불활성 코어 애플리케이션을 검출하는 단계;
    상기 사전 로드된 불활성 코어 애플리케이션을 검출한 것에 응답하여, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해 전송하는 단계;
    상기 컴퓨팅 장치 상의 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 상기 활성화 질의 요청을, 서버에서, 네트워크를 통해, 수신하는 단계;
    상기 컴퓨팅 장치와 관련된 정보에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를 결정하는 단계로서, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장되는, 활성화 상태 결정 단계;
    네트워크를 통해, 상기 활성화 상태를 상기 컴퓨팅 장치로 전송하는 단계; 및
    상기 컴퓨팅 장치에서 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를, 네트워크를 통해, 수신하는 단계를 포함하는 애플리케이션 활성화 방법.
  11. 제 10 항에 있어서,
    상기 활성화 상태에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하는 단계를 더 포함하는 애플리케이션 활성화 방법.
  12. 제 11 항에 있어서,
    상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정한 것에 응답하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화하는 단계를 더 포함하는 애플리케이션 활성화 방법.
  13. 사전 로드된 불활성 코어 애플리케이션;
    상기 사전 로드된 불활성 코어 애플리케이션을 검출하도록 구성된 로직(logic);
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을 발생시키고, 네트워크를 통해 전송하도록 구성된 로직; 및
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를, 네트워크를 통해, 수신하고 처리하도록 구성된 로직을 포함하는 컴퓨팅 장치.
  14. 제 13 항에 있어서,
    상기 활성화 상태에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하도록 구성된 로직을 더 포함하는 컴퓨팅 장치.
  15. 제 13 항에 있어서,
    상기 사전 로드된 불활성 코어 애플리케이션을 검출하도록 구성된 상기 로직은 상기 컴퓨팅 장치의 파워 업(power up)을 검출하도록 구성된 로직에 의해 발생된 신호에 응답하여 선택적으로 실행하도록 구성된 로직을 더 포함하는, 컴퓨팅 장치.
  16. 제 14 항에 있어서,
    상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하는 상기 로직에 의해 발생된 신호에 응답하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화하도록 구성된 로직을 더 포함하는 컴퓨팅 장치.
  17. 제 13 항에 있어서,
    상기 활성화 질의 요청을 발생시키도록 구성된 상기 로직은 상기 활성화 질의 요청 내부에 상기 특정 컴퓨팅 장치를 식별하는 정보와 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 정보를 포함하도록 구성된 로직을 더 포함하는, 컴퓨팅 장치.
  18. 제 13 항에 있어서,
    상기 컴퓨팅 장치는 휴대용 무선 장치인 컴퓨팅 장치.
  19. 사전 로드된 불활성 코어 애플리케이션을 구비한 집적회로 칩(integrated circuit chip); 및
    상기 집적회로 칩이 컴퓨팅 장치 내에 설치된 후에 상기 사전 로드된 불활성 코어 애플리케이션의 활성화를 허용하도록 구성된 로직을 포함하는 집적회로 칩.
  20. 상기 제 19 항에 있어서,
    상기 컴퓨팅 장치는 휴대용 무선 장치인, 집적회로 칩.
  21. 원격 컴퓨팅 장치 상에 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해, 수신하도록 구성된 로직;
    상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하도록 구성된 로직으로서, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장되는, 활성화 상태를 결정하도록 구성된 로직; 및
    상기 활성화 상태를, 네트워크를 통해, 전송하도록 구성된 로직을 포함하는 서버(server).
  22. 제 21 항에 있어서,
    상기 활성화 상태를 결정하도록 구성된 상기 로직은 상기 특정 원격 컴퓨팅 장치를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 식별 정보를 포함하는 활성화 질의 요청을 처리하도록 구성된 로직을 더 포함하는, 서버.
  23. 제 21 항에 있어서,
    상기 원격 컴퓨팅 장치는 휴대용 무선 장치인 방법.
  24. 컴퓨팅 장치로서:
    사전 로드된 불활성 코어 애플리케이션;
    상기 사전 로드된 불활성 코어 애플리케이션을 검출하도록 구성된 로직;
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을 발생시키고 전송하도록 구성된 로직; 및
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 수신하고 처리하도록 구성된 로직을 포함하는 컴퓨팅 장치; 그리고
    서버로서:
    상기 컴퓨팅 장치 상의 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 상기 활성화 질의 요청을 수신하도록 구성된 로직;
    상기 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하도록 구성된 로직으로서, 상기 정보는 상기 컴퓨팅 장치로부터 원격으로 저장되는, 활성화 상태를 결정하도록 구성된 로직; 및
    상기 활성화 상태를 상기 컴퓨팅 장치로 전송하도록 구성된 로직을 포함하는 서버를 포함하는 시스템.
  25. 제 24 항에 있어서,
    상기 컴퓨팅 장치는 상기 활성화 상태에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하도록 구성된 로직을 더 포함하는, 시스템.
  26. 제 24 항에 있어서,
    상기 활성화 질의 요청을 발생시키도록 구성된 상기 컴퓨팅 장치 로직은 상기 활성화 질의 요청 내부에, 상기 특정 컴퓨팅 장치를 식별하는 정보와 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 정보를 포함하도록 구성된 로직을 더 포함하는, 시스템.
  27. 제 24 항에 있어서,
    상기 활성화 상태를 결정하도록 구성된 상기 로직은 상기 특정 컴퓨팅 장치를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 식별 정보를 포함하는 활성화 질의 요청을 처리하도록 구성된 로직을 더 포함하는, 시스템.
  28. 컴퓨터로 읽을 수 있는 매체에 수록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨팅 장치 상에서 실행할 수 있으며, 상기 컴퓨터 프로그램은:
    상기 컴퓨팅 장치 상에서, 사전 로드된 불활성 코어 애플리케이션을 검출하도록 동작가능한 코드(code);
    상기 사전 로드된 불활성 코어 애플리케이션을 검출한 것에 응답하여, 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해, 전송하도록 동작가능한 코드; 및
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를, 네트워크를 통해, 수신하도록 동작가능한 코드를 포함하는 컴퓨터 프로그램.
  29. 제 28 항에 있어서,
    상기 활성화 상태에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하도록 동작가능한 코드를 더 포함하는 컴퓨터 프로그램.
  30. 제 29 항에 있어서,
    상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하는 상기 코드에 의해 발생된 신호에 응답하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화하도록 동작가능한 코드를 더 포함하는 컴퓨터 프로그램.
  31. 컴퓨터로 읽을 수 있는 매체에 수록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨팅 장치 상에서 실행할 수 있으며, 상기 컴퓨터 프로그램은:
    원격 컴퓨팅 장치 상에 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해, 수신하도록 동작가능한 코드;
    상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하도록 동작가능한 코드로서, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장되는, 활성화 상태를 결정하도록 동작가능한 코드; 및
    상기 활성화 상태를, 네트워크를 통해, 전송하도록 동작가능한 코드를 포함하는 컴퓨터 프로그램.
  32. 제 31 항에 있어서,
    상기 특정 원격 컴퓨팅 장치를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 식별 정보를 포함하는 상기 활성화 질의를 수신하도록 동작가능한 코드를 더 포함하는 컴퓨터 프로그램.
  33. 컴퓨팅 장치로서:
    사전 로드된 불활성 코어 애플리케이션;
    상기 사전 로드된 불활성 코어 애플리케이션을 검출하기 위한 수단;
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을 발생시키고, 네트워크를 통해, 전송하기 위한 수단; 및
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 상기 활성화 상태를, 네트워크를 통해, 수신하고 처리하기 위한 수단을 포함하는 컴퓨팅 장치.
  34. 제 33 항에 있어서,
    상기 활성화 상태에 기초하여 상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하기 위한 수단을 더 포함하는 컴퓨팅 장치.
  35. 제 34 항에 있어서,
    상기 사전 로드된 불활성 코어 애플리케이션을 활성화할 것인지를 결정하는 상기 로직에 의해 발생된 신호에 응답하여 상기 사전 로드된 불활성 코어 애플리케 이션을 활성화하기 위한 수단을 더 포함하는 컴퓨팅 장치.
  36. 사전 로드된 불활성 코어 애플리케이션을 갖는 집적회로 칩; 및
    상기 집적회로 칩이 컴퓨팅 장치 안에 설치된 후에 상기 사전 로드된 불활성 코어 애플리케이션의 활성화를 허용하기 위한 수단을 포함하는 집적회로 칩.
  37. 원격 컴퓨팅 장치 상의 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을, 네트워크를 통해, 수신하기 위한 수단;
    상기 원격 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하기 위한 수단으로서, 상기 정보는 상기 원격 컴퓨팅 장치로부터 원격으로 저장되는, 활성화 상태를 결정하기 위한 수단; 및
    상기 활성화 상태를, 네트워크를 통해 전송하기 위한 수단을 포함하는 서버.
  38. 제 37 항에 있어서,
    상기 활성화 상태를 결정하기 위한 수단은 상기 특정 원격 컴퓨팅 장치를 식별하고 상기 사전 로드된 불활성 코어 애플리케이션을 식별하는 식별 정보를 포함하는 활성화 질의 요청을 처리하도록 구성하기 위한 수단을 더 포함하는, 서버.
  39. 컴퓨팅 장치로서:
    사전 로드된 불활성 코어 애플리케이션;
    상기 사전 로드된 불활성 코어 애플리케이션을 검출하기 위한 수단;
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 활성화 질의 요청을 발생시키고 전송하기 위한 수단; 및
    상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 수신하고 처리하기 위한 수단을 포함하는 컴퓨팅 장치; 그리고
    서버로서:
    상기 컴퓨팅 장치 상의 상기 사전 로드된 불활성 코어 애플리케이션과 관련된 활성화 상태를 요청하는 상기 활성화 질의 요청을 수신하기 위한 수단;
    상기 컴퓨팅 장치와 관련된 정보에 기초하여 상기 활성화 상태를 결정하기 위한 수단으로서, 상기 정보는 상기 컴퓨팅 장치로부터 원격으로 저장되는, 활성화 상태를 결정하기 위한 수단; 및
    상기 활성화 상태를 상기 컴퓨팅 장치로 전송하기 위한 수단을 포함하는 서버를 포함하는 시스템.
KR1020077012589A 2004-11-05 2005-11-04 상주 애플리케이션들을 활성화하기 위한 방법, 소프트웨어및 장치 KR100943553B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/982,418 US7877744B2 (en) 2004-11-05 2004-11-05 Method, software and apparatus for activating resident applications
US10/982,418 2004-11-05

Publications (2)

Publication Number Publication Date
KR20070085728A true KR20070085728A (ko) 2007-08-27
KR100943553B1 KR100943553B1 (ko) 2010-02-22

Family

ID=36337041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077012589A KR100943553B1 (ko) 2004-11-05 2005-11-04 상주 애플리케이션들을 활성화하기 위한 방법, 소프트웨어및 장치

Country Status (8)

Country Link
US (1) US7877744B2 (ko)
EP (1) EP1820115A4 (ko)
JP (1) JP2008519353A (ko)
KR (1) KR100943553B1 (ko)
CN (1) CN101233486A (ko)
BR (1) BRPI0517064A (ko)
TW (1) TW200639650A (ko)
WO (1) WO2006052780A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160121593A (ko) * 2009-04-16 2016-10-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 런타임 기반 애플리케이션 행동의 선택적 인에이블

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163131A1 (en) * 2003-01-31 2004-08-19 Benco David S. Telecommunication feature activation and billing support from a centralized server
US8645463B2 (en) * 2006-09-25 2014-02-04 Cisco Technology, Inc. Methods and apparatuses for managing resources within a virtual room
US8433302B2 (en) * 2007-05-31 2013-04-30 Qualcomm Incorporated System and method for downloading and activating themes on a wirelesss device
US8327126B2 (en) * 2008-08-25 2012-12-04 International Business Machines Corporation Multicore processor and method of use that adapts core functions based on workload execution
JP5599557B2 (ja) * 2008-08-29 2014-10-01 株式会社リコー 情報処理装置、ライセンス判定方法、プログラム及び記録媒体
KR101370340B1 (ko) * 2008-10-30 2014-03-06 삼성전자 주식회사 화상형성장치 및 그 소프트웨어 활성화 방법
US20100125721A1 (en) * 2008-11-14 2010-05-20 Computer Associates Think, Inc. System and Method for Determining and/or Reducing Costs Associated with Utilizing Objects
US8473575B2 (en) 2010-08-26 2013-06-25 Ford Global Technologies, Llc Methods and apparatus for remote activation of an application
US8880588B2 (en) * 2010-10-29 2014-11-04 Fujitsu Limited Technique for stateless distributed parallel crawling of interactive client-server applications
US8544735B2 (en) 2011-05-23 2013-10-01 Mastercard International Incorporated Combicard transaction method and system having an application parameter update mechanism
GB2497076A (en) * 2011-11-23 2013-06-05 Skype Delivering only selected communication events to a user terminal or to a user
US20130185173A1 (en) * 2012-01-18 2013-07-18 General Instrument Corporation Feature licensing framework for third party feature credit management
US8914767B2 (en) * 2012-03-12 2014-12-16 Symantec Corporation Systems and methods for using quick response codes to activate software applications
CN102929661B (zh) * 2012-10-09 2016-09-28 北京奇虎科技有限公司 一种功能组件的处理方法、装置及服务器
US8930936B2 (en) * 2012-11-06 2015-01-06 International Business Machines Corporation Loading remote binaries onto a write-protected device
US9584498B1 (en) 2014-04-04 2017-02-28 Seagate Technology Llc Feature activation using near field communication
US9838250B1 (en) * 2014-04-04 2017-12-05 Seagate Technology Llc Recipient-specific feature activation
US9535676B1 (en) 2014-04-04 2017-01-03 Seagate Technology Llc Remote feature activation
US9633330B1 (en) 2014-04-04 2017-04-25 Seagate Technoglogy LLC Late stage SKU assignment
US9507921B2 (en) 2014-04-07 2016-11-29 Microsoft Technology Licensing, Llc User-specific application activation for remote sessions
CN104065728B (zh) * 2014-06-27 2017-11-07 珠海市君天电子科技有限公司 一种状态信息控制方法及相关设备、系统
US10209976B2 (en) * 2015-12-30 2019-02-19 Dropbox, Inc. Automated application installation
CN107621976B (zh) * 2017-09-12 2021-05-25 网宿科技股份有限公司 一种保持应用程序实例处于激活状态的方法及云服务器
CN110837643B (zh) * 2018-08-17 2022-09-23 阿里巴巴集团控股有限公司 一种可信执行环境的激活方法和装置
FR3089372B1 (fr) * 2018-11-30 2021-11-12 Orange Procédé et dispositif de gestion d'un réseau domestique.
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment
CN114844764B (zh) * 2021-01-30 2023-12-08 华为技术有限公司 一种网络安全功能检测的方法及相关设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956505A (en) * 1991-12-24 1999-09-21 Pitney Bowes Inc. Remote activation of software features in a data processing device
GB2366691B (en) * 2000-08-31 2002-11-06 F Secure Oyj Wireless device management
US6832349B1 (en) * 2001-01-08 2004-12-14 Cardiff Software, Inc. Remote activation of enhanced functionality features in locally created documents
US7099663B2 (en) * 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
WO2004019182A2 (en) * 2002-08-24 2004-03-04 Ingrian Networks, Inc. Selective feature activation
US7873390B2 (en) * 2002-12-09 2011-01-18 Voice Signal Technologies, Inc. Provider-activated software for mobile communication devices
US20040205749A1 (en) * 2003-03-26 2004-10-14 Lockheed Martin Corporation System for enabling application software of data acquisition devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160121593A (ko) * 2009-04-16 2016-10-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 런타임 기반 애플리케이션 행동의 선택적 인에이블

Also Published As

Publication number Publication date
EP1820115A2 (en) 2007-08-22
US7877744B2 (en) 2011-01-25
JP2008519353A (ja) 2008-06-05
WO2006052780A3 (en) 2007-12-13
US20080010361A1 (en) 2008-01-10
KR100943553B1 (ko) 2010-02-22
EP1820115A4 (en) 2010-03-03
TW200639650A (en) 2006-11-16
BRPI0517064A (pt) 2008-09-30
CN101233486A (zh) 2008-07-30
WO2006052780A2 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
KR100943553B1 (ko) 상주 애플리케이션들을 활성화하기 위한 방법, 소프트웨어및 장치
KR20070085779A (ko) 인도후―수입을 발생시키고 사전 로드된 비활성 상주애플리케이션과 연관된 인도후―활성화를 기록하는 방법
US8849242B2 (en) System and method for charging for directed provisioning of user applications on limited-resource devices
US7330717B2 (en) Rule-based system and method for managing the provisioning of user applications on limited-resource and/or wireless devices
US7752616B2 (en) Update system capable of updating software
RU2439690C2 (ru) Программная передача приложений между телефонными трубками на основе лицензионной информации
US20140370862A1 (en) Apparatus and associated method for downloading an application with a variable lifetime to a mobile terminal
US20080004886A1 (en) Software rental system and method
US20100064379A1 (en) Remote Diagnosis of Unauthorized Hardware Change
RU2354054C2 (ru) Способ и устройство для определения целостности устройства
EP1756723A2 (en) Execution of unverified programs in a wireless device operating environment
US9628939B2 (en) Data calling method and device
CN104272318A (zh) 软件分发系统、软件分发方法
CN114021141A (zh) 一种电子设备、可信应用调用方法、装置、设备及介质
CA2668620A1 (en) Method for unlocking full version contents embedded in a mobile, and server and mobile device for performing the method
JP2009211471A (ja) ライセンス管理システムおよびライセンス管理プログラム
CN101534317B (zh) 一种服务器、手机终端及获取手机电话号码的方法和系统
JP2006293938A (ja) 使用可能なソフトウェアの使用期限を管理するプログラムを提供するサーバ、プログラム及びプログラムを実行可能な端末
CN117785232A (zh) 固件更新方法、装置、可穿戴设备及存储介质
GB2439573A (en) Software rental system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee