KR101361313B1 - Application products with in-application subsequent feature access using network-based distribution system - Google Patents
Application products with in-application subsequent feature access using network-based distribution system Download PDFInfo
- Publication number
- KR101361313B1 KR101361313B1 KR1020130007707A KR20130007707A KR101361313B1 KR 101361313 B1 KR101361313 B1 KR 101361313B1 KR 1020130007707 A KR1020130007707 A KR 1020130007707A KR 20130007707 A KR20130007707 A KR 20130007707A KR 101361313 B1 KR101361313 B1 KR 101361313B1
- Authority
- KR
- South Korea
- Prior art keywords
- feature
- locked
- application program
- application
- product
- Prior art date
Links
- 238000009826 distribution Methods 0.000 title abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000000153 supplemental effect Effects 0.000 claims description 122
- 238000004891 communication Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 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]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
제품 분배 사이트로부터의 지원 속에 디지털 제품들의 로킹된 (보안된) 특징들에 액세스하기 위한 개선된 시스템, 디바이스 및 방법이 개시되었다. 일 실시예에서, 디지털 제품은 네트워크 기반 분배를 위해 제품 분배 사이트로 제출될 수 있다. 디지털 제품은 기본 기능성을 제공하면서 하나 또는 그 이상의 로킹된 특징들 (이 특징들은 만일 언로킹된다면 기본 기능성을 보조할 수 있음)을 포함하는 식으로 초기에 제공될 수 있다. 제출된 디지털 제품이 승인되면, 디지털 제품은 사용자들이 디지털 제품을 검색하고, 브라우징하고, 구입할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 일단 디지털 제품이 구입되고 다운로딩되고 사용자의 컴퓨팅 디바이스 상에 설치되었다면, 사용자는 디지털 제품을 활용할 수 있다. 그러나, 디지털 제품 자체는 하나 또는 그 이상의 로킹된 특징들을 포함하기 때문에, 사용자는 후속 구입이 수행되기까지는 이런 특징들을 활용할 수 없다. 유리하게는, 후속 구입은 디지털 제품으로부터 야기될 수 있다. 이렇게 할 때, 디지털 제품은 원격 서버(예로, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액팅하여 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 이를 위한 사용을 구입한다. 일단 하나 또는 그 이상의 특징들에 대한 액세스 또는 사용이 구입되었다면, 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들은 언로킹될 수 있고 이후에 활용될 수 있다. Improved systems, devices, and methods have been disclosed for accessing locked (secure) features of digital products in support from a product distribution site. In one embodiment, the digital product may be submitted to a product distribution site for network based distribution. The digital product may be initially provided in such a way that it contains one or more locked features (which can assist the basic functionality if unlocked) while providing basic functionality. Once the submitted digital product is approved, the digital product becomes available at the product distribution site for users to search, browse, and purchase the digital product. Once the digital product has been purchased, downloaded and installed on the user's computing device, the user can utilize the digital product. However, because the digital product itself includes one or more locked features, the user cannot utilize these features until subsequent purchases are made. Advantageously, subsequent purchases can result from digital products. In doing so, the digital product interacts (directly or indirectly) with a remote server (eg, a product distribution site) to purchase access to or use for one or more locked features within the digital product. . Once access to or use of one or more features has been purchased, one or more locked features in the digital product may be unlocked and then utilized.
Description
본 출원은 2009년 3월 16일 출원되고 발명의 명칭이 "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUNT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM"인 미국 임시 특허 출원 번호 61/160,640호에 대한 우선권을 주장하며, 이는 본 명세서에 참조로서 통합된다.This application claims priority to US Provisional Patent Application No. 61 / 160,640, filed March 16, 2009 and entitled "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUNT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM." Incorporated herein by reference.
본 발명은 디지털 제품들의 분배에 관한 것으로, 보다 상세하게는 디지털 제품들의 네트워크-기반 분배에 관한 것이다.The present invention relates to the distribution of digital products, and more particularly to network-based distribution of digital products.
오늘날, iTunes™ 미디어 스토어 같은 온라인 미디어 스토어들은 소비자들(즉, 온라인 사용자들)로 하여금 음악 또는 비디오들 같은 미디어 아이템들을 인터넷을 통해 구매하거나 임차(rent)하게 할 수 있다. 종종, 온라인 미디어 스토어들에서, 수많은 미디어 아이템들이 이용가능하게 되었고 음악 레이블들(labels) 또는 영화 회사들 같은 다양하고 서로 다른 콘텐츠 제공자들에 의해 제공된다. 미국 캘리포니아주 쿠퍼티노 소재의 애플사로부터 얻을 수 있는 iProducer™ 및 Label Connect™ 같은 소프트웨어 툴(tool)들은 콘텐츠 제공자들이 iTunes™ 미디어 스토어에 미디어 콘텐츠를 온라인 제출하는 것을 지원할 수 있다.Today, online media stores, such as the iTunes ™ media store, can allow consumers (ie, online users) to purchase or rent media items such as music or videos over the Internet. Often in online media stores, numerous media items have become available and are provided by various different content providers such as music labels or movie companies. Software tools such as iProducer ™ and Label Connect ™, available from Apple in Cupertino, Calif., Can help content providers submit media content online to the iTunes ™ media store.
소프트웨어 프로그램들 또한 온라인 스토어들 뿐만 아니라 소매점들에서도 구매되거나 사용허가되어(licensed) 이용가능하다. 일반적으로, 소프트웨어 프로그램은 자신을 포함하는 콤팩트 디스크(CD)로서 주로 구매된다. 대안으로, 구매자들은 종종 온라인 소매 점포 또는 소프트웨어 제공자의 웹사이트로부터 소프트웨어 프로그램을 구매하거나 다운로드할 수 있다. 그러나, 온라인 소매 상인(online retailer)이 다양한 독립적인 부분들(various independent parties)로 된 소프트웨어 프로그램들을 판매하는 경우, 온라인 소매 상인들에게 디지털 프로그램 파일들과 이를 지원하는 정보/파일들을 제공하고자 할 때 어려움이 있다. 이러한 문제는 온라인 소매 상인들과 종종 파트너가 되기를 바라는 매우 많은 수의 소규모 소프트웨어 제공자들이 있을 때 더 악화된다. 결과적으로, 온라인 제출들을 수신하는 온라인 소매 상인들은 제출들과 관련한 폭넓은 범위의 다양성에 기인한 실질적인 업무 부하(burdens) 및 어려움에 직면하게 된다.Software programs are also available for purchase or licensed use at retail stores as well as online stores. Generally, software programs are usually purchased as compact discs (CDs) containing them. Alternatively, buyers can often purchase or download software programs from online retail stores or software providers' websites. However, if an online retailer sells software programs of various independent parties, and wants to provide digital program files and information / files supporting them to the online retailer. There is difficulty. This problem is exacerbated when there are a very large number of small software providers who often want to partner with online retailers. As a result, online retailers receiving online submissions face substantial workloads and difficulties due to the wide range of diversity associated with the submissions.
종래에는, 소프트웨어 프로그램을 구매하고, 컴퓨팅 디바이스 상에 소프트웨어 프로그램을 다운로드하고 설치한 후에는, 소프트웨어 프로그램은 기본적으로 정적인 제품(static product)이 된다. 몇몇 소프트웨어 프로그램들이 에러들 또는 버그들 또는 바이러스 보호들의 처리를 위한 업데이트를 수신할 수 있지만, 이들 업데이트는 자유롭게 제공되고 기존의 기능을 유지하기 위해 서비스된다. 유감스럽게도, 몇몇 소프트웨어 제공자들은 초기의 소프트웨어 프로그램들을 확장시키는 후속의(follow-on)의 구매들을 촉진시킬 필요가 있다. 그러나, 일단 소프트웨어 프로그램이 온라인으로 구매되었고 다운로드 및 설치되었다면, 그 소프트웨어 프로그램의 부가적인 기능, 컴포넌트 등에 대한 인-애플리케이션(in-application) 구매 권리 또는 독점권을 자체로 촉진시키는, 그 소프트웨어 프로그램을 위한 편리한 수단이 기존에 없다.Conventionally, after purchasing a software program and downloading and installing the software program on a computing device, the software program is basically a static product. Although some software programs may receive updates for handling errors or bugs or virus protections, these updates are provided freely and serviced to maintain existing functionality. Unfortunately, some software providers need to facilitate follow-on purchases that extend early software programs. However, once a software program has been purchased online and downloaded and installed, it is convenient for the software program to facilitate itself in-application purchase rights or exclusive rights to additional functions, components, etc. of the software program. There is no means.
발명의 개요Summary of the Invention
본 발명은 제품 분배 사이트로부터의 지원 하에 디지털 제품들의 로킹된(locked)(보안된) 특징들을 액세스하기 위한 시스템, 장치 및 방법에 관한 것이다.The present invention relates to a system, apparatus, and method for accessing locked (secure) features of digital products with support from a product distribution site.
디지털 제품은 네트워크 기반 분배를 위한 제품 분배 사이트에 제출될 수 있다. 디지털 제품은, 기본 기능을 제공하지만, 언로킹된다면, 기본 기능을 보조할 수 있는 하나 또는 그 이상의 로킹된 특징들을 포함하도록, 초기에 제공될 수 있다. 제출된 디지털 제품이 승인(approve)된다면, 디지털 제품은 사용자들이 그 디지털 제품을 검색, 브라우징 및 구매할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 디지털 제품이 구매되어 사용자의 컴퓨팅 디바이스 상에 다운로드 및 설치되었다면, 사용자는 디지털 제품을 이용하는 것이 가능하다. 그러나, 디지털 제품 자체가 하나 또는 그 이상의 로킹된 특징을 포함하기 때문에, 사용자는 후속 구매가 실행될 때까지 그러한 특징들을 이용할 수 없다. 이롭게도, 후속 구매는 디지털 제품으로부터 야기될 수 있다. 그렇게 할 때, 디지털 제품은 디지털 제품 내의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용(usage)을 구매하기 위해 원격 서버(예를 들면, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액트(interact)한다. 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용이 구매되었다면, 디지털 제품 내의 하나 또는 그 이상의 특징들이 언로킹된 후 이용될 수 있다.The digital product can be submitted to a product distribution site for network based distribution. The digital product may initially be provided to provide basic functionality but, if unlocked, include one or more locked features that may assist the basic functionality. If the submitted digital product is approved, the digital product becomes available at the product distribution site for users to search, browse, and purchase the digital product. Once the digital product has been purchased and downloaded and installed on the user's computing device, the user can use the digital product. However, because the digital product itself includes one or more locked features, the user cannot use those features until a subsequent purchase is made. Advantageously, subsequent purchases can result from digital products. In doing so, the digital product interacts (directly or indirectly) with a remote server (eg, a product distribution site) to purchase access or usage of one or more locked features within the digital product. Interact If access to or use of one or more locked features has been purchased, one or more features in the digital product may be used after being unlocked.
일 실시예에서, 디지털 제품들은 컴퓨터 프로그램 제품들(예를 들면, 컴퓨터 소프트웨어 프로그램들)이다. 제품 분배 사이트는 또한 온라인 제품 호스팅 사이트로서 지칭될 수 있다. 디지털 제품들의 특징들이 구현예에 의존하여 가변될 수 있지만, 그 특징들의 몇몇 예로는 모듈들, 툴들, 캐릭터들, 기능, 콘텐츠 또는 데이터를 포함한다. 특징들은 또한 컴포넌트들로서 지칭될 수 있다.In one embodiment, the digital products are computer program products (eg, computer software programs). The product distribution site may also be referred to as an online product hosting site. Features of digital products may vary depending on implementation, but some examples of such features include modules, tools, characters, functionality, content or data. Features may also be referred to as components.
본 발명은 방법, 시스템, 디바이스, (컴퓨터 판독가능 매체 및 그래픽 사용자 인터페이스를 포함하는) 장치를 포함하는 다양한 방식들로 구현될 수 있다. 본 발명의 몇몇 실시예들은 아래에서 논의된다. The invention can be implemented in a variety of ways, including methods, systems, devices, apparatus (including computer readable media and graphical user interfaces). Some embodiments of the invention are discussed below.
애플리케이션 프로그램의 보조 특징들(supplemental features)을 언로킹(unlock)하기 위한 방법으로서, 상기 방법은 컴퓨팅 디바이스 상에서 작동하고, 본 발명의 일 실시예는, 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득되고, 애플리케이션 프로그램은 자신 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 포함함 - 와, 컴퓨팅 디바이스에서, 애플리케이션 프로그램의 사용자가 현재적으로 로킹된 상기 적어도 하나의 보조 특징의 사용(usage)을 획득하기를 바라는지를 판정하는 단계와, 원격 네트워크 기반 애플리케이션 분배 시스템이 적어도 하나의 보조 특징의 언로킹을 승인할 것을 요청하는 단계와, 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와, 이후에 컴퓨팅 디바이스에서 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 애플리케이션 프로그램이 적어도 하나의 보조 특징을 활용하도록 허용하는 단계를 적어도 포함한다.A method for unlocking supplemental features of an application program, the method operating on a computing device, and an embodiment of the present invention comprises: executing an application program on a computing device-an application program Is previously obtained from a remote network-based application distribution system, the application program includes at least one auxiliary feature that is currently available to be locked and located but unlocked within it-and at the computing device, the application program Determining if the user of wishes to obtain a usage of the at least one auxiliary feature that is currently locked, and request that the remote network-based application distribution system approve unlocking the at least one auxiliary feature. Receiving an authentication from a remote network-based application distribution system that at least one auxiliary feature has been approved for unlocking, and then unlocking at least one auxiliary feature of the application program at the computing device, Allowing at least one auxiliary feature to be utilized.
애플리케이션 프로그램의 보조 특징들을 언로킹하기 위한 방법으로서, 상기 방법은 컴퓨팅 디바이스 상에서 작동하고, 본 발명의 또 다른 실시예는, 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득됨 -, 애플리케이션 프로그램을 통해, 컴퓨팅 디바이스의 사용자에게 애플리케이션 프로그램 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 제공하는 단계와, 컴퓨팅 디바이스의 사용자가 현재적으로 로킹된 적어도 하나의 보조 특징의 사용을 획득하기를 바라는 표시(indication)를 수신하는 단계와, 수신되는 표시에 응답하여, 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 요청하는 단계 - 상기 보조 특징 정보는 적어도 하나의 보조 특징에 관련된 적어도 기술 정보를 포함함 -와, 컴퓨팅 디바이스에서, 원격 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 후속하여 수신하는 단계와, 컴퓨팅 디바이스에서 보조 특징 정보를 제공하는 단계와, 컴퓨팅 디바이스에서, 사용자가 현재적으로 로킹된 적어도 하나의 보조 특징의 사용을 획득하기를 바라는지를 확인하는 단계와, 원격 네트워크 기반 애플리케이션 분배 시스템이 상기 적어도 하나의 보조 특징의 언로킹을 승인할 것을 요청하는 단계와, 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와, 이후에 컴퓨팅 디바이스에서 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 애플리케이션 프로그램이 적어도 하나의 보조 특징을 활용하도록 허용하는 단계를 적어도 포함한다.A method for unlocking supplemental features of an application program, wherein the method operates on a computing device, and another embodiment of the present invention comprises: executing an application program on a computing device, wherein the application program is a remote network based application distribution system. Previously obtained from-providing, via the application program, to the user of the computing device at least one supplemental feature that is currently available for being locked and located but unlocked within the application program; Receiving an indication that the user wishes to obtain the use of at least one auxiliary feature that is currently locked and, in response to the received indication, assisting the remote network-based application distribution system. Requesting gong information, wherein the supplemental feature information includes at least technical information related to the at least one supplemental feature; and subsequently, at the computing device, receiving supplemental feature information from a remote based application distribution system; Providing auxiliary feature information at the device, confirming at the computing device whether the user wishes to obtain use of at least one auxiliary feature currently locked, and wherein the remote network based application distribution system is at least one Requesting to approve the unlocking of the secondary feature of the computer, receiving an authentication from the remote network-based application distribution system that the at least one secondary feature has been approved for unlocking; one Unlocking the secondary feature of the at least one, allowing the application program to utilize the at least one secondary feature.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서, 본 발명의 일 실시예는, 원격 네트워크 기반 애플리케이션 분배 시스템으로부터의 보조 특징 정보에 대한 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 애플리케이션 프로그램의 보조 특징과 연관된 보조 특징 정보를 검색하는 단계 - 보조 특징 정보는 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징에 관계된 적어도 기술 정보를 포함함 - 와, 검색된 보조 특징 정보를 컴퓨팅 디바이스에게 보내는 단계와, 애플리케이션 프로그램의 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와, 상기 판정하는 단계가 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하였다고 판정하면 보조 특징을 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내는 단계를 적어도 포함한다.A computer-implemented method for managing unlocking of supplemental features of application programs previously obtained from a network-based application distribution system, an embodiment of the present invention provides a computing device for supplemental feature information from a remote network-based application distribution system. Receiving a request from, and retrieving supplemental feature information associated with the supplemental feature of the application program, wherein the supplemental feature information includes at least technical information related to supplemental features of the application program previously obtained from the network-based application distribution system; Sending the retrieved supplemental feature information to the computing device, receiving a request from the computing device to unlock the supplemental feature of the application program; Determining whether the application distribution system approves the unlocking of the supplemental feature, and if the determining determines that the network-based application distribution system has approved the unlocking of the supplemental feature, instructing the computing device to unlock the supplemental feature. At least sending a certificate.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서, 본 발명의 또 다른 실시예는, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와, 상기 판정하는 단계가 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하였다고 판정하면 상기 보조 특징을 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내는 단계를 적어도 포함한다. As a computer-implemented method for managing unlocking of supplemental features of application programs previously obtained from a network-based application distribution system, another embodiment of the present invention provides an assistance of an application program previously obtained from a network-based application distribution system. Receiving a request from the computing device to unlock the feature, determining whether the network-based application distribution system approves the unlocking of the secondary feature, and wherein the determining is performed by the network-based application distribution system. At least authenticating the computing device to unlock the secondary feature upon determining that the feature has been approved for unlocking.
모바일 컴퓨팅 디바이스로서, 본 발명의 일 실시예는, 적어도 하나의 로킹된 특징을 갖는 적어도 하나의 애플리케이션 프로그램과, 모바일 컴퓨팅 디바이스 상에 상주(resident)하는 커머스 서버(commerce server)를 적어도 포함한다. 이 커머스 서버는, 적어도 하나의 애플리케이션 프로그램이 모바일 컴퓨팅 디바이스 상에서 작동하고 있는 동안에, 원격 서버와 인터액팅하여 적어도 하나의 애플리케이션 프로그램의 적어도 하나의 로킹된 특징으로의 액세스를 촉진시키도록 구성된다.As a mobile computing device, one embodiment of the present invention includes at least one application program having at least one locked feature and at least a commerce server resident on the mobile computing device. The commerce server is configured to interact with a remote server to facilitate access to at least one locked feature of the at least one application program while the at least one application program is running on the mobile computing device.
프로그램 제품의 보조 컴포넌트들을 언로킹하기 위해 컴퓨팅 디바이스에 저장되고 그 컴퓨팅 디바이스에 의해 실행가능한 적어도 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로서, 본 발명의 일 실시예는, 컴퓨팅 디바이스 상에서 프로그램 제품을 실행하기 위한 컴퓨터 프로그램 코드 - 프로그램 제품은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득되고, 프로그램 제품은 자신 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 컴포넌트를 포함함 - 와, 컴퓨팅 디바이스에서, 프로그램 제품의 사용자가 현재적으로 로킹된 적어도 하나의 보조 컴포넌트의 사용을 획득하기를 바라는지를 판정하기 위한 컴퓨터 프로그램 코드와, 원격 네트워크 기반 애플리케이션 분배 시스템이 적어도 하나의 보조 컴포넌트의 언로킹을 승인할 것을 요청하기 위한 컴퓨터 프로그램 코드와, 적어도 하나의 보조 컴포넌트가 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하기 위한 컴퓨터 프로그램 코드와, 컴퓨팅 디바이스에서 프로그램 제품의 적어도 하나의 보조 컴포넌트를 언로킹하여, 프로그램 제품이 적어도 하나의 보조 컴포넌트를 활용하도록 허용하기 위한 컴퓨터 프로그램 코드를 적어도 포함한다.A computer readable medium comprising at least computer program code stored on and executable by a computing device for unlocking auxiliary components of a program product, an embodiment of the present invention executes a program product on a computing device. Computer program code for acquiring a program product previously obtained from a remote network-based application distribution system, the program product comprising at least one auxiliary component currently available for locking and locating but unlocking therein; And, in the computing device, computer program code for determining whether a user of the program product wishes to obtain use of at least one auxiliary component that is currently locked, and a remote network based application distribution system. Computer program code for requesting to approve the unlocking of at least one auxiliary component, computer program code for receiving authentication from the remote network-based application distribution system that the at least one auxiliary component has been approved for unlocking, and computing Computer program code for unlocking at least one auxiliary component of the program product at the device to allow the program product to utilize the at least one auxiliary component.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 컴포넌트들의 언로킹을 관리하기 위해 컴퓨팅 디바이스에 저장되고 그 컴퓨팅 디바이스에 의해 실행가능한 적어도 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로서, 본 발명의 일 실시예는, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 프로그램 제품의 보조 컴포넌트를 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하기 위한 컴퓨터 프로그램 코드와, 네트워크 기반 애플리케이션 분배 시스템이 보조 컴포넌트의 언로킹을 승인하는지의 여부를 판정하기 위한 컴퓨터 프로그램 코드와, 네트워크 기반 애플리케이션 분배 시스템이 보조 컴포넌트의 언로킹을 승인하였다고 판정하면 보조 컴포넌트를 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내기 위한 컴퓨터 프로그램 코드를 적어도 포함한다. A computer readable medium comprising at least computer program code stored in a computing device and executable by the computing device for managing unlocking of auxiliary components of application programs previously obtained from a network-based application distribution system, comprising: One embodiment includes computer program code for receiving a request from a computing device to unlock an auxiliary component of a program product previously obtained from a network-based application distribution system, and wherein the network-based application distribution system is configured to unlock the auxiliary component. Computer program code for determining whether to approve, and for unlocking the secondary component upon determining that the network-based application distribution system has approved the unlocking of the secondary component. At least computer program code for authenticating to the computing device.
본 발명의 다른 양상들 및 이점들은 본 발명의 원리들을 예로서 도시하는 첨부 도면들과 결합하여 취해진 후술하는 상세한 설명으로부터 명백해질 것이다.Other aspects and advantages of the present invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the invention.
본 발명은 첨부하는 도면과 결부하여 이하의 상세한 설명에 의해서 용이하게 이해될 것이며, 여기서 유사한 도면 부호는 유사한 구성요소들을 지시한다.
도 1은 본 발명의 일 실시예에 따른 제품 제출 및 분배 시스템의 블록도.
도 2는 본 발명의 일 실시예에 따른 클라이언트 또는 클라이언트 디바이스의 블록도.
도 3a 내지 3c는 본 발명의 일 실시예에 따른 보조 특징들을 액세스하는 것을 도시하는 도면.
도 4는 본 발명의 일 실시예에 따른 디지털 제품 제출 프로세스의 흐름도.
도 5는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 6a 및 6b는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 7은 본 발명의 일 실시예에 따른 보조 특징 서버 프로세스의 흐름도.BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals indicate like elements.
1 is a block diagram of a product submission and distribution system in accordance with an embodiment of the present invention.
2 is a block diagram of a client or client device in accordance with one embodiment of the present invention.
3A-3C illustrate accessing supplemental features in accordance with one embodiment of the present invention.
4 is a flow diagram of a digital product submission process in accordance with one embodiment of the present invention.
5 is a flow diagram of a supplemental feature client process according to one embodiment of the invention.
6A and 6B are flow charts of an assistive feature client process in accordance with one embodiment of the present invention.
7 is a flow diagram of an auxiliary feature server process according to one embodiment of the invention.
발명은 제품 분배 사이트로부터의 지원 속에 디지털 제품들의 로킹된 (보안된) 특징들에 액세스하기 위한 시스템, 디바이스 및 방법에 관한 것이다.The invention relates to a system, device and method for accessing locked (secure) features of digital products in support from a product distribution site.
디지털 제품은 네트워크 기반 분배를 위해 제품 분배 사이트로 제출될 수 있다. 디지털 제품은 기본 기능성을 제공하면서 하나 또는 그 이상의 로킹된 특징들 (이 특징들은 만일 언로킹된다면 기본 기능성을 보조할 수 있음)을 포함하는 식으로 초기에 제공될 수 있다. 제출된 디지털 제품이 승인되면, 디지털 제품은 사용자들이 디지털 제품을 검색하고, 브라우징하고, 구입할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 일단 디지털 제품이 구입되고 다운로딩되고 사용자의 컴퓨팅 디바이스 상에 설치되었다면, 사용자는 디지털 제품을 활용할 수 있다. 그러나, 디지털 제품 자체는 하나 또는 그 이상의 로킹된 특징들을 포함하기 때문에, 사용자는 후속 구입이 수행되기까지는 이런 특징들을 활용할 수 없다. 유리하게는, 후속 구입은 디지털 제품으로부터 야기될 수 있다. 이렇게 할 때, 디지털 제품은 원격 서버(예를 들면, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액팅하여 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 이를 위한 사용을 구입한다. 일단 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용이 구입되었다면, 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들은 언로킹될 수 있고 이후에 활용될 수 있다.Digital products can be submitted to product distribution sites for network-based distribution. The digital product may be initially provided in such a way that it contains one or more locked features (which can assist the basic functionality if unlocked) while providing basic functionality. Once the submitted digital product is approved, the digital product becomes available at the product distribution site for users to search, browse, and purchase the digital product. Once the digital product has been purchased, downloaded and installed on the user's computing device, the user can utilize the digital product. However, because the digital product itself includes one or more locked features, the user cannot utilize these features until subsequent purchases are made. Advantageously, subsequent purchases can result from digital products. In doing so, the digital product may interact (directly or indirectly) with a remote server (eg, a product distribution site) to access or use one or more locked features within the digital product. Purchase. Once access to or use of one or more locked features has been purchased, one or more locked features in the digital product may be unlocked and subsequently utilized.
일 실시예에서, 디지털 제품들은 컴퓨터 프로그램 제품들(예를 들면, 컴퓨터 소프트웨어 프로그램들)이다. 제품 분배 사이트는 온라인 제품 호스팅 사이트로도 지칭될 수 있다. 디지털 제품들의 특징들이 구현에 따라 변할 수 있지만, 특징들의 몇몇 예들은 모듈들, 툴들, 캐릭터들, 기능성, 콘텐츠 또는 데이터를 포함한다. 특징들은 컴포넌트들로도 지칭될 수 있다.In one embodiment, the digital products are computer program products (eg, computer software programs). The product distribution site may also be referred to as an online product hosting site. Although features of digital products may vary from implementation to implementation, some examples of features include modules, tools, characters, functionality, content, or data. Features may also be referred to as components.
이하에서는 도 1 내지 도 7을 참조하여 본 발명의 다양한 측면들의 실시예들에 대해 논의한다. 그러나, 당업자들이라면 이러한 도면들에 대해 본 명세서에서 주어진 상세한 설명은 예시적인 목적을 위한 것이므로 본 발명은 이러한 제한된 실시예들을 넘어 확장된다는 점을 쉽게 알 것이다.Hereinafter, embodiments of various aspects of the present invention will be discussed with reference to FIGS. 1 to 7. However, those skilled in the art will readily appreciate that the detailed description given herein for these figures is for illustrative purposes and that the present invention extends beyond these limited embodiments.
도 1은 본 발명의 일 실시예에 따른 제품 제출 및 분배 시스템(100)의 블록도이다. 제품 제출 및 분배 시스템(100)은 제품 분배 사이트(102)를 포함한다. 제품 분배 사이트(102)는 다양한 디지털 제품들의 분배를 위한 온라인 액세스 포인트를 제공한다. 예컨대, 제품 분배 사이트(102)는 온라인 스토어로서 지칭될 수 있다. 제품 제출 및 관리 시스템(104)은 다양한 디지털 제품 제출자들로부터 디지털 제품들의 제출들을 수신하도록 동작한다. 제품 제출 및 관리 시스템(104)은 디지털 제품들의 제출을 프로세싱하고 승인(approve)된 디지털 제품들의 분배를 인증(authorize)할 수 있다. 디지털 제품들은 제품 스토어(106)에 저장될 수 있다. 일 실시예에서, 제품 스토어(106)는 대용량 데이터 스토어 및/또는 하나 또는 그 이상의 데이터베이스들을 포함한다. 제품 스토어(106)는 분배(예컨대, 구입)에 활용가능한 다수의 디지털 제품들의 대용량의 저장을 제공한다. 예컨대, 구입된 디지털 제품들은 제품 스토어(106)로부터 제품 분배 사이트(102)를 거쳐 데이터 네트워크(108) 상에서 액세스될 수 있다. 디지털 제품들의 예들로는 애플리케이션들(또는 애플리케이션 프로그램들), 애니메이션들 또는 프리젠테이션들과 같은 컴퓨터 프로그램 제품들이 있다.1 is a block diagram of a product submission and
제품 제출 및 분배 시스템(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)와 인터액팅하여 디지털 제품들을 리뷰, 구입 및/또는 관리할 수 있다.The product submission and
또한, 제품 분배 프로그램(116)은 컴퓨팅 디바이스인 제2 클라이언트(112) 상에서 동작하는 애플리케이션 프로그램(예를 들면, 소프트웨어 애플리케이션)이다. 제품 제출 프로그램(116)은 미디어 분배 사이트(102)에 의한 최종 분배를 위해 디지털 제품들을 제품 제출 및 관리 시스템(104)에 제출하는데 이용된다. 네트워크 액세스 프로그램(114)과 제품 제출 프로그램(116)이 별개의 프로그램들로서 도 1에 도시되어 있지만, 이러한 프로그램들은 단일 프로그램으로 통합되거나 동일한 클라이언트 머신 상에 상주할 수 있다는 점을 알아야 한다.The
도 1에 도시된 제품 제출 및 분배 시스템(100)에서, 디지털 제품들은 제품 제출 프로그램(116)을 거쳐 제품 제출 및 관리 시스템(104)에 제출된다. (예를 들면, 제2 클라이언트(112)를 통해) 제출된 디지털 제품들은 프로세싱되고, 이어서 허용가능한 경우, 분배를 위해 제품 스토어(106)에 저장된다. 그 후, 저장된 디지털 제품들은 제품 분배 사이트(102)로부터 구입되는데 이용될 수 있다.In the product submission and
제품 제출 및 분배 시스템(100)은 클라이언트(110)의 사용자가 네트워크 액세스 프로그램(114)을 활용하여 제품 분배 사이트(102)로부터 구입될 수 있는 복수의 디지털 제품들을 브라우징, 검색 또는 소팅하도록 허용한다. 네트워크 액세스 프로그램(114)은 또한 사용자가 디지털 제품들 중 몇몇 또는 전부를 미리보거나 입증하는 것을 허용할 수도 있다. 네트워크 액세스 프로그램(114)의 사용자가 특정한 디지털 제품을 구입하길 원하는 경우에, (네트워크 액세스 프로그램(114)을 통한) 사용자 및 제품 분배 사이트(102)는 그 사용자가 특정한 디지털 제품에 대한 액세스 권리를 지불하는 온라인 상업 거래에 관여할 수 있다. 일 실시예에서, 사용자와 관계된 신용 카드가 특정한 디지털 제품의 구입 또는 임차료로 지불(credit)된다.The product submission and
특정한 디지털 제품의 구입시, 제품 분배 사이트(102)는 특정한 디지털 제품에 대한 디지털 데이터가 제품 스토어(106)로부터 검색된 후 데이터 네트워크(108)를 통해 제품 분배 사이트(102)로부터 요청된 클라이언트(110)로 전달(예컨대, 다운로드)되도록 허용한다. 이와 관련하여, 제품 분배 사이트(102) 또는 몇몇 다른 전달 서버(도시되지 않음)는 제품 스토어(106)로부터 특정한 디지털 제품에 대응하는 디지털 데이터를 획득하고 데이터 네트워크(108)를 통해 이러한 디지털 데이터를 클라이언트(110)로 다운로드한다. 다운로드된 디지털 데이터는 그 후 클라이언트(110) 상에 저장될 수 있다. 일 실시예에서, 다운로드된 디지털 데이터는 클라이언트(110)에서 수신될 때 암호화되지만 암호 해제된 후 클라이언트(110) 상에 지속적으로 저장되기 전에 다시 암호화될 것이다. 그 후, 클라이언트(110) 자신은 디지털 제품의 디지털 데이터를 활용(예를 들면, 실행)할 수 있다.Upon purchase of a particular digital product,
디지털 제품들의 제출 및 구입은 데이터 네트워크(108)를 통해 달성될 수 있다. 다시 말하면, 디지털 제품들의 제출 및 구입은 온라인 상에서 달성될 수 있다. 온라인 상의 미디어 아이템들의 구입은 전자 상거래(e-commerce)로도 지칭될 수 있다. 일 실시예에서, 데이터 네트워크(108)는 인터넷의 적어도 한 부분을 이용한다. 일 실시예에서, 제품 분배 사이트(102)와 클라이언트들(110, 112) 간의 데이터 네트워크(108)를 통한 접속들은 SSL(Secure Sockets Layer)과 같은 안전한 접속들을 통할 수 있다. 클라이언트들(110, 112)은 애플리케이션에 따라 변할 수 있지만 일반적으로는 메모리 저장 장치를 구비한 컴퓨팅 디바이스들이다. 때로는, 클라이언트들(110, 112)은 미디어를 저장하고 그 사용자들에게 제공할 수 있는 퍼스널 컴퓨터들 또는 다른 컴퓨팅 디바이스들이다. 일 실시예에서, 클라이언트들 중 하나 또는 그 이상의 클라이언트들은 휴대용 컴퓨팅 디바이스들(예를 들면, 랩톱 또는 네트워크 컴퓨터들) 또는 핸드헬드 컴퓨팅 디바이스들(예를 들면, PDA들, 스마트 폰들, 다기능 전자 디바이스들 또는 미디어 플레이어들)일 수 있다.
Submission and purchase of digital products may be accomplished via
*디지털 제품들은 하나 또는 그 이상의 보조 특징들을 포함할 수 있다. 이러한 보조 특징들은 대응하는 디지털 제품들을 보조하거나 확장하는 역할을 할 수 있다. 도 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)에게 전달될 수 있다.Digital products may include one or more accessory features. These supplemental features can serve to assist or extend corresponding digital products. As shown in FIG. 1,
제품 분배 사이트(102), 제품 제출 및 관리 시스템(104) 및 제품 스토어(106)가 별개의 컴포넌트들인 것으로 도 1에 도시되어 있지만, 이러한 컴포먼트들 중 어느 컴포넌트라도 하나 또는 그 이상의 장치에 결합될 수 있다는 점을 알아야 한다. 예컨대, 제품 제출 및 관리 시스템(104)은 제품 분배 사이트(102)에 통합될 수 있다. 다른 예로서, 제품 스토어(106)는 제품 분배 사이트(102) 또는 제품 제출 및 관리 시스템(104)에 통합될 수 있다.Although
애플리케이션 프로그램(118)의 보조 특징(120)의 이용을 획득하는 것을 위해 클라이언트(110)에 의한 제품 분배 사이트(예를 들면, 특징 획득 매니저(122))와의 통신을 용이하게 하기 위해, 제품 분배 사이트(102)는 API(Application Programming Interface)를 지원할 수 있다. 예컨대, 제품 분배 사이트(102)에 대한 API들은 일 실시예에서 아래의 Appendix A에 도시된 다음의 API들을 포함할 수도 있다.Product distribution site to facilitate communication with a product distribution site (eg, feature acquisition manager 122) by
도 2는 본 발명의 일 실시예에 따른 클라이언트(200) 또는 클라이언트 디바이스의 블록도이다. 클라이언트(200)는 예를 들어 도 1에 도시된 클라이언트(110)로서 이용하는데 적합할 수 있다.
2 is a block diagram of a
*클라이언트(200)는 그 자신 상에서 실행될 수 있는 애플리케이션 프로그램들에 기본 컴퓨팅 서비스들을 제공하도록 동작하는 오퍼레이팅 시스템(OS)(202)을 포함한다. 또한, 오퍼레이팅 시스템(202)은 커머스 서버(commerce server)(204)를 포함한다. 커머스 서버(204)는 원격 디지털 제품 분배 서버와 같은 원격 서버에 대해 상거래 동작들을 수행하도록 클라이언트(200) 상에서 동작하는 애플리케이션 프로그램들에 의해 활용된다. 예컨대, 원격 서버는 도 1에 도시된 제품 분배 서버(102)에 관련될 수 있다.The
클라이언트(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)를 이용하여(예컨대, 네트워크-기반 애플리케이션 스토어를 호스팅함) 보조 특징들을 지원 및 분배하기 위해 애플리케이션 프로그램들을 수정하는 방법에 대한 정보를 포함할 수 있다. To facilitate communication between the
도 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)와 함께 이용될 수 있다.
3A-3C illustrate accessing supplemental features in accordance with one embodiment of the present invention. 3A illustrates an exemplary
*전술한 바와 같이, 애플리케이션 프로그램(또는 디지털 제품)의 보조 특징들(또는 보조 콤포넌트들)은 구현예에 따라 변할 수 있다. 보조 특징들은, 모듈들, 툴(tool)들, 캐릭터들, 기능들, 콘텐츠, 또는 데이터에 관련될 수 있다. 게임-기반 애플리케이션 프로그램에서, 보조 특징들은, 새로운 무기들, 새로운 캐릭터들, 연장된 생존들, 부가 게임 레벨 등이 될 수 있다. 생산 애플리케이션(productivity application)에서, 보조 특징은, 부가 모듈(예컨대, 연간 모듈, 지리적 모듈, 콘텐츠 기반 모듈 등), 부가 또는 향상된 기능들(무선 통신들, 프린팅, 저장소 등) 등이 될 수 있다. 정보 애플리케이션들에서는, 보조 특징은, 부가 콘텐츠 또는 데이터, 부가 학습 또는 정보 모듈 등이 될 수 있다. As described above, auxiliary features (or auxiliary components) of the application program (or digital product) may vary depending on the implementation. Auxiliary features may relate to modules, tools, characters, functions, content, or data. In a game-based application program, auxiliary features may be new weapons, new characters, extended survivals, additional game levels, and the like. In a productivity application, the supplemental feature may be additional modules (eg, annual modules, geographic modules, content based modules, etc.), additional or enhanced features (wireless communications, printing, storage, etc.), and the like. In information applications, the supplemental feature may be additional content or data, additional learning or information module, or the like.
도 4는 본 발명의 일 실시예에 따른 디지털 제품 제출 프로세스(400)의 순서도이다. 디지털 제품 제출 프로세스(400)는, 예컨대, 클라이언트(112)와 같은 클라이언트 디바이스, 또는 제품 제출 및 관리 시스템(104)와 같은 서버 디바이스에 의해 수행될 수 있다. 4 is a flow diagram of a digital
디지털 제품 제출 프로세스(400)는 디지털 제품에 대한 제품 정보를 수신할 수 있다(402). 제품 정보는 제출되는 디지털 제품의 유형에 따라 변할 수 있다. 하나의 구현예에서, 디지털 제품 제출 프로세스(400)에 의해 온라인 저장소로 제출될 수 있는 하나의 유형의 디지털 제품은, 컴퓨터 프로그램 제품과 같은 디지털 프로그램 제품이다. 컴퓨터 프로그램 제품에 대한 제품 정보의 예들은, 제품명, 지원 디바이스 유형 표시, 장르 표시, 버전 번호, 제품 식별자, 지원 정보, 및 라이센스 동의 정보 중 하나 이상을 포함할 수 있다. 또한, 디지털 프로그램 제품이 하나 이상의 보조 특징과 결합할 때, 디지털 제품 제출 프로세스(400)는 또한 하나 이상의 보조 특징들에 대한 보조 정보를 수신할 수 있다(404).Digital
다음에, 디지털 제품에 속하는 적어도 하나의 전자 파일이 업로드될 수 있다(406). 디지털 제품은 관련된 하나 이상의 전자 파일들을 가질 수 있다. 예컨대, 디지털 제품은 이진 파일, 지원 또는 도움 파일, 및/또는 하나 이상의 예시적인 스크린 일러스트레이션들을 포함할 수 있다.
Next, at least one electronic file belonging to the digital product may be uploaded (406). The digital product may have one or more electronic files associated with it. For example, the digital product may include a binary file, a support or help file, and / or one or more example screen illustrations.
*또한, 디지털 제품과 함께 이용되는 적어도 하나의 분배 파라미터가 수신될 수 있다(408). 분배 파라미터는, 디지털 제품이 분배될 수 있는 방식을 제어하거나 영향을 주는 데에 이용될 수 있는 파라미터이다. 분배 파라미터의 일례는 가격(pricing) 파라미터이다. 일례로서, 가격 파라미터는 디지털 제품과 연관된 가격 또는 가격 층을 특정할 수 있다. 다른 분배 파라미터들은, 그로부터 디지털 제품이 분배되게 될 디지털 스토어프런트(store front)들에 관련될 수 있다. 게다가, 분배 파라미터들은 또한 프리뷰 적격성(preview eligibility), 라이센스 카테고리(유형들) 등에 관련될 수 있다.In addition, at least one distribution parameter for use with the digital product may be received (408). Distribution parameters are parameters that can be used to control or influence how the digital product can be distributed. One example of a distribution parameter is a pricing parameter. As one example, the price parameter may specify a price or price floor associated with the digital product. Other distribution parameters may relate to digital store fronts from which the digital product will be distributed. In addition, distribution parameters may also be related to preview eligibility, license category (types), and the like.
그 후, 디지털 제품은 온라인 저장소(online repository)로 제출될 수 있다(410). 온라인 저장소는, 예컨대, 제품 제출 및 관리 시스템(104)에 대응할 수 있다. 온라인 저장소는, 하나 이상의 전자 파일들, 관련된 제품 정보, 보조 특징 정보, 및 하나 이상의 분배 파라미터들을 수신할 수 있다. 온라인 저장소는, 다음에, 제품 정보 및 하나 이상의 분배 파라미터들에 따라 제품 분배 사이트(예컨대, 온라인 스토어)로부터, 하나 이상의 전자 파일들에 포함된, 디지털 제품의 분배를 허용하도록 동작할 수 있다. 온라인 저장소는, 또한 다음에 디지털 제품의 하나 이상의 보조 특징들에 대한 후속적인 액세스를 촉진하도록 동작할 수 있다. 디지털 제품을 온라인 저장소로 제출(410)한 후에, 디지털 제품 제출 프로세스(400)는 종료할 수 있다.The digital product may then be submitted to an online repository (410). The online repository may, for example, correspond to the product submission and
도 5는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스(500)의 순서도이다. 보조 특징 클라이언트 프로세스(500)는, 예컨대, 도 1에 도시된 클라이언트(110)와 같은, 클라이언트(즉, 클라이언트 디바이스)상에서 수행될 수 있다. 5 is a flowchart of an auxiliary
보조 특징 클라이언트 프로세스(500)는 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램을 실행할 수 있다(502). 예컨대, 원격 네트워크 기반 애플리케이션 분배 시스템은, 예컨대, 도 1에 도시된 제품 제출 및 분배 시스템(100)에 관련될 수 있다. 여기서, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램은 클라이언트에서 실행된다(502). 실행중에 몇몇 포인트에서, 클라이언트에서 판정(504)이 제시될 수 있다. 판정(504)은 보조 특징의 획득이 수행되어야할 지 여부를 판정한다. 일 실시예에서, 판정(504)은, 클라이언트의 사용자가 애플리케이션 프로그램에 대한 보조 특징을 획득하길 원하는지 여부를 나타내는 사용자 입력에 기초하여 판정될 수 있다. 예컨대, 애플리케이션 프로그램의 실행중에, 애플리케이션 프로그램은 보조 특징 제공을 사용자에게 제시할 수 있고, 사용자는 그 제공에 응답할 수 있고, 이에 따라 사용자가 보조 특징을 원하는지의 여부가 표시된다. Secondary
어느 경우에나, 판정(504)이 보조 특징의 획득이 요청되지 않았다고 판정할 때, 판정(506)은 애플리케이션 프로그램이 중단(즉, 종료)되어야 하는지 여부를 판정할 수 있다. 판정(506)이 애플리케이션 프로그램이 중단되지 않아야 한다고 판정하면, 다음에 애플리케이션 프로그램은 지속되고, 보조 특징 클라이언트 프로세스(500)는 판정(504)을 반복하기 위해 복귀한다. 대안적으로, 판정(506)이 애플리케이션 프로그램이 중단되어야 한다고 판정하면, 다음에 보조 특징 클라이언트 프로세스(500)는 종료될 수 있다.In either case, when
한편, 판정(504)이 보조 특징의 획득이 요청된 것으로 판정하면, 요청(508)이 원격 네트워크 기반 애플리케이션 분배 시스템에 대해 수행될 수 있다. 요청(508)은, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는 요청이 될 수 있다. 판정(510)은 다음에 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인했는지 여부를 판정할 수 있다. 판정(510)이, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인한 것으로 판정하면, 애플리케이션 프로그램의 보조 특징은 언로킹될 수 있다(512). 여기서, 하나의 환경에서, 원격 네트워크 기반 애플리케이션 분배 시스템은 보조 특징이 언로킹되는 것으로 승인된다는 것을 클라이언트에게 통지할 수 있고, 다음에 애플리케이션 프로그램은 보조 특징을 언로킹하도록 동작할 수 있다. 대안적으로, 판정(510)이, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하지 않은(즉, 거부한) 것으로 판정하면, 보조 특징을 언로킹하기 위한 요청은 거부된다(514). 여기서, 보조 특징이 언로킹되도록 승인되지 않는다는 것을 클라이언트에게 통지함으로써, 애플리케이션 프로그램은 보조 특징을 언로킹하도록 동작하지 않고, 이에 따라 보조 특징은 로킹된 상태로 유지된다. 블록 512 또는 블록 514 이후에, 보조 특징 클라이언트 프로세스(500)는 종료할 수 있다.On the other hand, if
도 6a 및 6b는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스(600)의 순서도이다. 보조 특징 클라이언트 프로세스(600)는, 예컨대, 도 1에 도시된 클라이언트(110)와 같은, 클라이언트(클라이언트 디바이스)에 의해 수행될 수 있다.6A and 6B are a flow diagram of an auxiliary
보조 특징 클라이언트 프로세스(600)는 네트워크 기반 애플리케이션 분배 시스템으로부터 애플리케이션 프로그램의 다운로드(602)에 의해 시작할 수 있다. 예컨대, 클라이언트의 사용자는, 애플리케이션 프로그램을 식별, 구매, 및 다운로드하기 위해 네트워크 기반 애플리케이션 분배 시스템과 인터액팅할 수 있다. 일단 다운로드되면, 애플리케이션 프로그램은 클라이언트상에 인스톨될 수 있다. 그 후, 판정(604)은, 애플리케이션 프로그램이 실행되어야할 지 여부를 판정할 수 있다. 판정(604)이, 애플리케이션 프로그램이 실행되지 않는 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 애플리케이션 프로그램이 실행될 때까지 사실상 대기한다. 일단 판정(604)이, 애플리케이션 프로그램이 실행되는 것으로 판정하면, 애플리케이션 프로그램이 실행된다(606).Auxiliary
다음에, 판정(608)은, 보조 특징이 클라이언트에서 제공되는지 여부를 판정할 수 있다. 판정(608)이, 보조 특징이 제공되지 않는 것으로 판정하면, 판정(610)은, 보조 특징 클라이언트 프로세스(600)가 중단(종료)되어야 하는지 여부를 판정할 수 있다. 판정(610)이, 보조 특징 클라이언트 프로세스(600)가 종료되어야 하는 것으로 판정하면, 다음에 보조 특징 클라이언트 프로세스(600)는 보조 특징이 이용가능하게 하지 않고서 종료할 수 있다. 그와 달리, 판정(610)이, 보조 특징 클라이언트 프로세스(600)가 종료되지 않아야 한다고 판정하면, 보조 특징 클라이언트 프로세스(600)는 판정(608)을 반복하기 위해 복귀한다.Next, a
한편, 판정(608)이, 보조 특징이 제공되어야 하는 것으로 판정하면, 보조 특징 오퍼(offer)가 제시될 수 있다(612). 여기서, 제시되는 보조 특징 오퍼(612)는 애플리케이션 프로그램을 동작시키고 있는 클라이언트의 사용자가 볼 수 있거나 들을 수 있다. 하나의 구현예에서, 보조 특징 제공은 클라이언트상에서 실행되는 애플리케이션 프로그램에 의해 제시된다(612). 판정(614)은 다음에, 사용자가 보조 특징 오퍼를 수용하는지 여부를 판정할 수 있다. 판정(614)이, 사용자가 보조 특징 오퍼를 수용하지 않는 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 판정(610)을 반복하기 위해 복귀할 수 있고, 이에 따라 보조 특징 클라이언트 프로세스(600)는 지속되거나 중단될 수 있다.On the other hand, if the
판정(614)이, 사용자가 보조 특징 제공을 수용한 것으로 판정하면, 보조 특징 정보가 네트워크 기반 애플리케이션 분배 시스템으로부터 요청될 수 있다(616). 판정(618)은, 보조 특징 정보에 대한 요청에 대하여 응답이 수신되었는지 여부를 판정한다. 판정(618)이, 응답이 아직 수신되지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 이러한 응답을 기다릴 수 있다. 한편, 일단 판정(618)이, 보조 특징 정보에 대한 요청에 대한 응답이 수신된 것으로 판정하면, 보조 특징 정보는 다음에 제시될 수 있다(620). 보조 특징 정보가 제시되어(620), 클라이언트 상에서 동작하는 애플리케이션 프로그램의 사용자에게 오퍼되는 보조 특징에 관한 정보를 제공한다. 예컨대, 보조 특징 정보는, 애플리케이션 프로그램과 같은 클라이언트에 의해, 또는 운영 시스템에 의해 표시될 수 있다. If
다음에, 판정(622)은, 사용자가 보조 특징의 획득을 확인(confirm)했는지 여부를 판정할 수 있다. 하나의 구현예에 따르면, 애플리케이션 프로그램과 별개로, 운영 시스템은 사용자가 보조 특징을 획득하길 원하는지를 사용자가 확인할 것을 요구할 수 있다. 판정(622)은, 애플리케이션 프로그램이 부주의하게 또는 적절하지 않게 사용자들을 위해 보조 특징들을 획득하지 않도록, 제어되는 방식으로 보조 특징들의 획득을 관리하도록 작용한다. 판정(622)이, 보조 특징의 획득이 아직 확인되지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 이러한 확인을 기다릴 수 있다. 확인이 소정의 시간 내에 발생하지 않는 경우에, 판정(622)은 대안적으로 보조 특징 클라이언트 프로세스(600)가 종료하도록 할 수 있다.Next, a
판정(622)이, 보조 특징의 획득이 사용자에 의해 확인된 것으로 판정하면, 보조 특징의 액세스에 대한 인증이 요청될 수 있다(624). 여기서, 보조 특징의 액세스에 대한 인증의 요청은, 예컨대, 네트워크 기반 애플리케이션 분배 시스템에 대해 수행될 수 있다. 그러면, 판정(626)은, 보조 특징의 액세스에 대한 인증이 수신되었는지 여부를 판정할 수 있다. 인증은 인증 응답으로서 또는 인증 응답 내에서 제공될 수 있다. 인증 응답은, 제공된다면, 클라이언트에 의해 수신된다. 그에 따라, 판정(626)은, 인증 응답이 수신되었는지 여부를 판정한다. 판정(626)이 인증 응답이 수신되지 않은 것으로 판정하면, 판정(628)은 타임 아웃이 발생했는지 여부를 판정할 수 있다. 판정(628)이 타임 아웃이 발생한 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 종료할 수 있다. 한편, 판정(628)이, 타임 아웃이 발생하지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 인증 응답의 수신을 기다리도록 판정(626)을 반복하기 위해 복귀할 수 있다. 일단 판정(626)이, 인증 응답이 수신된 것으로 판정하면, 애플리케이션 프로그램의 보조 특징은 언로킹될 수 있다(630). 전형적으로, 애플리케이션 프로그램 자체는, 인증 응답이 클라이언트에 제공되면, 보조 특징을 언로킹하도록 동작할 수 있다. 블록(630) 이후에, 보조 특징 클라이언트 프로세스(600)는 종료할 수 있다.If
도 7은 본 발명의 일 실시예에 따른 보조 특징 서버의 흐름도이다. 보조 특징 서버 프로세스(700)는, 예를 들면 도 1에 도시된 제품 분배 사이트(102)와 같은 서버(서버 디바이스)에 의해서 행해진다.7 is a flowchart of an auxiliary feature server according to an embodiment of the present invention. The secondary
보조 특징 서버 프로세스(700)는 판정(702)으로 시작할 수 있다. 판정(702)은 보조 특징 정보 요청이 수신되었는지를 판정할 수 있다. 일반적으로, 보조 특징 정보 요청은 클라이언트로부터 수신될 수 있다. 일 예로서, 보조 특징 정보 요청은 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 616에 의해서 개시될 수 있다.Secondary
판정(702)이 보조 특징 정보 요청이 수신되었다고 판정하는 경우, 보조 특징과 연관된 보조 특징 정보는 704에서 검색될 수 있다. 예를 들면, 서버는 복수의 상이한 보조 특징들을 위한 보조 특징 정보를 저장할 수 있는 데이터 스토리지로의 액세스를 갖는다. 특정 예로서, 보조 특징 정보는 데이터베이스일 수 있는 제품 스토어(106)에 저장된 제품 정보의 일부일 수 있다. 그 후, 검색된 보조 특징 정보(704)는 보내질 수 있다(706). 일반적으로, 보조 특징 정보는 보조 특징 정보 요청을 개시한 클라이언트에게 보내진다(706). 대안적으로, 판정(702)이 보조 특징 정보 요청이 수신되지 않았다고 판정하면, 블록들 704 및 706을 건너뛴다.If the
블록 706에 뒤따라서, 또는 이를 우회하여, 보조 특징 서버 프로세스(700)는 보조 특징을 언로킹(unlocking)하는 것과 관련된 처리를 실행할 수 있다. 특히, 판정(708)은 언로크(unlock) 요청이 수신되었는지를 판정할 수 있다. 일반적으로, 언로크 요청은 클라이언트로부터 수신될 수 있다. 일 예로서, (인증 요청이기도 한) 언로크 요청은 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 624에 의해서 개시될 수 있다.Subsequent to or bypassing
판정(708)이 언로크 요청이 수신되었다고 판정하는 경우, 보조 특징 서버 프로세스(700)는 언로크 요청이 승인되는지를 판정할 수 있다(710). 일 구현에서, 승인은 하나 이상의 요구 사항이 맞을 것을 요구할 수 있다. 요구 사항은 구현에 따라서 변할 수 있고, 보조 특징에 대한 하나 이상의 지불, 응용 프로그램의 구입의 이전 지불, 사용자 계정의 실재 등을 포함할 수 있다. 판정(712)이 언로크 요청이 승인되지 않는다고 판정하는 경우, 보조 특징 서버 프로세스(700)는 언로크 요청을 한 클라이언트에게 거절 응답을 보낸다(714). 거절 응답은 거절에 대한 이유를 표시할 수 있다. 대안적으로, 판정(712)이 언로크 요청이 승인된다고 판정하는 경우, 보조 특징을 언로킹하라는 승인 응답은 언로크 요청을 제공하는 클라이언트에게 보내진다(716). 승인 응답은 언로크이 요청된 특정한 보조 특징을 언로킹하는데 사용될 수 있는 승인 코드 또는 코드들을 포함할 수 있다. 일 구현예에서, 승인 응답은 클라이언트 상에서 동작하는 응용 프로그램에 보내지고(716), 그 후 응용 프로그램은 보조 특징을 언로킹하도록 행동할 수 있다(예컨대, 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 630).If the
한편, 판정(708)이 언로크 요청이 수신되지 않았다고 판정하는 경우, 블록 710 내지 716을 건너뛸 수 있다. 블록들(714 또는 716)(또는 이러한 블록들의 우회로)에 이어서, 보조 특징 서버 프로세스(700)는 판정(702)을 반복하도록 복귀할 수 있다.On the other hand, if
2009년 3월 16일에 제출된, 표제 "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUENT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM"의 미국 임시특허출원번호 61/160,640호는, 본 명세서에 참조로서 포함된다.US Provisional Patent Application No. 61 / 160,640, filed March 16, 2009, entitled "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUENT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM", is incorporated herein by reference.
본 출원은 또한 이하를 참조하고 및/또는 포함한다: (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].This application also refers to and / or includes the following: (1) The title “METHOD AND SYSTEM FOR SUBMITTING MEDIA FOR NETWORK-BASED PURCHASE AND DISTRIBUTION, filed on October 15, 2003, which is incorporated herein by reference. U.S. Patent Application No. 10 / 687,534, (2) U.S. Patent for the title "PROCESSING OF METADATA CONTENT AND MEDIA CONTENT RECEIVED BY A MEDIA DISTRIBUTION SYSTEM", filed February 27, 2007, which is incorporated herein by reference. Application No. 11 / 712,303, (3) United States Patent Application No. 11 of the heading "TECHNIQUES AND SYSTEMS FOR ELECTRONIC SUBMISSION OF MEDIA FOR NETWORK-BASED DISTRIBUTION", filed December 12, 2006, which is incorporated herein by reference. / 609,815, (4) U.S. Patent Application No. 11 / 622,923, filed on Jan. 12, 2007, which is incorporated by reference herein, (5) Submitted on September 26, 2008, incorporated by reference , US Patent Application No. 12 / 286,076, titled "ELECTRONIC SUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASED DISTRIBUTION," (6), filed September 26, 2008, which is incorporated herein by reference, the title "NETWORK US Patent Application No. 12 / 286,075 to "-BASED DISTRIBUTION OF APPLICATION PRODUCTS", (7) entitled "ELECTRONIC SUBMISSION OF APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION", filed September 26, 2008, which is incorporated herein by reference. US Patent Application No. 12 / 286,092, (8) US Patent Application No. 12 / 368,111, filed February 2, 2009, which is incorporated herein by reference, under the heading "INTELLIGENT DOWNLOAD OF APPLICATION PROGRAMS," (9) United States Provisional Patent Application No. 61 / 180,925, filed May 25, 2009, which is incorporated herein by reference, under the heading "CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION". , And (10) by reference herein US Patent Application No. filed titled "CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION", filed on September 30, 2009, which is incorporated by reference. No. Dkt. number. 101-p685].
상술한 본 발명의 다양한 관점들, 특징들, 실시예들 또는 구현들은 단독으로 또는 다양한 조합으로 사용될 수 있다.The various aspects, features, embodiments or implementations of the invention described above can be used alone or in various combinations.
예를 들면, 본 발명의 실시예들은 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 본 발명의 실시예들은 또한 컴퓨터 판독가능한 매체 상의 컴퓨터 판독가능한 코드로서 구체화될 수 있다. 컴퓨터 판독가능한 매체는 그 이후에 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 스토리지 디바이스이다. 컴퓨터 판독가능한 매체의 예들은 일반적으로 ROM(read only memory) 및 RAM(random-access memory)을 포함한다. 컴퓨터 판독가능한 매체의 보다 구체적인 예들은 유형적인(tangible) 것이며 플래시 메모리, EEPROM 메모리, 메모리 카드, CD-ROM, DVD, 하드 드라이브, 자기 테이프, 및 광 데이터 스토리지 디바이스를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 코드가 저장되고 분포된 방식(a distributed fashion)으로 실행되도록 네트워크 결합된(network-coupled) 컴퓨터 시스템들에 걸쳐서 분포되어 있을 수 있다.For example, embodiments of the invention may be implemented by software, hardware, or a combination of hardware and software. Embodiments of the invention may also be embodied as computer readable code on a computer readable medium. A computer readable medium is any data storage device capable of storing data that can thereafter be read by a computer system. Examples of computer readable media generally include read only memory (ROM) and random-access memory (RAM). More specific examples of computer readable media are tangible and include flash memory, EEPROM memory, memory cards, CD-ROMs, DVDs, hard drives, magnetic tapes, and optical data storage devices. The computer readable medium may be distributed over network-coupled computer systems such that the computer readable code is stored and executed in a distributed fashion.
본 발명의 다수의 특징들 및 이점들은 기술된 설명으로부터 명백하다. 또한, 당업자에게는 다수의 수정 및 변경이 쉽게 가능할 것이므로, 본 발명은 도시되고 기술된 바와 같이 엄밀한 구조 및 동작에 제한되어서는 안 된다. 그러므로, 적절한 모든 수정 및 균등물들은 본 발명의 범위에 속하는 것으로 여겨질 수 있다.Many features and advantages of the invention are apparent from the described description. In addition, many modifications and variations will be readily apparent to those skilled in the art, and the invention is not to be limited to the precise construction and operation as shown and described. Therefore, all suitable modifications and equivalents may be considered to be within the scope of the present invention.
APPENDIXAPPENDIX B B
Commerce Server(StoreKit로 불림)를 위한 프로그램적인 인터페이스(programmatic interface)는 당신의 애플리케이션에 의해 구현되어야만 하는 하나의 프로토콜 및 사용자가 아이템을 구매하기를 희망하는 Application Store에 통신하기 위해 사용되는 소수의(a few) 클래스들로 구성된다.The programmatic interface for Commerce Server (called StoreKit) is a protocol that must be implemented by your application and a small number of (a) used to communicate to the Application Store where the user wishes to purchase an item. few) consists of classes
SKPaymentRequestSKPaymentRequest
모든 것은 지불 요청으로 시작된다. 당신이 당신의 애플리케이션 내로부터 이용가능하게 만든 아이템을 사용자가 구매하기로 결정하면, 당신의 애플리케이션은 구매될 아이템 및 (해당한다면) 구매할 그 아이템의 수량을 상세히 알리는 지불 요청을 작성한다. 구매될 아이템은 당신의 애플리케이션 내에서 productIdentifier 스트링에 의해 식별된다. 이것은, Application Store 및 당신의 애플리케이션이 특정한 아이템을 나타내는 것을 동의한다는 스트링이다.Everything starts with a request for payment. When a user decides to purchase an item made available from within your application, your application creates a payment request detailing the item to be purchased and the quantity of that item (if applicable) to purchase. The item to be purchased is identified by the productIdentifier string in your application. This is a string that the Application Store and your application agree to represent a particular item.
SKPaymentQueueSKPaymentQueue
지불 큐(payment queue)는 Application Store로의 인터페이스이다. 지불 큐는 Commerce Sever로 애플리케이션의 지불 요청을 송신할 책임이 있다. Commerce Server는 이 요청들을 Application Store로 전달하고 임의의 필요한 프롬프트들을 사용자에게 표시할 것이다. 그것이 사용자의 자격을 인증하고 지불을 승인하면, 지불 큐는 요청이 처리되었음을 당신의 애플리케이션에게 알린다.The payment queue is the interface to the Application Store. The payment queue is responsible for sending the application's payment request to Commerce Sever. Commerce Server will forward these requests to the Application Store and display any necessary prompts to the user. When it authenticates the user's credentials and approves the payment, the payment queue notifies your application that the request has been processed.
SKPaymentTransactionSKPaymentTransaction
당신의 애플리케이션이 지불 큐에 지불 요청을 추가할 때, 요청은 트랜잭션 내로 포함된다(encapsulated into). 트랜잭션은 당신에게 요청의 상태 - 그것이 여전히 처리중에 있는지 아니면 성공했거나 실패했는지 - 를 말한다.When your application adds a payment request to the payment queue, the request is encapsulated into the transaction. A transaction tells you the status of the request-whether it is still in process or succeeded or failed.
당신의 애플리케이션은 지불 큐에게 계류중인(pending) 트랜잭션들의 리스트를 요청할 수 있지만, 애플리케이션이 지불 큐가 갱신된 트랜잭션의 리스트로 그것을 호출할 때까지 기다리는 것이 훨씬 더 흔하다.Your application can ask the payment queue for a list of pending transactions, but it is much more common to wait for the application to call it with a list of updated transactions.
SKTransactionObserverSKTransactionObserver
지불 큐와 함께 작업하기 위해, 당신의 애플리케이션은 지불 큐의 관찰자로서 SKTransactionObserver를 구현하는 오브젝트(object)를 추가한다. 트랜잭션 관찰자는 트랜잭션들이 갱신되거나 큐로부터 제거될 때 그것을 알리기 위해 지불 큐에 의해 호출된다.To work with the payment queue, your application adds an object that implements SKTransactionObserver as the observer of the payment queue. The transaction observer is called by the payment queue to notify it when transactions are updated or removed from the queue.
당신의 애플리케이션은 초기화 동안 관찰자를 지불 큐와 연관시켜야 한다. 사용자가 관찰자 추가 전에 사용자가 아이템을 구매하려고 시도할 때까지 기다리지 마라. 사용자는 아이템을 구매하려고 시도할 수도 있지만 트랜잭션이 완료하기 전에 당신의 애플리케이션을 그만둘 수도 있다. 초기화 동안 관찰자를 추가함으로써, 당신의 애플리케이션이 론칭(launch)할 때에 그 트랜잭션들은 당신의 관찰자에게 포워드될 것이다.Your application must associate an observer with a payment queue during initialization. Do not wait for the user to attempt to purchase the item before adding the observer. The user may try to purchase the item, but may quit your application before the transaction completes. By adding an observer during initialization, those transactions will be forwarded to your observer when your application launches.
관찰자의 주요 책임은 완료된 모든 구매를 검토하고 사용자가 구매한 콘텐츠를 이용가능하게 하는 것이다.The observer's primary responsibility is to review all completed purchases and make the content purchased by the user available.
Commerce Server API는 당신의 애플리케이션에 스토어를 추가하는 프로세스의 작은 부분에 불과하다. 당신은, 당신이 팔기 원하는 특징들을 추적하는 방법, 그들을 사용자에게 표시하는 방법, 및 사용자가 당신의 스토어프론트로부터 어떤 것을 구매할 때 콘텐츠를 언로킹하는(unlock) 방법을 결정할 필요가 있을 것이다.The Commerce Server API is just a small part of the process of adding a store to your application. You will need to decide how to track the features you want to sell, how to display them to the user, and how to unlock the content when the user purchases something from your storefront.
이는, 더 큰 설계 이슈들을 다루기 전에, 당신이 당신의 애플리케이션에 스토어를 추가하는 것을 이어서 하고자 할 때 필요하게 될 기본 단계들을 이해하는데 도움이 된다.This can help you understand the basic steps you will need to follow when you continue to add a store to your application before dealing with larger design issues.
The Step-By-Step ProcessThe Step-By-Step Process
당신이 프로젝트를 셋업할 때, StoreKit.framework로의 링크를 확실히 해라. 그 다음, 하나의 실시예에 따라, 당신은 다음과 같은 단계들에 의해 당신의 애플리케이션에 스토어를 추가할 수 있다.When you set up your project, make sure to link to StoreKit.framework. Then, according to one embodiment, you can add a store to your application by the following steps.
1. 당신의 애플리케이션 내에서 당신이 팔기 원하는 아이템 리스트를 결정해라. 게임을 위해, 당신은 이것을 사용하여 새로운 콘텐츠를 사용자에게 팔 수도 있을 것이다. 생산 애플리케이션을 위해, 당신은 당신의 애플리케이션 내에서 새로운 특징들을 언로킹하는 능력을 제안할 수도 있을 것이다.1. Determine the list of items you want to sell in your application. For the game, you could use this to sell new content to the user. For a production application, you might suggest the ability to unlock new features in your application.
당신이 제공할 수 있는 특징들의 유형에는 한계가 있을 수 있다. 당신은 당신의 애플리케이션에 이미 들어 있는 코드를 언로킹할 수 있지만, StoreKit API는 현재 그 자체를 패치(patch)하거나 추가적인 코드 라이브러리들을 다운로드하는 능력을 당신의 애플리케이션에 제공하지 않는다. 애플리케이션 스토어 구매들은 현존하는 코드를 언로킹할 수 있거나 또는 데이터로서 완전히 구현될 수 있어야만 한다. 당신의 특징들이 추가적인 코드를 요구한다면, 당신은 당신의 애플리케이션의 새로운 버전을 출하해야 한다.There may be limits to the type of features you can provide. You can unlock the code already in your application, but the StoreKit API does not currently give your application the ability to patch itself or download additional code libraries. Application store purchases must be able to unlock existing code or be fully implemented as data. If your features require additional code, you must ship a new version of your application.
2. 당신의 애플리케이션 내에서 팔리게 될 각 아이템에 대한 제품 식별자 스트링을 등록해라. 당신이 팔려는 새로운 아이템을 추가하기 원할 때마다 당신은 이 단계를 다시 찾을 것이다. 당신의 스토어 안에서 팔리게 될 각각의 아이템은 고유의 제품 식별자 스트링을 필요로 한다. Application Store는 이 스트링을 사용하여 특징의 이름 및 그 가격을 찾는다. 이 제품 식별자들은 각 애플리케이션에 특유한 것이고 당신의 애플리케이션이 그런 것처럼 Application Store에 등록된다.2. Register a product identifier string for each item that will be sold in your application. Each time you want to add a new item for sale, you will find this step again. Each item that will be sold in your store needs a unique product identifier string. The Application Store uses this string to find the name of the feature and its price. These product identifiers are specific to each application and are registered in the Application Store as your application does.
3. 판매를 위한 아이템들을 표시하는 사용자 인터페이스를 추가하고 사용자가 그들을 선택하도록 허용해라. StoreKit는 사용자 인터페이스를 제공하지 않는다. 당신이 당신의 고객들에게 어떻게 물건을 파는지에 대한 모습 및 느낌(look and feel)은 당신에게 달려 있다!3. Add a user interface that displays items for sale and allow the user to select them. StoreKit does not provide a user interface. The look and feel of how you sell things to your customers is up to you!
중요한 것: StoreKit은 지불 트랜잭션에 초점을 맞춘다. 그것은, 당신의 애플리케이션이 가격을 포함하는, 구매할 가능한 아이템들에 관한 정보를 검색하기 위한 메커니즘을 제공하지 않는다. 당신의 애플리케이션은 이 데이터를 국부적으로 저장할 필요가 있거나 그것을 당신 자신의 개인 서버로부터 불러낼(fetch) 필요가 있다. Important thing : StoreKit focuses on payment transactions. It does not provide a mechanism for retrieving information about the items that your application can purchase, including the price. Your application needs to store this data locally or fetch it from your own personal server.
4. 사용자가 구매할 아이템을 선택할 때, 당신의 애플리케이션은 새로운 지불 요청을 작성하여 그것을 지불 큐에 추가할 것이다.4. When the user selects an item to purchase, your application will create a new payment request and add it to the payment queue.
특정한 아이템이 한 번보다 많이 구매될 수 있다면, 당신은 구매할 아이템의 수량을 포함하는 단일 요청을 작성할 수 있다.If a particular item can be purchased more than once, you can make a single request containing the quantity of the item to buy.
5. 클래스 상에서 SKTransactionObserver 프로토콜을 구현하라.5. Implement the SKTransactionObserver protocol on the class.
당신은 당신의 관찰자에서의 방법: paymentQueue:updateTransactions를 구현해야 한다. 이러한 방법 없이는, 당신의 애플리케이션은 결코 처리된 트랜잭션들에 관한 Application Store로부터의 정보를 수신하지 못할 것이다.You must implement the method: paymentQueue: updateTransactions in your observer. Without this method, your application will never receive information from the Application Store about processed transactions.
6. 지불 큐로 트랜잭션 관찰자를 등록해라.6. Register a transaction observer with the payment queue.
당신의 애플리케이션은 트랜잭션 관찰자 오브젝트를 예시해야 하고 그것을 관찰자로서 지불 큐에 추가해야 한다.Your application must illustrate a transaction observer object and add it to the payment queue as an observer.
당신의 애플리케이션은 초기화 동안 관찰자를 추가해야 한다. StoreKit는 향후의(future) 데이터에서 전달될 당신의 애플리케이션의 이전 론칭(launch) 동안 큐되었던(were queued) 트랜잭션들을 허용한다. 예를 들어, 사용자는 전화를 걸기 위해 당신의 애플리케이션을 그만두었을 수도 있다.Your application needs to add an observer during initialization. StoreKit allows transactions that were queued during the previous launch of your application to be delivered in future data. For example, the user may have quit your application to make a call.
7. 성공적인 구매를 위한 트랜잭션을 완료하라.7. Complete the transaction for a successful purchase.
transactionIdentifier는 사용자의 지불 처리 후에 Application Store에 의해 생성된 스트링이다. 당신의 애플리케이션은 이 정보로 어떠한 것도 행하도록 요구되지 않지만, 당신은 그것을 당신의 애플리케이션을 위한 감사 추적(audit trail)의 일부로서 기록하기를 원할 수도 있다.transactionIdentifier is a string generated by the Application Store after the user has processed a payment. Your application is not required to do anything with this information, but you may want to record it as part of the audit trail for your application.
당신의 애플리케이션이, 사용자가 구매한 콘텐츠를 제공하기 위해 필요한 단계들을 취하는 것은 매우 중요하다. 아이템에 대한 지불은 이미 수신되었으므로, 사용자는 그들이 사용가능하게 되기를 기대할 것이다.It is very important for your application to take the necessary steps to present the content purchased by the user. Since payment for the item has already been received, the user will expect them to be available.
당신이 사용자에게 그들의 콘텐츠를 제공하면, 당신의 애플리케이션은 동작을 완료하기 위해 finishTransaction: 을 호출해야 한다. 이는 트랜잭션 큐로부터 트랜잭션을 제거할 것이다. 일단 당신의 애플리케이션이 finishTransaction:을 호출하면, 이 트랜잭션은 더 이상 당신의 애플리케이션의 트랜잭션 관찰자에게 보내지지 않을 것이다. 이런 이유로, 이것은 당신이 여기서 수행하는 마지막 단계일 것이다.When you provide their content to the user, your application should call finishTransaction: to complete the action. This will remove the transaction from the transaction queue. Once your application calls finishTransaction:, this transaction will no longer be sent to your application's transaction observer. For this reason, this will be the last step you perform here.
8. 실패한 구매에 대한 트랜잭션을 완료하라.8. Complete the transaction for the failed purchase.
실패한 구매에 대한 유일한 요구조건은 당신이 그것을 큐로부터 제거하는 것이다. 당신은 필요에 따라 다른 액션들을 취하도록 선택할 수도 있다.The only requirement for a failed purchase is that you remove it from the queue. You can choose to take other actions as needed.
Claims (14)
적어도 하나의 로킹된 보조 특징을 갖는 적어도 하나의 애플리케이션 프로그램; 및
상기 모바일 컴퓨팅 디바이스 상에 상주(resident)하는 커머스 서버(commerce server) - 상기 커머스 서버는, 상기 적어도 하나의 애플리케이션 프로그램이 상기 모바일 컴퓨팅 디바이스 상에서 동작하고 있는 동안에, 상기 적어도 하나의 애플리케이션 프로그램의 상기 적어도 하나의 로킹된 보조 특징으로의 액세스를 촉진시키도록 원격 서버와 상호작용하도록 구성됨 - 를 포함하고,
상기 적어도 하나의 애플리케이션 프로그램은 사용자에게 상기 적어도 하나의 로킹된 보조 특징의 사용가능성을 알리고, 상기 사용자가 상기 로킹된 보조 특징을 언로킹해 줄 것을 요청하는 경우, 상기 적어도 하나의 애플리케이션 프로그램은 상기 커머스 서버와 상호작용하여 상기 로킹된 보조 특징이 언로킹되어야 하는지를 결정하고,
상기 커머스 서버는 상기 적어도 하나의 애플리케이션 프로그램의 사용자가 상기 로킹된 보조 특징의 사용을 획득하기를 바라는지를 판단하도록 구성되고,
상기 원격 서버로부터의 인증이 상기 로킹된 보조 특징에 대한 언로킹이 승인되었음을 표시하는 경우, 상기 컴퓨팅 디바이스에서 상기 애플리케이션 프로그램의 상기 로킹된 보조 특징이 후속적으로 언로킹되는, 모바일 컴퓨팅 디바이스.As a mobile computing device,
At least one application program having at least one locked auxiliary feature; And
A commerce server resident on the mobile computing device, wherein the commerce server is configured to provide the at least one of the at least one application program while the at least one application program is running on the mobile computing device. Configured to interact with a remote server to facilitate access to the locked secondary feature of the
The at least one application program informs a user of the availability of the at least one locked supplemental feature, and when the user requests to unlock the locked supplemental feature, the at least one application program is the commerce. Interact with a server to determine if the locked secondary feature should be unlocked,
The commerce server is configured to determine whether a user of the at least one application program wants to obtain use of the locked supplemental feature,
The locked auxiliary feature of the application program is subsequently unlocked at the computing device when authentication from the remote server indicates that unlocking for the locked auxiliary feature is approved.
상기 모바일 컴퓨팅 디바이스는 핸드헬드, 다기능 전자 디바이스이며,
상기 핸드헬드, 다기능 전자 디바이스는 적어도 상기 적어도 하나의 애플리케이션 프로그램을 실행하고 무선 음성 및 데이터 통신을 지원하는, 모바일 컴퓨팅 디바이스.The method of claim 1,
The mobile computing device is a handheld, multifunction electronic device,
The handheld, multifunction electronic device executing at least the at least one application program and supporting wireless voice and data communication.
상기 모바일 컴퓨팅 디바이스는 오퍼레이팅 시스템을 더 포함하고, 상기 커머스 서버는 상기 오퍼레이팅 시스템의 일부인, 모바일 컴퓨팅 디바이스.The method of claim 1,
And the mobile computing device further comprises an operating system, wherein the commerce server is part of the operating system.
상기 적어도 하나의 애플리케이션 프로그램은 상기 원격 서버로부터의 인증이 상기 로킹된 특징에 대한 언로킹이 승인됨을 표시하는 경우 상기 모바일 컴퓨팅 디바이스에서의 상기 애플리케이션 프로그램의 상기 로킹된 특징을 언로킹하도록 구성되는, 모바일 컴퓨팅 디바이스.The method of claim 1,
The at least one application program is configured to unlock the locked feature of the application program at the mobile computing device if authentication from the remote server indicates that unlocking of the locked feature is approved. Computing device.
상기 모바일 컴퓨팅 디바이스는 스마트 폰이고, 상기 적어도 하나의 애플리케이션 프로그램은 상기 스마트 폰에서 동작하는, 모바일 컴퓨팅 디바이스.The method of claim 1,
The mobile computing device is a smartphone, and the at least one application program operates on the smartphone.
상기 모바일 컴퓨팅 디바이스는 오퍼레이팅 시스템을 더 포함하고, 상기 커머스 서버는 상기 오퍼레이팅 시스템의 일부인, 모바일 컴퓨팅 디바이스.6. The method of claim 5,
And the mobile computing device further comprises an operating system, wherein the commerce server is part of the operating system.
상기 적어도 하나의 애플리케이션 프로그램은, 상기 원격 서버로부터의 인증이 상기 로킹된 특징에 대한 언로킹이 승인됨을 표시하는 경우, 상기 모바일 컴퓨팅 디바이스에서 상기 애플리케이션 프로그램의 상기 로킹된 특징을 언로킹하도록 구성되는, 모바일 컴퓨팅 디바이스.6. The method of claim 5,
The at least one application program is configured to unlock the locked feature of the application program at the mobile computing device when authentication from the remote server indicates that unlocking of the locked feature is approved. Mobile computing devices.
커머스 서버를 포함하는 오퍼레이팅 시스템 - 상기 커머스 서버는 네트워크를 통해서 원격 서버와 통신하여 그에 의해 애플리케이션 프로그램들 또는 보조 특징들을 획득하거나 또는 활성화하도록 구성됨 - ;
적어도 하나의 로킹된 보조 특징을 갖는 애플리케이션 프로그램을 저장하도록 구성되는 데이터 저장 디바이스 - 상기 애플리케이션 프로그램은, (i) 상기 적어도 하나의 로킹된 보조 특징에 액세스하기 위한 권리를 획득하기 위해, 또한 (ii) 상기 적어도 하나의 보조 특징을 획득하기 위한 권리가 획득된 경우 상기 적어도 하나의 보조 특징이 상기 애플리케이션 프로그램에 의해 액세스 가능하게 되도록 하기 위해 상기 커머스 서버와 통신하도록 구성됨 - 을 포함하고,
상기 애플리케이션 프로그램은 사용자에게 상기 적어도 하나의 로킹된 보조 특징의 사용가능성을 알리고, 상기 사용자가 상기 로킹된 보조 특징을 언로킹해 줄 것을 요청하는 경우, 상기 애플리케이션 프로그램은 상기 커머스 서버와 상호작용하여 상기 로킹된 보조 특징이 언로킹되어야 하는지를 결정하고,
상기 커머스 서버는 상기 애플리케이션 프로그램의 사용자가 상기 로킹된 보조 특징의 사용을 획득하기를 바라는지를 판단하도록 구성되고,
상기 커머스 서버는, (i) 상기 원격 서버가 상기 로킹된 보조 특징에 대한 언로킹을 승인할 것을 요청하기 위해, 또한 (ii) 상기 로킹된 보조 특징에 대한 언로킹이 승인되었다는 인증을 상기 원격 서버로부터 수신하기 위해 상기 원격 서버와 상호작용하도록 구성되며,
상기 원격 서버로부터의 인증이 상기 로킹된 보조 특징에 대한 언로킹이 승인됨을 표시하는 경우, 상기 컴퓨팅 디바이스에서 상기 애플리케이션 프로그램의 상기 로킹된 보조 특징이 후속적으로 언로킹되는, 휴대용 클라이언트 컴퓨팅 디바이스.A portable client computing device,
An operating system comprising a commerce server, the commerce server configured to communicate with a remote server via a network to thereby obtain or activate application programs or auxiliary features;
A data storage device configured to store an application program having at least one locked auxiliary feature, wherein the application program is configured to (i) obtain a right to access the at least one locked auxiliary feature, and (ii) And configured to communicate with the commerce server to make the at least one supplemental feature accessible by the application program when a right to obtain the at least one supplemental feature is obtained.
The application program informs a user of the availability of the at least one locked supplemental feature, and when the user requests to unlock the locked supplemental feature, the application program interacts with the commerce server to Determine if the locked auxiliary feature should be unlocked,
The commerce server is configured to determine whether a user of the application program wants to obtain use of the locked auxiliary feature,
The commerce server may be configured to: (i) request that the remote server approve the unlocking of the locked supplemental feature, and (ii) authenticate the authentication that the unlocking of the locked supplemental feature has been approved. Is configured to interact with the remote server to receive from
The locked auxiliary feature of the application program is subsequently unlocked at the computing device if authentication from the remote server indicates that unlocking of the locked auxiliary feature is approved.
상기 애플리케이션 프로그램은, 상기 원격 서버로부터의 인증이 상기 로킹된 보조 특징에 대한 언로킹이 승인됨을 나타내는 경우 상기 컴퓨팅 디바이스에서 상기 애플리케이션 프로그램의 상기 로킹된 보조 특징을 언로킹하도록 구성되는, 휴대용 클라이언트 컴퓨팅 디바이스.9. The method of claim 8,
The application program is configured to unlock the locked supplemental feature of the application program at the computing device if authentication from the remote server indicates that unlocking of the locked supplemental feature is approved. .
상기 애플리케이션 프로그램은 애플리케이션 식별자에 의해 식별되고, 상기 보조 특징은 특징 식별자에 의해 식별되는, 휴대용 클라이언트 컴퓨팅 디바이스.9. The method of claim 8,
And wherein said application program is identified by an application identifier and said supplemental feature is identified by a feature identifier.
상기 커머스 서버는 보조 특징 정보를 획득하기 위해 상기 원격 서버와 상호작용하도록 구성되고,
상기 보조 특징 정보는 상기 특징 식별자 및 상기 애플리케이션 식별자에 기초하는, 휴대용 클라이언트 컴퓨팅 디바이스.11. The method of claim 10,
The commerce server is configured to interact with the remote server to obtain auxiliary feature information,
And the supplemental feature information is based on the feature identifier and the application identifier.
상기 커머스 서버는 상기 특징 식별자가 상기 애플리케이션 프로그램을 위한 상기 애플리케이션 식별자와 연관됨을 인증하도록 구성되는, 휴대용 클라이언트 컴퓨팅 디바이스.11. The method of claim 10,
And the commerce server is configured to authenticate that the feature identifier is associated with the application identifier for the application program.
상기 커머스 서버는 보조 특징 정보를 획득하기 위해 상기 원격 서버와 상호작용하도록 구성되고,
상기 보조 특징 정보는 상기 보조 특징이 언로킹되도록 하는 적어도 비용 정보를 포함하는, 휴대용 클라이언트 컴퓨팅 디바이스.10. The method of claim 9,
The commerce server is configured to interact with the remote server to obtain auxiliary feature information,
And the supplemental feature information includes at least cost information that causes the supplemental feature to be unlocked.
상기 커머스 서버는 보조 특징 정보를 획득하기 위해 상기 원격 서버와 상호작용하도록 구성되고,
상기 보조 특징 정보는 상기 보조 특징이 언로킹되도록 하는 적어도 비용 정보를 포함하고,
적어도 상기 비용 정보에 기초하여 상기 보조 특징을 위한 지불 처리가 개시되는, 휴대용 클라이언트 컴퓨팅 디바이스.10. The method of claim 9,
The commerce server is configured to interact with the remote server to obtain auxiliary feature information,
The auxiliary feature information includes at least cost information that causes the auxiliary feature to be unlocked,
The payment processing for the supplemental feature is initiated based at least on the cost information.
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 | 2009-09-30 | ||
US12/571,266 US20100235254A1 (en) | 2009-03-16 | 2009-09-30 | Application Products with In-Application Subsequent Feature Access Using Network-Based Distribution System |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100023496A Division KR101238940B1 (en) | 2009-03-16 | 2010-03-16 | Application products with in-application subsequent feature access using network-based distribution system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130027541A KR20130027541A (en) | 2013-03-15 |
KR101361313B1 true KR101361313B1 (en) | 2014-02-11 |
Family
ID=42154101
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100023496A KR101238940B1 (en) | 2009-03-16 | 2010-03-16 | Application products with in-application subsequent feature access using network-based distribution system |
KR1020130007707A KR101361313B1 (en) | 2009-03-16 | 2013-01-23 | Application products with in-application subsequent feature access using network-based distribution system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100023496A KR101238940B1 (en) | 2009-03-16 | 2010-03-16 | Application products with in-application subsequent feature access using network-based distribution system |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100235254A1 (en) |
EP (1) | EP2230620A1 (en) |
JP (2) | JP2010218559A (en) |
KR (2) | KR101238940B1 (en) |
CN (1) | CN101840556A (en) |
AU (1) | AU2010200963A1 (en) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161411B2 (en) | 2003-04-25 | 2012-04-17 | Apple Inc. | Graphical user interface for browsing, searching and presenting media items |
US20040215534A1 (en) | 2003-04-25 | 2004-10-28 | Apple Computer, Inc. | Method and system for network-based allowance control |
US7844548B2 (en) | 2003-10-15 | 2010-11-30 | Apple Inc. | Techniques and systems for electronic submission of media for network-based distribution |
US7962634B2 (en) | 2006-05-15 | 2011-06-14 | Apple Inc. | Submission of metadata content and media content to a media distribution system |
US7827162B2 (en) | 2006-05-15 | 2010-11-02 | Apple Inc. | Media package format for submission 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 |
US20070265969A1 (en) * | 2006-05-15 | 2007-11-15 | Apple Computer, Inc. | Computerized management of media distribution agreements |
US9076176B2 (en) | 2008-05-05 | 2015-07-07 | Apple Inc. | Electronic submission of application programs for network-based distribution |
US10255580B2 (en) * | 2008-05-05 | 2019-04-09 | Apple Inc. | Network-based distribution of application products |
US9342287B2 (en) | 2008-05-05 | 2016-05-17 | Apple Inc. | Software program ratings |
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 |
WO2012129865A1 (en) * | 2011-03-31 | 2012-10-04 | 中兴通讯股份有限公司 | Application store system and method for implement in application purchase function |
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 |
JP6345115B2 (en) * | 2011-08-25 | 2018-06-20 | ゼットティーイー コーポレーションZte Corporation | App store system and in-app purchase function realization method |
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 (en) * | 2014-06-10 | 2015-12-18 | 한국전자통신연구원 | Application software service system for controlling the User Interface access according the user level and method thereof |
US10846772B2 (en) | 2014-08-08 | 2020-11-24 | Microsoft Technology Licensing, Llc | Item maps for app store apps |
JP6608147B2 (en) | 2015-02-23 | 2019-11-20 | デクセリアルズ株式会社 | Multilayer adhesive film and connection structure |
CN108132813B (en) * | 2017-12-21 | 2021-07-23 | 北京小米移动软件有限公司 | Function locking method and device of application program and electronic equipment |
US20190354379A1 (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 (en) * | 2018-12-27 | 2019-06-04 | 北京奇安信科技有限公司 | Terminal software authorization processing method and device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004019182A2 (en) * | 2002-08-24 | 2004-03-04 | Ingrian Networks, Inc. | Selective feature activation |
EP1684223A1 (en) * | 2005-01-22 | 2006-07-26 | CyberLink Corp. | System and method for licensing software |
Family Cites Families (108)
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 |
CN101359350B (en) * | 1995-02-13 | 2012-10-03 | 英特特拉斯特技术公司 | Methods for secure transaction management and electronic rights protection |
JPH09114786A (en) * | 1995-10-13 | 1997-05-02 | Fujitsu Ltd | On-line function restriction cancelling system |
US5765152A (en) * | 1995-10-13 | 1998-06-09 | Trustees Of Dartmouth College | System and method for managing copyrighted electronic media |
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 |
US7287018B2 (en) * | 1999-01-29 | 2007-10-23 | Canon Kabushiki Kaisha | Browsing 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 (en) * | 1999-05-27 | 2006-04-05 | 富士通株式会社 | Data operation method |
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 |
EP1292871A4 (en) * | 2000-05-17 | 2007-10-17 | 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 (en) * | 2000-08-31 | 2002-03-12 | Toshiba Corp | Product function enhancement method and its system |
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 (en) * | 2000-11-06 | 2002-05-10 | Evidian | Coordinated management of telecommunication contracts and services, uses object models of service and contract keeping working and latent versions and uses state monitoring to automatically reflect changes |
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 (en) * | 2001-03-14 | 2002-09-20 | Hitachi Information Systems Ltd | Method for downloading program and program for performing the method |
US20020143782A1 (en) * | 2001-03-30 | 2002-10-03 | Intertainer, Inc. | Content management system |
US6754895B1 (en) * | 2001-04-26 | 2004-06-22 | Palm Source, Inc. | Method and system for automatic firmware updates in a portable hand-held device |
US20020158916A1 (en) * | 2001-04-26 | 2002-10-31 | International Business Machines Corporation | Graphical e-commerce shopping terminal system and method |
JP2002328852A (en) * | 2001-05-01 | 2002-11-15 | Yasuo Nishizawa | Multimedia direct commerce system adaptive to various kinds of electronic commercial transactions of high transaction by http protocol integrated control |
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 |
WO2003083688A1 (en) * | 2002-03-22 | 2003-10-09 | 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 (en) * | 2002-07-18 | 2008-02-27 | オリンパス株式会社 | Information terminal device and program |
JP3857641B2 (en) * | 2002-12-17 | 2006-12-13 | 株式会社東芝 | Content distribution method and content distribution system |
US7840960B2 (en) * | 2002-12-17 | 2010-11-23 | Kabushiki Kaisha Toshiba | Content distribution method and content distribution package |
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 (en) * | 2003-01-23 | 2004-08-12 | Fujitsu Ltd | System, method, and program for supplying software relevant information |
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 (en) * | 2003-08-27 | 2005-03-17 | Sony Corp | Metadata distribution management system, metadata distribution management device, metadata management device by individual, client terminal, metadata distribution management method, and computer program |
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 |
EP1682963B1 (en) * | 2003-11-11 | 2007-03-21 | Matsushita Electric Industrial Co., Ltd. | Method for judging use permission of information and content distribution system using the method |
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 |
JP2008502077A (en) * | 2004-06-08 | 2008-01-24 | ユー−マーケティング インテレクチュアル プロパティーズ プライベート リミテッド | Purchasing system and method |
TWI267753B (en) * | 2004-08-20 | 2006-12-01 | Cyberlink Corp | System and method for licensing software |
US7552341B2 (en) * | 2004-09-01 | 2009-06-23 | Microsoft Corporation | Licensing the use of software on a particular CPU |
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 |
JP2006208692A (en) * | 2005-01-27 | 2006-08-10 | Shigeo Maruyama | Method of distributing music, and device |
US20070050467A1 (en) * | 2005-04-06 | 2007-03-01 | Chris Borrett | 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 (en) * | 2005-07-27 | 2011-11-16 | ソニー株式会社 | DISPLAY DEVICE, MENU DISPLAY METHOD, MENU DISPLAY METHOD PROGRAM, AND RECORDING MEDIUM CONTAINING MENU DISPLAY METHOD PROGRAM |
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 (en) * | 2006-01-19 | 2007-08-30 | Konica Minolta Holdings Inc | Control program, program offering system, and program offering method |
US20070208670A1 (en) * | 2006-02-17 | 2007-09-06 | Yahoo! Inc. | Method and system for selling rights in files on a network |
KR100796374B1 (en) * | 2006-04-21 | 2008-01-21 | (주) 디엠디 | System for network-based development and management of information technology solutions and method thereof |
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 (en) * | 2006-10-31 | 2008-05-15 | Fuji Xerox Co Ltd | Image processor and program |
US20080140493A1 (en) * | 2006-11-09 | 2008-06-12 | 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 (en) * | 2006-12-20 | 2008-06-25 | 삼성전자주식회사 | Server, client, load balancing system, and load balancing method thereof |
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 CN CN201010135777A patent/CN101840556A/en active Pending
- 2010-03-16 JP JP2010086507A patent/JP2010218559A/en active Pending
- 2010-03-16 KR KR1020100023496A patent/KR101238940B1/en active IP Right Grant
-
2013
- 2013-01-07 JP JP2013000659A patent/JP2013061992A/en active Pending
- 2013-01-23 KR KR1020130007707A patent/KR101361313B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004019182A2 (en) * | 2002-08-24 | 2004-03-04 | Ingrian Networks, Inc. | Selective feature activation |
EP1684223A1 (en) * | 2005-01-22 | 2006-07-26 | CyberLink Corp. | System and method for licensing software |
Also Published As
Publication number | Publication date |
---|---|
US20100235254A1 (en) | 2010-09-16 |
EP2230620A1 (en) | 2010-09-22 |
CN101840556A (en) | 2010-09-22 |
AU2010200963A1 (en) | 2010-09-30 |
KR20130027541A (en) | 2013-03-15 |
KR20100105454A (en) | 2010-09-29 |
JP2013061992A (en) | 2013-04-04 |
KR101238940B1 (en) | 2013-03-04 |
JP2010218559A (en) | 2010-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101361313B1 (en) | Application products with in-application subsequent feature access using network-based distribution system | |
KR101375927B1 (en) | Configuration and management of add-ons to digital application programs for network-based distribution | |
US20100235889A1 (en) | Application products with in-application subsequent feature access using network-based distribution system | |
KR101212904B1 (en) | Electronic submission of application programs for network-based distribution | |
KR101233618B1 (en) | Electronic submission and management of digital products for network-based distribution | |
CA2724858C (en) | Techniques for acquiring updates for application programs | |
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 |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180103 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190116 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200115 Year of fee payment: 7 |