KR101238940B1 - 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 - Google Patents

네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 Download PDF

Info

Publication number
KR101238940B1
KR101238940B1 KR1020100023496A KR20100023496A KR101238940B1 KR 101238940 B1 KR101238940 B1 KR 101238940B1 KR 1020100023496 A KR1020100023496 A KR 1020100023496A KR 20100023496 A KR20100023496 A KR 20100023496A KR 101238940 B1 KR101238940 B1 KR 101238940B1
Authority
KR
South Korea
Prior art keywords
feature
distribution system
application program
supplemental
computing device
Prior art date
Application number
KR1020100023496A
Other languages
English (en)
Other versions
KR20100105454A (ko
Inventor
파얌 미라쉬디
히로 미쯔지
마이클 쿠오하오 주
엘리스 엠. 베로서브
샘 가라밸리
쿰리 무파달
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20100105454A publication Critical patent/KR20100105454A/ko
Application granted granted Critical
Publication of KR101238940B1 publication Critical patent/KR101238940B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0603Catalogue ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2147Locking files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Abstract

제품 분배 사이트로부터의 지원 속에 디지털 제품들의 로킹된 (보안된) 특징들에 액세스하기 위한 개선된 시스템, 디바이스 및 방법이 개시되었다. 일 실시예에서, 디지털 제품은 네트워크 기반 분배를 위해 제품 분배 사이트로 제출될 수 있다. 디지털 제품은 기본 기능성을 제공하면서 하나 또는 그 이상의 로킹된 특징들 (이 특징들은 만일 언로킹된다면 기본 기능성을 보조할 수 있음)을 포함하는 식으로 초기에 제공될 수 있다. 제출된 디지털 제품이 승인되면, 디지털 제품은 사용자들이 디지털 제품을 검색하고, 브라우징하고, 구입할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 일단 디지털 제품이 구입되고 다운로딩되고 사용자의 컴퓨팅 디바이스 상에 설치되었다면, 사용자는 디지털 제품을 활용할 수 있다. 그러나, 디지털 제품 자체는 하나 또는 그 이상의 로킹된 특징들을 포함하기 때문에, 사용자는 후속 구입이 수행되기까지는 이런 특징들을 활용할 수 없다. 유리하게는, 후속 구입은 디지털 제품으로부터 야기될 수 있다. 이렇게 할 때, 디지털 제품은 원격 서버(예로, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액팅하여 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 이를 위한 사용을 구입한다. 일단 하나 또는 그 이상의 특징들에 대한 액세스 또는 사용이 구입되었다면, 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들은 언로킹될 수 있고 이후에 활용될 수 있다.

Description

네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들{APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUENT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM}
본 출원은 2009년 3월 16일 출원되고 발명의 명칭이 "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUNT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM"인 미국 임시 특허 출원 번호 61/160,640호에 대한 우선권을 주장하며, 이는 본 명세서에 참조로서 통합된다.
본 발명은 디지털 제품들의 분배에 관한 것으로, 보다 상세하게는 디지털 제품들의 네트워크-기반 분배에 관한 것이다.
오늘날, iTunes™ 미디어 스토어 같은 온라인 미디어 스토어들은 소비자들(즉, 온라인 사용자들)로 하여금 음악 또는 비디오들 같은 미디어 아이템들을 인터넷을 통해 구매하거나 임차(rent)하게 할 수 있다. 종종, 온라인 미디어 스토어들에서, 수많은 미디어 아이템들이 이용가능하게 되었고 음악 레이블들(labels) 또는 영화 회사들 같은 다양하고 서로 다른 콘텐츠 제공자들에 의해 제공된다. 미국 캘리포니아주 쿠퍼티노 소재의 애플사로부터 얻을 수 있는 iProducer™ 및 Label Connect™ 같은 소프트웨어 툴(tool)들은 콘텐츠 제공자들이 iTunes™ 미디어 스토어에 미디어 콘텐츠를 온라인 제출하는 것을 지원할 수 있다.
소프트웨어 프로그램들 또한 온라인 스토어들 뿐만 아니라 소매점들에서도 구매되거나 사용허가되어(licensed) 이용가능하다. 일반적으로, 소프트웨어 프로그램은 자신을 포함하는 콤팩트 디스크(CD)로서 주로 구매된다. 대안으로, 구매자들은 종종 온라인 소매 점포 또는 소프트웨어 제공자의 웹사이트로부터 소프트웨어 프로그램을 구매하거나 다운로드할 수 있다. 그러나, 온라인 소매 상인(online retailer)이 다양한 독립적인 부분들(various independent parties)로 된 소프트웨어 프로그램들을 판매하는 경우, 온라인 소매 상인들에게 디지털 프로그램 파일들과 이를 지원하는 정보/파일들을 제공하고자 할 때 어려움이 있다. 이러한 문제는 온라인 소매 상인들과 종종 파트너가 되기를 바라는 매우 많은 수의 소규모 소프트웨어 제공자들이 있을 때 더 악화된다. 결과적으로, 온라인 제출들을 수신하는 온라인 소매 상인들은 제출들과 관련한 폭넓은 범위의 다양성에 기인한 실질적인 업무 부하(burdens) 및 어려움에 직면하게 된다.
종래에는, 소프트웨어 프로그램을 구매하고, 컴퓨팅 디바이스 상에 소프트웨어 프로그램을 다운로드하고 설치한 후에는, 소프트웨어 프로그램은 기본적으로 정적인 제품(static product)이 된다. 몇몇 소프트웨어 프로그램들이 에러들 또는 버그들 또는 바이러스 보호들의 처리를 위한 업데이트를 수신할 수 있지만, 이들 업데이트는 자유롭게 제공되고 기존의 기능을 유지하기 위해 서비스된다. 유감스럽게도, 몇몇 소프트웨어 제공자들은 초기의 소프트웨어 프로그램들을 확장시키는 후속의(follow-on)의 구매들을 촉진시킬 필요가 있다. 그러나, 일단 소프트웨어 프로그램이 온라인으로 구매되었고 다운로드 및 설치되었다면, 그 소프트웨어 프로그램의 부가적인 기능, 컴포넌트 등에 대한 인-애플리케이션(in-application) 구매 권리 또는 독점권을 자체로 촉진시키는, 그 소프트웨어 프로그램을 위한 편리한 수단이 기존에 없다.
발명의 개요
본 발명은 제품 분배 사이트로부터의 지원 하에 디지털 제품들의 로킹된(locked)(보안된) 특징들을 액세스하기 위한 시스템, 장치 및 방법에 관한 것이다.
디지털 제품은 네트워크 기반 분배를 위한 제품 분배 사이트에 제출될 수 있다. 디지털 제품은, 기본 기능을 제공하지만, 언로킹된다면, 기본 기능을 보조할 수 있는 하나 또는 그 이상의 로킹된 특징들을 포함하도록, 초기에 제공될 수 있다. 제출된 디지털 제품이 승인(approve)된다면, 디지털 제품은 사용자들이 그 디지털 제품을 검색, 브라우징 및 구매할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 디지털 제품이 구매되어 사용자의 컴퓨팅 디바이스 상에 다운로드 및 설치되었다면, 사용자는 디지털 제품을 이용하는 것이 가능하다. 그러나, 디지털 제품 자체가 하나 또는 그 이상의 로킹된 특징을 포함하기 때문에, 사용자는 후속 구매가 실행될 때까지 그러한 특징들을 이용할 수 없다. 이롭게도, 후속 구매는 디지털 제품으로부터 야기될 수 있다. 그렇게 할 때, 디지털 제품은 디지털 제품 내의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용(usage)을 구매하기 위해 원격 서버(예를 들면, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액트(interact)한다. 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용이 구매되었다면, 디지털 제품 내의 하나 또는 그 이상의 특징들이 언로킹된 후 이용될 수 있다.
일 실시예에서, 디지털 제품들은 컴퓨터 프로그램 제품들(예를 들면, 컴퓨터 소프트웨어 프로그램들)이다. 제품 분배 사이트는 또한 온라인 제품 호스팅 사이트로서 지칭될 수 있다. 디지털 제품들의 특징들이 구현예에 의존하여 가변될 수 있지만, 그 특징들의 몇몇 예로는 모듈들, 툴들, 캐릭터들, 기능, 콘텐츠 또는 데이터를 포함한다. 특징들은 또한 컴포넌트들로서 지칭될 수 있다.
본 발명은 방법, 시스템, 디바이스, (컴퓨터 판독가능 매체 및 그래픽 사용자 인터페이스를 포함하는) 장치를 포함하는 다양한 방식들로 구현될 수 있다. 본 발명의 몇몇 실시예들은 아래에서 논의된다.
애플리케이션 프로그램의 보조 특징들(supplemental features)을 언로킹(unlock)하기 위한 방법으로서, 상기 방법은 컴퓨팅 디바이스 상에서 작동하고, 본 발명의 일 실시예는, 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득되고, 애플리케이션 프로그램은 자신 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 포함함 - 와, 컴퓨팅 디바이스에서, 애플리케이션 프로그램의 사용자가 현재적으로 로킹된 상기 적어도 하나의 보조 특징의 사용(usage)을 획득하기를 바라는지를 판정하는 단계와, 원격 네트워크 기반 애플리케이션 분배 시스템이 적어도 하나의 보조 특징의 언로킹을 승인할 것을 요청하는 단계와, 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와, 이후에 컴퓨팅 디바이스에서 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 애플리케이션 프로그램이 적어도 하나의 보조 특징을 활용하도록 허용하는 단계를 적어도 포함한다.
애플리케이션 프로그램의 보조 특징들을 언로킹하기 위한 방법으로서, 상기 방법은 컴퓨팅 디바이스 상에서 작동하고, 본 발명의 또 다른 실시예는, 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득됨 -, 애플리케이션 프로그램을 통해, 컴퓨팅 디바이스의 사용자에게 애플리케이션 프로그램 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 제공하는 단계와, 컴퓨팅 디바이스의 사용자가 현재적으로 로킹된 적어도 하나의 보조 특징의 사용을 획득하기를 바라는 표시(indication)를 수신하는 단계와, 수신되는 표시에 응답하여, 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 요청하는 단계 - 상기 보조 특징 정보는 적어도 하나의 보조 특징에 관련된 적어도 기술 정보를 포함함 -와, 컴퓨팅 디바이스에서, 원격 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 후속하여 수신하는 단계와, 컴퓨팅 디바이스에서 보조 특징 정보를 제공하는 단계와, 컴퓨팅 디바이스에서, 사용자가 현재적으로 로킹된 적어도 하나의 보조 특징의 사용을 획득하기를 바라는지를 확인하는 단계와, 원격 네트워크 기반 애플리케이션 분배 시스템이 상기 적어도 하나의 보조 특징의 언로킹을 승인할 것을 요청하는 단계와, 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와, 이후에 컴퓨팅 디바이스에서 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 애플리케이션 프로그램이 적어도 하나의 보조 특징을 활용하도록 허용하는 단계를 적어도 포함한다.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서, 본 발명의 일 실시예는, 원격 네트워크 기반 애플리케이션 분배 시스템으로부터의 보조 특징 정보에 대한 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 애플리케이션 프로그램의 보조 특징과 연관된 보조 특징 정보를 검색하는 단계 - 보조 특징 정보는 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징에 관계된 적어도 기술 정보를 포함함 - 와, 검색된 보조 특징 정보를 컴퓨팅 디바이스에게 보내는 단계와, 애플리케이션 프로그램의 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와, 상기 판정하는 단계가 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하였다고 판정하면 보조 특징을 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내는 단계를 적어도 포함한다.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서, 본 발명의 또 다른 실시예는, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와, 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와, 상기 판정하는 단계가 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하였다고 판정하면 상기 보조 특징을 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내는 단계를 적어도 포함한다.
모바일 컴퓨팅 디바이스로서, 본 발명의 일 실시예는, 적어도 하나의 로킹된 특징을 갖는 적어도 하나의 애플리케이션 프로그램과, 모바일 컴퓨팅 디바이스 상에 상주(resident)하는 커머스 서버(commerce server)를 적어도 포함한다. 이 커머스 서버는, 적어도 하나의 애플리케이션 프로그램이 모바일 컴퓨팅 디바이스 상에서 작동하고 있는 동안에, 원격 서버와 인터액팅하여 적어도 하나의 애플리케이션 프로그램의 적어도 하나의 로킹된 특징으로의 액세스를 촉진시키도록 구성된다.
프로그램 제품의 보조 컴포넌트들을 언로킹하기 위해 컴퓨팅 디바이스에 저장되고 그 컴퓨팅 디바이스에 의해 실행가능한 적어도 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로서, 본 발명의 일 실시예는, 컴퓨팅 디바이스 상에서 프로그램 제품을 실행하기 위한 컴퓨터 프로그램 코드 - 프로그램 제품은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득되고, 프로그램 제품은 자신 내에 현재적으로 로킹되고 로케이트되지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 컴포넌트를 포함함 - 와, 컴퓨팅 디바이스에서, 프로그램 제품의 사용자가 현재적으로 로킹된 적어도 하나의 보조 컴포넌트의 사용을 획득하기를 바라는지를 판정하기 위한 컴퓨터 프로그램 코드와, 원격 네트워크 기반 애플리케이션 분배 시스템이 적어도 하나의 보조 컴포넌트의 언로킹을 승인할 것을 요청하기 위한 컴퓨터 프로그램 코드와, 적어도 하나의 보조 컴포넌트가 언로킹에 대해 승인되었다는 인증을 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하기 위한 컴퓨터 프로그램 코드와, 컴퓨팅 디바이스에서 프로그램 제품의 적어도 하나의 보조 컴포넌트를 언로킹하여, 프로그램 제품이 적어도 하나의 보조 컴포넌트를 활용하도록 허용하기 위한 컴퓨터 프로그램 코드를 적어도 포함한다.
네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 컴포넌트들의 언로킹을 관리하기 위해 컴퓨팅 디바이스에 저장되고 그 컴퓨팅 디바이스에 의해 실행가능한 적어도 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 매체로서, 본 발명의 일 실시예는, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 프로그램 제품의 보조 컴포넌트를 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하기 위한 컴퓨터 프로그램 코드와, 네트워크 기반 애플리케이션 분배 시스템이 보조 컴포넌트의 언로킹을 승인하는지의 여부를 판정하기 위한 컴퓨터 프로그램 코드와, 네트워크 기반 애플리케이션 분배 시스템이 보조 컴포넌트의 언로킹을 승인하였다고 판정하면 보조 컴포넌트를 언로킹하도록 컴퓨팅 디바이스에게 인증을 보내기 위한 컴퓨터 프로그램 코드를 적어도 포함한다.
본 발명의 다른 양상들 및 이점들은 본 발명의 원리들을 예로서 도시하는 첨부 도면들과 결합하여 취해진 후술하는 상세한 설명으로부터 명백해질 것이다.
본 발명은 첨부하는 도면과 결부하여 이하의 상세한 설명에 의해서 용이하게 이해될 것이며, 여기서 유사한 도면 부호는 유사한 구성요소들을 지시한다.
도 1은 본 발명의 일 실시예에 따른 제품 제출 및 분배 시스템의 블록도.
도 2는 본 발명의 일 실시예에 따른 클라이언트 또는 클라이언트 디바이스의 블록도.
도 3a 내지 3c는 본 발명의 일 실시예에 따른 보조 특징들을 액세스하는 것을 도시하는 도면.
도 4는 본 발명의 일 실시예에 따른 디지털 제품 제출 프로세스의 흐름도.
도 5는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 6a 및 6b는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스의 흐름도.
도 7은 본 발명의 일 실시예에 따른 보조 특징 서버 프로세스의 흐름도.
발명은 제품 분배 사이트로부터의 지원 속에 디지털 제품들의 로킹된 (보안된) 특징들에 액세스하기 위한 시스템, 디바이스 및 방법에 관한 것이다.
디지털 제품은 네트워크 기반 분배를 위해 제품 분배 사이트로 제출될 수 있다. 디지털 제품은 기본 기능성을 제공하면서 하나 또는 그 이상의 로킹된 특징들 (이 특징들은 만일 언로킹된다면 기본 기능성을 보조할 수 있음)을 포함하는 식으로 초기에 제공될 수 있다. 제출된 디지털 제품이 승인되면, 디지털 제품은 사용자들이 디지털 제품을 검색하고, 브라우징하고, 구입할 수 있도록 제품 분배 사이트에서 이용가능하게 된다. 일단 디지털 제품이 구입되고 다운로딩되고 사용자의 컴퓨팅 디바이스 상에 설치되었다면, 사용자는 디지털 제품을 활용할 수 있다. 그러나, 디지털 제품 자체는 하나 또는 그 이상의 로킹된 특징들을 포함하기 때문에, 사용자는 후속 구입이 수행되기까지는 이런 특징들을 활용할 수 없다. 유리하게는, 후속 구입은 디지털 제품으로부터 야기될 수 있다. 이렇게 할 때, 디지털 제품은 원격 서버(예를 들면, 제품 분배 사이트)와 (직접적으로 또는 간접적으로) 인터액팅하여 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 이를 위한 사용을 구입한다. 일단 하나 또는 그 이상의 로킹된 특징들에 대한 액세스 또는 사용이 구입되었다면, 디지털 제품 내에서의 하나 또는 그 이상의 로킹된 특징들은 언로킹될 수 있고 이후에 활용될 수 있다.
일 실시예에서, 디지털 제품들은 컴퓨터 프로그램 제품들(예를 들면, 컴퓨터 소프트웨어 프로그램들)이다. 제품 분배 사이트는 온라인 제품 호스팅 사이트로도 지칭될 수 있다. 디지털 제품들의 특징들이 구현에 따라 변할 수 있지만, 특징들의 몇몇 예들은 모듈들, 툴들, 캐릭터들, 기능성, 콘텐츠 또는 데이터를 포함한다. 특징들은 컴포넌트들로도 지칭될 수 있다.
이하에서는 도 1 내지 도 7을 참조하여 본 발명의 다양한 측면들의 실시예들에 대해 논의한다. 그러나, 당업자들이라면 이러한 도면들에 대해 본 명세서에서 주어진 상세한 설명은 예시적인 목적을 위한 것이므로 본 발명은 이러한 제한된 실시예들을 넘어 확장된다는 점을 쉽게 알 것이다.
도 1은 본 발명의 일 실시예에 따른 제품 제출 및 분배 시스템(100)의 블록도이다. 제품 제출 및 분배 시스템(100)은 제품 분배 사이트(102)를 포함한다. 제품 분배 사이트(102)는 다양한 디지털 제품들의 분배를 위한 온라인 액세스 포인트를 제공한다. 예컨대, 제품 분배 사이트(102)는 온라인 스토어로서 지칭될 수 있다. 제품 제출 및 관리 시스템(104)은 다양한 디지털 제품 제출자들로부터 디지털 제품들의 제출들을 수신하도록 동작한다. 제품 제출 및 관리 시스템(104)은 디지털 제품들의 제출을 프로세싱하고 승인(approve)된 디지털 제품들의 분배를 인증(authorize)할 수 있다. 디지털 제품들은 제품 스토어(106)에 저장될 수 있다. 일 실시예에서, 제품 스토어(106)는 대용량 데이터 스토어 및/또는 하나 또는 그 이상의 데이터베이스들을 포함한다. 제품 스토어(106)는 분배(예컨대, 구입)에 활용가능한 다수의 디지털 제품들의 대용량의 저장을 제공한다. 예컨대, 구입된 디지털 제품들은 제품 스토어(106)로부터 제품 분배 사이트(102)를 거쳐 데이터 네트워크(108) 상에서 액세스될 수 있다. 디지털 제품들의 예들로는 애플리케이션들(또는 애플리케이션 프로그램들), 애니메이션들 또는 프리젠테이션들과 같은 컴퓨터 프로그램 제품들이 있다.
제품 제출 및 분배 시스템(100)은 제1 클라이언트(110) 및 제2 클라이언트(112)를 또한 포함한다. 전형적으로, 제품 제출 및 분배 시스템(100)은 복수의 상이한 클라이언트들(110, 112)을 포함할 것이다. 제1 클라이언트(110)는 네트워크 액세스 프로그램(114)을 포함한다. 제2 클라이언트(112)는 제품 제출 프로그램(116)을 포함한다. 몇몇 클라이언트들은 또한 네트워크 액세스 프로그램(114)과 제품 제출 프로그램(116) 모두를 포함할 수 있다. 네트워크 액세스 프로그램(114)은 컴퓨팅 디바이스인 제1 클라이언트(110) 상에서 동작하는 애플리케이션 프로그램(예를 들면, 소프트웨어 애플리케이션)이다. 적합한 네트워크 액세스 프로그램의 일 예가 네트워크 브라우저(예를 들면, 마이크로소프트사의 익스플로러(Explorer) 또는 사파리(Safari))이다. 적합한 네트워크 액세스 프로그램의 다른 예로는 애플사가 제공하는 iTunesTM이 있다. 제1 클라이언트(110)는 데이터 네트워크(108)를 통해 제품 분배 사이트(102)에 결합될 수 있다. 그러므로, 제1 클라이언트들(110) 중 어느 클라이언트라도 제품 분배 사이트(102)와 인터액팅하여 디지털 제품들을 리뷰, 구입 및/또는 관리할 수 있다.
또한, 제품 분배 프로그램(116)은 컴퓨팅 디바이스인 제2 클라이언트(112) 상에서 동작하는 애플리케이션 프로그램(예를 들면, 소프트웨어 애플리케이션)이다. 제품 제출 프로그램(116)은 미디어 분배 사이트(102)에 의한 최종 분배를 위해 디지털 제품들을 제품 제출 및 관리 시스템(104)에 제출하는데 이용된다. 네트워크 액세스 프로그램(114)과 제품 제출 프로그램(116)이 별개의 프로그램들로서 도 1에 도시되어 있지만, 이러한 프로그램들은 단일 프로그램으로 통합되거나 동일한 클라이언트 머신 상에 상주할 수 있다는 점을 알아야 한다.
도 1에 도시된 제품 제출 및 분배 시스템(100)에서, 디지털 제품들은 제품 제출 프로그램(116)을 거쳐 제품 제출 및 관리 시스템(104)에 제출된다. (예를 들면, 제2 클라이언트(112)를 통해) 제출된 디지털 제품들은 프로세싱되고, 이어서 허용가능한 경우, 분배를 위해 제품 스토어(106)에 저장된다. 그 후, 저장된 디지털 제품들은 제품 분배 사이트(102)로부터 구입되는데 이용될 수 있다.
제품 제출 및 분배 시스템(100)은 클라이언트(110)의 사용자가 네트워크 액세스 프로그램(114)을 활용하여 제품 분배 사이트(102)로부터 구입될 수 있는 복수의 디지털 제품들을 브라우징, 검색 또는 소팅하도록 허용한다. 네트워크 액세스 프로그램(114)은 또한 사용자가 디지털 제품들 중 몇몇 또는 전부를 미리보거나 입증하는 것을 허용할 수도 있다. 네트워크 액세스 프로그램(114)의 사용자가 특정한 디지털 제품을 구입하길 원하는 경우에, (네트워크 액세스 프로그램(114)을 통한) 사용자 및 제품 분배 사이트(102)는 그 사용자가 특정한 디지털 제품에 대한 액세스 권리를 지불하는 온라인 상업 거래에 관여할 수 있다. 일 실시예에서, 사용자와 관계된 신용 카드가 특정한 디지털 제품의 구입 또는 임차료로 지불(credit)된다.
특정한 디지털 제품의 구입시, 제품 분배 사이트(102)는 특정한 디지털 제품에 대한 디지털 데이터가 제품 스토어(106)로부터 검색된 후 데이터 네트워크(108)를 통해 제품 분배 사이트(102)로부터 요청된 클라이언트(110)로 전달(예컨대, 다운로드)되도록 허용한다. 이와 관련하여, 제품 분배 사이트(102) 또는 몇몇 다른 전달 서버(도시되지 않음)는 제품 스토어(106)로부터 특정한 디지털 제품에 대응하는 디지털 데이터를 획득하고 데이터 네트워크(108)를 통해 이러한 디지털 데이터를 클라이언트(110)로 다운로드한다. 다운로드된 디지털 데이터는 그 후 클라이언트(110) 상에 저장될 수 있다. 일 실시예에서, 다운로드된 디지털 데이터는 클라이언트(110)에서 수신될 때 암호화되지만 암호 해제된 후 클라이언트(110) 상에 지속적으로 저장되기 전에 다시 암호화될 것이다. 그 후, 클라이언트(110) 자신은 디지털 제품의 디지털 데이터를 활용(예를 들면, 실행)할 수 있다.
디지털 제품들의 제출 및 구입은 데이터 네트워크(108)를 통해 달성될 수 있다. 다시 말하면, 디지털 제품들의 제출 및 구입은 온라인 상에서 달성될 수 있다. 온라인 상의 미디어 아이템들의 구입은 전자 상거래(e-commerce)로도 지칭될 수 있다. 일 실시예에서, 데이터 네트워크(108)는 인터넷의 적어도 한 부분을 이용한다. 일 실시예에서, 제품 분배 사이트(102)와 클라이언트들(110, 112) 간의 데이터 네트워크(108)를 통한 접속들은 SSL(Secure Sockets Layer)과 같은 안전한 접속들을 통할 수 있다. 클라이언트들(110, 112)은 애플리케이션에 따라 변할 수 있지만 일반적으로는 메모리 저장 장치를 구비한 컴퓨팅 디바이스들이다. 때로는, 클라이언트들(110, 112)은 미디어를 저장하고 그 사용자들에게 제공할 수 있는 퍼스널 컴퓨터들 또는 다른 컴퓨팅 디바이스들이다. 일 실시예에서, 클라이언트들 중 하나 또는 그 이상의 클라이언트들은 휴대용 컴퓨팅 디바이스들(예를 들면, 랩톱 또는 네트워크 컴퓨터들) 또는 핸드헬드 컴퓨팅 디바이스들(예를 들면, PDA들, 스마트 폰들, 다기능 전자 디바이스들 또는 미디어 플레이어들)일 수 있다.
디지털 제품들은 하나 또는 그 이상의 보조 특징들을 포함할 수 있다. 이러한 보조 특징들은 대응하는 디지털 제품들을 보조하거나 확장하는 역할을 할 수 있다. 도 1에 도시된 바와 같이, 데이터 네트워크(108)를 통해 제품 분배 사이트(102)로부터 획득 및 다운로드된 디지털 제품(118)은 클라이언트(110) 상에 저장될 수 있다. 일 실시예에서, 디지털 제품(118)은 보조 특징(120)을 포함할 수 있다. 그러나, 디지털 제품(118)이 초기에 획득될 때, 보조 특징(120)은 이 특징이 디지털 제품(118)에 의해 이용가능하지 않도록 비활성화 또는 로킹된다. 그러나, 클라이언트(110) 상의 디지털 제품(118)의 동작 동안에, 디지털 제품(118)은 보조 특징(120)의 이용의 획득을 개시할 수 있다. 이런 경우에, (자체 또는 오퍼레이팅 시스템의 지원 속에) 디지털 제품(118)은 제품 분배 사이트(102)의 특징 획득 매니저(122)와 통신할 수 있다. 전형적으로, 디지털 제품(118)은 제품 분배 사이트(102)로부터 이미 획득되었다. 특징 획득 매니저(122)는 보조 특징들로의 액세스에 대한 들어오는 요청들의 프로세싱을 관리한다. 예컨대, 특징 획득 매니저(122)는 보조 특징들로의 액세스에 대한 들어오는 요청들을 수신하고, 그 요청이 유효하고 프로세싱되도록 허가되었는지 여부를 판정하고, 필요하다면 그러한 액세스에 대한 지불을 프로세싱하며, 요청하는 클라이언트 디바이스(110)로 인증 응답을 보낸다. 인증 응답의 수신시, 디지털 제품(118)은 액세스 가능한(즉, 언로킹된) 보조 특징(120)을 렌더링할 수 있다. 이러한 실시예에서, 디지털 제품(118)에 제공되는 보조 특징은 클라이언트(110)에게 초기에 다운로드되고, 그 후 보조 특징(120)을 활성화하게 하는 인증만이 클라이언트(110)에게 전달될 필요가 있다. 그러나, 대안적인 실시예에서, 보조 특징(120)은 인증된 후에만 (따라서 디지털 제품(118)의 전달과는 별개로 제공된 후에만) 클라이언트(110)에게 전달될 수 있다.
제품 분배 사이트(102), 제품 제출 및 관리 시스템(104) 및 제품 스토어(106)가 별개의 컴포넌트들인 것으로 도 1에 도시되어 있지만, 이러한 컴포먼트들 중 어느 컴포넌트라도 하나 또는 그 이상의 장치에 결합될 수 있다는 점을 알아야 한다. 예컨대, 제품 제출 및 관리 시스템(104)은 제품 분배 사이트(102)에 통합될 수 있다. 다른 예로서, 제품 스토어(106)는 제품 분배 사이트(102) 또는 제품 제출 및 관리 시스템(104)에 통합될 수 있다.
애플리케이션 프로그램(118)의 보조 특징(120)의 이용을 획득하는 것을 위해 클라이언트(110)에 의한 제품 분배 사이트(예를 들면, 특징 획득 매니저(122))와의 통신을 용이하게 하기 위해, 제품 분배 사이트(102)는 API(Application Programming Interface)를 지원할 수 있다. 예컨대, 제품 분배 사이트(102)에 대한 API들은 일 실시예에서 아래의 Appendix A에 도시된 다음의 API들을 포함할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 클라이언트(200) 또는 클라이언트 디바이스의 블록도이다. 클라이언트(200)는 예를 들어 도 1에 도시된 클라이언트(110)로서 이용하는데 적합할 수 있다.
클라이언트(200)는 그 자신 상에서 실행될 수 있는 애플리케이션 프로그램들에 기본 컴퓨팅 서비스들을 제공하도록 동작하는 오퍼레이팅 시스템(OS)(202)을 포함한다. 또한, 오퍼레이팅 시스템(202)은 커머스 서버(commerce server)(204)를 포함한다. 커머스 서버(204)는 원격 디지털 제품 분배 서버와 같은 원격 서버에 대해 상거래 동작들을 수행하도록 클라이언트(200) 상에서 동작하는 애플리케이션 프로그램들에 의해 활용된다. 예컨대, 원격 서버는 도 1에 도시된 제품 분배 서버(102)에 관련될 수 있다.
클라이언트(200)는 또한 그 자신 상에서 설치되어 실행될 수 있는 하나 또는 그 이상의 애플리케이션 프로그램들을 포함할 수 있다. 전형적으로, 이러한 애플리케이션은 원격 서버(예를 들면, 제품 분배 서버(102))로부터 클라이언트(200)로 획득 및 다운로드될 수 있다. 클라이언트(200) 상에 상주하고 설치된 애플리케이션들은 애플리케이션 프로그램 A(206) 및 애플리케이션 프로그램 B(208)에 의해 나타내진다. 도 2에 도시된 바와 같이, 애플리케이션 프로그램 A(206)는 보조 특징 X(210) 및 보조 특징 Y(212)를 포함한다. 전형적으로, 애플리케이션 프로그램 A(206)가 원격 서버로부터 초기에 획득될 때, 보조 특징들(210 및 212)이 제공되지만 "로킹"되어 있어서 현재로는 이용할 수 없다. 유사하게, 획득될 때 애플리케이션 프로그램 B(208)는 초기에 "로킹"된 보조 특징 Z(214)를 포함한다. 또한, 애플리케이션 프로그램 A(206) 및 애플리케이션 프로그램 B(208)는 보조 특징들(210, 212 및 214) 중 원하는 하나 또는 그 이상이 "언로킹"되도록 커머스 서버(204)를 거쳐 원격 서버(예를 들면, 원격 디지털 제품 분배 서버)와 인터액팅할 수 있다. 일단 보조 특징이 "언로킹"되면, 연관된 애플리케이션 프로그램은 그 후에 보조 특징을 활용할 수 있다.
애플리케이션 프로그램(206, 208)과 커머스 서버(204)간의 통신을 촉진시키기 위해, 커머스 서버(204)는 API(Application Programming interface)를 지원할 수 있다. 예컨대, 커머스 서버(204)에 대한 API들은 하나의 실시예에서는 이하의 Appendix B에 도시된 바와 같은 다음의 API들을 포함할 수 있다. Appendix B는 또한 제품 분배 사이트(102)를 이용하여(예컨대, 네트워크-기반 애플리케이션 스토어를 호스팅함) 보조 특징들을 지원 및 분배하기 위해 애플리케이션 프로그램들을 수정하는 방법에 대한 정보를 포함할 수 있다.
도 3a - 3c는 본 발명의 일 실시예에 따른 보조 특징들에 액세스하는 것을 도시하는 도면이다. 도 3a는 일 실시예에 따른 예시적인 디지털 제품(300)을 도시한다. 예시적인 디지털 제품(300)은 도 1에 도시된 제품 분배 사이트(102)와 같은, 원격 서버로부터 획득될 수 있다. 예시적인 디지털 제품(300)은 애플리케이션 프로그램(302) 및 보조 특징 X (304) 및 보조 특징 Y (306)를 포함할 수 있다. 도 3a에 도시된 바와 같이, 보조 특징 X (304) 및 보조 특징 Y (306)는 양자 모두 "로킹된(locked)" 상태에 있다. 여기서 더 논의되는 바와 같이, 인증될 때, 애플리케이션 프로그램의 보조 특징들은 언로킹될 수 있다. 일반적으로, 보조 특징들은 별개로 언로킹될 수 있고, 몇몇 경우에는 유사한 특징들의 양(1보다 큼)이 이용가능하게 될 수 있다. 도 3b에서, 예시적인 디지털 제품(300)의 보조 특징 X (304)는 "언로킹" 되었으며, 이에 따라 애플리케이션 프로그램 A (302)와 함께 이용될 수 있다. 그러나, 보조 특징 Y (306)는 도 3b에서 "로킹된" 채로 유지된다. 도 3c에서, 예시적인 디지털 제품(300)의 보조 특징 X (304) 및 보조 특징 Y (306)는 양자 모두 "언로킹"되며, 이에 따라 이들은 애플리케이션 프로그램 A (302)와 함께 이용될 수 있다.
전술한 바와 같이, 애플리케이션 프로그램(또는 디지털 제품)의 보조 특징들(또는 보조 콤포넌트들)은 구현예에 따라 변할 수 있다. 보조 특징들은, 모듈들, 툴(tool)들, 캐릭터들, 기능들, 콘텐츠, 또는 데이터에 관련될 수 있다. 게임-기반 애플리케이션 프로그램에서, 보조 특징들은, 새로운 무기들, 새로운 캐릭터들, 연장된 생존들, 부가 게임 레벨 등이 될 수 있다. 생산 애플리케이션(productivity application)에서, 보조 특징은, 부가 모듈(예컨대, 연간 모듈, 지리적 모듈, 콘텐츠 기반 모듈 등), 부가 또는 향상된 기능들(무선 통신들, 프린팅, 저장소 등) 등이 될 수 있다. 정보 애플리케이션들에서는, 보조 특징은, 부가 콘텐츠 또는 데이터, 부가 학습 또는 정보 모듈 등이 될 수 있다.
도 4는 본 발명의 일 실시예에 따른 디지털 제품 제출 프로세스(400)의 순서도이다. 디지털 제품 제출 프로세스(400)는, 예컨대, 클라이언트(112)와 같은 클라이언트 디바이스, 또는 제품 제출 및 관리 시스템(104)와 같은 서버 디바이스에 의해 수행될 수 있다.
디지털 제품 제출 프로세스(400)는 디지털 제품에 대한 제품 정보를 수신할 수 있다(402). 제품 정보는 제출되는 디지털 제품의 유형에 따라 변할 수 있다. 하나의 구현예에서, 디지털 제품 제출 프로세스(400)에 의해 온라인 저장소로 제출될 수 있는 하나의 유형의 디지털 제품은, 컴퓨터 프로그램 제품과 같은 디지털 프로그램 제품이다. 컴퓨터 프로그램 제품에 대한 제품 정보의 예들은, 제품명, 지원 디바이스 유형 표시, 장르 표시, 버전 번호, 제품 식별자, 지원 정보, 및 라이센스 동의 정보 중 하나 이상을 포함할 수 있다. 또한, 디지털 프로그램 제품이 하나 이상의 보조 특징과 결합할 때, 디지털 제품 제출 프로세스(400)는 또한 하나 이상의 보조 특징들에 대한 보조 정보를 수신할 수 있다(404).
다음에, 디지털 제품에 속하는 적어도 하나의 전자 파일이 업로드될 수 있다(406). 디지털 제품은 관련된 하나 이상의 전자 파일들을 가질 수 있다. 예컨대, 디지털 제품은 이진 파일, 지원 또는 도움 파일, 및/또는 하나 이상의 예시적인 스크린 일러스트레이션들을 포함할 수 있다.
또한, 디지털 제품과 함께 이용되는 적어도 하나의 분배 파라미터가 수신될 수 있다(408). 분배 파라미터는, 디지털 제품이 분배될 수 있는 방식을 제어하거나 영향을 주는 데에 이용될 수 있는 파라미터이다. 분배 파라미터의 일례는 가격(pricing) 파라미터이다. 일례로서, 가격 파라미터는 디지털 제품과 연관된 가격 또는 가격 층을 특정할 수 있다. 다른 분배 파라미터들은, 그로부터 디지털 제품이 분배되게 될 디지털 스토어프런트(store front)들에 관련될 수 있다. 게다가, 분배 파라미터들은 또한 프리뷰 적격성(preview eligibility), 라이센스 카테고리(유형들) 등에 관련될 수 있다.
그 후, 디지털 제품은 온라인 저장소(online repository)로 제출될 수 있다(410). 온라인 저장소는, 예컨대, 제품 제출 및 관리 시스템(104)에 대응할 수 있다. 온라인 저장소는, 하나 이상의 전자 파일들, 관련된 제품 정보, 보조 특징 정보, 및 하나 이상의 분배 파라미터들을 수신할 수 있다. 온라인 저장소는, 다음에, 제품 정보 및 하나 이상의 분배 파라미터들에 따라 제품 분배 사이트(예컨대, 온라인 스토어)로부터, 하나 이상의 전자 파일들에 포함된, 디지털 제품의 분배를 허용하도록 동작할 수 있다. 온라인 저장소는, 또한 다음에 디지털 제품의 하나 이상의 보조 특징들에 대한 후속적인 액세스를 촉진하도록 동작할 수 있다. 디지털 제품을 온라인 저장소로 제출(410)한 후에, 디지털 제품 제출 프로세스(400)는 종료할 수 있다.
도 5는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스(500)의 순서도이다. 보조 특징 클라이언트 프로세스(500)는, 예컨대, 도 1에 도시된 클라이언트(110)와 같은, 클라이언트(즉, 클라이언트 디바이스)상에서 수행될 수 있다.
보조 특징 클라이언트 프로세스(500)는 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램을 실행할 수 있다(502). 예컨대, 원격 네트워크 기반 애플리케이션 분배 시스템은, 예컨대, 도 1에 도시된 제품 제출 및 분배 시스템(100)에 관련될 수 있다. 여기서, 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램은 클라이언트에서 실행된다(502). 실행중에 몇몇 포인트에서, 클라이언트에서 판정(504)이 제시될 수 있다. 판정(504)은 보조 특징의 획득이 수행되어야할 지 여부를 판정한다. 일 실시예에서, 판정(504)은, 클라이언트의 사용자가 애플리케이션 프로그램에 대한 보조 특징을 획득하길 원하는지 여부를 나타내는 사용자 입력에 기초하여 판정될 수 있다. 예컨대, 애플리케이션 프로그램의 실행중에, 애플리케이션 프로그램은 보조 특징 제공을 사용자에게 제시할 수 있고, 사용자는 그 제공에 응답할 수 있고, 이에 따라 사용자가 보조 특징을 원하는지의 여부가 표시된다.
어느 경우에나, 판정(504)이 보조 특징의 획득이 요청되지 않았다고 판정할 때, 판정(506)은 애플리케이션 프로그램이 중단(즉, 종료)되어야 하는지 여부를 판정할 수 있다. 판정(506)이 애플리케이션 프로그램이 중단되지 않아야 한다고 판정하면, 다음에 애플리케이션 프로그램은 지속되고, 보조 특징 클라이언트 프로세스(500)는 판정(504)을 반복하기 위해 복귀한다. 대안적으로, 판정(506)이 애플리케이션 프로그램이 중단되어야 한다고 판정하면, 다음에 보조 특징 클라이언트 프로세스(500)는 종료될 수 있다.
한편, 판정(504)이 보조 특징의 획득이 요청된 것으로 판정하면, 요청(508)이 원격 네트워크 기반 애플리케이션 분배 시스템에 대해 수행될 수 있다. 요청(508)은, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하는 요청이 될 수 있다. 판정(510)은 다음에 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인했는지 여부를 판정할 수 있다. 판정(510)이, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인한 것으로 판정하면, 애플리케이션 프로그램의 보조 특징은 언로킹될 수 있다(512). 여기서, 하나의 환경에서, 원격 네트워크 기반 애플리케이션 분배 시스템은 보조 특징이 언로킹되는 것으로 승인된다는 것을 클라이언트에게 통지할 수 있고, 다음에 애플리케이션 프로그램은 보조 특징을 언로킹하도록 동작할 수 있다. 대안적으로, 판정(510)이, 원격 네트워크 기반 애플리케이션 분배 시스템이 보조 특징의 언로킹을 승인하지 않은(즉, 거부한) 것으로 판정하면, 보조 특징을 언로킹하기 위한 요청은 거부된다(514). 여기서, 보조 특징이 언로킹되도록 승인되지 않는다는 것을 클라이언트에게 통지함으로써, 애플리케이션 프로그램은 보조 특징을 언로킹하도록 동작하지 않고, 이에 따라 보조 특징은 로킹된 상태로 유지된다. 블록 512 또는 블록 514 이후에, 보조 특징 클라이언트 프로세스(500)는 종료할 수 있다.
도 6a 및 6b는 본 발명의 일 실시예에 따른 보조 특징 클라이언트 프로세스(600)의 순서도이다. 보조 특징 클라이언트 프로세스(600)는, 예컨대, 도 1에 도시된 클라이언트(110)와 같은, 클라이언트(클라이언트 디바이스)에 의해 수행될 수 있다.
보조 특징 클라이언트 프로세스(600)는 네트워크 기반 애플리케이션 분배 시스템으로부터 애플리케이션 프로그램의 다운로드(602)에 의해 시작할 수 있다. 예컨대, 클라이언트의 사용자는, 애플리케이션 프로그램을 식별, 구매, 및 다운로드하기 위해 네트워크 기반 애플리케이션 분배 시스템과 인터액팅할 수 있다. 일단 다운로드되면, 애플리케이션 프로그램은 클라이언트상에 인스톨될 수 있다. 그 후, 판정(604)은, 애플리케이션 프로그램이 실행되어야할 지 여부를 판정할 수 있다. 판정(604)이, 애플리케이션 프로그램이 실행되지 않는 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 애플리케이션 프로그램이 실행될 때까지 사실상 대기한다. 일단 판정(604)이, 애플리케이션 프로그램이 실행되는 것으로 판정하면, 애플리케이션 프로그램이 실행된다(606).
다음에, 판정(608)은, 보조 특징이 클라이언트에서 제공되는지 여부를 판정할 수 있다. 판정(608)이, 보조 특징이 제공되지 않는 것으로 판정하면, 판정(610)은, 보조 특징 클라이언트 프로세스(600)가 중단(종료)되어야 하는지 여부를 판정할 수 있다. 판정(610)이, 보조 특징 클라이언트 프로세스(600)가 종료되어야 하는 것으로 판정하면, 다음에 보조 특징 클라이언트 프로세스(600)는 보조 특징이 이용가능하게 하지 않고서 종료할 수 있다. 그와 달리, 판정(610)이, 보조 특징 클라이언트 프로세스(600)가 종료되지 않아야 한다고 판정하면, 보조 특징 클라이언트 프로세스(600)는 판정(608)을 반복하기 위해 복귀한다.
한편, 판정(608)이, 보조 특징이 제공되어야 하는 것으로 판정하면, 보조 특징 오퍼(offer)가 제시될 수 있다(612). 여기서, 제시되는 보조 특징 오퍼(612)는 애플리케이션 프로그램을 동작시키고 있는 클라이언트의 사용자가 볼 수 있거나 들을 수 있다. 하나의 구현예에서, 보조 특징 제공은 클라이언트상에서 실행되는 애플리케이션 프로그램에 의해 제시된다(612). 판정(614)은 다음에, 사용자가 보조 특징 오퍼를 수용하는지 여부를 판정할 수 있다. 판정(614)이, 사용자가 보조 특징 오퍼를 수용하지 않는 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 판정(610)을 반복하기 위해 복귀할 수 있고, 이에 따라 보조 특징 클라이언트 프로세스(600)는 지속되거나 중단될 수 있다.
판정(614)이, 사용자가 보조 특징 제공을 수용한 것으로 판정하면, 보조 특징 정보가 네트워크 기반 애플리케이션 분배 시스템으로부터 요청될 수 있다(616). 판정(618)은, 보조 특징 정보에 대한 요청에 대하여 응답이 수신되었는지 여부를 판정한다. 판정(618)이, 응답이 아직 수신되지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 이러한 응답을 기다릴 수 있다. 한편, 일단 판정(618)이, 보조 특징 정보에 대한 요청에 대한 응답이 수신된 것으로 판정하면, 보조 특징 정보는 다음에 제시될 수 있다(620). 보조 특징 정보가 제시되어(620), 클라이언트 상에서 동작하는 애플리케이션 프로그램의 사용자에게 오퍼되는 보조 특징에 관한 정보를 제공한다. 예컨대, 보조 특징 정보는, 애플리케이션 프로그램과 같은 클라이언트에 의해, 또는 운영 시스템에 의해 표시될 수 있다.
다음에, 판정(622)은, 사용자가 보조 특징의 획득을 확인(confirm)했는지 여부를 판정할 수 있다. 하나의 구현예에 따르면, 애플리케이션 프로그램과 별개로, 운영 시스템은 사용자가 보조 특징을 획득하길 원하는지를 사용자가 확인할 것을 요구할 수 있다. 판정(622)은, 애플리케이션 프로그램이 부주의하게 또는 적절하지 않게 사용자들을 위해 보조 특징들을 획득하지 않도록, 제어되는 방식으로 보조 특징들의 획득을 관리하도록 작용한다. 판정(622)이, 보조 특징의 획득이 아직 확인되지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 이러한 확인을 기다릴 수 있다. 확인이 소정의 시간 내에 발생하지 않는 경우에, 판정(622)은 대안적으로 보조 특징 클라이언트 프로세스(600)가 종료하도록 할 수 있다.
판정(622)이, 보조 특징의 획득이 사용자에 의해 확인된 것으로 판정하면, 보조 특징의 액세스에 대한 인증이 요청될 수 있다(624). 여기서, 보조 특징의 액세스에 대한 인증의 요청은, 예컨대, 네트워크 기반 애플리케이션 분배 시스템에 대해 수행될 수 있다. 그러면, 판정(626)은, 보조 특징의 액세스에 대한 인증이 수신되었는지 여부를 판정할 수 있다. 인증은 인증 응답으로서 또는 인증 응답 내에서 제공될 수 있다. 인증 응답은, 제공된다면, 클라이언트에 의해 수신된다. 그에 따라, 판정(626)은, 인증 응답이 수신되었는지 여부를 판정한다. 판정(626)이 인증 응답이 수신되지 않은 것으로 판정하면, 판정(628)은 타임 아웃이 발생했는지 여부를 판정할 수 있다. 판정(628)이 타임 아웃이 발생한 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 종료할 수 있다. 한편, 판정(628)이, 타임 아웃이 발생하지 않은 것으로 판정하면, 보조 특징 클라이언트 프로세스(600)는 인증 응답의 수신을 기다리도록 판정(626)을 반복하기 위해 복귀할 수 있다. 일단 판정(626)이, 인증 응답이 수신된 것으로 판정하면, 애플리케이션 프로그램의 보조 특징은 언로킹될 수 있다(630). 전형적으로, 애플리케이션 프로그램 자체는, 인증 응답이 클라이언트에 제공되면, 보조 특징을 언로킹하도록 동작할 수 있다. 블록(630) 이후에, 보조 특징 클라이언트 프로세스(600)는 종료할 수 있다.
도 7은 본 발명의 일 실시예에 따른 보조 특징 서버의 흐름도이다. 보조 특징 서버 프로세스(700)는, 예를 들면 도 1에 도시된 제품 분배 사이트(102)와 같은 서버(서버 디바이스)에 의해서 행해진다.
보조 특징 서버 프로세스(700)는 판정(702)으로 시작할 수 있다. 판정(702)은 보조 특징 정보 요청이 수신되었는지를 판정할 수 있다. 일반적으로, 보조 특징 정보 요청은 클라이언트로부터 수신될 수 있다. 일 예로서, 보조 특징 정보 요청은 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 616에 의해서 개시될 수 있다.
판정(702)이 보조 특징 정보 요청이 수신되었다고 판정하는 경우, 보조 특징과 연관된 보조 특징 정보는 704에서 검색될 수 있다. 예를 들면, 서버는 복수의 상이한 보조 특징들을 위한 보조 특징 정보를 저장할 수 있는 데이터 스토리지로의 액세스를 갖는다. 특정 예로서, 보조 특징 정보는 데이터베이스일 수 있는 제품 스토어(106)에 저장된 제품 정보의 일부일 수 있다. 그 후, 검색된 보조 특징 정보(704)는 보내질 수 있다(706). 일반적으로, 보조 특징 정보는 보조 특징 정보 요청을 개시한 클라이언트에게 보내진다(706). 대안적으로, 판정(702)이 보조 특징 정보 요청이 수신되지 않았다고 판정하면, 블록들 704 및 706을 건너뛴다.
블록 706에 뒤따라서, 또는 이를 우회하여, 보조 특징 서버 프로세스(700)는 보조 특징을 언로킹(unlocking)하는 것과 관련된 처리를 실행할 수 있다. 특히, 판정(708)은 언로크(unlock) 요청이 수신되었는지를 판정할 수 있다. 일반적으로, 언로크 요청은 클라이언트로부터 수신될 수 있다. 일 예로서, (인증 요청이기도 한) 언로크 요청은 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 624에 의해서 개시될 수 있다.
판정(708)이 언로크 요청이 수신되었다고 판정하는 경우, 보조 특징 서버 프로세스(700)는 언로크 요청이 승인되는지를 판정할 수 있다(710). 일 구현에서, 승인은 하나 이상의 요구 사항이 맞을 것을 요구할 수 있다. 요구 사항은 구현에 따라서 변할 수 있고, 보조 특징에 대한 하나 이상의 지불, 응용 프로그램의 구입의 이전 지불, 사용자 계정의 실재 등을 포함할 수 있다. 판정(712)이 언로크 요청이 승인되지 않는다고 판정하는 경우, 보조 특징 서버 프로세스(700)는 언로크 요청을 한 클라이언트에게 거절 응답을 보낸다(714). 거절 응답은 거절에 대한 이유를 표시할 수 있다. 대안적으로, 판정(712)이 언로크 요청이 승인된다고 판정하는 경우, 보조 특징을 언로킹하라는 승인 응답은 언로크 요청을 제공하는 클라이언트에게 보내진다(716). 승인 응답은 언로크이 요청된 특정한 보조 특징을 언로킹하는데 사용될 수 있는 승인 코드 또는 코드들을 포함할 수 있다. 일 구현예에서, 승인 응답은 클라이언트 상에서 동작하는 응용 프로그램에 보내지고(716), 그 후 응용 프로그램은 보조 특징을 언로킹하도록 행동할 수 있다(예컨대, 도 6a 및 6b에 도시된 보조 특징 클라이언트 프로세스(600)의 블록 630).
한편, 판정(708)이 언로크 요청이 수신되지 않았다고 판정하는 경우, 블록 710 내지 716을 건너뛸 수 있다. 블록들(714 또는 716)(또는 이러한 블록들의 우회로)에 이어서, 보조 특징 서버 프로세스(700)는 판정(702)을 반복하도록 복귀할 수 있다.
2009년 3월 16일에 제출된, 표제 "APPLICATION PRODUCTS WITH IN-APPLICATION SUBSEQUENT FEATURE ACCESS USING NETWORK-BASED DISTRIBUTION SYSTEM"의 미국 임시특허출원번호 61/160,640호는, 본 명세서에 참조로서 포함된다.
본 출원은 또한 이하를 참조하고 및/또는 포함한다: (1) 본 명세서에 참조로서 포함되는, 2003년 10월 15일에 제출된, 표제 "METHOD AND SYSTEM FOR SUBMITTING MEDIA FOR NETWORK-BASED PURCHASE AND DISTRIBUTION"의 미국 특허출원번호 10/687,534호, (2) 본 명세서에 참조로서 포함되는, 2007년 2월 27일 제출된, 표제 "PROCESSING OF METADATA CONTENT AND MEDIA CONTENT RECEIVED BY A MEDIA DISTRIBUTION SYSTEM"의 미국 특허출원번호 11/712,303호, (3) 본 명세서에 참조로서 포함되는, 2006년 12월 12일에 제출된, 표제 "TECHNIQUES AND SYSTEMS FOR ELECTRONIC SUBMISSION OF MEDIA FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 11/609,815호, (4) 본 명세서에 참조로서 포함되는, 2007년 1월 12일에 제출된, 표제 "COMPUTERIZED MANAGEMENT OF MEDIA DISTRIBUTION AGREEMENTS"의 미국 특허출원번호 11/622,923호, (5) 본 명세서에 참조로서 포함되는, 2008년 9월 26일에 제출된, 표제 "ELECTRONIC SUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 12/286,076호, (6) 본 명세서에 참조로서 포함되는, 2008년 9월 26일에 제출된, 표제 "NETWORK-BASED DISTRIBUTION OF APPLICATION PRODUCTS"의 미국 특허출원번호 12/286,075호, (7) 본 명세서에 참조로서 포함되는, 2008년 9월 26일에 제출된, 표제 "ELECTRONIC SUBMISSION OF APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 12/286,092호, (8) 본 명세서에 참조로서 포함되는, 2009년 2월 2일에 제출된, 표제 "INTELLIGENT DOWNLOAD OF APPLICATION PROGRAMS"의 미국 특허출원번호 12/368,111호, (9) 본 명세서에 참조로서 포함되는, 2009년 5월 25일에 제출된, 표제 "CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION"의 미국 임시특허출원번호 61/180,925호, 및 (10) 본 명세서에 참조로서 포함되는, 2009년 9월 30일에 제출된, 표제 "CONFIGURATION AND MANAGEMENT OF ADD-ONS TO DIGITAL APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION"의 미국 특허출원번호 호[Att. Dkt. 번호. 101-p685].
상술한 본 발명의 다양한 관점들, 특징들, 실시예들 또는 구현들은 단독으로 또는 다양한 조합으로 사용될 수 있다.
예를 들면, 본 발명의 실시예들은 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 본 발명의 실시예들은 또한 컴퓨터 판독가능한 매체 상의 컴퓨터 판독가능한 코드로서 구체화될 수 있다. 컴퓨터 판독가능한 매체는 그 이후에 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 스토리지 디바이스이다. 컴퓨터 판독가능한 매체의 예들은 일반적으로 ROM(read only memory) 및 RAM(random-access memory)을 포함한다. 컴퓨터 판독가능한 매체의 보다 구체적인 예들은 유형적인(tangible) 것이며 플래시 메모리, EEPROM 메모리, 메모리 카드, CD-ROM, DVD, 하드 드라이브, 자기 테이프, 및 광 데이터 스토리지 디바이스를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 코드가 저장되고 분포된 방식(a distributed fashion)으로 실행되도록 네트워크 결합된(network-coupled) 컴퓨터 시스템들에 걸쳐서 분포되어 있을 수 있다.
본 발명의 다수의 특징들 및 이점들은 기술된 설명으로부터 명백하다. 또한, 당업자에게는 다수의 수정 및 변경이 쉽게 가능할 것이므로, 본 발명은 도시되고 기술된 바와 같이 엄밀한 구조 및 동작에 제한되어서는 안 된다. 그러므로, 적절한 모든 수정 및 균등물들은 본 발명의 범위에 속하는 것으로 여겨질 수 있다.
Figure 112010016738088-pat00001
Figure 112010016738088-pat00002
Figure 112010016738088-pat00003
Figure 112010016738088-pat00004
APPENDIX B
Commerce Server(StoreKit로 불림)를 위한 프로그램적인 인터페이스(programmatic interface)는 당신의 애플리케이션에 의해 구현되어야만 하는 하나의 프로토콜 및 사용자가 아이템을 구매하기를 희망하는 Application Store에 통신하기 위해 사용되는 소수의(a few) 클래스들로 구성된다.
SKPaymentRequest
모든 것은 지불 요청으로 시작된다. 당신이 당신의 애플리케이션 내로부터 이용가능하게 만든 아이템을 사용자가 구매하기로 결정하면, 당신의 애플리케이션은 구매될 아이템 및 (해당한다면) 구매할 그 아이템의 수량을 상세히 알리는 지불 요청을 작성한다. 구매될 아이템은 당신의 애플리케이션 내에서 productIdentifier 스트링에 의해 식별된다. 이것은, Application Store 및 당신의 애플리케이션이 특정한 아이템을 나타내는 것을 동의한다는 스트링이다.
SKPaymentQueue
지불 큐(payment queue)는 Application Store로의 인터페이스이다. 지불 큐는 Commerce Sever로 애플리케이션의 지불 요청을 송신할 책임이 있다. Commerce Server는 이 요청들을 Application Store로 전달하고 임의의 필요한 프롬프트들을 사용자에게 표시할 것이다. 그것이 사용자의 자격을 인증하고 지불을 승인하면, 지불 큐는 요청이 처리되었음을 당신의 애플리케이션에게 알린다.
SKPaymentTransaction
당신의 애플리케이션이 지불 큐에 지불 요청을 추가할 때, 요청은 트랜잭션 내로 포함된다(encapsulated into). 트랜잭션은 당신에게 요청의 상태 - 그것이 여전히 처리중에 있는지 아니면 성공했거나 실패했는지 - 를 말한다.
당신의 애플리케이션은 지불 큐에게 계류중인(pending) 트랜잭션들의 리스트를 요청할 수 있지만, 애플리케이션이 지불 큐가 갱신된 트랜잭션의 리스트로 그것을 호출할 때까지 기다리는 것이 훨씬 더 흔하다.
SKTransactionObserver
지불 큐와 함께 작업하기 위해, 당신의 애플리케이션은 지불 큐의 관찰자로서 SKTransactionObserver를 구현하는 오브젝트(object)를 추가한다. 트랜잭션 관찰자는 트랜잭션들이 갱신되거나 큐로부터 제거될 때 그것을 알리기 위해 지불 큐에 의해 호출된다.
당신의 애플리케이션은 초기화 동안 관찰자를 지불 큐와 연관시켜야 한다. 사용자가 관찰자 추가 전에 사용자가 아이템을 구매하려고 시도할 때까지 기다리지 마라. 사용자는 아이템을 구매하려고 시도할 수도 있지만 트랜잭션이 완료하기 전에 당신의 애플리케이션을 그만둘 수도 있다. 초기화 동안 관찰자를 추가함으로써, 당신의 애플리케이션이 론칭(launch)할 때에 그 트랜잭션들은 당신의 관찰자에게 포워드될 것이다.
관찰자의 주요 책임은 완료된 모든 구매를 검토하고 사용자가 구매한 콘텐츠를 이용가능하게 하는 것이다.
Commerce Server API는 당신의 애플리케이션에 스토어를 추가하는 프로세스의 작은 부분에 불과하다. 당신은, 당신이 팔기 원하는 특징들을 추적하는 방법, 그들을 사용자에게 표시하는 방법, 및 사용자가 당신의 스토어프론트로부터 어떤 것을 구매할 때 콘텐츠를 언로킹하는(unlock) 방법을 결정할 필요가 있을 것이다.
이는, 더 큰 설계 이슈들을 다루기 전에, 당신이 당신의 애플리케이션에 스토어를 추가하는 것을 이어서 하고자 할 때 필요하게 될 기본 단계들을 이해하는데 도움이 된다.
The Step-By-Step Process
당신이 프로젝트를 셋업할 때, StoreKit.framework로의 링크를 확실히 해라. 그 다음, 하나의 실시예에 따라, 당신은 다음과 같은 단계들에 의해 당신의 애플리케이션에 스토어를 추가할 수 있다.
1. 당신의 애플리케이션 내에서 당신이 팔기 원하는 아이템 리스트를 결정해라. 게임을 위해, 당신은 이것을 사용하여 새로운 콘텐츠를 사용자에게 팔 수도 있을 것이다. 생산 애플리케이션을 위해, 당신은 당신의 애플리케이션 내에서 새로운 특징들을 언로킹하는 능력을 제안할 수도 있을 것이다.
당신이 제공할 수 있는 특징들의 유형에는 한계가 있을 수 있다. 당신은 당신의 애플리케이션에 이미 들어 있는 코드를 언로킹할 수 있지만, StoreKit API는 현재 그 자체를 패치(patch)하거나 추가적인 코드 라이브러리들을 다운로드하는 능력을 당신의 애플리케이션에 제공하지 않는다. 애플리케이션 스토어 구매들은 현존하는 코드를 언로킹할 수 있거나 또는 데이터로서 완전히 구현될 수 있어야만 한다. 당신의 특징들이 추가적인 코드를 요구한다면, 당신은 당신의 애플리케이션의 새로운 버전을 출하해야 한다.
2. 당신의 애플리케이션 내에서 팔리게 될 각 아이템에 대한 제품 식별자 스트링을 등록해라. 당신이 팔려는 새로운 아이템을 추가하기 원할 때마다 당신은 이 단계를 다시 찾을 것이다. 당신의 스토어 안에서 팔리게 될 각각의 아이템은 고유의 제품 식별자 스트링을 필요로 한다. Application Store는 이 스트링을 사용하여 특징의 이름 및 그 가격을 찾는다. 이 제품 식별자들은 각 애플리케이션에 특유한 것이고 당신의 애플리케이션이 그런 것처럼 Application Store에 등록된다.
3. 판매를 위한 아이템들을 표시하는 사용자 인터페이스를 추가하고 사용자가 그들을 선택하도록 허용해라. StoreKit는 사용자 인터페이스를 제공하지 않는다. 당신이 당신의 고객들에게 어떻게 물건을 파는지에 대한 모습 및 느낌(look and feel)은 당신에게 달려 있다!
중요한 것: StoreKit은 지불 트랜잭션에 초점을 맞춘다. 그것은, 당신의 애플리케이션이 가격을 포함하는, 구매할 가능한 아이템들에 관한 정보를 검색하기 위한 메커니즘을 제공하지 않는다. 당신의 애플리케이션은 이 데이터를 국부적으로 저장할 필요가 있거나 그것을 당신 자신의 개인 서버로부터 불러낼(fetch) 필요가 있다.
4. 사용자가 구매할 아이템을 선택할 때, 당신의 애플리케이션은 새로운 지불 요청을 작성하여 그것을 지불 큐에 추가할 것이다.
Figure 112010016738088-pat00005
특정한 아이템이 한 번보다 많이 구매될 수 있다면, 당신은 구매할 아이템의 수량을 포함하는 단일 요청을 작성할 수 있다.
Figure 112010016738088-pat00006
5. 클래스 상에서 SKTransactionObserver 프로토콜을 구현하라.
당신은 당신의 관찰자에서의 방법: paymentQueue:updateTransactions를 구현해야 한다. 이러한 방법 없이는, 당신의 애플리케이션은 결코 처리된 트랜잭션들에 관한 Application Store로부터의 정보를 수신하지 못할 것이다.
Figure 112010016738088-pat00007
6. 지불 큐로 트랜잭션 관찰자를 등록해라.
당신의 애플리케이션은 트랜잭션 관찰자 오브젝트를 예시해야 하고 그것을 관찰자로서 지불 큐에 추가해야 한다.
Figure 112010016738088-pat00008
당신의 애플리케이션은 초기화 동안 관찰자를 추가해야 한다. StoreKit는 향후의(future) 데이터에서 전달될 당신의 애플리케이션의 이전 론칭(launch) 동안 큐되었던(were queued) 트랜잭션들을 허용한다. 예를 들어, 사용자는 전화를 걸기 위해 당신의 애플리케이션을 그만두었을 수도 있다.
7. 성공적인 구매를 위한 트랜잭션을 완료하라.
Figure 112010016738088-pat00009
transactionIdentifier는 사용자의 지불 처리 후에 Application Store에 의해 생성된 스트링이다. 당신의 애플리케이션은 이 정보로 어떠한 것도 행하도록 요구되지 않지만, 당신은 그것을 당신의 애플리케이션을 위한 감사 추적(audit trail)의 일부로서 기록하기를 원할 수도 있다.
당신의 애플리케이션이, 사용자가 구매한 콘텐츠를 제공하기 위해 필요한 단계들을 취하는 것은 매우 중요하다. 아이템에 대한 지불은 이미 수신되었으므로, 사용자는 그들이 사용가능하게 되기를 기대할 것이다.
당신이 사용자에게 그들의 콘텐츠를 제공하면, 당신의 애플리케이션은 동작을 완료하기 위해 finishTransaction: 을 호출해야 한다. 이는 트랜잭션 큐로부터 트랜잭션을 제거할 것이다. 일단 당신의 애플리케이션이 finishTransaction:을 호출하면, 이 트랜잭션은 더 이상 당신의 애플리케이션의 트랜잭션 관찰자에게 보내지지 않을 것이다. 이런 이유로, 이것은 당신이 여기서 수행하는 마지막 단계일 것이다.
8. 실패한 구매에 대한 트랜잭션을 완료하라.
Figure 112010016738088-pat00010
실패한 구매에 대한 유일한 요구조건은 당신이 그것을 큐로부터 제거하는 것이다. 당신은 필요에 따라 다른 액션들을 취하도록 선택할 수도 있다.

Claims (30)

  1. 애플리케이션 프로그램의 보조 특징들(supplemental features)을 언로킹(unlock)하기 위한 방법으로서,
    상기 방법은 오퍼레이팅 시스템 및 커머스 서버를 포함하는 컴퓨팅 디바이스에 의해 수행되고 - 상기 커머스 서버는 상기 오퍼레이팅 시스템에 포함되거나 별도로 구성됨 -,
    상기 오퍼레이팅 시스템을 이용해 상기 컴퓨팅 디바이스 상에서 애플리케이션 프로그램을 실행하는 단계 - 상기 애플리케이션 프로그램은 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 다운로드에 의해 미리 획득되고, 상기 애플리케이션 프로그램은, 현재 로킹되어 상기 애플리케이션 프로그램 내부에 위치하지만 언로킹되는 데에 이용가능한 적어도 하나의 보조 특징을 포함함 - 와,
    상기 오퍼레이팅 시스템 또는 상기 애플리케이션 프로그램을 이용해 상기 컴퓨팅 디바이스에서, 상기 애플리케이션 프로그램의 사용자가 현재 로킹된 상기 적어도 하나의 보조 특징의 사용(usage)을 획득하기를 바라는지를 판정하는 단계와,
    상기 애플리케이션 프로그램의 사용자가 상기 적어도 하나의 보조 특징의 사용을 획득하기를 바라는 것으로 판정될 경우, 상기 커머스 서버를 통해, 상기 원격 네트워크 기반 애플리케이션 분배 시스템이 상기 적어도 하나의 보조 특징의 언로킹을 승인(approve)할 것을 요청하는 단계와,
    상기 커머스 서버를 통해, 상기 적어도 하나의 보조 특징이 언로킹에 대해 승인되었다는 인증(authorization)을 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계와,
    이후에 상기 오퍼레이팅 시스템 또는 상기 커머스 서버에 의해, 상기 컴퓨팅 디바이스에서 상기 애플리케이션 프로그램의 적어도 하나의 보조 특징을 언로킹하여, 상기 애플리케이션 프로그램이 상기 적어도 하나의 보조 특징을 활용하도록 허용하는 단계를 포함하고,
    상기 요청하는 단계는 상기 애플리케이션 프로그램과 별개로 상기 컴퓨팅 디바이스에 상주하는 상기 커머스 서버를 통해 수행되어 상기 원격 네트워크 기반 애플리케이션 분배 시스템이 상기 적어도 하나의 보조 특징의 언로킹을 승인(approve)할 것을 요청하도록 상기 커머스 서버가 상기 원격 네트워크 기반 애플리케이션 분배 시스템과 상호작용하도록 하고,
    상기 인증(authorization)을 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계는 상기 커머스 서버를 통해 수행되어 상기 커머스 서버가 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 적어도 하나의 보조 특징의 언로킹을 승인한다는 인증을 수신하도록 하는, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  2. 제1항에 있어서, 상기 판정하는 단계 이전에,
    상기 오퍼레이팅 시스템을 이용하거나 상기 커머스 서버를 통해서, 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 보조 특징 정보를 요청하는 단계 - 상기 보조 특징 정보는 상기 적어도 하나의 보조 특징에 관계된 적어도 기술 정보(descriptive information)를 포함함 - 와,
    이후에 상기 오퍼레이팅 시스템에 의해 또는 상기 커머스 서버를 통해서, 상기 컴퓨팅 디바이스에서 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 보조 특징 정보를 수신하는 단계와,
    상기 애플리케이션 프로그램에 의해 상기 애플리케이션 프로그램의 상기 사용자에 대한 보조 특징 정보를 제공하는 단계
    를 더 포함하는 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  3. 제1항에 있어서, 상기 방법은 상기 애플리케이션 프로그램이 실행 상태에 유지되는 동안에 작동하는, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  4. 제1항에 있어서, 상기 요청하는 단계는,
    요청을 상기 원격 네트워크 기반 애플리케이션 분배 시스템에게 보내는 단계 - 이 요청은 (i) 상기 적어도 하나의 보조 특징에 대한 특징 식별자 및 (ii) 상기 애플리케이션 프로그램에 대한 애플리케이션 식별자를 적어도 포함함 - 를 포함하는 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  5. 제1항에 있어서, 상기 보조 특징은 상기 애플리케이션 프로그램의 보조 컴포넌트인, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  6. 제1항에 있어서, 상기 보조 특징은 상기 애플리케이션 프로그램을 위한 부가 디지털 콘텐츠인, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  7. 제1항에 있어서, 상기 컴퓨팅 디바이스는 애플리케이션 프로그램들을 적어도 실행할 수 있는 핸드헬드 전자 디바이스인, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  8. 삭제
  9. 제1항에 있어서, 상기 판정하는 단계, 상기 요청하는 단계 및 상기 수신하는 단계는 상기 애플리케이션 프로그램이 여전히 동작 중인 동안에 상기 오퍼레이팅 시스템에 의해 수행되는, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  10. 제9항에 있어서, 상기 언로킹은 상기 애플리케이션 프로그램에 의해 수행되는, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  11. 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서,
    상기 방법은 서버 디바이스에 의해 수행되고,
    상기 네트워크 기반 애플리케이션 분배 시스템으로부터의 보조 특징 정보에 대한 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와,
    상기 애플리케이션 프로그램의 보조 특징과 연관된 상기 보조 특징 정보를 검색하는 단계 - 상기 보조 특징 정보는 상기 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징에 관계된 적어도 기술 정보를 포함함 - 와,
    상기 검색된 보조 특징 정보를 상기 컴퓨팅 디바이스에게 보내는 단계와,
    상기 애플리케이션 프로그램의 보조 특징을 언로킹하라는 상기 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와,
    상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와,
    상기 판정하는 단계가 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하였다고 판정하면 상기 보조 특징을 언로킹하도록 상기 컴퓨팅 디바이스에게 인증을 보내는 단계를 포함하고,
    상기 애플리케이션 프로그램의 보조 특징을 언로킹하라는 상기 컴퓨팅 디바이스로부터의 요청을 수신하는 단계는 상기 애플리케이션 프로그램과 별개로 상기 컴퓨팅 디바이스에 상주하는 커머스 서버로부터 제공되어 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인(approve)할 것을 요청하도록 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템과 상호작용하도록 하고,
    상기 컴퓨팅 디바이스에게 상기 인증을 보내는 단계에서는, 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 보조 특징의 언로킹을 승인한다는 상기 인증을 수신하도록 상기 커머스 서버에게 상기 인증을 제공하는, 컴퓨터 구현 방법.
  12. 제11항에 있어서, 상기 애플리케이션 프로그램은 애플리케이션 식별자에 의해 식별되고, 상기 보조 특징은 특징 식별자에 의해 식별되는 컴퓨터 구현 방법.
  13. 제12항에 있어서, 상기 보조 특징 정보의 검색은 상기 특징 식별자 및 상기 애플리케이션 식별자에 기초하는 컴퓨터 구현 방법.
  14. 제12항에 있어서, 상기 보조 특징 정보를 검색하는 단계는
    상기 특징 식별자가 상기 애플리케이션 프로그램에 대한 애플리케이션 식별자와 연관되는 것을 확인(validate)하는 단계를 더 포함하는 컴퓨터 구현 방법.
  15. 제11항에 있어서,
    상기 보조 특징 정보는 상기 보조 특징이 언로킹되게 하기 위한 적어도 비용 정보를 포함하고,
    상기 판정하는 단계는 상기 네트워크 기반 애플리케이션 분배 시스템에서 상기 보조 특징에 대한 지불 처리를 개시시키는 단계를 포함하는
    컴퓨터 구현 방법.
  16. 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램들의 보조 특징들의 언로킹을 관리하기 위한 컴퓨터 구현 방법으로서,
    상기 방법은 서버 디바이스에 의해 수행되고,
    상기 네트워크 기반 애플리케이션 분배 시스템으로부터 이전에 획득된 애플리케이션 프로그램의 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계와,
    상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하는지의 여부를 판정하는 단계와,
    상기 판정하는 단계가 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인하였다고 판정하면 상기 보조 특징을 언로킹하도록 상기 컴퓨팅 디바이스에게 인증을 보내는 단계를 포함하고,
    상기 애플리케이션 프로그램의 보조 특징을 언로킹하라는 상기 컴퓨팅 디바이스로부터의 요청을 수신하는 단계는 상기 애플리케이션 프로그램과 별개로 상기 컴퓨팅 디바이스에 상주하는 커머스 서버로부터 제공되어 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인(approve)할 것을 요청하도록 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템과 상호작용하도록 하고,
    상기 컴퓨팅 디바이스에게 상기 인증을 보내는 단계에서는, 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 보조 특징의 언로킹을 승인한다는 상기 인증을 수신하도록 상기 커머스 서버에게 상기 인증을 제공하는, 컴퓨터 구현 방법.
  17. 제16항에 있어서, 상기 애플리케이션 프로그램은 애플리케이션 식별자에 의해 식별되고, 상기 보조 특징은 특징 식별자에 의해 식별되는 컴퓨터 구현 방법.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 제1항에 있어서,
    상기 원격 네트워크 기반 애플리케이션 분배 시스템으로의 상기 요청하는 단계는, 상기 애플리케이션 프로그램과 별도로 상기 컴퓨팅 디바이스상에 상주하는 커머스 서버를 통해 수행되어, 상기 원격 네트워크 기반 애플리케이션 분배 시스템이 상기 적어도 하나의 보조 특징의 언로킹을 승인할 것을 요청하도록 상기 커머스 서버가 상기 원격 네트워크 기반 애플리케이션 분배 시스템과 인터액트하는, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  26. 제25항에 있어서,
    상기 인증을 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 수신하는 단계는, 상기 커머스 서버를 통해 수행되어, 상기 커머스 서버가 상기 원격 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 적어도 하나의 보조 특징이 언로킹을 위해 승인되었다는 상기 인증을 수신하는, 애플리케이션 프로그램의 보조 특징들의 언로킹 방법.
  27. 제11항에 있어서,
    상기 보조 특징을 언로킹하라는 상기 컴퓨팅 디바이스로부터의 요청을 수신하는 단계는 상기 애플리케이션 프로그램과 별도로 상기 컴퓨팅 디바이스상에 상주하는 커머스 서버로부터 제공되어, 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인할 것을 요청하도록 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템과 인터액트하는, 컴퓨터 구현 방법.
  28. 제27항에 있어서,
    상기 컴퓨팅 디바이스에게 인증을 보내는 단계는 상기 커머스 서버에 상기 인증을 제공하여, 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 보조 특징이 언로킹을 위해 승인되었다는 상기 인증을 수신하는, 컴퓨터 구현 방법.
  29. 제16항에 있어서,
    상기 보조 특징을 언로킹하라는 컴퓨팅 디바이스로부터의 요청을 수신하는 단계는 상기 애플리케이션 프로그램과 별도로 상기 컴퓨팅 디바이스상에 상주하는 커머스 서버로부터 제공되어, 상기 네트워크 기반 애플리케이션 분배 시스템이 상기 보조 특징의 언로킹을 승인할 것을 요청하도록 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템과 인터액트하는, 컴퓨터 구현 방법.
  30. 제29항에 있어서,
    상기 컴퓨팅 디바이스에게 인증을 보내는 단계는 상기 커머스 서버에 상기 인증을 제공하여, 상기 커머스 서버가 상기 네트워크 기반 애플리케이션 분배 시스템으로부터 상기 보조 특징이 언로킹을 위해 승인되었다는 상기 인증을 수신하는, 컴퓨터 구현 방법.
KR1020100023496A 2009-03-16 2010-03-16 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들 KR101238940B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16064009P 2009-03-16 2009-03-16
US61/160,640 2009-03-16
US12/571,266 US20100235254A1 (en) 2009-03-16 2009-09-30 Application Products with In-Application Subsequent Feature Access Using Network-Based Distribution System
US12/571,266 2009-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020130007707A Division KR101361313B1 (ko) 2009-03-16 2013-01-23 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들

Publications (2)

Publication Number Publication Date
KR20100105454A KR20100105454A (ko) 2010-09-29
KR101238940B1 true KR101238940B1 (ko) 2013-03-04

Family

ID=42154101

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020100023496A KR101238940B1 (ko) 2009-03-16 2010-03-16 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들
KR1020130007707A KR101361313B1 (ko) 2009-03-16 2013-01-23 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020130007707A KR101361313B1 (ko) 2009-03-16 2013-01-23 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들

Country Status (6)

Country Link
US (1) US20100235254A1 (ko)
EP (1) EP2230620A1 (ko)
JP (2) JP2010218559A (ko)
KR (2) KR101238940B1 (ko)
CN (1) CN101840556A (ko)
AU (1) AU2010200963A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9406068B2 (en) 2003-04-25 2016-08-02 Apple Inc. Method and system for submitting media for network-based purchase and distribution
EP1639440A4 (en) 2003-04-25 2009-03-11 Apple Inc GRAPHIC USER INTERFACE FOR BROWSING, BROWSING AND PRESENTING MEDIA ARTICLES
US7844548B2 (en) 2003-10-15 2010-11-30 Apple Inc. Techniques and systems for electronic submission of media for network-based distribution
US7827162B2 (en) 2006-05-15 2010-11-02 Apple Inc. Media package format for submission to a media distribution system
US7962634B2 (en) 2006-05-15 2011-06-14 Apple Inc. Submission of metadata content and media content to a media distribution system
US20070265969A1 (en) * 2006-05-15 2007-11-15 Apple Computer, Inc. Computerized management of media distribution agreements
US8015237B2 (en) 2006-05-15 2011-09-06 Apple Inc. Processing of metadata content and media content received by a media distribution system
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
US9076176B2 (en) 2008-05-05 2015-07-07 Apple Inc. Electronic submission of application programs for network-based distribution
US20100235889A1 (en) * 2009-03-16 2010-09-16 Michael Kuohao Chu Application products with in-application subsequent feature access using network-based distribution system
US20100299219A1 (en) * 2009-05-25 2010-11-25 Cortes Ricardo D Configuration and Management of Add-ons to Digital Application Programs for Network-Based Distribution
US9729609B2 (en) 2009-08-07 2017-08-08 Apple Inc. Automatic transport discovery for media submission
US8935217B2 (en) 2009-09-08 2015-01-13 Apple Inc. Digital asset validation prior to submission for network-based distribution
WO2012001232A2 (en) * 2010-06-30 2012-01-05 Nokia Corporation Method and apparatus for in-application purchasing
US10102354B2 (en) * 2010-11-19 2018-10-16 Microsoft Technology Licensing, Llc Integrated application feature store
WO2012068614A1 (en) * 2010-11-22 2012-05-31 Lockerteck Pty Ltd A system and method for providing an application lock
WO2012129865A1 (zh) * 2011-03-31 2012-10-04 中兴通讯股份有限公司 应用商店系统及实现应用内购买功能的方法
US9064276B2 (en) * 2011-05-24 2015-06-23 Amazon Technologies, Inc. Service for managing digital content resales
US9524378B2 (en) * 2011-05-31 2016-12-20 Qualcomm Incorporated Apparatus and method of in-application licensing
JP6345115B2 (ja) * 2011-08-25 2018-06-20 ゼットティーイー コーポレーションZte Corporation アプリ・ストア・システム及びアプリ内購入機能の実現方法
US9443258B2 (en) * 2011-08-26 2016-09-13 Apple Inc. Mass ingestion of content related metadata to an online content portal
US8914790B2 (en) 2012-01-11 2014-12-16 Microsoft Corporation Contextual solicitation in a starter application
US9203624B2 (en) 2012-06-04 2015-12-01 Apple Inc. Authentication and notification heuristics
US8990188B2 (en) 2012-11-30 2015-03-24 Apple Inc. Managed assessment of submitted digital content
US9087341B2 (en) 2013-01-11 2015-07-21 Apple Inc. Migration of feedback data to equivalent digital assets
KR20150141442A (ko) * 2014-06-10 2015-12-18 한국전자통신연구원 사용자 수준에 맞게 ui 접근을 통제하는 응용 소프트웨어 서비스 시스템 및 그 방법
US10846772B2 (en) 2014-08-08 2020-11-24 Microsoft Technology Licensing, Llc Item maps for app store apps
JP6608147B2 (ja) 2015-02-23 2019-11-20 デクセリアルズ株式会社 多層接着フィルム、および接続構造体
CN108132813B (zh) * 2017-12-21 2021-07-23 北京小米移动软件有限公司 应用程序的功能锁定方法、装置及电子设备
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 (zh) * 2018-12-27 2019-06-04 北京奇安信科技有限公司 终端软件授权处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050085695A (ko) * 2002-12-17 2005-08-29 가부시끼가이샤 도시바 콘텐츠 배포 방법 및 콘텐츠 배포용 패키지

Family Cites Families (109)

* Cited by examiner, † Cited by third party
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
WO1996027155A2 (en) * 1995-02-13 1996-09-06 Electronic Publishing Resources, Inc. Systems and methods for secure transaction management and electronic rights protection
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
JPH09114786A (ja) * 1995-10-13 1997-05-02 Fujitsu Ltd オンライン機能制限解除システム
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 (ja) * 1999-05-27 2006-04-05 富士通株式会社 データ運用方法
US6591420B1 (en) * 1999-08-25 2003-07-08 Warner Music Group, Inc. Remote control system for audio and video content
US20040210481A1 (en) * 1999-09-15 2004-10-21 Quinlan Christopher F. Method and system for redeeming promotional offers
US7383233B1 (en) * 1999-12-03 2008-06-03 General Electric Company Method of designing an electronic transaction system
US7159233B2 (en) * 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
WO2001088666A2 (en) * 2000-05-17 2001-11-22 Interwoven Inc. Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network
US7076445B1 (en) * 2000-06-20 2006-07-11 Cartwright Shawn D System and methods for obtaining advantages and transacting the same in a computer gaming environment
AU7593601A (en) * 2000-07-14 2002-01-30 Atabok Inc Controlling and managing digital assets
JP2002073342A (ja) * 2000-08-31 2002-03-12 Toshiba Corp 製品機能アップ方法及びそのシステム
US7103906B1 (en) * 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
US6636488B1 (en) * 2000-10-11 2003-10-21 Aperto Networks, Inc. Automatic retransmission and error recovery for packet oriented point-to-multipoint communication
US7389424B2 (en) * 2000-10-24 2008-06-17 Kurzweil Cyberart Technologies, Inc. Technique for distributing software
US20020091584A1 (en) * 2000-10-25 2002-07-11 Clark George Philip Electronic content distribution
FR2816421A1 (fr) * 2000-11-06 2002-05-10 Evidian Gestion coordonnee de contrats et services, notamment de telecommunication
US7194544B2 (en) * 2000-12-14 2007-03-20 Borland Software Corporation Method and system for dynamic protocol selection among object-handled specified protocols
US8055899B2 (en) * 2000-12-18 2011-11-08 Digimarc Corporation Systems and methods using digital watermarking and identifier extraction to provide promotional opportunities
US6938005B2 (en) * 2000-12-21 2005-08-30 Intel Corporation Digital content distribution
US20020087440A1 (en) * 2000-12-29 2002-07-04 Blair William R. Method for reconstructing and validating a bill of materials and creating a comprehensive bill of materials
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US8452652B2 (en) * 2001-01-29 2013-05-28 International Business Machines Corporation Electronic coupons decision support and recommendation system
JP2002268893A (ja) * 2001-03-14 2002-09-20 Hitachi Information Systems Ltd プログラムダウンロード方法及び該ダウンロード方法を行うプログラム
US20020143782A1 (en) * 2001-03-30 2002-10-03 Intertainer, Inc. Content management system
US20020158916A1 (en) * 2001-04-26 2002-10-31 International Business Machines Corporation Graphical e-commerce shopping terminal system and method
US6754895B1 (en) * 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
JP2002328852A (ja) * 2001-05-01 2002-11-15 Yasuo Nishizawa Httpプロトコロル統一制御による高トランザクションの各種電子商取引対応マルチメディアダイレクトコマースシステム
US20030182188A1 (en) * 2001-10-26 2003-09-25 Mark Duchow System and method for providing electronic vouchers
US20030149720A1 (en) * 2002-02-06 2003-08-07 Leonid Goldstein System and method for accelerating internet access
AU2003220423A1 (en) * 2002-03-22 2003-10-13 Sun Microsystems, Inc. Mobile download system
WO2003088119A1 (en) * 2002-04-08 2003-10-23 Topcoder, Inc. System and method for soliciting proposals for software development services
US20040039754A1 (en) * 2002-05-31 2004-02-26 Harple Daniel L. Method and system for cataloging and managing the distribution of distributed digital assets
JP4054626B2 (ja) * 2002-07-18 2008-02-27 オリンパス株式会社 情報端末装置、及びプログラム
US20070107067A1 (en) 2002-08-24 2007-05-10 Ingrian Networks, Inc. Secure feature activation
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 (ja) * 2003-01-23 2004-08-12 Fujitsu Ltd ソフトウエア関連情報提供装置、ソフトウエア関連情報提供方法およびソフトウエア関連情報提供プログラム
US7729946B2 (en) * 2003-01-24 2010-06-01 Massive Incorporated Online game advertising system
US7668752B2 (en) * 2003-03-13 2010-02-23 Realnetworks, Inc. System and method for the distribution of software products
JP2005071227A (ja) * 2003-08-27 2005-03-17 Sony Corp メタデータ流通管理システム,メタデータ流通管理装置,個人別メタデータ管理装置,クライアント端末,メタデータ流通管理方法およびコンピュータプログラム
US9100814B2 (en) * 2003-09-17 2015-08-04 Unwired Plant, Llc Federated download of digital content to wireless devices
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US7343347B2 (en) * 2003-10-08 2008-03-11 Time Warner Inc. Electronic media player with metadata based control and method of operating the same
ATE357688T1 (de) * 2003-11-11 2007-04-15 Matsushita Electric Ind Co Ltd Verfahren zum beurteilen der nutzungserlaubnis für informationen und inhaltsverbreitungssystem, das dieses verfahren verwendet
US7433835B2 (en) * 2004-01-27 2008-10-07 Amazon Technologies, Inc. Providing a marketplace for web services
US20050197946A1 (en) * 2004-03-05 2005-09-08 Chris Williams Product data file for online marketplace sales channels
US7685512B2 (en) * 2004-05-28 2010-03-23 International Business Machines Corporation Representing logical model extensions and wire format specific rendering options in XML messaging schemas
KR20070062492A (ko) * 2004-06-08 2007-06-15 유-마케이팅 인터렉추얼 프로퍼티즈 피티이 엘티디 쇼핑 시스템 및 방법
TWI267753B (en) * 2004-08-20 2006-12-01 Cyberlink Corp System and method for licensing software
US7849329B2 (en) * 2004-09-01 2010-12-07 Microsoft Corporation Licensing the use of a particular feature of software
US7665141B2 (en) * 2004-11-24 2010-02-16 Ghada Young Origin and custody of copies from a stored electronic record verified page by page
US7917133B2 (en) * 2004-12-23 2011-03-29 Research In Motion Limited Method and apparatus for after-market vending of feature-provisioning software to third party mobile wireless communication devices
EP1684223A1 (en) * 2005-01-22 2006-07-26 CyberLink Corp. System and method for licensing software
JP2006208692A (ja) * 2005-01-27 2006-08-10 Shigeo Maruyama 音楽配信方法及び装置
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 (ja) * 2005-07-27 2011-11-16 ソニー株式会社 表示装置、メニュー表示方法、メニュー表示方法のプログラム及びメニュー表示方法のプログラムを記録した記録媒体
US9286388B2 (en) * 2005-08-04 2016-03-15 Time Warner Cable Enterprises Llc Method and apparatus for context-specific content delivery
US20070073694A1 (en) * 2005-09-26 2007-03-29 Jerome Picault Method and apparatus of determining access rights to content items
JP2007220062A (ja) * 2006-01-19 2007-08-30 Konica Minolta Holdings Inc 制御プログラム及びプログラム提供システム並びにプログラム提供方法
US20070208670A1 (en) * 2006-02-17 2007-09-06 Yahoo! Inc. Method and system for selling rights in files on a network
KR100796374B1 (ko) * 2006-04-21 2008-01-21 (주) 디엠디 네트워크 기반의 정보기술 솔루션 개발관리 시스템 및 그방법
US8015237B2 (en) * 2006-05-15 2011-09-06 Apple Inc. Processing of metadata content and media content received by a media distribution system
US7962634B2 (en) * 2006-05-15 2011-06-14 Apple Inc. Submission of metadata content and media content to a media distribution system
US7954048B2 (en) * 2006-09-21 2011-05-31 International Business Machines Corporation Content management via configuration set relationships in a content management system
US20080147558A1 (en) * 2006-10-24 2008-06-19 Robert Korbin Kraus Method and system for providing prospective licensees and/or purchasers with access to licensable media content
JP2008112404A (ja) * 2006-10-31 2008-05-15 Fuji Xerox Co Ltd 画像処理装置及びプログラム
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 (ko) * 2006-12-20 2008-06-25 삼성전자주식회사 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법
US8073863B2 (en) * 2007-02-12 2011-12-06 Bsp Software Llc Batch management of metadata in a business intelligence architecture
US7644044B2 (en) * 2007-04-04 2010-01-05 Sony Corporation Systems and methods to distribute content over a network
US10853855B2 (en) * 2007-05-20 2020-12-01 Michael Sasha John Systems and methods for automatic and transparent client authentication and online transaction verification
US20090037287A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Software Marketplace and Distribution System
US8046369B2 (en) * 2007-09-04 2011-10-25 Apple Inc. Media asset rating system
US7912568B2 (en) * 2007-11-27 2011-03-22 International Business Machines Corporation Tuning order configurator performance by dynamic integration of manufacturing and field feedback
US7756920B2 (en) * 2007-11-28 2010-07-13 Apple Inc. Resubmission of media for network-based distribution
US20090198830A1 (en) * 2008-02-06 2009-08-06 Inventec Corporation Method of adjusting network data sending speed according to data processing speed at client
US20090259502A1 (en) * 2008-04-10 2009-10-15 Daniel David Erlewine Quality-Based Media Management for Network-Based Media Distribution
US8826375B2 (en) * 2008-04-14 2014-09-02 Lookwithus.Com Inc. Rich media collaboration system
US8499240B2 (en) * 2008-10-31 2013-07-30 Sap Ag Rule-based presentation of log messages on a graphic timeline
US20100251099A1 (en) * 2009-03-26 2010-09-30 David Makower Schema Validation for Submissions of Digital Assets for Network-Based Distribution
US8984458B2 (en) * 2009-07-22 2015-03-17 Synopsys, Inc. Dynamic rule checking in electronic design automation
US8935217B2 (en) * 2009-09-08 2015-01-13 Apple Inc. Digital asset validation prior to submission for network-based distribution

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050085695A (ko) * 2002-12-17 2005-08-29 가부시끼가이샤 도시바 콘텐츠 배포 방법 및 콘텐츠 배포용 패키지

Also Published As

Publication number Publication date
AU2010200963A1 (en) 2010-09-30
EP2230620A1 (en) 2010-09-22
JP2010218559A (ja) 2010-09-30
KR101361313B1 (ko) 2014-02-11
KR20130027541A (ko) 2013-03-15
KR20100105454A (ko) 2010-09-29
CN101840556A (zh) 2010-09-22
US20100235254A1 (en) 2010-09-16
JP2013061992A (ja) 2013-04-04

Similar Documents

Publication Publication Date Title
KR101238940B1 (ko) 네트워크 기반 분배 시스템을 사용하여 인-애플리케이션 후속 특징을 액세스하는 애플리케이션 제품들
KR101375927B1 (ko) 네트워크-기반 배포를 위한 디지털 애플리케이션 프로그램들에 대한 애드-온들의 구성 및 관리
US20100235889A1 (en) Application products with in-application subsequent feature access using network-based distribution system
KR101212904B1 (ko) 네트워크 기반 배포를 위한 어플리케이션 프로그램들의 전자 제출
KR101233618B1 (ko) 네트워크 기반 배포를 위한 디지털 제품들의 전자 제출 및 관리
CA2724858C (en) Techniques for acquiring updates for application programs
US20130124696A1 (en) Application products with in-application subsequent feature access using network-based distribution system
AU2012258433B2 (en) Application products with in-application subsequent feature access using network-based distribution system
WO2013188244A2 (en) Application products with in-application subsequent feature access using network-based distribution system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
A107 Divisional application of patent
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 8