KR20100105454A - 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 - Google Patents
네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 Download PDFInfo
- Publication number
- KR20100105454A KR20100105454A KR1020100023496A KR20100023496A KR20100105454A KR 20100105454 A KR20100105454 A KR 20100105454A KR 1020100023496 A KR1020100023496 A KR 1020100023496A KR 20100023496 A KR20100023496 A KR 20100023496A KR 20100105454 A KR20100105454 A KR 20100105454A
- Authority
- KR
- South Korea
- Prior art keywords
- feature
- application program
- application
- supplemental
- computing device
- Prior art date
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 133
- 230000000153 supplemental effect Effects 0.000 claims description 136
- 238000000034 method Methods 0.000 claims description 88
- 238000004891 communication Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 47
- 230000004044 response Effects 0.000 description 19
- 238000004590 computer program Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000013474 audit trail Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000004224 protection Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0603—Catalogue ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2147—Locking files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
제품 분배 사이트로부터의 지원 속에 디지털 제품들의 로킹된 (보안된) 특징들에 액세스하기 위한 개선된 시스템, 디바이스 및 방법이 개시되었다. 일 실시예에서, 디지털 제품은 네트워크 기반 분배를 위해 제품 분배 사이트로 제출될 수 있다. 디지털 제품은 기본 기능성을 제공하면서 하나 또는 그 이상의 로킹된 특징들 (이 특징들은 만일 언로킹된다면 기본 기능성을 보조할 수 있음)을 포함하는 식으로 초기에 제공될 수 있다. 제출된 디지털 제품이 승인되면, 디지털 제품은 사용자들이 디지털 제품을 검색하고, 브라우징하고, 구입할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 일단 디지털 제품이 구입되고 다운로딩되고 사용자의 컴퓨팅 디바이스 상에 설치되었다면, 사용자는 디지털 제품을 활용할 수 있다. 그러나, 디지털 제품 자체는 하나 또는 그 이상의 로킹된 특징들을 포함하기 때문에, 사용자는 후속 구입이 수행되기까지는 이런 특징들을 활용할 수 없다. 유리하게는, 후속 구입은 디지털 제품으로부터 야기될 수 있다. 이렇게 할 때, 디지털 제품은 원격 서버(예로, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액팅하여 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 이를 위한 사용을 구입한다. 일단 하나 또는 그 이상의 특징들에 대한 액세스 또는 사용이 구입되었다면, 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들은 언로킹될 수 있고 이후에 활용될 수 있다.
Description
본 출원은 2009년 3월 16일 출원되고 발명의 명칭이 "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUNT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM"인 미국 임시 특허 출원 번호 61/160,640호에 대한 우선권을 주장하며, 이는 본 명세서에 참조로서 통합된다.
본 발명은 디지털 제품들의 분배에 관한 것으로, 보다 상세하게는 디지털 제품들의 네트워크-기반 분배에 관한 것이다.
오늘날, iTunes™ 미디어 스토어 같은 온라인 미디어 스토어들은 소비자들(즉, 온라인 사용자들)로 하여금 음악 또는 비디오들 같은 미디어 아이템들을 인터넷을 통해 구매하거나 임차(rent)하게 할 수 있다. 종종, 온라인 미디어 스토어들에서, 수많은 미디어 아이템들이 이용가능하게 되었고 음악 레이블들(labels) 또는 영화 회사들 같은 다양하고 서로 다른 콘텐츠 제공자들에 의해 제공된다. 미국 캘리포니아주 쿠퍼티노 소재의 애플사로부터 얻을 수 있는 iProducer™ 및 Label Connect™ 같은 소프트웨어 툴(tool)들은 콘텐츠 제공자들이 iTunes™ 미디어 스토어에 미디어 콘텐츠를 온라인 제출하는 것을 지원할 수 있다.
소프트웨어 프로그램들 또한 온라인 스토어들 뿐만 아니라 소매점들에서도 구매되거나 사용허가되어(licensed) 이용가능하다. 일반적으로, 소프트웨어 프로그램은 자신을 포함하는 콤팩트 디스크(CD)로서 주로 구매된다. 대안으로, 구매자들은 종종 온라인 소매 점포 또는 소프트웨어 제공자의 웹사이트로부터 소프트웨어 프로그램을 구매하거나 다운로드할 수 있다. 그러나, 온라인 소매 상인(online retailer)이 다양한 독립적인 부분들(various independent parties)로 된 소프트웨어 프로그램들을 판매하는 경우, 온라인 소매 상인들에게 디지털 프로그램 파일들과 이를 지원하는 정보/파일들을 제공하고자 할 때 어려움이 있다. 이러한 문제는 온라인 소매 상인들과 종종 파트너가 되기를 바라는 매우 많은 수의 소규모 소프트웨어 제공자들이 있을 때 더 악화된다. 결과적으로, 온라인 제출들을 수신하는 온라인 소매 상인들은 제출들과 관련한 폭넓은 범위의 다양성에 기인한 실질적인 업무 부하(burdens) 및 어려움에 직면하게 된다.
종래에는, 소프트웨어 프로그램을 구매하고, 컴퓨팅 디바이스 상에 소프트웨어 프로그램을 다운로드하고 설치한 후에는, 소프트웨어 프로그램은 기본적으로 정적인 제품(static product)이 된다. 몇몇 소프트웨어 프로그램들이 에러들 또는 버그들 또는 바이러스 보호들의 처리를 위한 업데이트를 수신할 수 있지만, 이들 업데이트는 자유롭게 제공되고 기존의 기능을 유지하기 위해 서비스된다. 유감스럽게도, 몇몇 소프트웨어 제공자들은 초기의 소프트웨어 프로그램들을 확장시키는 후속의(follow-on)의 구매들을 촉진시킬 필요가 있다. 그러나, 일단 소프트웨어 프로그램이 온라인으로 구매되었고 다운로드 및 설치되었다면, 그 소프트웨어 프로그램의 부가적인 기능, 컴포넌트 등에 대한 인-애플리케이션(in-application) 구매 권리 또는 독점권을 자체로 촉진시키는, 그 소프트웨어 프로그램을 위한 편리한 수단이 기존에 없다.
발명의 개요
본 발명은 제품 분배 사이트로부터의 지원 하에 디지털 제품들의 로킹된(locked)(보안된) 특징들을 액세스하기 위한 시스템, 장치 및 방법에 관한 것이다.
디지털 제품은 네트워크 기반 분배를 위한 제품 분배 사이트에 제출될 수 있다. 디지털 제품은, 기본 기능을 제공하지만, 언로킹된다면, 기본 기능을 보조할 수 있는 하나 또는 그 이상의 로킹된 특징들을 포함하도록, 초기에 제공될 수 있다. 제출된 디지털 제품이 승인(approve)된다면, 디지털 제품은 사용자들이 그 디지털 제품을 검색, 브라우징 및 구매할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 디지털 제품이 구매되어 사용자의 컴퓨팅 디바이스 상에 다운로드 및 설치되었다면, 사용자는 디지털 제품을 이용하는 것이 가능하다. 그러나, 디지털 제품 자체가 하나 또는 그 이상의 로킹된 특징을 포함하기 때문에, 사용자는 후속 구매가 실행될 때까지 그러한 특징들을 이용할 수 없다. 이롭게도, 후속 구매는 디지털 제품으로부터 야기될 수 있다. 그렇게 할 때, 디지털 제품은 디지털 제품 내의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용(usage)을 구매하기 위해 원격 서버(예를 들면, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액트(interact)한다. 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용이 구매되었다면, 디지털 제품 내의 하나 또는 그 이상의 특징들이 언로킹된 후 이용될 수 있다.
일 실시예에서, 디지털 제품들은 컴퓨터 프로그램 제품들(예를 들면, 컴퓨터 소프트웨어 프로그램들)이다. 제품 분배 사이트는 또한 온라인 제품 호스팅 사이트로서 지칭될 수 있다. 디지털 제품들의 특징들이 구현예에 의존하여 가변될 수 있지만, 그 특징들의 몇몇 예로는 모듈들, 툴들, 캐릭터들, 기능, 콘텐츠 또는 데이터를 포함한다. 특징들은 또한 컴포넌트들로서 지칭될 수 있다.
본 발명은 방법, 시스템, 디바이스, (컴퓨터 판독가능 매체 및 그래픽 사용자 인터페이스를 포함하는) 장치를 포함하는 다양한 방식들로 구현될 수 있다. 본 발명의 몇몇 실시예들은 아래에서 논의된다.
애플리케이션 프로그램의 보조 특징들(supplemental features)을 언로킹(unlock)하기 위한 방법으로서, 상기 방법은 컴퓨팅 디바이스 상에서 작동하고, 본 발명의 일 실시예는, 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득되고, 애플리케이션 프로그램은 자신 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 포함함 - 와, 컴퓨팅 디바이스에서, 애플리케이션 프로그램의 사용자가 현재적으로 로킹된 상기 적어도 하나의 보조 특징의 사용(usage)을 획득하기를 바라는지를 판정하는 단계와, 원격 네트워크 기반 애플리케이션 분배 시스템이 적어도 하나의 보조 특징의 언로킹을 승인할 것을 요청하는 단계와, 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와, 이후에 컴퓨팅 디바이스에서 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 애플리케이션 프로그램이 적어도 하나의 보조 특징을 활용하도록 허용하는 단계를 적어도 포함한다.
애플리케이션 프로그램의 보조 특징들을 언로킹하기 위한 방법으로서, 상기 방법은 컴퓨팅 디바이스 상에서 작동하고, 본 발명의 또 다른 실시예는, 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득됨 -, 애플리케이션 프로그램을 통해, 컴퓨팅 디바이스의 사용자에게 애플리케이션 프로그램 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 제공하는 단계와, 컴퓨팅 디바이스의 사용자가 현재적으로 로킹된 적어도 하나의 보조 특징의 사용을 획득하기를 바라는 표시(indication)를 수신하는 단계와, 수신되는 표시에 응답하여, 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 요청하는 단계 - 상기 보조 특징 정보는 적어도 하나의 보조 특징에 관련된 적어도 기술 정보를 포함함 -와, 컴퓨팅 디바이스에서, 원격 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 후속하여 수신하는 단계와, 컴퓨팅 디바이스에서 보조 특징 정보를 제공하는 단계와, 컴퓨팅 디바이스에서, 사용자가 현재적으로 로킹된 적어도 하나의 보조 특징의 사용을 획득하기를 바라는지를 확인하는 단계와, 원격 네트워크 기반 애플리케이션 분배 시스템이 상기 적어도 하나의 보조 특징의 언로킹을 승인할 것을 요청하는 단계와, 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와, 이후에 컴퓨팅 디바이스에서 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 애플리케이션 프로그램이 적어도 하나의 보조 특징을 활용하도록 허용하는 단계를 적어도 포함한다.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서, 본 발명의 일 실시예는, 원격 네트워크 기반 애플리케이션 분배 시스템으로부터의 보조 특징 정보에 대한 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 애플리케이션 프로그램의 보조 특징과 연관된 보조 특징 정보를 검색하는 단계 - 보조 특징 정보는 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징에 관계된 적어도 기술 정보를 포함함 - 와, 검색된 보조 특징 정보를 컴퓨팅 디바이스에게 보내는 단계와, 애플리케이션 프로그램의 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와, 상기 판정하는 단계가 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하였다고 판정하면 보조 특징을 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내는 단계를 적어도 포함한다.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서, 본 발명의 또 다른 실시예는, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와, 상기 판정하는 단계가 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하였다고 판정하면 상기 보조 특징을 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내는 단계를 적어도 포함한다.
모바일 컴퓨팅 디바이스로서, 본 발명의 일 실시예는, 적어도 하나의 로킹된 특징을 갖는 적어도 하나의 애플리케이션 프로그램과, 모바일 컴퓨팅 디바이스 상에 상주(resident)하는 커머스 서버(commerce server)를 적어도 포함한다. 이 커머스 서버는, 적어도 하나의 애플리케이션 프로그램이 모바일 컴퓨팅 디바이스 상에서 작동하고 있는 동안에, 원격 서버와 인터액팅하여 적어도 하나의 애플리케이션 프로그램의 적어도 하나의 로킹된 특징으로의 액세스를 촉진시키도록 구성된다.
프로그램 제품의 보조 컴포넌트들을 언로킹하기 위해 컴퓨팅 디바이스에 저장되고 그 컴퓨팅 디바이스에 의해 실행가능한 적어도 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로서, 본 발명의 일 실시예는, 컴퓨팅 디바이스 상에서 프로그램 제품을 실행하기 위한 컴퓨터 프로그램 코드 - 프로그램 제품은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득되고, 프로그램 제품은 자신 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 컴포넌트를 포함함 - 와, 컴퓨팅 디바이스에서, 프로그램 제품의 사용자가 현재적으로 로킹된 적어도 하나의 보조 컴포넌트의 사용을 획득하기를 바라는지를 판정하기 위한 컴퓨터 프로그램 코드와, 원격 네트워크 기반 애플리케이션 분배 시스템이 적어도 하나의 보조 컴포넌트의 언로킹을 승인할 것을 요청하기 위한 컴퓨터 프로그램 코드와, 적어도 하나의 보조 컴포넌트가 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하기 위한 컴퓨터 프로그램 코드와, 컴퓨팅 디바이스에서 프로그램 제품의 적어도 하나의 보조 컴포넌트를 언로킹하여, 프로그램 제품이 적어도 하나의 보조 컴포넌트를 활용하도록 허용하기 위한 컴퓨터 프로그램 코드를 적어도 포함한다.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 컴포넌트들의 언로킹을 관리하기 위해 컴퓨팅 디바이스에 저장되고 그 컴퓨팅 디바이스에 의해 실행가능한 적어도 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로서, 본 발명의 일 실시예는, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 프로그램 제품의 보조 컴포넌트를 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하기 위한 컴퓨터 프로그램 코드와, 네트워크 기반 애플리케이션 분배 시스템이 보조 컴포넌트의 언로킹을 승인하는지의 여부를 판정하기 위한 컴퓨터 프로그램 코드와, 네트워크 기반 애플리케이션 분배 시스템이 보조 컴포넌트의 언로킹을 승인하였다고 판정하면 보조 컴포넌트를 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내기 위한 컴퓨터 프로그램 코드를 적어도 포함한다.
본 발명의 다른 양상들 및 이점들은 본 발명의 원리들을 예로서 도시하는 첨부 도면들과 결합하여 취해진 후술하는 상세한 설명으로부터 명백해질 것이다.
본 발명은 첨부하는 도면과 결부하여 이하의 상세한 설명에 의해서 용이하게 이해될 것이며, 여기서 유사한 도면 부호는 유사한 구성요소들을 지시한다.
도 1은 본 발명의 일 실시예에 따른 제품 제출 및 분배 시스템의 블록도.
도 2는 본 발명의 일 실시예에 따른 클라이언트 또는 클라이언트 디바이스의 블록도.
도 3a 내지 3c는 본 발명의 일 실시예에 따른 보조 특징들을 액세스하는 것을 도시하는 도면.
도 4는 본 발명의 일 실시예에 따른 디지털 제품 제출 프로세스의 흐름도.
도 5는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 6a 및 6b는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 7은 본 발명의 일 실시예에 따른 보조 특징 서버 프로세스의 흐름도.
도 1은 본 발명의 일 실시예에 따른 제품 제출 및 분배 시스템의 블록도.
도 2는 본 발명의 일 실시예에 따른 클라이언트 또는 클라이언트 디바이스의 블록도.
도 3a 내지 3c는 본 발명의 일 실시예에 따른 보조 특징들을 액세스하는 것을 도시하는 도면.
도 4는 본 발명의 일 실시예에 따른 디지털 제품 제출 프로세스의 흐름도.
도 5는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 6a 및 6b는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 7은 본 발명의 일 실시예에 따른 보조 특징 서버 프로세스의 흐름도.
발명은 제품 분배 사이트로부터의 지원 속에 디지털 제품들의 로킹된 (보안된) 특징들에 액세스하기 위한 시스템, 디바이스 및 방법에 관한 것이다.
디지털 제품은 네트워크 기반 분배를 위해 제품 분배 사이트로 제출될 수 있다. 디지털 제품은 기본 기능성을 제공하면서 하나 또는 그 이상의 로킹된 특징들 (이 특징들은 만일 언로킹된다면 기본 기능성을 보조할 수 있음)을 포함하는 식으로 초기에 제공될 수 있다. 제출된 디지털 제품이 승인되면, 디지털 제품은 사용자들이 디지털 제품을 검색하고, 브라우징하고, 구입할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 일단 디지털 제품이 구입되고 다운로딩되고 사용자의 컴퓨팅 디바이스 상에 설치되었다면, 사용자는 디지털 제품을 활용할 수 있다. 그러나, 디지털 제품 자체는 하나 또는 그 이상의 로킹된 특징들을 포함하기 때문에, 사용자는 후속 구입이 수행되기까지는 이런 특징들을 활용할 수 없다. 유리하게는, 후속 구입은 디지털 제품으로부터 야기될 수 있다. 이렇게 할 때, 디지털 제품은 원격 서버(예를 들면, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액팅하여 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 이를 위한 사용을 구입한다. 일단 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용이 구입되었다면, 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들은 언로킹될 수 있고 이후에 활용될 수 있다.
일 실시예에서, 디지털 제품들은 컴퓨터 프로그램 제품들(예를 들면, 컴퓨터 소프트웨어 프로그램들)이다. 제품 분배 사이트는 온라인 제품 호스팅 사이트로도 지칭될 수 있다. 디지털 제품들의 특징들이 구현에 따라 변할 수 있지만, 특징들의 몇몇 예들은 모듈들, 툴들, 캐릭터들, 기능성, 콘텐츠 또는 데이터를 포함한다. 특징들은 컴포넌트들로도 지칭될 수 있다.
이하에서는 도 1 내지 도 7을 참조하여 본 발명의 다양한 측면들의 실시예들에 대해 논의한다. 그러나, 당업자들이라면 이러한 도면들에 대해 본 명세서에서 주어진 상세한 설명은 예시적인 목적을 위한 것이므로 본 발명은 이러한 제한된 실시예들을 넘어 확장된다는 점을 쉽게 알 것이다.
도 1은 본 발명의 일 실시예에 따른 제품 제출 및 분배 시스템(100)의 블록도이다. 제품 제출 및 분배 시스템(100)은 제품 분배 사이트(102)를 포함한다. 제품 분배 사이트(102)는 다양한 디지털 제품들의 분배를 위한 온라인 액세스 포인트를 제공한다. 예컨대, 제품 분배 사이트(102)는 온라인 스토어로서 지칭될 수 있다. 제품 제출 및 관리 시스템(104)은 다양한 디지털 제품 제출자들로부터 디지털 제품들의 제출들을 수신하도록 동작한다. 제품 제출 및 관리 시스템(104)은 디지털 제품들의 제출을 프로세싱하고 승인(approve)된 디지털 제품들의 분배를 인증(authorize)할 수 있다. 디지털 제품들은 제품 스토어(106)에 저장될 수 있다. 일 실시예에서, 제품 스토어(106)는 대용량 데이터 스토어 및/또는 하나 또는 그 이상의 데이터베이스들을 포함한다. 제품 스토어(106)는 분배(예컨대, 구입)에 활용가능한 다수의 디지털 제품들의 대용량의 저장을 제공한다. 예컨대, 구입된 디지털 제품들은 제품 스토어(106)로부터 제품 분배 사이트(102)를 거쳐 데이터 네트워크(108) 상에서 액세스될 수 있다. 디지털 제품들의 예들로는 애플리케이션들(또는 애플리케이션 프로그램들), 애니메이션들 또는 프리젠테이션들과 같은 컴퓨터 프로그램 제품들이 있다.
제품 제출 및 분배 시스템(100)은 제1 클라이언트(110) 및 제2 클라이언트(112)를 또한 포함한다. 전형적으로, 제품 제출 및 분배 시스템(100)은 복수의 상이한 클라이언트들(110, 112)을 포함할 것이다. 제1 클라이언트(110)는 네트워크 액세스 프로그램(114)을 포함한다. 제2 클라이언트(112)는 제품 제출 프로그램(116)을 포함한다. 몇몇 클라이언트들은 또한 네트워크 액세스 프로그램(114)과 제품 제출 프로그램(116) 모두를 포함할 수 있다. 네트워크 액세스 프로그램(114)은 컴퓨팅 디바이스인 제1 클라이언트(110) 상에서 동작하는 애플리케이션 프로그램(예를 들면, 소프트웨어 애플리케이션)이다. 적합한 네트워크 액세스 프로그램의 일 예가 네트워크 브라우저(예를 들면, 마이크로소프트사의 익스플로러(Explorer) 또는 사파리(Safari))이다. 적합한 네트워크 액세스 프로그램의 다른 예로는 애플사가 제공하는 iTunesTM이 있다. 제1 클라이언트(110)는 데이터 네트워크(108)를 통해 제품 분배 사이트(102)에 결합될 수 있다. 그러므로, 제1 클라이언트들(110) 중 어느 클라이언트라도 제품 분배 사이트(102)와 인터액팅하여 디지털 제품들을 리뷰, 구입 및/또는 관리할 수 있다.
또한, 제품 분배 프로그램(116)은 컴퓨팅 디바이스인 제2 클라이언트(112) 상에서 동작하는 애플리케이션 프로그램(예를 들면, 소프트웨어 애플리케이션)이다. 제품 제출 프로그램(116)은 미디어 분배 사이트(102)에 의한 최종 분배를 위해 디지털 제품들을 제품 제출 및 관리 시스템(104)에 제출하는데 이용된다. 네트워크 액세스 프로그램(114)과 제품 제출 프로그램(116)이 별개의 프로그램들로서 도 1에 도시되어 있지만, 이러한 프로그램들은 단일 프로그램으로 통합되거나 동일한 클라이언트 머신 상에 상주할 수 있다는 점을 알아야 한다.
도 1에 도시된 제품 제출 및 분배 시스템(100)에서, 디지털 제품들은 제품 제출 프로그램(116)을 거쳐 제품 제출 및 관리 시스템(104)에 제출된다. (예를 들면, 제2 클라이언트(112)를 통해) 제출된 디지털 제품들은 프로세싱되고, 이어서 허용가능한 경우, 분배를 위해 제품 스토어(106)에 저장된다. 그 후, 저장된 디지털 제품들은 제품 분배 사이트(102)로부터 구입되는데 이용될 수 있다.
제품 제출 및 분배 시스템(100)은 클라이언트(110)의 사용자가 네트워크 액세스 프로그램(114)을 활용하여 제품 분배 사이트(102)로부터 구입될 수 있는 복수의 디지털 제품들을 브라우징, 검색 또는 소팅하도록 허용한다. 네트워크 액세스 프로그램(114)은 또한 사용자가 디지털 제품들 중 몇몇 또는 전부를 미리보거나 입증하는 것을 허용할 수도 있다. 네트워크 액세스 프로그램(114)의 사용자가 특정한 디지털 제품을 구입하길 원하는 경우에, (네트워크 액세스 프로그램(114)을 통한) 사용자 및 제품 분배 사이트(102)는 그 사용자가 특정한 디지털 제품에 대한 액세스 권리를 지불하는 온라인 상업 거래에 관여할 수 있다. 일 실시예에서, 사용자와 관계된 신용 카드가 특정한 디지털 제품의 구입 또는 임차료로 지불(credit)된다.
특정한 디지털 제품의 구입시, 제품 분배 사이트(102)는 특정한 디지털 제품에 대한 디지털 데이터가 제품 스토어(106)로부터 검색된 후 데이터 네트워크(108)를 통해 제품 분배 사이트(102)로부터 요청된 클라이언트(110)로 전달(예컨대, 다운로드)되도록 허용한다. 이와 관련하여, 제품 분배 사이트(102) 또는 몇몇 다른 전달 서버(도시되지 않음)는 제품 스토어(106)로부터 특정한 디지털 제품에 대응하는 디지털 데이터를 획득하고 데이터 네트워크(108)를 통해 이러한 디지털 데이터를 클라이언트(110)로 다운로드한다. 다운로드된 디지털 데이터는 그 후 클라이언트(110) 상에 저장될 수 있다. 일 실시예에서, 다운로드된 디지털 데이터는 클라이언트(110)에서 수신될 때 암호화되지만 암호 해제된 후 클라이언트(110) 상에 지속적으로 저장되기 전에 다시 암호화될 것이다. 그 후, 클라이언트(110) 자신은 디지털 제품의 디지털 데이터를 활용(예를 들면, 실행)할 수 있다.
디지털 제품들의 제출 및 구입은 데이터 네트워크(108)를 통해 달성될 수 있다. 다시 말하면, 디지털 제품들의 제출 및 구입은 온라인 상에서 달성될 수 있다. 온라인 상의 미디어 아이템들의 구입은 전자 상거래(e-commerce)로도 지칭될 수 있다. 일 실시예에서, 데이터 네트워크(108)는 인터넷의 적어도 한 부분을 이용한다. 일 실시예에서, 제품 분배 사이트(102)와 클라이언트들(110, 112) 간의 데이터 네트워크(108)를 통한 접속들은 SSL(Secure Sockets Layer)과 같은 안전한 접속들을 통할 수 있다. 클라이언트들(110, 112)은 애플리케이션에 따라 변할 수 있지만 일반적으로는 메모리 저장 장치를 구비한 컴퓨팅 디바이스들이다. 때로는, 클라이언트들(110, 112)은 미디어를 저장하고 그 사용자들에게 제공할 수 있는 퍼스널 컴퓨터들 또는 다른 컴퓨팅 디바이스들이다. 일 실시예에서, 클라이언트들 중 하나 또는 그 이상의 클라이언트들은 휴대용 컴퓨팅 디바이스들(예를 들면, 랩톱 또는 네트워크 컴퓨터들) 또는 핸드헬드 컴퓨팅 디바이스들(예를 들면, PDA들, 스마트 폰들, 다기능 전자 디바이스들 또는 미디어 플레이어들)일 수 있다.
디지털 제품들은 하나 또는 그 이상의 보조 특징들을 포함할 수 있다. 이러한 보조 특징들은 대응하는 디지털 제품들을 보조하거나 확장하는 역할을 할 수 있다. 도 1에 도시된 바와 같이, 데이터 네트워크(108)를 통해 제품 분배 사이트(102)로부터 획득 및 다운로드된 디지털 제품(118)은 클라이언트(110) 상에 저장될 수 있다. 일 실시예에서, 디지털 제품(118)은 보조 특징(120)을 포함할 수 있다. 그러나, 디지털 제품(118)이 초기에 획득될 때, 보조 특징(120)은 이 특징이 디지털 제품(118)에 의해 이용가능하지 않도록 비활성화 또는 로킹된다. 그러나, 클라이언트(110) 상의 디지털 제품(118)의 동작 동안에, 디지털 제품(118)은 보조 특징(120)의 이용의 획득을 개시할 수 있다. 이런 경우에, (자체 또는 오퍼레이팅 시스템의 지원 속에) 디지털 제품(118)은 제품 분배 사이트(102)의 특징 획득 매니저(122)와 통신할 수 있다. 전형적으로, 디지털 제품(118)은 제품 분배 사이트(102)로부터 이미 획득되었다. 특징 획득 매니저(122)는 보조 특징들로의 액세스에 대한 들어오는 요청들의 프로세싱을 관리한다. 예컨대, 특징 획득 매니저(122)는 보조 특징들로의 액세스에 대한 들어오는 요청들을 수신하고, 그 요청이 유효하고 프로세싱되도록 허가되었는지 여부를 판정하고, 필요하다면 그러한 액세스에 대한 지불을 프로세싱하며, 요청하는 클라이언트 디바이스(110)로 인증 응답을 보낸다. 인증 응답의 수신시, 디지털 제품(118)은 액세스 가능한(즉, 언로킹된) 보조 특징(120)을 렌더링할 수 있다. 이러한 실시예에서, 디지털 제품(118)에 제공되는 보조 특징은 클라이언트(110)에게 초기에 다운로드되고, 그 후 보조 특징(120)을 활성화하게 하는 인증만이 클라이언트(110)에게 전달될 필요가 있다. 그러나, 대안적인 실시예에서, 보조 특징(120)은 인증된 후에만 (따라서 디지털 제품(118)의 전달과는 별개로 제공된 후에만) 클라이언트(110)에게 전달될 수 있다.
제품 분배 사이트(102), 제품 제출 및 관리 시스템(104) 및 제품 스토어(106)가 별개의 컴포넌트들인 것으로 도 1에 도시되어 있지만, 이러한 컴포먼트들 중 어느 컴포넌트라도 하나 또는 그 이상의 장치에 결합될 수 있다는 점을 알아야 한다. 예컨대, 제품 제출 및 관리 시스템(104)은 제품 분배 사이트(102)에 통합될 수 있다. 다른 예로서, 제품 스토어(106)는 제품 분배 사이트(102) 또는 제품 제출 및 관리 시스템(104)에 통합될 수 있다.
애플리케이션 프로그램(118)의 보조 특징(120)의 이용을 획득하는 것을 위해 클라이언트(110)에 의한 제품 분배 사이트(예를 들면, 특징 획득 매니저(122))와의 통신을 용이하게 하기 위해, 제품 분배 사이트(102)는 API(Application Programming Interface)를 지원할 수 있다. 예컨대, 제품 분배 사이트(102)에 대한 API들은 일 실시예에서 아래의 Appendix A에 도시된 다음의 API들을 포함할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 클라이언트(200) 또는 클라이언트 디바이스의 블록도이다. 클라이언트(200)는 예를 들어 도 1에 도시된 클라이언트(110)로서 이용하는데 적합할 수 있다.
클라이언트(200)는 그 자신 상에서 실행될 수 있는 애플리케이션 프로그램들에 기본 컴퓨팅 서비스들을 제공하도록 동작하는 오퍼레이팅 시스템(OS)(202)을 포함한다. 또한, 오퍼레이팅 시스템(202)은 커머스 서버(commerce server)(204)를 포함한다. 커머스 서버(204)는 원격 디지털 제품 분배 서버와 같은 원격 서버에 대해 상거래 동작들을 수행하도록 클라이언트(200) 상에서 동작하는 애플리케이션 프로그램들에 의해 활용된다. 예컨대, 원격 서버는 도 1에 도시된 제품 분배 서버(102)에 관련될 수 있다.
클라이언트(200)는 또한 그 자신 상에서 설치되어 실행될 수 있는 하나 또는 그 이상의 애플리케이션 프로그램들을 포함할 수 있다. 전형적으로, 이러한 애플리케이션은 원격 서버(예를 들면, 제품 분배 서버(102))로부터 클라이언트(200)로 획득 및 다운로드될 수 있다. 클라이언트(200) 상에 상주하고 설치된 애플리케이션들은 애플리케이션 프로그램 A(206) 및 애플리케이션 프로그램 B(208)에 의해 나타내진다. 도 2에 도시된 바와 같이, 애플리케이션 프로그램 A(206)는 보조 특징 X(210) 및 보조 특징 Y(212)를 포함한다. 전형적으로, 애플리케이션 프로그램 A(206)가 원격 서버로부터 초기에 획득될 때, 보조 특징들(210 및 212)이 제공되지만 "로킹"되어 있어서 현재로는 이용할 수 없다. 유사하게, 획득될 때 애플리케이션 프로그램 B(208)는 초기에 "로킹"된 보조 특징 Z(214)를 포함한다. 또한, 애플리케이션 프로그램 A(206) 및 애플리케이션 프로그램 B(208)는 보조 특징들(210, 212 및 214) 중 원하는 하나 또는 그 이상이 "언로킹"되도록 커머스 서버(204)를 거쳐 원격 서버(예를 들면, 원격 디지털 제품 분배 서버)와 인터액팅할 수 있다. 일단 보조 특징이 "언로킹"되면, 연관된 애플리케이션 프로그램은 그 후에 보조 특징을 활용할 수 있다.
애플리케이션 프로그램(206, 208)과 커머스 서버(204)간의 통신을 촉진시키기 위해, 커머스 서버(204)는 API(Application Programming interface)를 지원할 수 있다. 예컨대, 커머스 서버(204)에 대한 API들은 하나의 실시예에서는 이하의 Appendix B에 도시된 바와 같은 다음의 API들을 포함할 수 있다. Appendix B는 또한 제품 분배 사이트(102)를 이용하여(예컨대, 네트워크-기반 애플리케이션 스토어를 호스팅함) 보조 특징들을 지원 및 분배하기 위해 애플리케이션 프로그램들을 수정하는 방법에 대한 정보를 포함할 수 있다.
도 3a - 3c는 본 발명의 일 실시예에 따른 보조 특징들에 액세스하는 것을 도시하는 도면이다. 도 3a는 일 실시예에 따른 예시적인 디지털 제품(300)을 도시한다. 예시적인 디지털 제품(300)은 도 1에 도시된 제품 분배 사이트(102)와 같은, 원격 서버로부터 획득될 수 있다. 예시적인 디지털 제품(300)은 애플리케이션 프로그램(302) 및 보조 특징 X (304) 및 보조 특징 Y (306)를 포함할 수 있다. 도 3a에 도시된 바와 같이, 보조 특징 X (304) 및 보조 특징 Y (306)는 양자 모두 "로킹된(locked)" 상태에 있다. 여기서 더 논의되는 바와 같이, 인증될 때, 애플리케이션 프로그램의 보조 특징들은 언로킹될 수 있다. 일반적으로, 보조 특징들은 별개로 언로킹될 수 있고, 몇몇 경우에는 유사한 특징들의 양(1보다 큼)이 이용가능하게 될 수 있다. 도 3b에서, 예시적인 디지털 제품(300)의 보조 특징 X (304)는 "언로킹" 되었으며, 이에 따라 애플리케이션 프로그램 A (302)와 함께 이용될 수 있다. 그러나, 보조 특징 Y (306)는 도 3b에서 "로킹된" 채로 유지된다. 도 3c에서, 예시적인 디지털 제품(300)의 보조 특징 X (304) 및 보조 특징 Y (306)는 양자 모두 "언로킹"되며, 이에 따라 이들은 애플리케이션 프로그램 A (302)와 함께 이용될 수 있다.
전술한 바와 같이, 애플리케이션 프로그램(또는 디지털 제품)의 보조 특징들(또는 보조 콤포넌트들)은 구현예에 따라 변할 수 있다. 보조 특징들은, 모듈들, 툴(tool)들, 캐릭터들, 기능들, 콘텐츠, 또는 데이터에 관련될 수 있다. 게임-기반 애플리케이션 프로그램에서, 보조 특징들은, 새로운 무기들, 새로운 캐릭터들, 연장된 생존들, 부가 게임 레벨 등이 될 수 있다. 생산 애플리케이션(productivity application)에서, 보조 특징은, 부가 모듈(예컨대, 연간 모듈, 지리적 모듈, 콘텐츠 기반 모듈 등), 부가 또는 향상된 기능들(무선 통신들, 프린팅, 저장소 등) 등이 될 수 있다. 정보 애플리케이션들에서는, 보조 특징은, 부가 콘텐츠 또는 데이터, 부가 학습 또는 정보 모듈 등이 될 수 있다.
도 4는 본 발명의 일 실시예에 따른 디지털 제품 제출 프로세스(400)의 순서도이다. 디지털 제품 제출 프로세스(400)는, 예컨대, 클라이언트(112)와 같은 클라이언트 디바이스, 또는 제품 제출 및 관리 시스템(104)와 같은 서버 디바이스에 의해 수행될 수 있다.
디지털 제품 제출 프로세스(400)는 디지털 제품에 대한 제품 정보를 수신할 수 있다(402). 제품 정보는 제출되는 디지털 제품의 유형에 따라 변할 수 있다. 하나의 구현예에서, 디지털 제품 제출 프로세스(400)에 의해 온라인 저장소로 제출될 수 있는 하나의 유형의 디지털 제품은, 컴퓨터 프로그램 제품과 같은 디지털 프로그램 제품이다. 컴퓨터 프로그램 제품에 대한 제품 정보의 예들은, 제품명, 지원 디바이스 유형 표시, 장르 표시, 버전 번호, 제품 식별자, 지원 정보, 및 라이센스 동의 정보 중 하나 이상을 포함할 수 있다. 또한, 디지털 프로그램 제품이 하나 이상의 보조 특징과 결합할 때, 디지털 제품 제출 프로세스(400)는 또한 하나 이상의 보조 특징들에 대한 보조 정보를 수신할 수 있다(404).
다음에, 디지털 제품에 속하는 적어도 하나의 전자 파일이 업로드될 수 있다(406). 디지털 제품은 관련된 하나 이상의 전자 파일들을 가질 수 있다. 예컨대, 디지털 제품은 이진 파일, 지원 또는 도움 파일, 및/또는 하나 이상의 예시적인 스크린 일러스트레이션들을 포함할 수 있다.
또한, 디지털 제품과 함께 이용되는 적어도 하나의 분배 파라미터가 수신될 수 있다(408). 분배 파라미터는, 디지털 제품이 분배될 수 있는 방식을 제어하거나 영향을 주는 데에 이용될 수 있는 파라미터이다. 분배 파라미터의 일례는 가격(pricing) 파라미터이다. 일례로서, 가격 파라미터는 디지털 제품과 연관된 가격 또는 가격 층을 특정할 수 있다. 다른 분배 파라미터들은, 그로부터 디지털 제품이 분배되게 될 디지털 스토어프런트(store front)들에 관련될 수 있다. 게다가, 분배 파라미터들은 또한 프리뷰 적격성(preview eligibility), 라이센스 카테고리(유형들) 등에 관련될 수 있다.
그 후, 디지털 제품은 온라인 저장소(online repository)로 제출될 수 있다(410). 온라인 저장소는, 예컨대, 제품 제출 및 관리 시스템(104)에 대응할 수 있다. 온라인 저장소는, 하나 이상의 전자 파일들, 관련된 제품 정보, 보조 특징 정보, 및 하나 이상의 분배 파라미터들을 수신할 수 있다. 온라인 저장소는, 다음에, 제품 정보 및 하나 이상의 분배 파라미터들에 따라 제품 분배 사이트(예컨대, 온라인 스토어)로부터, 하나 이상의 전자 파일들에 포함된, 디지털 제품의 분배를 허용하도록 동작할 수 있다. 온라인 저장소는, 또한 다음에 디지털 제품의 하나 이상의 보조 특징들에 대한 후속적인 액세스를 촉진하도록 동작할 수 있다. 디지털 제품을 온라인 저장소로 제출(410)한 후에, 디지털 제품 제출 프로세스(400)는 종료할 수 있다.
도 5는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스(500)의 순서도이다. 보조 특징 클라이언트 프로세스(500)는, 예컨대, 도 1에 도시된 클라이언트(110)와 같은, 클라이언트(즉, 클라이언트 디바이스)상에서 수행될 수 있다.
보조 특징 클라이언트 프로세스(500)는 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램을 실행할 수 있다(502). 예컨대, 원격 네트워크 기반 애플리케이션 분배 시스템은, 예컨대, 도 1에 도시된 제품 제출 및 분배 시스템(100)에 관련될 수 있다. 여기서, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램은 클라이언트에서 실행된다(502). 실행중에 몇몇 포인트에서, 클라이언트에서 판정(504)이 제시될 수 있다. 판정(504)은 보조 특징의 획득이 수행되어야할 지 여부를 판정한다. 일 실시예에서, 판정(504)은, 클라이언트의 사용자가 애플리케이션 프로그램에 대한 보조 특징을 획득하길 원하는지 여부를 나타내는 사용자 입력에 기초하여 판정될 수 있다. 예컨대, 애플리케이션 프로그램의 실행중에, 애플리케이션 프로그램은 보조 특징 제공을 사용자에게 제시할 수 있고, 사용자는 그 제공에 응답할 수 있고, 이에 따라 사용자가 보조 특징을 원하는지의 여부가 표시된다.
어느 경우에나, 판정(504)이 보조 특징의 획득이 요청되지 않았다고 판정할 때, 판정(506)은 애플리케이션 프로그램이 중단(즉, 종료)되어야 하는지 여부를 판정할 수 있다. 판정(506)이 애플리케이션 프로그램이 중단되지 않아야 한다고 판정하면, 다음에 애플리케이션 프로그램은 지속되고, 보조 특징 클라이언트 프로세스(500)는 판정(504)을 반복하기 위해 복귀한다. 대안적으로, 판정(506)이 애플리케이션 프로그램이 중단되어야 한다고 판정하면, 다음에 보조 특징 클라이언트 프로세스(500)는 종료될 수 있다.
한편, 판정(504)이 보조 특징의 획득이 요청된 것으로 판정하면, 요청(508)이 원격 네트워크 기반 애플리케이션 분배 시스템에 대해 수행될 수 있다. 요청(508)은, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는 요청이 될 수 있다. 판정(510)은 다음에 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인했는지 여부를 판정할 수 있다. 판정(510)이, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인한 것으로 판정하면, 애플리케이션 프로그램의 보조 특징은 언로킹될 수 있다(512). 여기서, 하나의 환경에서, 원격 네트워크 기반 애플리케이션 분배 시스템은 보조 특징이 언로킹되는 것으로 승인된다는 것을 클라이언트에게 통지할 수 있고, 다음에 애플리케이션 프로그램은 보조 특징을 언로킹하도록 동작할 수 있다. 대안적으로, 판정(510)이, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하지 않은(즉, 거부한) 것으로 판정하면, 보조 특징을 언로킹하기 위한 요청은 거부된다(514). 여기서, 보조 특징이 언로킹되도록 승인되지 않는다는 것을 클라이언트에게 통지함으로써, 애플리케이션 프로그램은 보조 특징을 언로킹하도록 동작하지 않고, 이에 따라 보조 특징은 로킹된 상태로 유지된다. 블록 512 또는 블록 514 이후에, 보조 특징 클라이언트 프로세스(500)는 종료할 수 있다.
도 6a 및 6b는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스(600)의 순서도이다. 보조 특징 클라이언트 프로세스(600)는, 예컨대, 도 1에 도시된 클라이언트(110)와 같은, 클라이언트(클라이언트 디바이스)에 의해 수행될 수 있다.
보조 특징 클라이언트 프로세스(600)는 네트워크 기반 애플리케이션 분배 시스템으로부터 애플리케이션 프로그램의 다운로드(602)에 의해 시작할 수 있다. 예컨대, 클라이언트의 사용자는, 애플리케이션 프로그램을 식별, 구매, 및 다운로드하기 위해 네트워크 기반 애플리케이션 분배 시스템과 인터액팅할 수 있다. 일단 다운로드되면, 애플리케이션 프로그램은 클라이언트상에 인스톨될 수 있다. 그 후, 판정(604)은, 애플리케이션 프로그램이 실행되어야할 지 여부를 판정할 수 있다. 판정(604)이, 애플리케이션 프로그램이 실행되지 않는 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 애플리케이션 프로그램이 실행될 때까지 사실상 대기한다. 일단 판정(604)이, 애플리케이션 프로그램이 실행되는 것으로 판정하면, 애플리케이션 프로그램이 실행된다(606).
다음에, 판정(608)은, 보조 특징이 클라이언트에서 제공되는지 여부를 판정할 수 있다. 판정(608)이, 보조 특징이 제공되지 않는 것으로 판정하면, 판정(610)은, 보조 특징 클라이언트 프로세스(600)가 중단(종료)되어야 하는지 여부를 판정할 수 있다. 판정(610)이, 보조 특징 클라이언트 프로세스(600)가 종료되어야 하는 것으로 판정하면, 다음에 보조 특징 클라이언트 프로세스(600)는 보조 특징이 이용가능하게 하지 않고서 종료할 수 있다. 그와 달리, 판정(610)이, 보조 특징 클라이언트 프로세스(600)가 종료되지 않아야 한다고 판정하면, 보조 특징 클라이언트 프로세스(600)는 판정(608)을 반복하기 위해 복귀한다.
한편, 판정(608)이, 보조 특징이 제공되어야 하는 것으로 판정하면, 보조 특징 오퍼(offer)가 제시될 수 있다(612). 여기서, 제시되는 보조 특징 오퍼(612)는 애플리케이션 프로그램을 동작시키고 있는 클라이언트의 사용자가 볼 수 있거나 들을 수 있다. 하나의 구현예에서, 보조 특징 제공은 클라이언트상에서 실행되는 애플리케이션 프로그램에 의해 제시된다(612). 판정(614)은 다음에, 사용자가 보조 특징 오퍼를 수용하는지 여부를 판정할 수 있다. 판정(614)이, 사용자가 보조 특징 오퍼를 수용하지 않는 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 판정(610)을 반복하기 위해 복귀할 수 있고, 이에 따라 보조 특징 클라이언트 프로세스(600)는 지속되거나 중단될 수 있다.
판정(614)이, 사용자가 보조 특징 제공을 수용한 것으로 판정하면, 보조 특징 정보가 네트워크 기반 애플리케이션 분배 시스템으로부터 요청될 수 있다(616). 판정(618)은, 보조 특징 정보에 대한 요청에 대하여 응답이 수신되었는지 여부를 판정한다. 판정(618)이, 응답이 아직 수신되지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 이러한 응답을 기다릴 수 있다. 한편, 일단 판정(618)이, 보조 특징 정보에 대한 요청에 대한 응답이 수신된 것으로 판정하면, 보조 특징 정보는 다음에 제시될 수 있다(620). 보조 특징 정보가 제시되어(620), 클라이언트 상에서 동작하는 애플리케이션 프로그램의 사용자에게 오퍼되는 보조 특징에 관한 정보를 제공한다. 예컨대, 보조 특징 정보는, 애플리케이션 프로그램과 같은 클라이언트에 의해, 또는 운영 시스템에 의해 표시될 수 있다.
다음에, 판정(622)은, 사용자가 보조 특징의 획득을 확인(confirm)했는지 여부를 판정할 수 있다. 하나의 구현예에 따르면, 애플리케이션 프로그램과 별개로, 운영 시스템은 사용자가 보조 특징을 획득하길 원하는지를 사용자가 확인할 것을 요구할 수 있다. 판정(622)은, 애플리케이션 프로그램이 부주의하게 또는 적절하지 않게 사용자들을 위해 보조 특징들을 획득하지 않도록, 제어되는 방식으로 보조 특징들의 획득을 관리하도록 작용한다. 판정(622)이, 보조 특징의 획득이 아직 확인되지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 이러한 확인을 기다릴 수 있다. 확인이 소정의 시간 내에 발생하지 않는 경우에, 판정(622)은 대안적으로 보조 특징 클라이언트 프로세스(600)가 종료하도록 할 수 있다.
판정(622)이, 보조 특징의 획득이 사용자에 의해 확인된 것으로 판정하면, 보조 특징의 액세스에 대한 인증이 요청될 수 있다(624). 여기서, 보조 특징의 액세스에 대한 인증의 요청은, 예컨대, 네트워크 기반 애플리케이션 분배 시스템에 대해 수행될 수 있다. 그러면, 판정(626)은, 보조 특징의 액세스에 대한 인증이 수신되었는지 여부를 판정할 수 있다. 인증은 인증 응답으로서 또는 인증 응답 내에서 제공될 수 있다. 인증 응답은, 제공된다면, 클라이언트에 의해 수신된다. 그에 따라, 판정(626)은, 인증 응답이 수신되었는지 여부를 판정한다. 판정(626)이 인증 응답이 수신되지 않은 것으로 판정하면, 판정(628)은 타임 아웃이 발생했는지 여부를 판정할 수 있다. 판정(628)이 타임 아웃이 발생한 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 종료할 수 있다. 한편, 판정(628)이, 타임 아웃이 발생하지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 인증 응답의 수신을 기다리도록 판정(626)을 반복하기 위해 복귀할 수 있다. 일단 판정(626)이, 인증 응답이 수신된 것으로 판정하면, 애플리케이션 프로그램의 보조 특징은 언로킹될 수 있다(630). 전형적으로, 애플리케이션 프로그램 자체는, 인증 응답이 클라이언트에 제공되면, 보조 특징을 언로킹하도록 동작할 수 있다. 블록(630) 이후에, 보조 특징 클라이언트 프로세스(600)는 종료할 수 있다.
도 7은 본 발명의 일 실시예에 따른 보조 특징 서버의 흐름도이다. 보조 특징 서버 프로세스(700)는, 예를 들면 도 1에 도시된 제품 분배 사이트(102)와 같은 서버(서버 디바이스)에 의해서 행해진다.
보조 특징 서버 프로세스(700)는 판정(702)으로 시작할 수 있다. 판정(702)은 보조 특징 정보 요청이 수신되었는지를 판정할 수 있다. 일반적으로, 보조 특징 정보 요청은 클라이언트로부터 수신될 수 있다. 일 예로서, 보조 특징 정보 요청은 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 616에 의해서 개시될 수 있다.
판정(702)이 보조 특징 정보 요청이 수신되었다고 판정하는 경우, 보조 특징과 연관된 보조 특징 정보는 704에서 검색될 수 있다. 예를 들면, 서버는 복수의 상이한 보조 특징들을 위한 보조 특징 정보를 저장할 수 있는 데이터 스토리지로의 액세스를 갖는다. 특정 예로서, 보조 특징 정보는 데이터베이스일 수 있는 제품 스토어(106)에 저장된 제품 정보의 일부일 수 있다. 그 후, 검색된 보조 특징 정보(704)는 보내질 수 있다(706). 일반적으로, 보조 특징 정보는 보조 특징 정보 요청을 개시한 클라이언트에게 보내진다(706). 대안적으로, 판정(702)이 보조 특징 정보 요청이 수신되지 않았다고 판정하면, 블록들 704 및 706을 건너뛴다.
블록 706에 뒤따라서, 또는 이를 우회하여, 보조 특징 서버 프로세스(700)는 보조 특징을 언로킹(unlocking)하는 것과 관련된 처리를 실행할 수 있다. 특히, 판정(708)은 언로크(unlock) 요청이 수신되었는지를 판정할 수 있다. 일반적으로, 언로크 요청은 클라이언트로부터 수신될 수 있다. 일 예로서, (인증 요청이기도 한) 언로크 요청은 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 624에 의해서 개시될 수 있다.
판정(708)이 언로크 요청이 수신되었다고 판정하는 경우, 보조 특징 서버 프로세스(700)는 언로크 요청이 승인되는지를 판정할 수 있다(710). 일 구현에서, 승인은 하나 이상의 요구 사항이 맞을 것을 요구할 수 있다. 요구 사항은 구현에 따라서 변할 수 있고, 보조 특징에 대한 하나 이상의 지불, 응용 프로그램의 구입의 이전 지불, 사용자 계정의 실재 등을 포함할 수 있다. 판정(712)이 언로크 요청이 승인되지 않는다고 판정하는 경우, 보조 특징 서버 프로세스(700)는 언로크 요청을 한 클라이언트에게 거절 응답을 보낸다(714). 거절 응답은 거절에 대한 이유를 표시할 수 있다. 대안적으로, 판정(712)이 언로크 요청이 승인된다고 판정하는 경우, 보조 특징을 언로킹하라는 승인 응답은 언로크 요청을 제공하는 클라이언트에게 보내진다(716). 승인 응답은 언로크이 요청된 특정한 보조 특징을 언로킹하는데 사용될 수 있는 승인 코드 또는 코드들을 포함할 수 있다. 일 구현예에서, 승인 응답은 클라이언트 상에서 동작하는 응용 프로그램에 보내지고(716), 그 후 응용 프로그램은 보조 특징을 언로킹하도록 행동할 수 있다(예컨대, 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 630).
한편, 판정(708)이 언로크 요청이 수신되지 않았다고 판정하는 경우, 블록 710 내지 716을 건너뛸 수 있다. 블록들(714 또는 716)(또는 이러한 블록들의 우회로)에 이어서, 보조 특징 서버 프로세스(700)는 판정(702)을 반복하도록 복귀할 수 있다.
2009년 3월 16일에 제출된, 표제 "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUENT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM"의 미국 임시특허출원번호 61/160,640호는, 본 명세서에 참조로서 포함된다.
본 출원은 또한 이하를 참조하고 및/또는 포함한다: (1) 본 명세서에 참조로서 포함되는, 2003년 10월 15일에 제출된, 표제 "METHOD AND SYSTEM FOR SUBMITTING MEDIA FOR NETWORK-BASED PURCHASE AND DISTRIBUTION"의 미국 특허출원번호 10/687,534호, (2) 본 명세서에 참조로서 포함되는, 2007년 2월 27일 제출된, 표제 "PROCESSING OF METADATA CONTENT AND MEDIA CONTENT RECEIVED BY A MEDIA DISTRIBUTION SYSTEM"의 미국 특허출원번호 11/712,303호, (3) 본 명세서에 참조로서 포함되는, 2006년 12월 12일에 제출된, 표제 "TECHNIQUES AND SYSTEMS FOR ELECTRONIC SUBMISSION OF MEDIA FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 11/609,815호, (4) 본 명세서에 참조로서 포함되는, 2007년 1월 12일에 제출된, 표제 "COMPUTERIZED MANAGEMENT OF MEDIA DISTRIBUTION AGREEMENTS"의 미국 특허출원번호 11/622,923호, (5) 본 명세서에 참조로서 포함되는, 2008년 9월 26일에 제출된, 표제 "ELECTRONIC SUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 12/286,076호, (6) 본 명세서에 참조로서 포함되는, 2008년 9월 26일에 제출된, 표제 "NETWORK-BASED DISTRIBUTION OF APPLICATION PRODUCTS"의 미국 특허출원번호 12/286,075호, (7) 본 명세서에 참조로서 포함되는, 2008년 9월 26일에 제출된, 표제 "ELECTRONIC SUBMISSION OF APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 12/286,092호, (8) 본 명세서에 참조로서 포함되는, 2009년 2월 2일에 제출된, 표제 "INTELLIGENT DOWNLOAD OF APPLICATION PROGRAMS"의 미국 특허출원번호 12/368,111호, (9) 본 명세서에 참조로서 포함되는, 2009년 5월 25일에 제출된, 표제 "CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION"의 미국 임시특허출원번호 61/180,925호, 및 (10) 본 명세서에 참조로서 포함되는, 2009년 9월 30일에 제출된, 표제 "CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 호[Att. Dkt. 번호. 101-p685].
상술한 본 발명의 다양한 관점들, 특징들, 실시예들 또는 구현들은 단독으로 또는 다양한 조합으로 사용될 수 있다.
예를 들면, 본 발명의 실시예들은 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 본 발명의 실시예들은 또한 컴퓨터 판독가능한 매체 상의 컴퓨터 판독가능한 코드로서 구체화될 수 있다. 컴퓨터 판독가능한 매체는 그 이후에 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 스토리지 디바이스이다. 컴퓨터 판독가능한 매체의 예들은 일반적으로 ROM(read only memory) 및 RAM(random-access memory)을 포함한다. 컴퓨터 판독가능한 매체의 보다 구체적인 예들은 유형적인(tangible) 것이며 플래시 메모리, EEPROM 메모리, 메모리 카드, CD-ROM, DVD, 하드 드라이브, 자기 테이프, 및 광 데이터 스토리지 디바이스를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 코드가 저장되고 분포된 방식(a distributed fashion)으로 실행되도록 네트워크 결합된(network-coupled) 컴퓨터 시스템들에 걸쳐서 분포되어 있을 수 있다.
본 발명의 다수의 특징들 및 이점들은 기술된 설명으로부터 명백하다. 또한, 당업자에게는 다수의 수정 및 변경이 쉽게 가능할 것이므로, 본 발명은 도시되고 기술된 바와 같이 엄밀한 구조 및 동작에 제한되어서는 안 된다. 그러므로, 적절한 모든 수정 및 균등물들은 본 발명의 범위에 속하는 것으로 여겨질 수 있다.
APPENDIX
B
Commerce Server(StoreKit로 불림)를 위한 프로그램적인 인터페이스(programmatic interface)는 당신의 애플리케이션에 의해 구현되어야만 하는 하나의 프로토콜 및 사용자가 아이템을 구매하기를 희망하는 Application Store에 통신하기 위해 사용되는 소수의(a few) 클래스들로 구성된다.
SKPaymentRequest
모든 것은 지불 요청으로 시작된다. 당신이 당신의 애플리케이션 내로부터 이용가능하게 만든 아이템을 사용자가 구매하기로 결정하면, 당신의 애플리케이션은 구매될 아이템 및 (해당한다면) 구매할 그 아이템의 수량을 상세히 알리는 지불 요청을 작성한다. 구매될 아이템은 당신의 애플리케이션 내에서 productIdentifier 스트링에 의해 식별된다. 이것은, Application Store 및 당신의 애플리케이션이 특정한 아이템을 나타내는 것을 동의한다는 스트링이다.
SKPaymentQueue
지불 큐(payment queue)는 Application Store로의 인터페이스이다. 지불 큐는 Commerce Sever로 애플리케이션의 지불 요청을 송신할 책임이 있다. Commerce Server는 이 요청들을 Application Store로 전달하고 임의의 필요한 프롬프트들을 사용자에게 표시할 것이다. 그것이 사용자의 자격을 인증하고 지불을 승인하면, 지불 큐는 요청이 처리되었음을 당신의 애플리케이션에게 알린다.
SKPaymentTransaction
당신의 애플리케이션이 지불 큐에 지불 요청을 추가할 때, 요청은 트랜잭션 내로 포함된다(encapsulated into). 트랜잭션은 당신에게 요청의 상태 - 그것이 여전히 처리중에 있는지 아니면 성공했거나 실패했는지 - 를 말한다.
당신의 애플리케이션은 지불 큐에게 계류중인(pending) 트랜잭션들의 리스트를 요청할 수 있지만, 애플리케이션이 지불 큐가 갱신된 트랜잭션의 리스트로 그것을 호출할 때까지 기다리는 것이 훨씬 더 흔하다.
SKTransactionObserver
지불 큐와 함께 작업하기 위해, 당신의 애플리케이션은 지불 큐의 관찰자로서 SKTransactionObserver를 구현하는 오브젝트(object)를 추가한다. 트랜잭션 관찰자는 트랜잭션들이 갱신되거나 큐로부터 제거될 때 그것을 알리기 위해 지불 큐에 의해 호출된다.
당신의 애플리케이션은 초기화 동안 관찰자를 지불 큐와 연관시켜야 한다. 사용자가 관찰자 추가 전에 사용자가 아이템을 구매하려고 시도할 때까지 기다리지 마라. 사용자는 아이템을 구매하려고 시도할 수도 있지만 트랜잭션이 완료하기 전에 당신의 애플리케이션을 그만둘 수도 있다. 초기화 동안 관찰자를 추가함으로써, 당신의 애플리케이션이 론칭(launch)할 때에 그 트랜잭션들은 당신의 관찰자에게 포워드될 것이다.
관찰자의 주요 책임은 완료된 모든 구매를 검토하고 사용자가 구매한 콘텐츠를 이용가능하게 하는 것이다.
Commerce Server API는 당신의 애플리케이션에 스토어를 추가하는 프로세스의 작은 부분에 불과하다. 당신은, 당신이 팔기 원하는 특징들을 추적하는 방법, 그들을 사용자에게 표시하는 방법, 및 사용자가 당신의 스토어프론트로부터 어떤 것을 구매할 때 콘텐츠를 언로킹하는(unlock) 방법을 결정할 필요가 있을 것이다.
이는, 더 큰 설계 이슈들을 다루기 전에, 당신이 당신의 애플리케이션에 스토어를 추가하는 것을 이어서 하고자 할 때 필요하게 될 기본 단계들을 이해하는데 도움이 된다.
The Step-By-Step Process
당신이 프로젝트를 셋업할 때, StoreKit.framework로의 링크를 확실히 해라. 그 다음, 하나의 실시예에 따라, 당신은 다음과 같은 단계들에 의해 당신의 애플리케이션에 스토어를 추가할 수 있다.
1. 당신의 애플리케이션 내에서 당신이 팔기 원하는 아이템 리스트를 결정해라. 게임을 위해, 당신은 이것을 사용하여 새로운 콘텐츠를 사용자에게 팔 수도 있을 것이다. 생산 애플리케이션을 위해, 당신은 당신의 애플리케이션 내에서 새로운 특징들을 언로킹하는 능력을 제안할 수도 있을 것이다.
당신이 제공할 수 있는 특징들의 유형에는 한계가 있을 수 있다. 당신은 당신의 애플리케이션에 이미 들어 있는 코드를 언로킹할 수 있지만, StoreKit API는 현재 그 자체를 패치(patch)하거나 추가적인 코드 라이브러리들을 다운로드하는 능력을 당신의 애플리케이션에 제공하지 않는다. 애플리케이션 스토어 구매들은 현존하는 코드를 언로킹할 수 있거나 또는 데이터로서 완전히 구현될 수 있어야만 한다. 당신의 특징들이 추가적인 코드를 요구한다면, 당신은 당신의 애플리케이션의 새로운 버전을 출하해야 한다.
2. 당신의 애플리케이션 내에서 팔리게 될 각 아이템에 대한 제품 식별자 스트링을 등록해라. 당신이 팔려는 새로운 아이템을 추가하기 원할 때마다 당신은 이 단계를 다시 찾을 것이다. 당신의 스토어 안에서 팔리게 될 각각의 아이템은 고유의 제품 식별자 스트링을 필요로 한다. Application Store는 이 스트링을 사용하여 특징의 이름 및 그 가격을 찾는다. 이 제품 식별자들은 각 애플리케이션에 특유한 것이고 당신의 애플리케이션이 그런 것처럼 Application Store에 등록된다.
3. 판매를 위한 아이템들을 표시하는 사용자 인터페이스를 추가하고 사용자가 그들을 선택하도록 허용해라. StoreKit는 사용자 인터페이스를 제공하지 않는다. 당신이 당신의 고객들에게 어떻게 물건을 파는지에 대한 모습 및 느낌(look and feel)은 당신에게 달려 있다!
중요한 것: StoreKit은 지불 트랜잭션에 초점을 맞춘다. 그것은, 당신의 애플리케이션이 가격을 포함하는, 구매할 가능한 아이템들에 관한 정보를 검색하기 위한 메커니즘을 제공하지 않는다. 당신의 애플리케이션은 이 데이터를 국부적으로 저장할 필요가 있거나 그것을 당신 자신의 개인 서버로부터 불러낼(fetch) 필요가 있다.
4. 사용자가 구매할 아이템을 선택할 때, 당신의 애플리케이션은 새로운 지불 요청을 작성하여 그것을 지불 큐에 추가할 것이다.
특정한 아이템이 한 번보다 많이 구매될 수 있다면, 당신은 구매할 아이템의 수량을 포함하는 단일 요청을 작성할 수 있다.
5. 클래스 상에서 SKTransactionObserver 프로토콜을 구현하라.
당신은 당신의 관찰자에서의 방법: paymentQueue:updateTransactions를 구현해야 한다. 이러한 방법 없이는, 당신의 애플리케이션은 결코 처리된 트랜잭션들에 관한 Application Store로부터의 정보를 수신하지 못할 것이다.
6. 지불 큐로 트랜잭션 관찰자를 등록해라.
당신의 애플리케이션은 트랜잭션 관찰자 오브젝트를 예시해야 하고 그것을 관찰자로서 지불 큐에 추가해야 한다.
당신의 애플리케이션은 초기화 동안 관찰자를 추가해야 한다. StoreKit는 향후의(future) 데이터에서 전달될 당신의 애플리케이션의 이전 론칭(launch) 동안 큐되었던(were queued) 트랜잭션들을 허용한다. 예를 들어, 사용자는 전화를 걸기 위해 당신의 애플리케이션을 그만두었을 수도 있다.
7. 성공적인 구매를 위한 트랜잭션을 완료하라.
transactionIdentifier는 사용자의 지불 처리 후에 Application Store에 의해 생성된 스트링이다. 당신의 애플리케이션은 이 정보로 어떠한 것도 행하도록 요구되지 않지만, 당신은 그것을 당신의 애플리케이션을 위한 감사 추적(audit trail)의 일부로서 기록하기를 원할 수도 있다.
당신의 애플리케이션이, 사용자가 구매한 콘텐츠를 제공하기 위해 필요한 단계들을 취하는 것은 매우 중요하다. 아이템에 대한 지불은 이미 수신되었으므로, 사용자는 그들이 사용가능하게 되기를 기대할 것이다.
당신이 사용자에게 그들의 콘텐츠를 제공하면, 당신의 애플리케이션은 동작을 완료하기 위해 finishTransaction: 을 호출해야 한다. 이는 트랜잭션 큐로부터 트랜잭션을 제거할 것이다. 일단 당신의 애플리케이션이 finishTransaction:을 호출하면, 이 트랜잭션은 더 이상 당신의 애플리케이션의 트랜잭션 관찰자에게 보내지지 않을 것이다. 이런 이유로, 이것은 당신이 여기서 수행하는 마지막 단계일 것이다.
8. 실패한 구매에 대한 트랜잭션을 완료하라.
실패한 구매에 대한 유일한 요구조건은 당신이 그것을 큐로부터 제거하는 것이다. 당신은 필요에 따라 다른 액션들을 취하도록 선택할 수도 있다.
Claims (24)
- 애플리케이션 프로그램의 보조 특징들(supplemental features)을 언로킹(unlock)하기 위한 방법으로서,
상기 방법은 컴퓨팅 디바이스 상에서 작동하고,
상기 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 상기 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득되고, 상기 애플리케이션 프로그램은 자신 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 포함함 - 와,
상기 컴퓨팅 디바이스에서, 상기 애플리케이션 프로그램의 사용자가 현재적으로 로킹된 상기 적어도 하나의 보조 특징의 사용(usage)을 획득하기를 바라는지를 판정하는 단계와,
상기 원격 네트워크 기반 애플리케이션 분배 시스템이 상기 적어도 하나의 보조 특징의 언로킹을 승인(approve)할 것을 요청하는 단계와,
상기 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증(authorization)을 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와,
이후에 상기 컴퓨팅 디바이스에서 상기 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 상기 애플리케이션 프로그램이 상기 적어도 하나의 보조 특징을 활용하도록 허용하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 판정하는 단계 이전에, 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 요청하는 단계 - 상기 보조 특징 정보는 상기 적어도 하나의 보조 특징에 관계된 적어도 기술 정보(descriptive information)를 포함함 - 와,
상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 보조 특징 정보를, 상기 컴퓨팅 디바이스에서, 다음으로 수신하는 단계와,
상기 판정 단계 이전에, 상기 컴퓨팅 디바이스에서 상기 보조 특징 정보를 제시하는 단계
를 더 포함하는 방법. - 제1항에 있어서, 상기 방법은 상기 애플리케이션 프로그램이 실행 상태에 유지되는 동안에 작동하는 방법.
- 제1항에 있어서, 상기 요청하는 단계는,
요청을 상기 원격 네트워크 기반 애플리케이션 분배 시스템에게 보내는 단계 - 이 요청은 (i) 상기 적어도 하나의 보조 특징에 대한 특징 식별자 및 (ii) 상기 애플리케이션 프로그램에 대한 애플리케이션 식별자를 적어도 포함함 - 를 포함하는
방법. - 제1항에 있어서, 상기 보조 특징은 상기 애플리케이션 프로그램의 보조 컴포넌트인 방법.
- 제1항에 있어서, 상기 보조 특징은 상기 애플리케이션 프로그램을 위한 부가 디지털 콘텐츠인 방법.
- 제1항에 있어서, 상기 컴퓨팅 디바이스는 애플리케이션 프로그램들을 적어도 실행할 수 있는 핸드헬드 전자 디바이스인 방법.
- 제1항에 있어서, 상기 컴퓨팅 디바이스는 오퍼레이팅 시스템를 포함하고, 상기 애플리케이션 프로그램과 상기 원격 네트워크 기반 애플리케이션 분배 시스템 간의 통신은 상기 오퍼레이팅 시스템를 통해서 핸들링되는 방법.
- 제8항에 있어서, 상기 판정하는 단계, 요청하는 단계 및 상기 수신하는 단계는 상기 애플리케이션 프로그램이 여전히 동작 중인 동안에 상기 오퍼레이팅 시스템에 의해 수행되는 방법.
- 제9항에 있어서, 상기 언로킹은 상기 애플리케이션 프로그램에 의해 수행되는 방법.
- 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서,
상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터의 보조 특징 정보에 대한 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와,
상기 애플리케이션 프로그램의 보조 특징과 연관된 상기 보조 특징 정보를 검색하는 단계 - 상기 보조 특징 정보는 상기 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징에 관계된 적어도 기술 정보를 포함함 - 와,
상기 검색된 보조 특징 정보를 상기 컴퓨팅 디바이스에게 보내는 단계와,
상기 애플리케이션 프로그램의 보조 특징을 언로킹하라는 상기 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와,
상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와,
상기 판정하는 단계가 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하였다고 판정하면 상기 보조 특징을 언로킹하도록 상기 컴퓨팅 디바이스에게 인증을 보내는 단계
를 포함하는 컴퓨터 구현 방법. - 제11항에 있어서, 상기 애플리케이션 프로그램은 애플리케이션 식별자에 의해 식별되고, 상기 보조 특징은 특징 식별자에 의해 식별되는 컴퓨터 구현 방법.
- 제12항에 있어서, 상기 보조 특징 정보의 검색은 상기 특징 식별자 및 상기 애플리케이션 식별자에 기초하는 컴퓨터 구현 방법.
- 제12항에 있어서, 상기 보조 특징 정보를 검색하는 단계는
상기 특징 식별자가 상기 애플리케이션 프로그램에 대한 애플리케이션 식별자와 연관되는 것을 확인(validate)하는 단계를 더 포함하는 컴퓨터 구현 방법. - 제11항에 있어서,
상기 보조 특징 정보는 상기 보조 특징이 언로킹되게 하기 위한 적어도 비용 정보를 포함하고,
상기 판정하는 단계는 상기 네트워크 기반 애플리케이션 분배 시스템에서 상기 보조 특징에 대한 지불 처리를 개시시키는 단계를 포함하는
컴퓨터 구현 방법. - 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서,
상기 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징을 언로킹하라는 상기 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와,
상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와,
상기 판정하는 단계가 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하였다고 판정하면 상기 보조 특징을 언로킹하도록 상기 컴퓨팅 디바이스에게 인증을 보내는 단계
를 포함하는 컴퓨터 구현 방법. - 제16항에 있어서, 상기 애플리케이션 프로그램은 애플리케이션 식별자에 의해 식별되고, 상기 보조 특징은 특징 식별자에 의해 식별되는 컴퓨터 구현 방법.
- 모바일 컴퓨팅 디바이스로서,
적어도 하나의 로킹된 특징을 갖는 적어도 하나의 애플리케이션 프로그램과,
상기 모바일 컴퓨팅 디바이스 상에 상주(resident)하는 커머스 서버(commerce server) - 이 커머스 서버는, 상기 적어도 하나의 애플리케이션 프로그램이 상기 모바일 컴퓨팅 디바이스 상에서 작동하고 있는 동안에, 원격 서버와 인터액팅하여 상기 적어도 하나의 애플리케이션 프로그램의 상기 적어도 하나의 로킹된 특징으로의 액세스를 촉진시키도록 구성됨 -
를 포함하는 모바일 컴퓨팅 디바이스. - 제18항에 있어서,
상기 모바일 컴퓨팅 디바이스는 핸드헬드 다중 기능 전자 디바이스이고,
상기 핸드헬드 다중 기능 전자 디바이스는 적어도 상기 적어도 하나의 애플리케이션 프로그램을 적어도 실행하기 위한 능력과 또한 무선 음성 및 데이터 통신들을 지원하기 위한 능력을 제공하는
모바일 컴퓨팅 디바이스. - 제18항에 있어서,
상기 모바일 컴퓨팅 디바이스는 오퍼레이팅 시스템를 더 포함하고, 상기 커머스 서버는 상기 오퍼레이팅 시스템의 부분인 모바일 컴퓨팅 디바이스. - 제18항에 있어서,
상기 적어도 하나의 애플리케이션 프로그램은 사용자에게 상기 적어도 하나의 로킹된 특징의 이용가능성을 알려주고, 상기 사용자가 상기 로킹된 특징을 언로킹하기를 요청하면 상기 적어도 하나의 애플리케이션 프로그램은 상기 로킹된 특징이 언로킹되어야 하는지의 여부를 판정하기 위해 상기 커머스 서버와 인터액팅하는
모바일 컴퓨팅 디바이스. - 제21항에 있어서,
상기 커머스 서버는 상기 적어도 하나의 애플리케이션 프로그램의 사용자가 상기 로킹된 특징의 사용을 획득하기를 바라는지를 판정하도록 구성되고,
상기 커머스 서버는, 상기 원격 서버와 인터액팅하여 (i) 상기 원격 서버가 상기 로킹된 특징의 언로킹을 승인할 것을 요청하고, 또한 (ii) 상기 로킹된 특징이 언로킹에 대해 승인되었다는 인증을 상기 원격 서버로부터 수신하도록 구성되는
모바일 컴퓨팅 디바이스. - 제22항에 있어서, 상기 적어도 하나의 애플리케이션 프로그램은, 상기 원격 서버로부터의 인증이 상기 로킹된 특징이 언로킹에 대해 승인되었다는 것을 표시하면, 상기 컴퓨팅 디바이스에서 상기 애플리케이션 프로그램의 상기 로킹된 특징을 언로킹하도록 구성되는
모바일 컴퓨팅 디바이스. - 포터블 클라이언트 컴퓨팅 디바이스로서,
커머스 서버를 포함하는 오퍼레이팅 시스템 - 상기 커머스 서버는 네트워크를 통해서 원격 서버와 통신하여 그에 의해 애플리케이션 프로그램들 또는 보조 특징들을 획득하거나 또는 활성화하도록 구성됨 - 과,
적어도 하나의 보조 특징을 갖는 애플리케이션 프로그램을 저장하도록 구성된 데이터 저장 디바이스 - 상기 애플리케이션 프로그램은, 상기 커머스 서버와 통신하여 (i) 상기 적어도 하나의 보조 특징에 액세스하기 위한 권리를 획득하고, 또한 (ii) 상기 적어도 하나의 보조 특징을 획득하기 위한 권리가 획득되었다면 상기 적어도 하나의 보조 프로그램이 상기 애플리케이션 프로그램에 의해 액세스 가능하게 되도록 하여주게 구성됨 -
을 포함하는 포터블 클라이언트 컴퓨팅 디바이스.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16064009P | 2009-03-16 | 2009-03-16 | |
US61/160,640 | 2009-03-16 | ||
US12/571,266 US20100235254A1 (en) | 2009-03-16 | 2009-09-30 | Application Products with In-Application Subsequent Feature Access Using Network-Based Distribution System |
US12/571,266 | 2009-09-30 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130007707A Division KR101361313B1 (ko) | 2009-03-16 | 2013-01-23 | 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100105454A true KR20100105454A (ko) | 2010-09-29 |
KR101238940B1 KR101238940B1 (ko) | 2013-03-04 |
Family
ID=42154101
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100023496A KR101238940B1 (ko) | 2009-03-16 | 2010-03-16 | 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 |
KR1020130007707A KR101361313B1 (ko) | 2009-03-16 | 2013-01-23 | 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130007707A KR101361313B1 (ko) | 2009-03-16 | 2013-01-23 | 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100235254A1 (ko) |
EP (1) | EP2230620A1 (ko) |
JP (2) | JP2010218559A (ko) |
KR (2) | KR101238940B1 (ko) |
CN (1) | CN101840556A (ko) |
AU (1) | AU2010200963A1 (ko) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9406068B2 (en) | 2003-04-25 | 2016-08-02 | Apple Inc. | Method and system for submitting media for network-based purchase and distribution |
WO2004097635A2 (en) | 2003-04-25 | 2004-11-11 | Apple Computer, Inc. | Graphical user interface for browsing, searching and presenting media items |
US7844548B2 (en) | 2003-10-15 | 2010-11-30 | Apple Inc. | Techniques and systems for electronic submission of media for network-based distribution |
US7827162B2 (en) | 2006-05-15 | 2010-11-02 | Apple Inc. | Media package format for submission to a media distribution system |
US20070265969A1 (en) * | 2006-05-15 | 2007-11-15 | Apple Computer, Inc. | Computerized management of media distribution agreements |
US8015237B2 (en) | 2006-05-15 | 2011-09-06 | Apple Inc. | Processing of metadata content and media content received by a media distribution system |
US7962634B2 (en) | 2006-05-15 | 2011-06-14 | Apple Inc. | Submission of metadata content and media content to a media distribution system |
US9342287B2 (en) | 2008-05-05 | 2016-05-17 | Apple Inc. | Software program ratings |
US10255580B2 (en) * | 2008-05-05 | 2019-04-09 | Apple Inc. | Network-based distribution of application products |
US9076176B2 (en) | 2008-05-05 | 2015-07-07 | Apple Inc. | Electronic submission of application programs for network-based distribution |
US20100235889A1 (en) * | 2009-03-16 | 2010-09-16 | Michael Kuohao Chu | Application products with in-application subsequent feature access using network-based distribution system |
US20100299219A1 (en) * | 2009-05-25 | 2010-11-25 | Cortes Ricardo D | Configuration and Management of Add-ons to Digital Application Programs for Network-Based Distribution |
US9729609B2 (en) | 2009-08-07 | 2017-08-08 | Apple Inc. | Automatic transport discovery for media submission |
US8935217B2 (en) | 2009-09-08 | 2015-01-13 | Apple Inc. | Digital asset validation prior to submission for network-based distribution |
WO2012001232A2 (en) * | 2010-06-30 | 2012-01-05 | Nokia Corporation | Method and apparatus for in-application purchasing |
US10102354B2 (en) * | 2010-11-19 | 2018-10-16 | Microsoft Technology Licensing, Llc | Integrated application feature store |
AU2011334594A1 (en) * | 2010-11-22 | 2013-05-30 | Lockerteck Pty Ltd | A system and method for providing an application lock |
WO2012152161A1 (zh) * | 2011-08-25 | 2012-11-15 | 中兴通讯股份有限公司 | 应用商店***及实现应用内购买功能的方法 |
WO2012129865A1 (zh) * | 2011-03-31 | 2012-10-04 | 中兴通讯股份有限公司 | 应用商店***及实现应用内购买功能的方法 |
US9064276B2 (en) * | 2011-05-24 | 2015-06-23 | Amazon Technologies, Inc. | Service for managing digital content resales |
US9524378B2 (en) * | 2011-05-31 | 2016-12-20 | Qualcomm Incorporated | Apparatus and method of in-application licensing |
US9443258B2 (en) * | 2011-08-26 | 2016-09-13 | Apple Inc. | Mass ingestion of content related metadata to an online content portal |
US8914790B2 (en) | 2012-01-11 | 2014-12-16 | Microsoft Corporation | Contextual solicitation in a starter application |
US9203624B2 (en) | 2012-06-04 | 2015-12-01 | Apple Inc. | Authentication and notification heuristics |
US8990188B2 (en) | 2012-11-30 | 2015-03-24 | Apple Inc. | Managed assessment of submitted digital content |
US9087341B2 (en) | 2013-01-11 | 2015-07-21 | Apple Inc. | Migration of feedback data to equivalent digital assets |
KR20150141442A (ko) * | 2014-06-10 | 2015-12-18 | 한국전자통신연구원 | 사용자 수준에 맞게 ui 접근을 통제하는 응용 소프트웨어 서비스 시스템 및 그 방법 |
US10846772B2 (en) | 2014-08-08 | 2020-11-24 | Microsoft Technology Licensing, Llc | Item maps for app store apps |
JP6608147B2 (ja) | 2015-02-23 | 2019-11-20 | デクセリアルズ株式会社 | 多層接着フィルム、および接続構造体 |
CN108132813B (zh) * | 2017-12-21 | 2021-07-23 | 北京小米移动软件有限公司 | 应用程序的功能锁定方法、装置及电子设备 |
WO2019222577A1 (en) * | 2018-05-17 | 2019-11-21 | Mz Ip Holdings, Llc | System and method for dynamically and selectively releasing features and content in an application client |
CN109840397A (zh) * | 2018-12-27 | 2019-06-04 | 北京奇安信科技有限公司 | 终端软件授权处理方法及装置 |
Family Cites Families (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4750119A (en) * | 1986-10-10 | 1988-06-07 | Tradevest, Inc. | Purchasing system with rebate feature |
US5050213A (en) * | 1986-10-14 | 1991-09-17 | Electronic Publishing Resources, Inc. | Database usage metering and protection system and method |
US5253165A (en) * | 1989-12-18 | 1993-10-12 | Eduardo Leiseca | Computerized reservations and scheduling system |
US5627973A (en) * | 1994-03-14 | 1997-05-06 | Moore Business Forms, Inc. | Method and apparatus for facilitating evaluation of business opportunities for supplying goods and/or services to potential customers |
US5535383A (en) * | 1994-03-17 | 1996-07-09 | Sybase, Inc. | Database system with methods for controlling object interaction by establishing database contracts between objects |
US5943422A (en) * | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
CN100452072C (zh) * | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于管理在第一装置和第二装置之间的数字文档的分布的方法 |
US5765152A (en) * | 1995-10-13 | 1998-06-09 | Trustees Of Dartmouth College | System and method for managing copyrighted electronic media |
JPH09114786A (ja) * | 1995-10-13 | 1997-05-02 | Fujitsu Ltd | オンライン機能制限解除システム |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US6341353B1 (en) * | 1997-04-11 | 2002-01-22 | The Brodia Group | Smart electronic receipt system |
US5954826A (en) * | 1997-09-29 | 1999-09-21 | Sun Microsystems, Inc. | Method and apparatus for analyzing data |
US6363486B1 (en) * | 1998-06-05 | 2002-03-26 | Intel Corporation | Method of controlling usage of software components |
US6067531A (en) * | 1998-07-21 | 2000-05-23 | Mci Communications Corporation | Automated contract negotiator/generation system and method |
US6546555B1 (en) * | 1998-07-23 | 2003-04-08 | Siemens Corporate Research, Inc. | System for hypervideo filtering based on end-user payment interest and capability |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
GB2341462B (en) * | 1998-09-12 | 2003-06-11 | Ibm | Method for deployment of incremental versions of applications |
EP0999510A3 (en) * | 1998-11-02 | 2003-10-22 | Ncr International Inc. | Methods and apparatus for automated item return processing |
US6363503B1 (en) * | 1998-11-24 | 2002-03-26 | Autodesk, Inc. | Error handling and representation in a computer-aided design environment |
US7624046B2 (en) * | 1998-12-24 | 2009-11-24 | Universal Music Group, Inc. | Electronic music/media distribution system |
US6233682B1 (en) * | 1999-01-22 | 2001-05-15 | Bernhard Fritsch | Distribution of musical products by a web site vendor over the internet |
EP1024443A3 (en) * | 1999-01-29 | 2002-01-09 | Canon Kabushiki Kaisha | Utilising electronically accessible resources |
US7292980B1 (en) * | 1999-04-30 | 2007-11-06 | Lucent Technologies Inc. | Graphical user interface and method for modifying pronunciations in text-to-speech and speech recognition systems |
JP3763702B2 (ja) * | 1999-05-27 | 2006-04-05 | 富士通株式会社 | データ運用方法 |
US6591420B1 (en) * | 1999-08-25 | 2003-07-08 | Warner Music Group, Inc. | Remote control system for audio and video content |
US20040210481A1 (en) * | 1999-09-15 | 2004-10-21 | Quinlan Christopher F. | Method and system for redeeming promotional offers |
US7383233B1 (en) * | 1999-12-03 | 2008-06-03 | General Electric Company | Method of designing an electronic transaction system |
US7159233B2 (en) * | 2000-01-28 | 2007-01-02 | Sedna Patent Services, Llc | Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system |
CA2409138A1 (en) * | 2000-05-17 | 2001-11-22 | Interwoven Inc. | Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network |
US7076445B1 (en) * | 2000-06-20 | 2006-07-11 | Cartwright Shawn D | System and methods for obtaining advantages and transacting the same in a computer gaming environment |
AU7593601A (en) * | 2000-07-14 | 2002-01-30 | Atabok Inc | Controlling and managing digital assets |
JP2002073342A (ja) * | 2000-08-31 | 2002-03-12 | Toshiba Corp | 製品機能アップ方法及びそのシステム |
US7103906B1 (en) * | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
US6636488B1 (en) * | 2000-10-11 | 2003-10-21 | Aperto Networks, Inc. | Automatic retransmission and error recovery for packet oriented point-to-multipoint communication |
US7389424B2 (en) * | 2000-10-24 | 2008-06-17 | Kurzweil Cyberart Technologies, Inc. | Technique for distributing software |
US20020091584A1 (en) * | 2000-10-25 | 2002-07-11 | Clark George Philip | Electronic content distribution |
FR2816421A1 (fr) * | 2000-11-06 | 2002-05-10 | Evidian | Gestion coordonnee de contrats et services, notamment de telecommunication |
US7194544B2 (en) * | 2000-12-14 | 2007-03-20 | Borland Software Corporation | Method and system for dynamic protocol selection among object-handled specified protocols |
US8055899B2 (en) * | 2000-12-18 | 2011-11-08 | Digimarc Corporation | Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities |
US6938005B2 (en) * | 2000-12-21 | 2005-08-30 | Intel Corporation | Digital content distribution |
US20020087440A1 (en) * | 2000-12-29 | 2002-07-04 | Blair William R. | Method for reconstructing and validating a bill of materials and creating a comprehensive bill of materials |
US7028009B2 (en) * | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
US8452652B2 (en) * | 2001-01-29 | 2013-05-28 | International Business Machines Corporation | Electronic coupons decision support and recommendation system |
JP2002268893A (ja) * | 2001-03-14 | 2002-09-20 | Hitachi Information Systems Ltd | プログラムダウンロード方法及び該ダウンロード方法を行うプログラム |
US20020143782A1 (en) * | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Content management system |
US20020158916A1 (en) * | 2001-04-26 | 2002-10-31 | International Business Machines Corporation | Graphical e-commerce shopping terminal system and method |
US6754895B1 (en) * | 2001-04-26 | 2004-06-22 | Palm Source, Inc. | Method and system for automatic firmware updates in a portable hand-held device |
JP2002328852A (ja) * | 2001-05-01 | 2002-11-15 | Yasuo Nishizawa | Httpプロトコロル統一制御による高トランザクションの各種電子商取引対応マルチメディアダイレクトコマースシステム |
US20030182188A1 (en) * | 2001-10-26 | 2003-09-25 | Mark Duchow | System and method for providing electronic vouchers |
US20030149720A1 (en) * | 2002-02-06 | 2003-08-07 | Leonid Goldstein | System and method for accelerating internet access |
GB2402781A (en) * | 2002-03-22 | 2004-12-15 | Sun Microsystems Inc | Mobile download system |
WO2003088119A1 (en) * | 2002-04-08 | 2003-10-23 | Topcoder, Inc. | System and method for soliciting proposals for software development services |
US20040039754A1 (en) * | 2002-05-31 | 2004-02-26 | Harple Daniel L. | Method and system for cataloging and managing the distribution of distributed digital assets |
JP4054626B2 (ja) * | 2002-07-18 | 2008-02-27 | オリンパス株式会社 | 情報端末装置、及びプログラム |
AU2003262857A1 (en) | 2002-08-24 | 2004-03-11 | Ingrian Networks, Inc. | Selective feature activation |
US7840960B2 (en) * | 2002-12-17 | 2010-11-23 | Kabushiki Kaisha Toshiba | Content distribution method and content distribution package |
JP3857641B2 (ja) * | 2002-12-17 | 2006-12-13 | 株式会社東芝 | コンテンツ配信方法及びコンテンツ配信システム |
US7581255B2 (en) * | 2003-01-21 | 2009-08-25 | Microsoft Corporation | Systems and methods for licensing one or more data streams from an encoded digital media file |
JP2004227334A (ja) * | 2003-01-23 | 2004-08-12 | Fujitsu Ltd | ソフトウエア関連情報提供装置、ソフトウエア関連情報提供方法およびソフトウエア関連情報提供プログラム |
US7729946B2 (en) * | 2003-01-24 | 2010-06-01 | Massive Incorporated | Online game advertising system |
US7668752B2 (en) * | 2003-03-13 | 2010-02-23 | Realnetworks, Inc. | System and method for the distribution of software products |
JP2005071227A (ja) * | 2003-08-27 | 2005-03-17 | Sony Corp | メタデータ流通管理システム,メタデータ流通管理装置,個人別メタデータ管理装置,クライアント端末,メタデータ流通管理方法およびコンピュータプログラム |
US9100814B2 (en) * | 2003-09-17 | 2015-08-04 | Unwired Plant, Llc | Federated download of digital content to wireless devices |
US20060008256A1 (en) * | 2003-10-01 | 2006-01-12 | Khedouri Robert K | Audio visual player apparatus and system and method of content distribution using the same |
US7343347B2 (en) * | 2003-10-08 | 2008-03-11 | Time Warner Inc. | Electronic media player with metadata based control and method of operating the same |
DE602004005485T2 (de) * | 2003-11-11 | 2007-11-29 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verfahren zum beurteilen der nutzungserlaubnis für informationen und inhaltsverbreitungssystem, das dieses verfahren verwendet |
US7433835B2 (en) * | 2004-01-27 | 2008-10-07 | Amazon Technologies, Inc. | Providing a marketplace for web services |
US20050197946A1 (en) * | 2004-03-05 | 2005-09-08 | Chris Williams | Product data file for online marketplace sales channels |
US7685512B2 (en) * | 2004-05-28 | 2010-03-23 | International Business Machines Corporation | Representing logical model extensions and wire format specific rendering options in XML messaging schemas |
SG151264A1 (en) * | 2004-06-08 | 2009-04-30 | Marketing Intellectual Propert | A shopping system and method |
TWI267753B (en) * | 2004-08-20 | 2006-12-01 | Cyberlink Corp | System and method for licensing software |
US7849329B2 (en) * | 2004-09-01 | 2010-12-07 | Microsoft Corporation | Licensing the use of a particular feature of software |
US7665141B2 (en) * | 2004-11-24 | 2010-02-16 | Ghada Young | Origin and custody of copies from a stored electronic record verified page by page |
US7917133B2 (en) * | 2004-12-23 | 2011-03-29 | Research In Motion Limited | Method and apparatus for after-market vending of feature-provisioning software to third party mobile wireless communication devices |
EP1684223A1 (en) * | 2005-01-22 | 2006-07-26 | CyberLink Corp. | System and method for licensing software |
JP2006208692A (ja) * | 2005-01-27 | 2006-08-10 | Shigeo Maruyama | 音楽配信方法及び装置 |
WO2006108162A2 (en) * | 2005-04-06 | 2006-10-12 | Getty Images, Inc. | Digital asset management system, including customizable metadata model for asset cataloging and permissioning of digital assets, such as for use with digital images and songs |
US20060242640A1 (en) * | 2005-04-22 | 2006-10-26 | Heinz Pauly | System and method for business software integration |
US7930680B2 (en) * | 2005-07-08 | 2011-04-19 | Microsoft Corporation | XML schema design for environment-specific types based on base types |
JP4815927B2 (ja) * | 2005-07-27 | 2011-11-16 | ソニー株式会社 | 表示装置、メニュー表示方法、メニュー表示方法のプログラム及びメニュー表示方法のプログラムを記録した記録媒体 |
US9286388B2 (en) * | 2005-08-04 | 2016-03-15 | Time Warner Cable Enterprises Llc | Method and apparatus for context-specific content delivery |
US20070073694A1 (en) * | 2005-09-26 | 2007-03-29 | Jerome Picault | Method and apparatus of determining access rights to content items |
JP2007220062A (ja) * | 2006-01-19 | 2007-08-30 | Konica Minolta Holdings Inc | 制御プログラム及びプログラム提供システム並びにプログラム提供方法 |
US20070208670A1 (en) * | 2006-02-17 | 2007-09-06 | Yahoo! Inc. | Method and system for selling rights in files on a network |
KR100796374B1 (ko) * | 2006-04-21 | 2008-01-21 | (주) 디엠디 | 네트워크 기반의 정보기술 솔루션 개발관리 시스템 및 그방법 |
US7962634B2 (en) * | 2006-05-15 | 2011-06-14 | Apple Inc. | Submission of metadata content and media content to a media distribution system |
US8015237B2 (en) * | 2006-05-15 | 2011-09-06 | Apple Inc. | Processing of metadata content and media content received by a media distribution system |
US7954048B2 (en) * | 2006-09-21 | 2011-05-31 | International Business Machines Corporation | Content management via configuration set relationships in a content management system |
US20080147558A1 (en) * | 2006-10-24 | 2008-06-19 | Robert Korbin Kraus | Method and system for providing prospective licensees and/or purchasers with access to licensable media content |
JP2008112404A (ja) * | 2006-10-31 | 2008-05-15 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
WO2008058289A2 (en) * | 2006-11-09 | 2008-05-15 | Lynx System Developers Inc | Systems and methods for real-time allocation of digital content |
US20080120199A1 (en) * | 2006-11-17 | 2008-05-22 | Tracy Pirnack | Method and system for upgrading a previously purchased media asset |
US10152687B2 (en) * | 2006-12-01 | 2018-12-11 | Goldman Sachs & Co. LLC | Application directory |
US7739256B2 (en) * | 2006-12-07 | 2010-06-15 | Norman Powell | Method for selling custom business software and software exchange marketplace |
US20080147530A1 (en) * | 2006-12-19 | 2008-06-19 | Kwan Shu-Leung | Programmatically transferring applications between handsets based on license information |
KR20080057483A (ko) * | 2006-12-20 | 2008-06-25 | 삼성전자주식회사 | 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법 |
US8073863B2 (en) * | 2007-02-12 | 2011-12-06 | Bsp Software Llc | Batch management of metadata in a business intelligence architecture |
US7644044B2 (en) * | 2007-04-04 | 2010-01-05 | Sony Corporation | Systems and methods to distribute content over a network |
US10853855B2 (en) * | 2007-05-20 | 2020-12-01 | Michael Sasha John | Systems and methods for automatic and transparent client authentication and online transaction verification |
US20090037287A1 (en) * | 2007-07-31 | 2009-02-05 | Ahmad Baitalmal | Software Marketplace and Distribution System |
US8046369B2 (en) * | 2007-09-04 | 2011-10-25 | Apple Inc. | Media asset rating system |
US7912568B2 (en) * | 2007-11-27 | 2011-03-22 | International Business Machines Corporation | Tuning order configurator performance by dynamic integration of manufacturing and field feedback |
US7756920B2 (en) * | 2007-11-28 | 2010-07-13 | Apple Inc. | Resubmission of media for network-based distribution |
US20090198830A1 (en) * | 2008-02-06 | 2009-08-06 | Inventec Corporation | Method of adjusting network data sending speed according to data processing speed at client |
US20090259502A1 (en) * | 2008-04-10 | 2009-10-15 | Daniel David Erlewine | Quality-Based Media Management for Network-Based Media Distribution |
US8826375B2 (en) * | 2008-04-14 | 2014-09-02 | Lookwithus.Com Inc. | Rich media collaboration system |
US8499240B2 (en) * | 2008-10-31 | 2013-07-30 | Sap Ag | Rule-based presentation of log messages on a graphic timeline |
US20100251099A1 (en) * | 2009-03-26 | 2010-09-30 | David Makower | Schema Validation for Submissions of Digital Assets for Network-Based Distribution |
US8984458B2 (en) * | 2009-07-22 | 2015-03-17 | Synopsys, Inc. | Dynamic rule checking in electronic design automation |
US8935217B2 (en) * | 2009-09-08 | 2015-01-13 | Apple Inc. | Digital asset validation prior to submission for network-based distribution |
-
2009
- 2009-09-30 US US12/571,266 patent/US20100235254A1/en not_active Abandoned
-
2010
- 2010-03-12 AU AU2010200963A patent/AU2010200963A1/en not_active Abandoned
- 2010-03-15 EP EP10156566A patent/EP2230620A1/en not_active Withdrawn
- 2010-03-16 JP JP2010086507A patent/JP2010218559A/ja active Pending
- 2010-03-16 KR KR1020100023496A patent/KR101238940B1/ko active IP Right Grant
- 2010-03-16 CN CN201010135777A patent/CN101840556A/zh active Pending
-
2013
- 2013-01-07 JP JP2013000659A patent/JP2013061992A/ja active Pending
- 2013-01-23 KR KR1020130007707A patent/KR101361313B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20100235254A1 (en) | 2010-09-16 |
JP2013061992A (ja) | 2013-04-04 |
CN101840556A (zh) | 2010-09-22 |
KR101238940B1 (ko) | 2013-03-04 |
EP2230620A1 (en) | 2010-09-22 |
JP2010218559A (ja) | 2010-09-30 |
KR101361313B1 (ko) | 2014-02-11 |
AU2010200963A1 (en) | 2010-09-30 |
KR20130027541A (ko) | 2013-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101361313B1 (ko) | 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 | |
KR101375927B1 (ko) | 네트워크-기반 배포를 위한 디지털 애플리케이션 프로그램들에 대한 애드-온들의 구성 및 관리 | |
US20100235889A1 (en) | Application products with in-application subsequent feature access using network-based distribution system | |
KR101212904B1 (ko) | 네트워크 기반 배포를 위한 어플리케이션 프로그램들의 전자 제출 | |
KR101233618B1 (ko) | 네트워크 기반 배포를 위한 디지털 제품들의 전자 제출 및 관리 | |
CA2724858C (en) | Techniques for acquiring updates for application programs | |
JP2009534739A (ja) | モバイルモジュールを使用する商取引のための認証 | |
US20130124696A1 (en) | Application products with in-application subsequent feature access using network-based distribution system | |
AU2012258433B2 (en) | Application products with in-application subsequent feature access using network-based distribution system | |
WO2013188244A2 (en) | Application products with in-application subsequent feature access using network-based distribution system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160127 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170201 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180201 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20200129 Year of fee payment: 8 |